{"version":3,"sources":["webpack:///./node_modules/moment/moment.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_core.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_global.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_descriptors.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_export.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_object-dp.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_has.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_hide.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_is-object.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_fails.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_to-iobject.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_wks.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_an-object.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_property-desc.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_object-keys.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_library.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_uid.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_object-pie.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_to-object.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_to-primitive.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_defined.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_to-integer.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_shared-key.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_shared.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_object-gops.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_iterators.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_object-create.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_wks-ext.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_wks-define.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_ctx.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_dom-create.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_iobject.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_cof.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_object-gpo.js","webpack:///./node_modules/react-lottie/node_modules/babel-runtime/helpers/typeof.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_iter-define.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_redefine.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_object-gopn.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_object-gopd.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bn-bd.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/en-in.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/en-sg.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es-mx.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fil.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/ga.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gom-deva.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/it-ch.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/ku.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/oc-lnc.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tk.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-mo.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/react-lottie/dist/index.js","webpack:///./node_modules/react-lottie/node_modules/babel-runtime/helpers/extends.js","webpack:///./node_modules/react-lottie/node_modules/babel-runtime/core-js/object/assign.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/fn/object/assign.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/es6.object.assign.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_a-function.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_object-assign.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_array-includes.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_to-length.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///./node_modules/react-lottie/node_modules/babel-runtime/core-js/object/get-prototype-of.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/fn/object/get-prototype-of.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_object-sap.js","webpack:///./node_modules/react-lottie/node_modules/babel-runtime/helpers/classCallCheck.js","webpack:///./node_modules/react-lottie/node_modules/babel-runtime/helpers/createClass.js","webpack:///./node_modules/react-lottie/node_modules/babel-runtime/core-js/object/define-property.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/fn/object/define-property.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/es6.object.define-property.js","webpack:///./node_modules/react-lottie/node_modules/babel-runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/react-lottie/node_modules/babel-runtime/core-js/symbol/iterator.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/fn/symbol/iterator.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/es6.string.iterator.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_string-at.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_iter-create.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_object-dps.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_html.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/web.dom.iterable.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/es6.array.iterator.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_add-to-unscopables.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_iter-step.js","webpack:///./node_modules/react-lottie/node_modules/babel-runtime/core-js/symbol.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/fn/symbol/index.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/es6.symbol.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_meta.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_enum-keys.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_is-array.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_object-gopn-ext.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/es7.symbol.observable.js","webpack:///./node_modules/react-lottie/node_modules/babel-runtime/helpers/inherits.js","webpack:///./node_modules/react-lottie/node_modules/babel-runtime/core-js/object/set-prototype-of.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/fn/object/set-prototype-of.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/_set-proto.js","webpack:///./node_modules/react-lottie/node_modules/babel-runtime/core-js/object/create.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/fn/object/create.js","webpack:///./node_modules/react-lottie/node_modules/core-js/library/modules/es6.object.create.js","webpack:///./node_modules/lottie-web/build/player/lottie.js","webpack:///./node_modules/rc-picker/es/generate/moment.js","webpack:///./node_modules/antd/es/tag/CheckableTag.js","webpack:///./node_modules/antd/es/_util/colors.js","webpack:///./node_modules/antd/es/tag/index.js","webpack:///./node_modules/@ant-design/icons-svg/es/asn/CalendarOutlined.js","webpack:///./node_modules/@ant-design/icons/es/icons/CalendarOutlined.js","webpack:///./node_modules/@ant-design/icons-svg/es/asn/ClockCircleOutlined.js","webpack:///./node_modules/@ant-design/icons/es/icons/ClockCircleOutlined.js","webpack:///./node_modules/rc-picker/es/PanelContext.js","webpack:///./node_modules/rc-picker/es/panels/Header.js","webpack:///./node_modules/rc-picker/es/panels/DecadePanel/DecadeHeader.js","webpack:///./node_modules/rc-picker/es/utils/timeUtil.js","webpack:///./node_modules/rc-picker/es/panels/PanelBody.js","webpack:///./node_modules/rc-picker/es/panels/DecadePanel/DecadeBody.js","webpack:///./node_modules/rc-picker/es/utils/uiUtil.js","webpack:///./node_modules/rc-picker/es/panels/DecadePanel/index.js","webpack:///./node_modules/rc-picker/es/utils/dateUtil.js","webpack:///./node_modules/rc-picker/es/panels/TimePanel/TimeHeader.js","webpack:///./node_modules/rc-picker/es/panels/TimePanel/TimeUnitColumn.js","webpack:///./node_modules/rc-picker/es/utils/miscUtil.js","webpack:///./node_modules/rc-picker/es/panels/TimePanel/TimeBody.js","webpack:///./node_modules/rc-picker/es/panels/TimePanel/index.js","webpack:///./node_modules/rc-picker/es/RangeContext.js","webpack:///./node_modules/rc-picker/es/hooks/useCellClassName.js","webpack:///./node_modules/rc-picker/es/panels/DatePanel/DateBody.js","webpack:///./node_modules/rc-picker/es/panels/DatePanel/DateHeader.js","webpack:///./node_modules/rc-picker/es/panels/DatePanel/index.js","webpack:///./node_modules/rc-picker/es/panels/DatetimePanel/index.js","webpack:///./node_modules/rc-picker/es/panels/WeekPanel/index.js","webpack:///./node_modules/rc-picker/es/panels/MonthPanel/MonthHeader.js","webpack:///./node_modules/rc-picker/es/panels/MonthPanel/MonthBody.js","webpack:///./node_modules/rc-picker/es/panels/MonthPanel/index.js","webpack:///./node_modules/rc-picker/es/panels/QuarterPanel/QuarterHeader.js","webpack:///./node_modules/rc-picker/es/panels/QuarterPanel/QuarterBody.js","webpack:///./node_modules/rc-picker/es/panels/QuarterPanel/index.js","webpack:///./node_modules/rc-picker/es/panels/YearPanel/YearHeader.js","webpack:///./node_modules/rc-picker/es/panels/YearPanel/YearBody.js","webpack:///./node_modules/rc-picker/es/panels/YearPanel/index.js","webpack:///./node_modules/rc-picker/es/utils/getExtraFooter.js","webpack:///./node_modules/rc-picker/es/utils/getRanges.js","webpack:///./node_modules/rc-picker/es/PickerPanel.js","webpack:///./node_modules/rc-picker/es/PickerTrigger.js","webpack:///./node_modules/rc-picker/es/hooks/usePickerInput.js","webpack:///./node_modules/rc-picker/es/hooks/useTextValueMapping.js","webpack:///./node_modules/rc-picker/es/hooks/useValueTexts.js","webpack:///./node_modules/rc-picker/es/hooks/useHoverValue.js","webpack:///./node_modules/rc-picker/es/Picker.js","webpack:///./node_modules/rc-picker/es/hooks/useRangeViewDates.js","webpack:///./node_modules/rc-picker/es/RangePicker.js","webpack:///./node_modules/rc-picker/es/hooks/useRangeDisabled.js","webpack:///./node_modules/rc-picker/es/index.js","webpack:///./node_modules/antd/es/date-picker/util.js","webpack:///./node_modules/antd/es/date-picker/generatePicker/generateSinglePicker.js","webpack:///./node_modules/@ant-design/icons-svg/es/asn/SwapRightOutlined.js","webpack:///./node_modules/@ant-design/icons/es/icons/SwapRightOutlined.js","webpack:///./node_modules/antd/es/date-picker/generatePicker/generateRangePicker.js","webpack:///./node_modules/antd/es/date-picker/generatePicker/index.js","webpack:///./node_modules/antd/es/date-picker/PickerButton.js","webpack:///./node_modules/antd/es/date-picker/PickerTag.js","webpack:///./node_modules/antd/es/date-picker/index.js","webpack:///./node_modules/antd/es/space/Item.js","webpack:///./node_modules/antd/es/space/index.js"],"names":["module","exports","hookCallback","some","hooks","apply","arguments","isArray","input","Array","Object","prototype","toString","call","isObject","hasOwnProp","a","b","hasOwnProperty","isObjectEmpty","obj","getOwnPropertyNames","length","k","isUndefined","isNumber","isDate","Date","map","arr","fn","i","res","push","extend","valueOf","createUTC","format","locale","strict","createLocalOrUTC","utc","getParsingFlags","m","_pf","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","meridiem","rfc2822","weekdayMismatch","isValid","_isValid","flags","parsedParts","isNowValid","isNaN","_d","getTime","invalidWeekday","_strict","undefined","bigHour","isFrozen","createInvalid","NaN","fun","t","this","len","momentProperties","updateInProgress","copyConfig","to","from","prop","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","Moment","config","updateOffset","isMoment","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","arg","key","args","slice","join","Error","stack","keys","deprecations","deprecateSimple","name","isFunction","Function","mergeConfigs","parentConfig","childConfig","Locale","set","zeroFill","number","targetLength","forceSign","absNumber","Math","abs","zerosToFill","pow","max","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","callback","func","localeData","formatMoment","expandFormat","array","match","replace","mom","output","makeFormatFunction","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","test","aliases","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","isLeapYear","year","absFloor","ceil","floor","toInt","argumentForCoercion","coercedNumber","value","isFinite","makeGetSet","keepTime","set$1","get","month","date","daysInMonth","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","RegExp","regexEscape","matched","p1","p2","p3","p4","s","indexOf","tokens","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","x","modMonth","o","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","defaultLocaleMonths","split","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","setMonth","dayOfMonth","min","getSetMonth","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","sort","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","daysInYear","y","parseTwoDigitYear","parseInt","getSetYear","createDate","d","h","M","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","shiftWeekdays","ws","n","concat","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","day","computeWeekdaysParse","minp","shortp","longp","minPieces","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","hours","lowercase","minutes","matchMeridiem","_meridiemParse","seconds","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","globalLocale","getSetHour","baseConfig","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","LTS","LT","L","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","hh","dd","w","ww","MM","yy","meridiemParse","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","loadLocale","oldLocale","_abbr","getSetGlobalLocale","e","values","data","getLocale","defineLocale","abbr","_config","parentLocale","forEach","names","j","next","chooseLocale","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","l","allowTime","dateFormat","timeFormat","tzFormat","string","exec","configFromStringAndFormat","untruncateYear","yearStr","configFromRFC2822","parsedArray","monthStr","dayStr","hourStr","minuteStr","secondStr","result","weekdayStr","parsedInput","getDay","checkWeekday","obsOffset","militaryOffset","numOffset","hm","calculateOffset","setUTCMinutes","getUTCMinutes","defaults","c","configFromArray","currentDate","expectedWeekday","yearToUse","nowValue","now","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","currentDateArray","weekYear","temp","weekdayOverflow","curWeek","GG","W","E","createLocal","_week","gg","_dayOfYear","dayOfYearFromWeekInfo","_nextDay","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","hour","isPm","meridiemHour","meridiemFixWrap","erasConvertYear","prepareConfig","preparse","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","score","configFromStringAndArray","createFromInputFallback","configFromString","dayOrDate","minute","second","millisecond","configFromObject","configFromInput","isUTC","add","prototypeMin","other","prototypeMax","pickBy","moments","ordering","Duration","duration","years","quarters","quarter","weeks","isoWeek","days","milliseconds","unitHasDecimal","parseFloat","isDurationValid","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","sign","offsetFromString","chunkOffset","matcher","parts","matches","cloneWithOffset","model","diff","clone","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","diffRes","base","parseIso","isBefore","positiveMomentsDifference","inp","isAfter","createAdder","direction","period","tmp","addSubtract","isAdding","invalid","subtract","isString","String","isMomentInput","arrayTest","dataTypeTest","filter","item","isNumberOrStringArray","property","objectTest","propertyTest","properties","isMomentInputObject","isCalendarSpec","monthDiff","wholeMonthDiff","anchor","newLocaleData","defaultFormat","defaultFormatUtc","lang","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","matchEraAbbr","erasAbbrRegex","computeErasParse","abbrPieces","namePieces","narrowPieces","eras","narrow","_erasRegex","_erasNameRegex","_erasAbbrRegex","_erasNarrowRegex","addWeekYearFormatToken","getter","getSetWeekYearHelper","weeksTarget","setWeekAll","dayOfYearData","erasNameRegex","erasNarrowRegex","erasParse","_eraYearOrdinalRegex","eraYearOrdinalParse","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetMillisecond","getSetSecond","parseMs","proto","preParsePostFormat","time","formats","sod","startOf","calendarFormat","asFloat","that","zoneDelta","endOf","startOfDate","isoWeekday","inputString","postformat","withoutSuffix","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","u","getPrioritizedUnits","toArray","toObject","toDate","toISOString","keepOffset","inspect","prefix","suffix","zone","isLocal","Symbol","for","toJSON","unix","creationData","eraName","since","until","eraNarrow","eraAbbr","eraYear","dir","isoWeeks","weekInfo","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","parseWeekday","parseIsoWeekday","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","isDSTShifted","_isDSTShifted","array1","array2","dontConvert","lengthDiff","diffs","compareArrays","proto$1","get$1","index","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","_calendar","_longDateFormat","formatUpper","toUpperCase","tok","_invalidDate","_ordinal","isFuture","_relativeTime","pastFuture","source","_eras","isFormat","_monthsShort","_monthsParseExact","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","_weekdaysParseExact","_fullWeekdaysParse","charAt","isLower","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","makeGetter","thresholds","substituteTimeAgo","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","total","toFixed","proto$2","monthsFromDays","argWithSuffix","argThresholds","withSuffix","th","assign","posNegDuration","relativeTime$1","toIsoString","version","updateLocale","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","limit","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","DATE","TIME","TIME_SECONDS","TIME_MS","WEEK","MONTH","factory","core","__e","global","window","self","__g","defineProperty","ctx","hide","has","$export","type","own","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","IS_WRAP","expProto","target","C","virtual","R","U","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","TypeError","it","createDesc","object","IObject","defined","store","uid","USE_SYMBOL","bitmap","enumerable","configurable","writable","$keys","enumBugKeys","id","px","random","propertyIsEnumerable","shared","mode","copyright","getOwnPropertySymbols","dPs","IE_PROTO","Empty","createDict","iframeDocument","iframe","style","display","appendChild","src","contentWindow","document","open","write","lt","close","create","Properties","def","TAG","tag","stat","LIBRARY","wksExt","$Symbol","aFunction","is","createElement","toIObject","arrayIndexOf","cof","ObjectProto","getPrototypeOf","constructor","__esModule","_iterator2","_interopRequireDefault","_symbol2","_typeof","default","redefine","Iterators","$iterCreate","setToStringTag","ITERATOR","BUGGY","returnThis","Base","NAME","Constructor","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","hiddenKeys","pIE","gOPD","getOwnPropertyDescriptor","moment","symbolMap","1","2","3","4","5","6","7","8","9","0","numberMap","pluralForm","plurals","pluralize","str","weekdaysParseExact","suffixes","70","80","20","50","100","10","30","60","90","relativeTimeWithPlural","num","forms","standalone","lastDigit","last2Digits","monthsParseExact","relativeTimeWithMutation","text","mutationTable","substring","softMutation","mutation","minWeekdaysParse","fullWeekdaysParse","shortWeekdaysParse","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","lastNumber","translate","ll","lll","llll","plural","processRelativeTime","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","monthsShortDot","numbersPast","numbersFuture","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","weekEndings","eraYearOrdinalRegex","$0","$1","$2","40","isUpper","eifelerRegelAppliesToNumber","translateSingular","special","relativeTimeWithSingular","translator","words","correctGrammaticalCase","wordKey","relativeTimeMr","monthsNominative","monthsSubjective","12","13","numbersNouns","numberNoun","hundred","ten","one","word","numberAsNoun","processHoursFunction","nominative","accusative","genitive","_extends3","_getPrototypeOf2","_classCallCheck3","_createClass3","_possibleConstructorReturn3","_inherits3","_react2","_propTypes2","_lottieWeb2","Lottie","_React$Component","_ref","_temp","_this","_ret","_len","_key","__proto__","handleClickToPause","anim","isPaused","play","pause","_props","props","options","eventListeners","loop","autoplay","animationData","rendererSettings","segments","container","el","renderer","loadAnimation","registerEvents","nextProps","deRegisterEvents","destroy","isStopped","stop","playSegments","setSpeed","setDirection","speed","_this2","eventListener","addEventListener","eventName","_this3","removeEventListener","_this4","_props2","width","height","ariaRole","ariaLabel","isClickToPauseDisabled","title","getSize","initial","lottieStyles","margin","outline","onClickHandler","ref","onClick","role","tabIndex","Component","propTypes","arrayOf","isRequired","oneOfType","bool","defaultProps","_assign","_assign2","DESCRIPTORS","getKeys","gOPS","$assign","A","K","T","aLen","getSymbols","isEnum","toLength","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","toInteger","$getPrototypeOf","fails","KEY","exp","instance","_defineProperty","_defineProperty2","defineProperties","descriptor","protoProps","staticProps","$Object","desc","_typeof2","_typeof3","ReferenceError","$at","iterated","_t","point","done","TO_STRING","charCodeAt","documentElement","TO_STRING_TAG","DOMIterables","Collection","addToUnscopables","step","_k","Arguments","META","$fails","wks","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$GOPS","$DP","gOPN","$JSON","JSON","_stringify","stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","findChild","setSymbolDesc","D","protoDesc","wrap","sym","isSymbol","iterator","$defineProperty","$defineProperties","$propertyIsEnumerable","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","replacer","$replacer","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","meta","NEED","fastKey","getWeak","onFreeze","symbols","windowNames","getWindowNames","_setPrototypeOf2","_create2","subClass","superClass","setPrototypeOf","check","buggy","root","svgNS","locationHref","initialDefaultFrame","subframeEnabled","expressionsPlugin","isSafari","navigator","userAgent","cachedColors","bm_rounder","bm_rnd","bm_pow","bm_sqrt","sqrt","bm_abs","bm_floor","bm_max","bm_min","blitter","BMMath","ProjectInterface","propertyNames","absArr","createSizedArray","defaultCurveSegments","degToRads","PI","roundCorner","roundValues","flag","styleDiv","element","position","top","left","transformOrigin","webkitTransformOrigin","backfaceVisibility","webkitBackfaceVisibility","transformStyle","webkitTransformStyle","mozTransformStyle","BMEnterFrameEvent","currentTime","totalTime","frameMultiplier","BMCompleteEvent","BMCompleteLoopEvent","totalLoops","currentLoop","BMSegmentStartEvent","firstFrame","totalFrames","BMDestroyEvent","BMRenderFrameErrorEvent","nativeError","BMConfigErrorEvent","BMAnimationConfigErrorEvent","createElementID","_count","HSVtoRGB","v","r","g","p","q","RGBtoHSV","addSaturationToRGB","color","hsv","addBrightnessToRGB","addHueToRGB","rgbToHex","hex","colorMap","BaseEvent","triggerEvent","_cbs","bind","splice","createTypedArray","Uint8ClampedArray","Float32Array","Int16Array","createNS","createElementNS","createTag","DynamicPropertyContainer","addDynamicProperty","dynamicProperties","_isAnimated","iterateDynamicProperties","_mdf","getValue","initDynamicPropertyContainer","getBlendMode","blendModeEnums","11","14","15","Matrix","_cos","cos","_sin","sin","_tan","tan","_rnd","reset","rotate","angle","mCos","mSin","rotateX","rotateY","rotateZ","shear","sx","sy","skew","ax","ay","skewFromAxis","scale","sz","setTransform","tx","ty","tz","transform","a2","b2","c2","d2","e2","f2","g2","h2","i2","j2","k2","l2","m2","n2","o2","_p","_identityCalculated","a1","b1","c1","d1","e1","f1","g1","h1","i1","j1","k1","l1","m1","n1","o1","isIdentity","_identity","equals","matr","cloneFromProps","applyToPoint","z","applyToX","applyToY","applyToZ","getInverseMatrix","determinant","inverseMatrix","inversePoint","pt","applyToPointArray","inversePoints","pts","retPts","applyToTriplePoints","pt1","pt2","pt3","p0","p5","p12","p13","applyToPointStringified","toCSS","cssValue","roundMatrixProperty","to2dCSS","pool","math","startdenom","significance","ARC4","keylen","me","count","copy","mixkey","seed","smear","stringseed","tostring","fromCharCode","shortseed","flatten","depth","typ","entropy","nodecrypto","Uint8Array","crypto","msCrypto","getRandomValues","browser","plugins","screen","autoseed","arc4","prng","int32","quick","double","pass","is_math_call","state","BezierFactory","ob","nm","beziers","bezEasing","BezierEasing","float32ArraySupported","aA1","aA2","calcBezier","aT","getSlope","points","_mSampleValues","_precomputed","mX1","mY1","mX2","mY2","_precompute","_getTForX","_calcSampleValues","aX","mSampleValues","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","binarySubdivide","extendPrototype","sources","destination","sourcePrototype","attr","getDescriptor","createProxyFunction","ProxyFunction","bezFunction","pointOnLine2D","x1","y1","x2","y2","x3","y3","det1","getBezierLength","pt4","ptCoord","perc","ptDistance","curveSegments","addedLength","lastPoint","lengthData","bezier_length_pool","newElement","percents","lengths","BezierData","segmentLength","PointData","partial","partialLength","storedData","buildBezierData","bezierName","bezierData","getDistancePerc","initPos","lengthPos","lPerc","bezier_segment_points","getSegmentsLength","shapeData","segmentsLength","segments_length_pool","closed","pathV","pathO","pathI","_length","totalLength","getNewSegment","startPerc","endPerc","t0","t1","u0","u1","u0u0u0","t0u0u0_3","t0t0u0_3","t0t0t0","u0u0u1","t0u0u1_3","t0t0u1_3","t0t0t1","u0u1u1","t0u1u1_3","t0t1u1_3","t0t1t1","u1u1u1","t1u1u1_3","t1t1u1_3","t1t1t1","getPointInSegment","percent","pointOnLine3D","z1","z2","z3","diffDist","dist1","dist2","dist3","lastTime","vendors","requestAnimationFrame","cancelAnimationFrame","currTime","timeToCall","setTimeout","clearTimeout","bez","dataFunctionManager","completeLayers","layers","comps","fontManager","layerData","jLen","kLen","completed","tt","td","hasMask","maskProps","masksProperties","convertPathsToAbsoluteValues","findCompLayers","refId","completeShapes","shapes","completeText","__used","parse","ks","path","checkVersion","minimum","animVersionString","animVersion","minimumVersion","checkText","iterateLayers","textLayer","documentData","assets","checkChars","chars","pathData","paths","__converted","checkColors","iterateShapes","checkShapes","cl","singleShape","moduleOb","__complete","dataManager","FontManager","emptyChar","size","combinedCharacters","setUpNode","font","family","parentNode","fontFamily","node","innerText","fontSize","fontVariant","fontStyle","fontWeight","letterSpacing","body","offsetWidth","familyArray","enabledFamilies","trimFontOptions","parent","createHelper","fontData","tHelper","setAttribute","fFamily","fStyle","fWeight","textContent","fClass","getContext","Font","fonts","typekitLoaded","isLoaded","initTime","setIsLoadedBinded","setIsLoaded","checkLoadedFontsBinded","checkLoadedFonts","getCombinedCharacterCodes","addChars","found","ch","addFonts","defs","list","fontArr","_pendingFonts","loadedSelector","shouldLoadFont","loaded","monoCase","sansCase","fPath","fOrigin","origin","querySelectorAll","href","rel","sc","helper","cache","getCharData","char","getFontByName","fName","measureText","fontName","doubleSize","getComputedTextLength","singleSize","loadedCount","removeChild","PropertyFactory","initFrame","math_abs","interpolateValue","frameNum","caching","newValue","offsetTime","propType","pv","keyData","nextKeyData","fnc","iterationIndex","keyframes","endValue","nextKeyTime","keyTime","ti","ind","__fnct","getBezierEasing","segmentPerc","distanceInLine","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","outX","outY","inX","inY","keyValue","sh","quat","qx","qy","qz","qw","heading","atan2","attitude","asin","bank","quaternionToEuler","omega","cosom","sinom","scale0","scale1","az","aw","bx","by","bz","bw","acos","slerp","createQuaternion","c3","s1","s2","s3","getValueAtCurrentTime","comp","renderedFrame","endTime","_caching","renderResult","setVValue","multipliedValue","mult","processEffectsSequence","elem","globalData","frameId","effectsSequence","lock","_isFirstFrame","finalValue","kf","addEffect","effectFunction","ValueProperty","vel","MultiDimensionalProperty","KeyframedValueProperty","st","KeyframedMultidimensionalProperty","arrLen","getProp","TransformPropertyFactory","defaultVector","TransformProperty","pre","appliedTransformations","py","pz","rx","ry","rz","or","sk","sa","_isDirty","applyToMatrix","mat","forceRender","precalculateMatrix","autoOriented","v1","v2","frameRate","getValueAtTime","autoOrient","_addDynamicProperty","getTransformProperty","ShapePath","_maxLength","setPathData","setLength","point_pool","doubleArrayLength","setXYAt","setTripleAt","vX","vY","oX","oY","iX","iY","reverse","newPath","vertices","outPoints","inPoints","init","cnt","ShapePropertyFactory","interpolateShape","previousValue","keyPropS","keyPropE","isHold","vertexValue","interpolateShapeCurrentTime","resetShape","localShapeCollection","shape1","shape2","shapesEqual","shape_pool","releaseShapes","addShape","ShapeProperty","shapeCollection_pool","newShapeCollection","KeyframedShapeProperty","EllShapeProperty","cPoint","convertEllToPath","s0","_cw","_v","StarShapeProperty","ir","convertToPath","convertStarToPath","convertPolygonToPath","os","rad","roundness","perimSegment","numPts","longFlag","longRad","shortRad","longRound","shortRound","longPerimSegment","shortPerimSegment","currentAng","ox","oy","RectShapeProperty","convertRectToPath","v0","ShapeModifiers","modifiers","registerModifier","getModifier","ShapeModifier","TrimModifier","RoundCornersModifier","PuckerAndBloatModifier","RepeaterModifier","ShapeCollection","DashProperty","dataProps","dashStr","dashArray","dashoffset","GradientProperty","cLength","_cmdf","_omdf","_collapsable","checkCollapsable","_hasOpacity","initModifierProperties","addShapeToModifier","shape","setAsAnimated","processKeys","sValue","eValue","pathsData","calculateShapeEdges","shapeLength","totalModifierLength","segmentOb","shapeSegments","shapeS","shapeE","releasePathsData","release","processShapes","shapePaths","_s","totalShapeLength","edges","newShapesData","addShapes","lastShape","pop","addPaths","newPaths","addSegment","shapePath","newShape","addSegmentFromArray","shapeSegment","currentLengthData","segmentCount","segment","rd","processPath","cloned_path","currentV","currentI","currentO","closerV","distance","newPosPerc","amount","centerPoint","pathLength","tr","so","eo","pMatrix","rMatrix","sMatrix","tMatrix","matrix","applyTransforms","inv","scaleX","scaleY","elemsData","_currentCopies","_elements","_groups","unshift","resetElements","elements","_processed","cloneElements","newElements","changeGroupRender","renderFlag","_render","items","itemsTransform","cont","copies","group","reloadShapes","offsetModulo","roundOffset","pProps","rProps","sProps","iteration","mProps","op","comparePoints","buildShapeString","pathNodes","_o","shapeString","audioControllerFactory","AudioController","audioFactory","audios","_volume","_isMuted","addAudio","audio","resume","setRate","rateValue","createAudio","assetPath","Howl","isPlaying","seek","playing","rate","setVolume","setAudioFactory","_updateVolume","mute","unmute","getVolume","volume","ImagePreloader","proxyImage","canvas","fillStyle","fillRect","imageLoaded","loadedAssets","totalImages","imagesLoadedCb","getAssetsPath","assetData","assetsPath","original_path","imagePath","_imageLoaded","images","loadAssets","cb","_createImageData","setAssetsPath","setPath","getImage","img","createImgData","crossOrigin","createImageData","setAttributeNS","setCacheType","featureSupport","maskType","filtersFactory","createFilter","filId","fil","createAlphaToLuminanceFilter","feColorMatrix","assetLoader","formatResponse","xhr","response","responseText","load","errorCallback","XMLHttpRequest","responseType","err","send","onreadystatechange","readyState","status","TextAnimatorProperty","textData","renderType","_hasMaskedPath","_frameId","_textData","_renderType","_elem","_animatorsData","_pathData","_moreOptions","alignment","renderedLetters","lettersChangedFlag","TextAnimatorDataProperty","animatorProps","defaultData","textAnimator_animatables","sw","fc","fh","fs","fb","TextSelectorProp","getTextSelectorProp","LetterProps","TextProperty","keysIndex","canResize","minimumFontSize","currentData","ascent","boxWidth","defaultBoxWidth","justifyOffset","lh","lineWidths","ls","of","ps","fillColorAnim","strokeColorAnim","strokeWidthAnim","yOffset","finalSize","finalText","finalLineHeight","copyData","searchProperty","completeTextData","searchProperties","maskManager","getMaskProperty","getMeasures","xPos","yPos","pathInfo","currentLength","currentPoint","pointInd","segmentInd","prevPoint","tanAngle","mask","animators","matrixHelper","mHelper","renderedLettersCount","letters","tLength","pi","letterValue","yOff","firstLine","offf","xPathPos","yPathPos","elemOpacity","letterSw","letterSc","letterFc","letterO","initPathPos","initSegmentInd","initPointInd","currentLine","letterM","letterP","defaultPropsArray","animatorJustifyOffset","animatorFirstCharOffset","justifyOffsetMult","isNewLine","getMult","anIndexes","totalChars","line","extra","an","animatorOffset","rot","atan","update","updated","setCurrentData","searchKeyframes","getKeyframeValue","_finalValue","currentValue","currentIndex","textKeys","buildFinalText","charCode","charactersArray","newLineFlag","charData","anchorGrouping","currentSize","currentPos","lineWidth","maxLineWidth","styles","trackingOffset","currentHeight","boxHeight","lastSpaceIndex","currentChar","uncollapsedSpaces","animatorData","letterData","based","indexes","rn","newInd","currentInd","updateDocumentData","newData","dData","recalculate","canResizeFont","_canResize","setMinimumFontSize","_fontValue","_currentTextLength","finalS","finalE","xe","ne","textProperty","easer","tot","newCharsFlag","pool_factory","initialLength","_release","_clone","pooling","cloned","shapeCollection","BaseRenderer","SVGRenderer","animationItem","svgElement","titleElement","titleId","description","descElement","descId","maskElement","layerElement","renderConfig","preserveAspectRatio","imagePreserveAspectRatio","progressiveLoad","hideOnTransparent","viewBoxOnly","viewBoxSize","className","focusable","filterSize","pendingElements","destroyed","rendererType","CanvasRenderer","clearCanvas","context","dpr","wrapper","devicePixelRatio","currentGlobalAlpha","contextData","CVContextData","transformMat","HybridRenderer","threeDElements","camera","supports3d","MaskElement","viewData","solidPath","rect","expansor","feMorph","currentMasks","layerId","maskRef","filterID","expan","lastPath","lastOperator","filterId","lastRadius","createLayerSolidPath","getShapeProp","invRect","drawPath","maskedElement","addRenderableComponent","HierarchyElement","FrameElement","TransformElement","RenderableElement","RenderableDOMElement","ProcessedElement","SVGStyleData","level","lvl","hd","pElem","msElem","SVGShapeData","transformers","caches","lStr","SVGTransformData","SVGStrokeStyleData","styleOb","SVGFillStyleData","SVGGradientFillStyleData","initGradientData","SVGGradientStrokeStyleData","ShapeGroupData","prevViewData","gr","checkLayers","ip","buildItem","checkPendingElements","createItem","layer","createImage","createComp","createSolid","createNull","createShape","createText","createCamera","AudioElement","buildAllItems","includeLayers","newLayers","setProjectInterface","pInterface","projectInterface","initItems","buildElementParenting","parentName","hierarchy","setAsParent","setHierarchy","addPendingElement","searchExtraCompositions","xt","initExpressions","registerComposition","setupGlobalData","animData","fontsContainer","getAssetData","imageLoader","imagePreloader","audioController","fr","compSize","NullElement","SVGShapeElement","SVGTextElement","IImageElement","SVGCompElement","ISolidElement","configAnimation","maskId","updateContainerSize","appendElementInPos","setMatte","checkParenting","renderFrame","currentFrame","prepareFrame","getBaseElement","nextElement","insertBefore","show","CVShapeElement","CVTextElement","CVImageElement","CVCompElement","CVSolidElement","ctxTransform","cProps","cTr","trProps","canvasContext","ctxOpacity","globalAlpha","cO","restore","save","actionFlag","cArrPos","duplicate","saved","savedOp","blendMode","popped","mozTransformOrigin","transformCanvas","isDashed","elementWidth","elementHeight","elementRel","animationRel","offsetHeight","par","fillType","beginPath","closePath","clip","clearRect","newDOMElement","ddd","addTo3dContainer","nextDOMElement","nextLayer","getThreeDContainerByPos","HShapeElement","HTextElement","HCameraElement","HImageElement","HCompElement","HSolidElement","startPos","endPos","perspectiveElem","createThreeDContainer","webkitTransform","threeDContainerData","build3dContainers","lastThreeDContainerData","currentContainer","resizerElem","svg","setup","cWidth","cHeight","perspective","webkitPerspective","floatingContainer","isFirstFrame","finalMat","finalTransform","mProp","getMaskelement","pathString","pathShapeValue","initHierarchy","_isParent","prepareProperties","isVisible","initTransform","_matMdf","_opMdf","ao","renderTransform","globalToLocal","transforms","ptNew","initRenderable","isInRange","hidden","isTransparent","renderableComponents","component","removeRenderableComponent","prepareRenderableFrame","checkLayerLimits","checkTransparency","renderRenderable","sourceRectAtTime","getLayerSize","initElement","initBaseData","initRendererElement","createContainerElements","createRenderableComponents","createContent","baseElement","renderElement","renderInnerContent","innerElem","destroyBaseElement","stops","setGradientData","setGradientOpacity","pathElement","gradientId","gfill","gf","cst","opacityId","opFill","ost","SVGElementsRenderer","_identityMatrix","_matrixHelper","renderContentTransform","styleData","itemData","renderPath","pathStringTransformed","redraw","iterations","lLen","renderFill","styleElem","renderGradientStroke","renderGradient","renderStroke","hasOpacity","attr1","attr2","cValues","oValues","ang","dist","createRenderFunction","ShapeTransformManager","sequences","sequenceList","transform_key_count","CVShapeData","transformsManager","styledShapes","styledShape","addTransformSequence","trNodes","BaseElement","SVGBaseElement","IShapeElement","ITextElement","ICompElement","sourceRect","_isPlaying","_canPlay","_currentTime","tm","_placeholder","textSpans","shapesData","stylesList","shapeModifiers","itemsData","processedElements","animatedContents","SVGTintFilter","filterManager","matrixFilter","effectElements","feMergeNode","feMerge","SVGFillFilter","SVGGaussianBlurEffect","feGaussianBlur","SVGStrokeEffect","initialized","SVGTritoneFilter","feComponentTransfer","feFuncR","feFuncG","feFuncB","SVGProLevelsFilter","createFeFunc","feFuncA","feFuncRComposed","feFuncGComposed","feFuncBComposed","SVGDropShadowEffect","feOffset","feFlood","feComposite","originalNodeAdded","sequence","processSequence","processSequences","getNewKey","checkMasks","layerInterface","LayerExpressionInterface","registerMaskInterface","effectsInterface","EffectsExpressionInterface","createEffectsInterface","registerEffectsInterface","compInterface","CompExpressionInterface","shapeInterface","ShapeExpressionInterface","content","textInterface","TextExpressionInterface","setBlendMode","blendModeValue","bm","sr","effectsManager","EffectsManager","getType","matteElement","transformedElement","_sizeChanged","layerElementParent","masker","maskGroup","maskGrouper","feCTr","feFunc","alphaRect","ln","cp","clipId","cpGroup","renderableEffectsManager","SVGEffects","addShapeToModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","renderModifiers","lcEnum","ljEnum","searchProcessedElement","addProcessedElement","textAnimator","buildNewText","createPathShape","shapeStr","_fontSize","applyTextPropertiesToMatrix","lineNumber","buildColor","colorData","emptyProp","timeRemapped","setElements","elems","getElements","destroyElements","pr","volumeValue","textContainer","buildTextContents","textArray","textContents","currentTextContent","tSpan","usesGlyphs","cachedSpansLength","tElement","justify","textBox","getBBox","bbox","renderedLetter","textSpan","initSecondaryElement","identityMatrix","buildExpressionInterface","searchShapes","filterUniqueShapes","tempShapes","areAnimated","setShapesAsAnimated","createStyleElement","elementData","lc","lj","ml","addToAnimatedContents","createGroupElement","createTransformElement","transformProperty","createShapeElement","ownTransformers","setElementStyles","render","currentTransform","modifier","processedPos","ownStyles","ownModifiers","renderShape","animatedContent","colorBlack","colorWhite","opacity","sigma","dimensions","sigmaX","sigmaY","edgeMode","initialize","groupPath","elemChildren","children","childNodes","removeAttribute","pathMasker","dasharrayValue","getTotalLength","lineLength","color1","color2","color3","tableR","tableG","tableB","getTableValue","inputBlack","inputWhite","gamma","outputBlack","outputWhite","colorValue","table","outputDelta","inputDelta","col","_svgMatteSymbols","SVGMatte3Effect","filterElem","ef","filters","CVBaseElement","CVMaskElement","hasMasks","stroke","fill","currentRender","sWidth","fValue","CVEffects","HBaseElement","shapesContainer","currentBBox","textPaths","isMasked","pe","_prevMat","HEffects","findSymbol","replaceInParent","symbolId","nextChild","useElem","setElementAsMask","symbol","newLength","currentSavedOp","createElements","globalCompositeOperation","hideElement","showElement","forceRealStack","widthCrop","heightCrop","imgW","imgH","imgRel","canvasRel","drawImage","parentMatrix","moveTo","lineTo","bezierCurveTo","transformHelper","dashResetter","preTransforms","co","wi","da","do","addTransformToStyleList","removeTransformFromStyleList","closeStyles","shouldRender","ownTransforms","_shouldRender","renderShapeTransform","parentTransform","groupTransform","drawLayer","nodes","currentStyle","coOp","strokeStyle","grd","lineCap","lineJoin","miterLimit","setLineDash","lineDashOffset","isMain","renderGradientFill","renderStyledShape","shapeNodes","groupTransformMat","createLinearGradient","createRadialGradient","addColorStop","hasFill","hasStroke","commands","pathArr","lastFill","lastStroke","lastStrokeW","checkBlendMode","tg","addEffects","backgroundColor","_createBaseContainerElements","_renderShapeFrame","shapeCont","getTransformedPoint","calculateShapeBoundingBox","boundingBox","vPoint","oPoint","nextIPoint","nextVPoint","checkBounds","getBoundsOfCurve","bounds","shapeBoundingBox","xMax","right","yMax","bottom","tempBoundingBox","b2ac","t2","calculateF","calculateBoundingBox","currentBoxContains","box","changed","compW","compH","innerElemStyle","strokeWidth","lineHeight","tParent","tCont","textPath","Image","imageElem","mTransf","diffVector","mag","lookDir","lookLengthOnXZ","m_rotationX","m_rotationY","hasMatrixChanged","animationManager","registeredAnimations","playingAnimationsNum","_stopped","_isFrozen","removeElement","ev","animItem","animation","subtractPlayingCount","registerAnimation","AnimationItem","setupAnimation","setData","addPlayingCount","activate","nowTime","elapsedTime","advanceTime","first","params","setParams","togglePause","searchAnimations","animElements","getElementsByClassName","getElementsByTagName","div","resize","goToAndStop","isFrame","freeze","unfreeze","getRegisteredAnimations","animations","currentRawFrame","frameMult","playSpeed","playDirection","playCount","animationID","timeCompleted","segmentPos","isSubframeEnabled","_idle","_completedLoop","animType","autoloadSegments","initialSegment","lastIndexOf","fileName","trigger","wrapperAttributes","attributes","getNamedItem","prerender","completeData","loadNextSegment","segmentPath","loadSegments","imagesLoaded","checkLoaded","preloadImages","updaFrameModifier","waitForFontsLoaded","error","triggerConfigError","gotoFrame","setSubframe","triggerRenderFrameError","setCurrentRawFrameValue","frameModifier","goToAndPlay","nextValue","_isComplete","checkSegments","adjustSegment","setSegment","end","pendingFrame","forceFlag","resetSegments","onEnterFrame","onLoopComplete","onComplete","onSegmentStart","onDestroy","getPath","getDuration","onError","Expressions","stackCount","registers","pushExpression","popExpression","releaseInstances","registerExpressionProperty","expression","ExpressionManager","$bm_isInstanceOfArray","isNumerable","tOfV","Number","$bm_neg","tOfA","lenA","retArr","easeInBez","easeOutBez","easeInOutBez","sum","tOfB","lenB","sub","mul","mod","$bm_sum","$bm_sub","$bm_mul","$bm_div","$bm_mod","clamp","radiansToDegrees","radians_to_degrees","degreesToRadians","degrees_to_radians","helperLengthArray","normalize","vec","rgbToHsl","hue2rgb","hslToRgb","linear","tMin","tMax","value1","value2","_tMin","rnd","createPath","inTangents","outTangents","inVertexPoint","outVertexPoint","arrPlaceholder","initiateExpression","needsVelocity","_needsRandom","elemType","$bm_transform","effect","thisProperty","valueAtTime","frameDuration","displayStartTime","inPoint","outPoint","loopIn","loop_in","loopOut","loop_out","smooth","toWorld","fromWorld","fromComp","toComp","fromCompToSurface","rotation","anchorPoint","thisLayer","thisComp","velocityAtTime","__expression_functions","scoped_bm_rt","xf","eval","expression_function","numKeys","active","wiggle","freq","amp","addedAmps","periods","loopInDuration","loopOutDuration","getVelocityAtTime","velocity","textIndex","textTotal","selectorValue","lookAt","elem1","elem2","fVec","pitch","easeOut","val1","val2","applyEase","easeIn","ease","nearestKey","framesToTime","frames","fps","timeToFrames","seedRandom","seedrandom","randSeed","posterizeTime","framesPerSecond","hasParent","executeExpression","_value","frameExpressionId","expressionHelpers","searchExpressions","getSpeedAtTime","_cachingAtTime","getStaticValueAtTime","setGroupProperty","propertyGroup","durationFlag","cycleDuration","firstKeyFrame","lastKeyFrame","initV","endV","current","repeats","lastValue","nextLastValue","firstValue","nextFirstValue","samples","sampleValue","sampleFrequency","getTransformValueAtTime","_transformCachingAtTime","skewAxis","rotationZ","rotationY","rotationX","orientation","positionX","positionY","positionZ","getTransformStaticValueAtTime","propertyGetProp","propertyIndex","ix","ShapePropertyConstructorFunction","getConstructorFunction","KeyframedShapePropertyConstructorFunction","getKeyframedConstructorFunction","ShapeExpressions","isClosed","pointOnPath","_segmentsLength","accumulatedLength","initIndex","endIndex","vectorOnPath","vectorType","xLength","yLength","magnitude","tangentOnPath","normalOnPath","shapeValue","propertyGetShapeProp","trims","getExpressionValue","calculateExpression","isKeyframed","hasExpressions","ShapePathInterface","view","interfaceFunction","_propertyGroup","propertyGroupFactory","PropertyInterface","mn","parentPropertyGroup","propertyName","_name","iterateElements","groupInterfaceFactory","fillInterfaceFactory","strokeInterfaceFactory","trimInterfaceFactory","ellipseInterfaceFactory","starInterfaceFactory","rectInterfaceFactory","roundedInterfaceFactory","repeaterInterfaceFactory","interfaces","numProperties","transformInterface","transformInterfaceFactory","cix","contentsInterfaceFactory","np","ExpressionPropertyInterface","_dashPropertyGroup","dashOb","addPropertyToDashOb","start","outerRadius","outerRoundness","innerRoundness","innerRadius","radius","_interfaceFunction","_sourceText","_thisLayerFunction","sourceText","stringValue","_prevValue","toWorldMat","sampleImage","anchorPointDescriptor","TransformExpressionInterface","anchor_point","startTime","MaskManagerInterface","effects","pixelAspect","numLayers","_thisFunction","xRotation","yRotation","xPosition","yPosition","zPosition","_transformFactory","_pz","_px","_py","compositions","_thisProjectFunction","createGroupInterface","groupInterface","createValueInterface","enabled","en","expressionProperty","effectsData","MaskInterface","_mask","_masksInterfaces","defaultUnidimensionalValue","defaultMultidimensionalValue","completeProperty","expressionValue","valueProp","speedAtTime","defaultGetter","UnidimensionalPropertyInterface","arrValue","MultidimensionalPropertyInterface","TextExpressionSelectorProp","propertyGetTextProp","SliderEffect","AngleEffect","ColorEffect","PointEffect","LayerIndexEffect","MaskIndexEffect","CheckboxEffect","NoValueEffect","effectItem","GroupEffect","getValueProxy","eff","lottie","setLocationHref","setSubframeRendering","setQuality","inBrowser","installPlugin","plugin","getFactory","checkReady","clearInterval","readyStateCheckInterval","getQueryVariable","variable","vars","queryString","pair","decodeURIComponent","__getFactory","scripts","myScript","setInterval","getNow","getFixedDate","getEndDate","getWeekDay","getYear","getHour","getMinute","getSecond","addYear","addMonth","addDate","setYear","setDate","setHour","setMinute","setSecond","date1","date2","isValidate","getWeekFirstDay","getWeekFirstDate","getWeek","getShortWeekDays","getShortMonths","_format","fallbackFormatList","formatText","includes","matchFormat","matchText","_date","__rest","_classNames","customizePrefixCls","prefixCls","checked","onChange","restProps","getPrefixCls","cls","PresetStatusColorTypes","PresetColorTypes","PresetColorRegex","PresetStatusColorRegex","icon","onClose","closeIcon","_a$closable","closable","_React$useContext","_React$useState","_React$useState2","visible","setVisible","isPresetColor","tagStyle","presetColor","tagClassName","handleCloseClick","stopPropagation","defaultPrevented","isNeedWave","tagProps","iconNode","kids","tagNode","CloseOutlined","Tag","displayName","CheckableTag","AntdIcon","HIDDEN_STYLE","visibility","_ref$prevIcon","prevIcon","_ref$nextIcon","nextIcon","_ref$superPrevIcon","superPrevIcon","_ref$superNextIcon","superNextIcon","onSuperPrev","onSuperNext","onPrev","onNext","hideNextBtn","hidePrevBtn","generateConfig","viewDate","onPrevDecades","onNextDecades","hideHeader","headerPrefixCls","yearNumber","startYear","DECADE_DISTANCE_COUNT","endYear","nextTime","setDateTime","defaultDate","newDate","getLastDay","endDate","monthShow","PanelBody","disabledDate","onSelect","picker","rowNum","colNum","prefixColumn","rowClassName","baseDate","getCellClassName","getCellText","getCellNode","getCellDate","titleCell","headerCells","onDateMouseEnter","onDateMouseLeave","cellPrefixCls","rows","row","rowStartDate","_loop","_objectSpread2","disabled","getCellDateDisabled","cellDate","onMouseEnter","onMouseLeave","DECADE_UNIT_DIFF_DES","DECADE_UNIT_DIFF","decadeYearNumber","startDecadeYear","endDecadeYear","baseDecadeYear","DECADE_COL_COUNT","startDecadeNumber","endDecadeNumber","scrollIds","Map","scrollTo","scrollTop","perTick","createKeyDownHandler","event","onLeftRight","onCtrlLeftRight","onUpDown","onPageUpDown","onEnter","which","ctrlKey","metaKey","LEFT","RIGHT","UP","DOWN","PAGE_UP","PAGE_DOWN","ENTER","getDefaultFormat","showTime","use12Hours","mergedFormat","getInputSize","defaultSize","clickCallbacks","Set","PickerModeMap","elementsContains","ele","contains","onViewDateChange","operationRef","onPanelChange","panelPrefixCls","onKeyDown","onDecadesChange","isNullEqual","isSameYear","year1","year2","equal","getQuarter","isSameQuarter","quarter1","quarter2","isSameMonth","month1","month2","isSameDate","isSameWeek","isEqual","time1","time2","isSameTime","startDate","getClosingViewDate","formatValue","parseValue","_ref2","formatList","_ref3","getDisabledFromRange","currentMode","startMonth","hideDisabledOptions","ulRef","liRefs","scrollRef","li","offsetTop","tryOrNextFrame","cancel","_scrollRef$current","_classNames2","label","leftPad","getDataOrAriaProps","retProps","updateValues","newValues","shouldUnitsUpdate","prevUnits","nextUnits","generateUnits","disabledUnits","activeColumnIndex","showHour","showMinute","showSecond","_props$hourStep","hourStep","_props$minuteStep","minuteStep","_props$secondStep","secondStep","disabledHours","disabledMinutes","disabledSeconds","columns","contentPrefixCls","columnPrefixCls","originHour","isNewPM","newHour","newMinute","newSecond","mergedHour","mergedMinute","mergedSecond","rawHours","memorizedRawHours","_React$useMemo","AMPMDisabled","hourValue","_React$useMemo2","AMDisabled","PMDisabled","hourMeta","hourLabel","addColumnNode","condition","columnValue","onColumnSelect","column","valueIndex","findIndex","unitLen","nextUnit","PMIndex","_props$format","_props$use12Hours","bodyOperationRef","setActiveColumnIndex","columnsCount","onBlur","useCellClassName","rangedValue","hoverRangedValue","isInView","isSameCell","offsetCell","today","prevDate","nextDate","rangeStart","rangeEnd","hoverStart","hoverEnd","isRangeHovered","isRangeStart","isRangeEnd","isHoverStart","isHoverEnd","isHoverEdgeStart","isHoverEdgeEnd","rowCount","dateRender","weekFirstDay","monthStartDate","startDateWeekDay","alignStartDate","getWeekStartDate","weekDaysLocale","shortWeekDays","onNextMonth","onPrevMonth","onNextYear","onPrevYear","onYearClick","onMonthClick","monthsLocale","shortMonths","yearNode","yearFormat","monthNode","monthFormat","monthYearNodes","monthBeforeYear","_props$panelName","panelName","keyboardConfig","_onSelect","onYearChange","onMonthChange","ACTIVE_PANEL","tuple","defaultValue","disabledTime","activePanel","setActivePanel","dateOperationRef","timeOperationRef","timeProps","TAB","nextActivePanel","shiftKey","activeIndex","preventDefault","onInternalSelect","selectedDate","disabledTimes","rowPrefixCls","monthCellRender","baseMonth","baseQuarter","quarterFormat","onPrevDecade","onNextDecade","onDecadeClick","YEAR_DECADE_COUNT","yearPrefixCls","baseYear","YEAR_COL_COUNT","currentYearNumber","sourceMode","onDecadeChange","getExtraFooter","renderExtraFooter","getRanges","presetNode","okNode","_ref$rangeList","rangeList","_ref$components","components","needConfirmButton","onNow","onOk","okDisabled","showNow","Item","rangeItem","Button","button","ok","_props$prefixCls","pickerValue","defaultPickerValue","_props$picker","_props$tabIndex","showToday","onMouseDown","onPickerValueChange","_onOk","isHourStepValid","isMinuteStepValid","isSecondStepValid","panelContext","panelDivRef","panelRef","onContextSelect","hideRanges","defaultOpenValue","inRange","panelPosition","initRef","_useMergedState","postState","_useMergedState2","mergedValue","setInnerValue","_useMergedState3","_useMergedState4","setInnerViewDate","setViewDate","getInternalNextMode","nextMode","getNextMode","_useMergedState5","_useMergedState6","mergedMode","setInnerMode","panelNode","setSourceMode","triggerSelect","forceTriggerSelect","onInternalKeyDown","extraFooter","rangesNode","todayNode","pickerProps","newMode","viewValue","lowerBoundTime","lowerBoundHour","lowerBoundMinute","getLowerBoundTime","adjustedNow","todayCls","Provider","BUILT_IN_PLACEMENTS","bottomLeft","adjustX","adjustY","bottomRight","topLeft","topRight","popupElement","popupStyle","dropdownClassName","dropdownAlign","transitionName","getPopupContainer","range","popupPlacement","dropdownPrefixCls","showAction","hideAction","builtinPlacements","popupTransitionName","popup","popupAlign","popupVisible","popupClassName","usePickerInput","isClickOutside","triggerOpen","forwardKeyDown","_onKeyDown","blurToCancel","onSubmit","onCancel","_onFocus","onFocus","_onBlur","_useState","_useState2","typing","setTyping","_useState3","_useState4","focused","setFocused","preventBlurRef","valueChangedRef","preventDefaultRef","inputProps","ESC","SHIFT","activeElement","shadowRoot","_e$composedPath","composed","composedPath","getTargetFromEvent","clickedOutside","queueFunc","delete","useTextValueMapping","valueTexts","onTextChange","setInnerText","valueTextsRef","resetText","every","valText","useValueTexts","firstValueText","fullValueTexts","formatStr","prev","useHoverValue","valueText","internalSetValue","raf","setValue","immediately","_useValueTexts","firstText","onLeave","InnerPicker","inputReadOnly","allowClear","autoFocus","defaultOpen","suffixIcon","clearIcon","placeholder","pickerRef","panelRender","onOpenChange","onMouseUp","onContextMenu","_props$autoComplete","autoComplete","inputRef","inputDivRef","selectedValue","setSelectedValue","postOpen","newOpen","mergedOpen","triggerInnerOpen","_useValueTexts2","_useTextValueMapping","newText","inputDate","_useTextValueMapping2","triggerTextChange","triggerChange","_usePickerInput","_usePickerInput2","_usePickerInput2$","focus","blur","_useHoverValue","_useHoverValue2","hoverValue","panelProps","suffixNode","clearNode","panel","readOnly","Picker","_super","getStartEndDistance","startNext","getDistance","compareFunc","decade1","decade2","isSameDecade","useRangeViewDates","defaultDates","defaultViewDates","setDefaultViewDates","_React$useState3","_React$useState4","viewDates","setInternalViewDates","getRangeViewDate","newViewDates","anotherIndex","reorderValues","canValueTrigger","allowEmpty","InnerRangePicker","_classNames3","_classNames4","_props$separator","_disabledTime","ranges","onCalendarChange","order","activePickerIndex","openRecordsRef","containerRef","startInputDivRef","endInputDivRef","separatorRef","startInputRef","endInputRef","mergedActivePickerIndex","setMergedActivePickerIndex","mergedDisabled","_useRangeViewDates","_useRangeViewDates2","getViewDate","postValues","_useMergedState7","_useMergedState8","mergedModes","setInnerModes","triggerModesChange","modes","_useRangeDisabled","disabledStart","disabledEnd","weekFirstDate","monthNumber","quarterNumber","useRangeDisabled","_useRangeDisabled2","disabledStartDate","disabledEndDate","_useMergedState9","_useMergedState10","startOpen","endOpen","popupMinWidth","setPopupMinWidth","triggerRef","_triggerOpen","openRecords","triggerOpenAndFocus","sourceIndex","startValue","startStr","endStr","canStartValueTrigger","canEndValueTrigger","nextOpenIndex","sharedTextHooksProps","startValueTexts","firstStartValueText","_useValueTexts3","_useValueTexts4","endValueTexts","firstEndValueText","_onTextChange","startText","triggerStartTextChange","resetStartText","_useTextValueMapping3","_useTextValueMapping4","endText","triggerEndTextChange","resetEndText","rangeHoverValue","setRangeHoverValue","_useState5","_useState6","setHoverRangedValue","startHoverValue","onStartEnter","onStartLeave","_useHoverValue3","_useHoverValue4","endHoverValue","onEndEnter","onEndLeave","getSharedInputHookProps","startInputProps","startFocused","startTyping","_usePickerInput3","_usePickerInput4","endInputProps","_usePickerInput4$","endFocused","endTyping","renderPanel","panelHoverRangedValue","panelShowTime","timeDefaultValues","panelDateRender","arrowLeft","panelLeft","arrowPositionStyle","rangePanel","minWidth","panels","extraNode","nextViewDate","showDoublePanel","leftPanel","newViewDate","rightPanel","mergedNodes","marginLeft","renderPanels","inputSharedProps","activeBarLeft","activeBarWidth","activeBarPositionStyle","RangePicker","getPlaceholder","customizePlaceholder","yearPlaceholder","quarterPlaceholder","monthPlaceholder","weekPlaceholder","timePickerLocale","getRangePlaceholder","rangeYearPlaceholder","rangeMonthPlaceholder","rangeWeekPlaceholder","rangePlaceholder","Components","getTimeProps","firstFormat","showTimeObj","_generateSinglePicker","getPicker","renderPicker","contextLocale","_this$context","customizeGetPopupContainer","customizeSize","_a$bordered","bordered","_this$props","additionalProps","additionalOverrideProps","mergedPicker","rootPrefixCls","SizeContext","Consumer","mergedSize","CloseCircleFilled","devWarning","LocaleReceiver","componentName","defaultLocale","contextType","DatePicker","WeekPicker","MonthPicker","YearPicker","TimePicker","QuarterPicker","customGetPopupContainer","generateRangePicker","MergedDatePicker","marginDirection","SpaceContext","horizontalSize","verticalSize","latestIndex","marginBottom","paddingBottom","spaceSize","small","middle","large","space","directionConfig","_props$size","align","_props$direction","_props$wrap","otherProps","getNumberSize","keepEmpty","mergedAlign","cn","itemClassName","child","flexWrap"],"mappings":";yHAAA,YAOmEA,EAAOC,QAGlE,WAAe,aAEnB,IAAIC,EA4HAC,EA1HJ,SAASC,IACL,OAAOF,EAAaG,MAAM,KAAMC,WASpC,SAASC,EAAQC,GACb,OACIA,aAAiBC,OACyB,mBAA1CC,OAAOC,UAAUC,SAASC,KAAKL,GAIvC,SAASM,EAASN,GAGd,OACa,MAATA,GAC0C,oBAA1CE,OAAOC,UAAUC,SAASC,KAAKL,GAIvC,SAASO,EAAWC,EAAGC,GACnB,OAAOP,OAAOC,UAAUO,eAAeL,KAAKG,EAAGC,GAGnD,SAASE,EAAcC,GACnB,GAAIV,OAAOW,oBACP,OAAkD,IAA3CX,OAAOW,oBAAoBD,GAAKE,OAEvC,IAAIC,EACJ,IAAKA,KAAKH,EACN,GAAIL,EAAWK,EAAKG,GAChB,OAAO,EAGf,OAAO,EAIf,SAASC,EAAYhB,GACjB,YAAiB,IAAVA,EAGX,SAASiB,EAASjB,GACd,MACqB,iBAAVA,GACmC,oBAA1CE,OAAOC,UAAUC,SAASC,KAAKL,GAIvC,SAASkB,EAAOlB,GACZ,OACIA,aAAiBmB,MACyB,kBAA1CjB,OAAOC,UAAUC,SAASC,KAAKL,GAIvC,SAASoB,EAAIC,EAAKC,GACd,IACIC,EADAC,EAAM,GAEV,IAAKD,EAAI,EAAGA,EAAIF,EAAIP,SAAUS,EAC1BC,EAAIC,KAAKH,EAAGD,EAAIE,GAAIA,IAExB,OAAOC,EAGX,SAASE,EAAOlB,EAAGC,GACf,IAAK,IAAIc,KAAKd,EACNF,EAAWE,EAAGc,KACdf,EAAEe,GAAKd,EAAEc,IAYjB,OARIhB,EAAWE,EAAG,cACdD,EAAEJ,SAAWK,EAAEL,UAGfG,EAAWE,EAAG,aACdD,EAAEmB,QAAUlB,EAAEkB,SAGXnB,EAGX,SAASoB,EAAU5B,EAAO6B,EAAQC,EAAQC,GACtC,OAAOC,GAAiBhC,EAAO6B,EAAQC,EAAQC,GAAQ,GAAME,MAyBjE,SAASC,EAAgBC,GAIrB,OAHa,MAATA,EAAEC,MACFD,EAAEC,IAtBC,CACHC,OAAO,EACPC,aAAc,GACdC,YAAa,GACbC,UAAW,EACXC,cAAe,EACfC,WAAW,EACXC,WAAY,KACZC,aAAc,KACdC,eAAe,EACfC,iBAAiB,EACjBC,KAAK,EACLC,gBAAiB,GACjBC,IAAK,KACLC,SAAU,KACVC,SAAS,EACTC,iBAAiB,IAQdjB,EAAEC,IAsBb,SAASiB,EAAQlB,GACb,GAAkB,MAAdA,EAAEmB,SAAkB,CACpB,IAAIC,EAAQrB,EAAgBC,GACxBqB,EAAc7D,EAAKU,KAAKkD,EAAMP,iBAAiB,SAAUzB,GACrD,OAAY,MAALA,KAEXkC,GACKC,MAAMvB,EAAEwB,GAAGC,YACZL,EAAMf,SAAW,IAChBe,EAAMlB,QACNkB,EAAMZ,aACNY,EAAMX,eACNW,EAAMM,iBACNN,EAAMH,kBACNG,EAAMb,YACNa,EAAMV,gBACNU,EAAMT,mBACLS,EAAML,UAAaK,EAAML,UAAYM,GAU/C,GARIrB,EAAE2B,UACFL,EACIA,GACwB,IAAxBF,EAAMd,eACwB,IAA9Bc,EAAMjB,aAAaxB,aACDiD,IAAlBR,EAAMS,SAGS,MAAnB9D,OAAO+D,UAAqB/D,OAAO+D,SAAS9B,GAG5C,OAAOsB,EAFPtB,EAAEmB,SAAWG,EAKrB,OAAOtB,EAAEmB,SAGb,SAASY,EAAcX,GACnB,IAAIpB,EAAIP,EAAUuC,KAOlB,OANa,MAATZ,EACA7B,EAAOQ,EAAgBC,GAAIoB,GAE3BrB,EAAgBC,GAAGW,iBAAkB,EAGlCX,EA7DPxC,EADAM,MAAME,UAAUR,KACTM,MAAME,UAAUR,KAEhB,SAAUyE,GACb,IAEI7C,EAFA8C,EAAInE,OAAOoE,MACXC,EAAMF,EAAEvD,SAAW,EAGvB,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,IACjB,GAAIA,KAAK8C,GAAKD,EAAI/D,KAAKiE,KAAMD,EAAE9C,GAAIA,EAAG8C,GAClC,OAAO,EAIf,OAAO,GAqDf,IAAIG,EAAoB5E,EAAM4E,iBAAmB,GAC7CC,GAAmB,EAEvB,SAASC,EAAWC,EAAIC,GACpB,IAAIrD,EAAGsD,EAAMC,EAiCb,GA/BK9D,EAAY4D,EAAKG,oBAClBJ,EAAGI,iBAAmBH,EAAKG,kBAE1B/D,EAAY4D,EAAKI,MAClBL,EAAGK,GAAKJ,EAAKI,IAEZhE,EAAY4D,EAAKK,MAClBN,EAAGM,GAAKL,EAAKK,IAEZjE,EAAY4D,EAAKM,MAClBP,EAAGO,GAAKN,EAAKM,IAEZlE,EAAY4D,EAAKd,WAClBa,EAAGb,QAAUc,EAAKd,SAEjB9C,EAAY4D,EAAKO,QAClBR,EAAGQ,KAAOP,EAAKO,MAEdnE,EAAY4D,EAAKQ,UAClBT,EAAGS,OAASR,EAAKQ,QAEhBpE,EAAY4D,EAAKS,WAClBV,EAAGU,QAAUT,EAAKS,SAEjBrE,EAAY4D,EAAKxC,OAClBuC,EAAGvC,IAAMF,EAAgB0C,IAExB5D,EAAY4D,EAAKU,WAClBX,EAAGW,QAAUV,EAAKU,SAGlBd,EAAiB1D,OAAS,EAC1B,IAAKS,EAAI,EAAGA,EAAIiD,EAAiB1D,OAAQS,IAGhCP,EADL8D,EAAMF,EADNC,EAAOL,EAAiBjD,OAGpBoD,EAAGE,GAAQC,GAKvB,OAAOH,EAIX,SAASY,EAAOC,GACZd,EAAWJ,KAAMkB,GACjBlB,KAAKX,GAAK,IAAIxC,KAAkB,MAAbqE,EAAO7B,GAAa6B,EAAO7B,GAAGC,UAAYO,KACxDG,KAAKjB,YACNiB,KAAKX,GAAK,IAAIxC,KAAKgD,OAIE,IAArBM,IACAA,GAAmB,EACnB7E,EAAM6F,aAAanB,MACnBG,GAAmB,GAI3B,SAASiB,EAAS9E,GACd,OACIA,aAAe2E,GAAkB,MAAP3E,GAAuC,MAAxBA,EAAImE,iBAIrD,SAASY,EAAKC,IAEgC,IAAtChG,EAAMiG,6BACa,oBAAZC,SACPA,QAAQH,MAERG,QAAQH,KAAK,wBAA0BC,GAI/C,SAASG,EAAUH,EAAKtE,GACpB,IAAI0E,GAAY,EAEhB,OAAOtE,GAAO,WAIV,GAHgC,MAA5B9B,EAAMqG,oBACNrG,EAAMqG,mBAAmB,KAAML,GAE/BI,EAAW,CACX,IACIE,EACA3E,EACA4E,EAHAC,EAAO,GAIX,IAAK7E,EAAI,EAAGA,EAAIzB,UAAUgB,OAAQS,IAAK,CAEnC,GADA2E,EAAM,GACsB,iBAAjBpG,UAAUyB,GAAiB,CAElC,IAAK4E,KADLD,GAAO,MAAQ3E,EAAI,KACPzB,UAAU,GACdS,EAAWT,UAAU,GAAIqG,KACzBD,GAAOC,EAAM,KAAOrG,UAAU,GAAGqG,GAAO,MAGhDD,EAAMA,EAAIG,MAAM,GAAI,QAEpBH,EAAMpG,UAAUyB,GAEpB6E,EAAK3E,KAAKyE,GAEdP,EACIC,EACI,gBACA3F,MAAME,UAAUkG,MAAMhG,KAAK+F,GAAME,KAAK,IACtC,MACA,IAAIC,OAAQC,OAEpBR,GAAY,EAEhB,OAAO1E,EAAGzB,MAAMyE,KAAMxE,aACvBwB,GAGP,IAgFImF,EAhFAC,EAAe,GAEnB,SAASC,EAAgBC,EAAMhB,GACK,MAA5BhG,EAAMqG,oBACNrG,EAAMqG,mBAAmBW,EAAMhB,GAE9Bc,EAAaE,KACdjB,EAAKC,GACLc,EAAaE,IAAQ,GAO7B,SAASC,EAAW7G,GAChB,MACyB,oBAAb8G,UAA4B9G,aAAiB8G,UACX,sBAA1C5G,OAAOC,UAAUC,SAASC,KAAKL,GA2BvC,SAAS+G,EAAaC,EAAcC,GAChC,IACIpC,EADArD,EAAME,EAAO,GAAIsF,GAErB,IAAKnC,KAAQoC,EACL1G,EAAW0G,EAAapC,KACpBvE,EAAS0G,EAAanC,KAAUvE,EAAS2G,EAAYpC,KACrDrD,EAAIqD,GAAQ,GACZnD,EAAOF,EAAIqD,GAAOmC,EAAanC,IAC/BnD,EAAOF,EAAIqD,GAAOoC,EAAYpC,KACF,MAArBoC,EAAYpC,GACnBrD,EAAIqD,GAAQoC,EAAYpC,UAEjBrD,EAAIqD,IAIvB,IAAKA,KAAQmC,EAELzG,EAAWyG,EAAcnC,KACxBtE,EAAW0G,EAAapC,IACzBvE,EAAS0G,EAAanC,MAGtBrD,EAAIqD,GAAQnD,EAAO,GAAIF,EAAIqD,KAGnC,OAAOrD,EAGX,SAAS0F,EAAO1B,GACE,MAAVA,GACAlB,KAAK6C,IAAI3B,GAmCjB,SAAS4B,EAASC,EAAQC,EAAcC,GACpC,IAAIC,EAAY,GAAKC,KAAKC,IAAIL,GAC1BM,EAAcL,EAAeE,EAAU1G,OAE3C,OADWuG,GAAU,EAERE,EAAY,IAAM,GAAM,KACjCE,KAAKG,IAAI,GAAIH,KAAKI,IAAI,EAAGF,IAAcvH,WAAW0H,OAAO,GACzDN,EA1GR5H,EAAMiG,6BAA8B,EACpCjG,EAAMqG,mBAAqB,KAsEvBQ,EADAvG,OAAOuG,KACAvG,OAAOuG,KAEP,SAAU7F,GACb,IAAIW,EACAC,EAAM,GACV,IAAKD,KAAKX,EACFL,EAAWK,EAAKW,IAChBC,EAAIC,KAAKF,GAGjB,OAAOC,GA6Bf,IAAIuG,EAAmB,yMACnBC,EAAwB,6CACxBC,EAAkB,GAClBC,EAAuB,GAM3B,SAASC,EAAeC,EAAOC,EAAQC,EAASC,GAC5C,IAAIC,EAAOD,EACa,iBAAbA,IACPC,EAAO,WACH,OAAOlE,KAAKiE,OAGhBH,IACAF,EAAqBE,GAASI,GAE9BH,IACAH,EAAqBG,EAAO,IAAM,WAC9B,OAAOjB,EAASoB,EAAK3I,MAAMyE,KAAMxE,WAAYuI,EAAO,GAAIA,EAAO,MAGnEC,IACAJ,EAAqBI,GAAW,WAC5B,OAAOhE,KAAKmE,aAAaH,QACrBE,EAAK3I,MAAMyE,KAAMxE,WACjBsI,KAuChB,SAASM,EAAavG,EAAGN,GACrB,OAAKM,EAAEkB,WAIPxB,EAAS8G,EAAa9G,EAAQM,EAAEsG,cAChCR,EAAgBpG,GACZoG,EAAgBpG,IAjCxB,SAA4BA,GACxB,IACIN,EACAT,EAVwBd,EAQxB4I,EAAQ/G,EAAOgH,MAAMd,GAIzB,IAAKxG,EAAI,EAAGT,EAAS8H,EAAM9H,OAAQS,EAAIT,EAAQS,IACvC2G,EAAqBU,EAAMrH,IAC3BqH,EAAMrH,GAAK2G,EAAqBU,EAAMrH,IAEtCqH,EAAMrH,IAhBcvB,EAgBc4I,EAAMrH,IAftCsH,MAAM,YACL7I,EAAM8I,QAAQ,WAAY,IAE9B9I,EAAM8I,QAAQ,MAAO,IAgB5B,OAAO,SAAUC,GACb,IACIxH,EADAyH,EAAS,GAEb,IAAKzH,EAAI,EAAGA,EAAIT,EAAQS,IACpByH,GAAUnC,EAAW+B,EAAMrH,IACrBqH,EAAMrH,GAAGlB,KAAK0I,EAAKlH,GACnB+G,EAAMrH,GAEhB,OAAOyH,GAYoBC,CAAmBpH,GAE3CoG,EAAgBpG,GAAQM,IAPpBA,EAAEsG,aAAaS,cAU9B,SAASP,EAAa9G,EAAQC,GAC1B,IAAIP,EAAI,EAER,SAAS4H,EAA4BnJ,GACjC,OAAO8B,EAAOsH,eAAepJ,IAAUA,EAI3C,IADAgI,EAAsBqB,UAAY,EAC3B9H,GAAK,GAAKyG,EAAsBsB,KAAKzH,IACxCA,EAASA,EAAOiH,QACZd,EACAmB,GAEJnB,EAAsBqB,UAAY,EAClC9H,GAAK,EAGT,OAAOM,EAkFX,IAAI0H,EAAU,GAEd,SAASC,EAAaC,EAAMC,GACxB,IAAIC,EAAYF,EAAKG,cACrBL,EAAQI,GAAaJ,EAAQI,EAAY,KAAOJ,EAAQG,GAAaD,EAGzE,SAASI,EAAeC,GACpB,MAAwB,iBAAVA,EACRP,EAAQO,IAAUP,EAAQO,EAAMF,oBAChC7F,EAGV,SAASgG,EAAqBC,GAC1B,IACIC,EACApF,EAFAqF,EAAkB,GAItB,IAAKrF,KAAQmF,EACLzJ,EAAWyJ,EAAanF,KACxBoF,EAAiBJ,EAAehF,MAE5BqF,EAAgBD,GAAkBD,EAAYnF,IAK1D,OAAOqF,EAGX,IAAIC,EAAa,GAEjB,SAASC,EAAgBX,EAAMY,GAC3BF,EAAWV,GAAQY,EAiBvB,SAASC,EAAWC,GAChB,OAAQA,EAAO,GAAM,GAAKA,EAAO,KAAQ,GAAMA,EAAO,KAAQ,EAGlE,SAASC,EAASnD,GACd,OAAIA,EAAS,EAEFI,KAAKgD,KAAKpD,IAAW,EAErBI,KAAKiD,MAAMrD,GAI1B,SAASsD,EAAMC,GACX,IAAIC,GAAiBD,EACjBE,EAAQ,EAMZ,OAJsB,IAAlBD,GAAuBE,SAASF,KAChCC,EAAQN,EAASK,IAGdC,EAGX,SAASE,EAAWvB,EAAMwB,GACtB,OAAO,SAAUH,GACb,OAAa,MAATA,GACAI,EAAM5G,KAAMmF,EAAMqB,GAClBlL,EAAM6F,aAAanB,KAAM2G,GAClB3G,MAEA6G,EAAI7G,KAAMmF,IAK7B,SAAS0B,EAAIpC,EAAKU,GACd,OAAOV,EAAI1F,UACL0F,EAAIpF,GAAG,OAASoF,EAAI3D,OAAS,MAAQ,IAAMqE,KAC3CtF,IAGV,SAAS+G,EAAMnC,EAAKU,EAAMqB,GAClB/B,EAAI1F,YAAcK,MAAMoH,KAEX,aAATrB,GACAa,EAAWvB,EAAIwB,SACC,IAAhBxB,EAAIqC,SACW,KAAfrC,EAAIsC,QAEJP,EAAQH,EAAMG,GACd/B,EAAIpF,GAAG,OAASoF,EAAI3D,OAAS,MAAQ,IAAMqE,GACvCqB,EACA/B,EAAIqC,QACJE,GAAYR,EAAO/B,EAAIqC,WAG3BrC,EAAIpF,GAAG,OAASoF,EAAI3D,OAAS,MAAQ,IAAMqE,GAAMqB,IAgC7D,IAmBIS,EAnBAC,EAAS,KACTC,EAAS,OACTC,GAAS,QACTC,GAAS,QACTC,GAAS,aACTC,GAAY,QACZC,GAAY,YACZC,GAAY,gBACZC,GAAY,UACZC,GAAY,UACZC,GAAY,eACZC,GAAgB,MAChBC,GAAc,WACdC,GAAc,qBACdC,GAAmB,0BAInBC,GAAY,wJAKhB,SAASC,GAAcpE,EAAOqE,EAAOC,GACjCnB,EAAQnD,GAASvB,EAAW4F,GACtBA,EACA,SAAUE,EAAUlE,GAChB,OAAOkE,GAAYD,EAAcA,EAAcD,GAI7D,SAASG,GAAsBxE,EAAO5C,GAClC,OAAKjF,EAAWgL,EAASnD,GAIlBmD,EAAQnD,GAAO5C,EAAO1B,QAAS0B,EAAOF,SAHlC,IAAIuH,OAQRC,GAR8B1E,EAU5BU,QAAQ,KAAM,IACdA,QAAQ,uCAAuC,SAC5CiE,EACAC,EACAC,EACAC,EACAC,GAEA,OAAOH,GAAMC,GAAMC,GAAMC,OAKzC,SAASL,GAAYM,GACjB,OAAOA,EAAEtE,QAAQ,yBAA0B,QApC/CyC,EAAU,GAuCV,IA6CI8B,GA7CAC,GAAS,GAEb,SAASC,GAAcnF,EAAOG,GAC1B,IAAIhH,EACAiH,EAAOD,EASX,IARqB,iBAAVH,IACPA,EAAQ,CAACA,IAETnH,EAASsH,KACTC,EAAO,SAAUxI,EAAO4I,GACpBA,EAAML,GAAYoC,EAAM3K,KAG3BuB,EAAI,EAAGA,EAAI6G,EAAMtH,OAAQS,IAC1B+L,GAAOlF,EAAM7G,IAAMiH,EAI3B,SAASgF,GAAkBpF,EAAOG,GAC9BgF,GAAcnF,GAAO,SAAUpI,EAAO4I,EAAOpD,EAAQ4C,GACjD5C,EAAOiI,GAAKjI,EAAOiI,IAAM,GACzBlF,EAASvI,EAAOwF,EAAOiI,GAAIjI,EAAQ4C,MAI3C,SAASsF,GAAwBtF,EAAOpI,EAAOwF,GAC9B,MAATxF,GAAiBO,EAAW+M,GAAQlF,IACpCkF,GAAOlF,GAAOpI,EAAOwF,EAAOmI,GAAInI,EAAQ4C,GAmChD,SAASkD,GAAYf,EAAMa,GACvB,GAAI1H,MAAM6G,IAAS7G,MAAM0H,GACrB,OAAOjH,IAEX,IAzBYyJ,EAyBRC,GAAezC,GAzBPwC,EAyBc,IAxBRA,GAAKA,EA0BvB,OADArD,IAASa,EAAQyC,GAAY,GACT,IAAbA,EACDvD,EAAWC,GACP,GACA,GACJ,GAAOsD,EAAW,EAAK,EAxB7BR,GADApN,MAAME,UAAUkN,QACNpN,MAAME,UAAUkN,QAEhB,SAAUS,GAEhB,IAAIvM,EACJ,IAAKA,EAAI,EAAGA,EAAI+C,KAAKxD,SAAUS,EAC3B,GAAI+C,KAAK/C,KAAOuM,EACZ,OAAOvM,EAGf,OAAQ,GAmBhB4G,EAAe,IAAK,CAAC,KAAM,GAAI,MAAM,WACjC,OAAO7D,KAAK8G,QAAU,KAG1BjD,EAAe,MAAO,EAAG,GAAG,SAAUtG,GAClC,OAAOyC,KAAKmE,aAAasF,YAAYzJ,KAAMzC,MAG/CsG,EAAe,OAAQ,EAAG,GAAG,SAAUtG,GACnC,OAAOyC,KAAKmE,aAAauF,OAAO1J,KAAMzC,MAK1C2H,EAAa,QAAS,KAItBY,EAAgB,QAAS,GAIzBoC,GAAc,IAAKX,IACnBW,GAAc,KAAMX,GAAWJ,GAC/Be,GAAc,OAAO,SAAUG,EAAU7K,GACrC,OAAOA,EAAOmM,iBAAiBtB,MAEnCH,GAAc,QAAQ,SAAUG,EAAU7K,GACtC,OAAOA,EAAOoM,YAAYvB,MAG9BY,GAAc,CAAC,IAAK,OAAO,SAAUvN,EAAO4I,GACxCA,EA7EQ,GA6EO+B,EAAM3K,GAAS,KAGlCuN,GAAc,CAAC,MAAO,SAAS,SAAUvN,EAAO4I,EAAOpD,EAAQ4C,GAC3D,IAAIgD,EAAQ5F,EAAOF,QAAQ6I,YAAYnO,EAAOoI,EAAO5C,EAAO1B,SAE/C,MAATsH,EACAxC,EApFI,GAoFWwC,EAEflJ,EAAgBsD,GAAQ5C,aAAe5C,KAM/C,IAAIoO,GAAsB,wFAAwFC,MAC1G,KAEJC,GAA2B,kDAAkDD,MACzE,KAEJE,GAAmB,gCACnBC,GAA0BjC,GAC1BkC,GAAqBlC,GA8BzB,SAASmC,GAAkBC,EAAW9M,EAAQE,GAC1C,IAAIR,EACAqN,EACA7F,EACA8F,EAAMF,EAAUG,oBACpB,IAAKxK,KAAKyK,aAKN,IAHAzK,KAAKyK,aAAe,GACpBzK,KAAK0K,iBAAmB,GACxB1K,KAAK2K,kBAAoB,GACpB1N,EAAI,EAAGA,EAAI,KAAMA,EAClBwH,EAAMnH,EAAU,CAAC,IAAML,IACvB+C,KAAK2K,kBAAkB1N,GAAK+C,KAAKyJ,YAC7BhF,EACA,IACF+F,oBACFxK,KAAK0K,iBAAiBzN,GAAK+C,KAAK0J,OAAOjF,EAAK,IAAI+F,oBAIxD,OAAI/M,EACe,QAAXF,GAEe,KADf+M,EAAKvB,GAAQhN,KAAKiE,KAAK2K,kBAAmBJ,IACvBD,EAAK,MAGT,KADfA,EAAKvB,GAAQhN,KAAKiE,KAAK0K,iBAAkBH,IACtBD,EAAK,KAGb,QAAX/M,GAEY,KADZ+M,EAAKvB,GAAQhN,KAAKiE,KAAK2K,kBAAmBJ,MAK3B,KADfD,EAAKvB,GAAQhN,KAAKiE,KAAK0K,iBAAkBH,IAF9BD,EAGa,MAGZ,KADZA,EAAKvB,GAAQhN,KAAKiE,KAAK0K,iBAAkBH,MAK1B,KADfD,EAAKvB,GAAQhN,KAAKiE,KAAK2K,kBAAmBJ,IAF/BD,EAGa,KA4DpC,SAASM,GAASnG,EAAK+B,GACnB,IAAIqE,EAEJ,IAAKpG,EAAI1F,UAEL,OAAO0F,EAGX,GAAqB,iBAAV+B,EACP,GAAI,QAAQxB,KAAKwB,GACbA,EAAQH,EAAMG,QAId,IAAK7J,EAFL6J,EAAQ/B,EAAIN,aAAa0F,YAAYrD,IAGjC,OAAO/B,EAOnB,OAFAoG,EAAa1H,KAAK2H,IAAIrG,EAAIsC,OAAQC,GAAYvC,EAAIwB,OAAQO,IAC1D/B,EAAIpF,GAAG,OAASoF,EAAI3D,OAAS,MAAQ,IAAM,SAAS0F,EAAOqE,GACpDpG,EAGX,SAASsG,GAAYvE,GACjB,OAAa,MAATA,GACAoE,GAAS5K,KAAMwG,GACflL,EAAM6F,aAAanB,MAAM,GAClBA,MAEA6G,EAAI7G,KAAM,SAgDzB,SAASgL,KACL,SAASC,EAAU/O,EAAGC,GAClB,OAAOA,EAAEK,OAASN,EAAEM,OAGxB,IAGIS,EACAwH,EAJAyG,EAAc,GACdC,EAAa,GACbC,EAAc,GAGlB,IAAKnO,EAAI,EAAGA,EAAI,GAAIA,IAEhBwH,EAAMnH,EAAU,CAAC,IAAML,IACvBiO,EAAY/N,KAAK6C,KAAKyJ,YAAYhF,EAAK,KACvC0G,EAAWhO,KAAK6C,KAAK0J,OAAOjF,EAAK,KACjC2G,EAAYjO,KAAK6C,KAAK0J,OAAOjF,EAAK,KAClC2G,EAAYjO,KAAK6C,KAAKyJ,YAAYhF,EAAK,KAO3C,IAHAyG,EAAYG,KAAKJ,GACjBE,EAAWE,KAAKJ,GAChBG,EAAYC,KAAKJ,GACZhO,EAAI,EAAGA,EAAI,GAAIA,IAChBiO,EAAYjO,GAAKuL,GAAY0C,EAAYjO,IACzCkO,EAAWlO,GAAKuL,GAAY2C,EAAWlO,IAE3C,IAAKA,EAAI,EAAGA,EAAI,GAAIA,IAChBmO,EAAYnO,GAAKuL,GAAY4C,EAAYnO,IAG7C+C,KAAKsL,aAAe,IAAI/C,OAAO,KAAO6C,EAAYpJ,KAAK,KAAO,IAAK,KACnEhC,KAAKuL,kBAAoBvL,KAAKsL,aAC9BtL,KAAKwL,mBAAqB,IAAIjD,OAC1B,KAAO4C,EAAWnJ,KAAK,KAAO,IAC9B,KAEJhC,KAAKyL,wBAA0B,IAAIlD,OAC/B,KAAO2C,EAAYlJ,KAAK,KAAO,IAC/B,KAiDR,SAAS0J,GAAWzF,GAChB,OAAOD,EAAWC,GAAQ,IAAM,IA5CpCpC,EAAe,IAAK,EAAG,GAAG,WACtB,IAAI8H,EAAI3L,KAAKiG,OACb,OAAO0F,GAAK,KAAO7I,EAAS6I,EAAG,GAAK,IAAMA,KAG9C9H,EAAe,EAAG,CAAC,KAAM,GAAI,GAAG,WAC5B,OAAO7D,KAAKiG,OAAS,OAGzBpC,EAAe,EAAG,CAAC,OAAQ,GAAI,EAAG,QAClCA,EAAe,EAAG,CAAC,QAAS,GAAI,EAAG,QACnCA,EAAe,EAAG,CAAC,SAAU,GAAG,GAAO,EAAG,QAI1CqB,EAAa,OAAQ,KAIrBY,EAAgB,OAAQ,GAIxBoC,GAAc,IAAKJ,IACnBI,GAAc,KAAMX,GAAWJ,GAC/Be,GAAc,OAAQP,GAAWN,IACjCa,GAAc,QAASN,GAAWN,IAClCY,GAAc,SAAUN,GAAWN,IAEnC2B,GAAc,CAAC,QAAS,UAlYb,GAmYXA,GAAc,QAAQ,SAAUvN,EAAO4I,GACnCA,EApYO,GAqYc,IAAjB5I,EAAMc,OAAelB,EAAMsQ,kBAAkBlQ,GAAS2K,EAAM3K,MAEpEuN,GAAc,MAAM,SAAUvN,EAAO4I,GACjCA,EAxYO,GAwYOhJ,EAAMsQ,kBAAkBlQ,MAE1CuN,GAAc,KAAK,SAAUvN,EAAO4I,GAChCA,EA3YO,GA2YOuH,SAASnQ,EAAO,OAWlCJ,EAAMsQ,kBAAoB,SAAUlQ,GAChC,OAAO2K,EAAM3K,IAAU2K,EAAM3K,GAAS,GAAK,KAAO,MAKtD,IAAIoQ,GAAapF,EAAW,YAAY,GAMxC,SAASqF,GAAWJ,EAAG9N,EAAGmO,EAAGC,EAAGC,EAAGpD,EAAGqD,GAGlC,IAAIpF,EAYJ,OAVI4E,EAAI,KAAOA,GAAK,GAEhB5E,EAAO,IAAIlK,KAAK8O,EAAI,IAAK9N,EAAGmO,EAAGC,EAAGC,EAAGpD,EAAGqD,GACpC1F,SAASM,EAAKqF,gBACdrF,EAAKsF,YAAYV,IAGrB5E,EAAO,IAAIlK,KAAK8O,EAAG9N,EAAGmO,EAAGC,EAAGC,EAAGpD,EAAGqD,GAG/BpF,EAGX,SAASuF,GAAcX,GACnB,IAAI5E,EAAMjF,EAcV,OAZI6J,EAAI,KAAOA,GAAK,IAChB7J,EAAOnG,MAAME,UAAUkG,MAAMhG,KAAKP,YAE7B,GAAKmQ,EAAI,IACd5E,EAAO,IAAIlK,KAAKA,KAAK0P,IAAIhR,MAAM,KAAMuG,IACjC2E,SAASM,EAAKyF,mBACdzF,EAAK0F,eAAed,IAGxB5E,EAAO,IAAIlK,KAAKA,KAAK0P,IAAIhR,MAAM,KAAMC,YAGlCuL,EAIX,SAAS2F,GAAgBzG,EAAM0G,EAAKC,GAChC,IACIC,EAAM,EAAIF,EAAMC,EAIpB,QAFa,EAAIN,GAAcrG,EAAM,EAAG4G,GAAKC,YAAcH,GAAO,EAElDE,EAAM,EAI1B,SAASE,GAAmB9G,EAAM+G,EAAMC,EAASN,EAAKC,GAClD,IAGIM,EACAC,EAFAC,EAAY,EAAI,GAAKJ,EAAO,IAFZ,EAAIC,EAAUN,GAAO,EACxBD,GAAgBzG,EAAM0G,EAAKC,GAgB5C,OAXIQ,GAAa,EAEbD,EAAezB,GADfwB,EAAUjH,EAAO,GACoBmH,EAC9BA,EAAY1B,GAAWzF,IAC9BiH,EAAUjH,EAAO,EACjBkH,EAAeC,EAAY1B,GAAWzF,KAEtCiH,EAAUjH,EACVkH,EAAeC,GAGZ,CACHnH,KAAMiH,EACNE,UAAWD,GAInB,SAASE,GAAW5I,EAAKkI,EAAKC,GAC1B,IAEIU,EACAJ,EAHAK,EAAab,GAAgBjI,EAAIwB,OAAQ0G,EAAKC,GAC9CI,EAAO7J,KAAKiD,OAAO3B,EAAI2I,YAAcG,EAAa,GAAK,GAAK,EAehE,OAXIP,EAAO,EAEPM,EAAUN,EAAOQ,GADjBN,EAAUzI,EAAIwB,OAAS,EACe0G,EAAKC,GACpCI,EAAOQ,GAAY/I,EAAIwB,OAAQ0G,EAAKC,IAC3CU,EAAUN,EAAOQ,GAAY/I,EAAIwB,OAAQ0G,EAAKC,GAC9CM,EAAUzI,EAAIwB,OAAS,IAEvBiH,EAAUzI,EAAIwB,OACdqH,EAAUN,GAGP,CACHA,KAAMM,EACNrH,KAAMiH,GAId,SAASM,GAAYvH,EAAM0G,EAAKC,GAC5B,IAAIW,EAAab,GAAgBzG,EAAM0G,EAAKC,GACxCa,EAAiBf,GAAgBzG,EAAO,EAAG0G,EAAKC,GACpD,OAAQlB,GAAWzF,GAAQsH,EAAaE,GAAkB,EAyJ9D,SAASC,GAAcC,EAAIC,GACvB,OAAOD,EAAG5L,MAAM6L,EAAG,GAAGC,OAAOF,EAAG5L,MAAM,EAAG6L,IArJ7C/J,EAAe,IAAK,CAAC,KAAM,GAAI,KAAM,QACrCA,EAAe,IAAK,CAAC,KAAM,GAAI,KAAM,WAIrCqB,EAAa,OAAQ,KACrBA,EAAa,UAAW,KAIxBY,EAAgB,OAAQ,GACxBA,EAAgB,UAAW,GAI3BoC,GAAc,IAAKX,IACnBW,GAAc,KAAMX,GAAWJ,GAC/Be,GAAc,IAAKX,IACnBW,GAAc,KAAMX,GAAWJ,GAE/B+B,GAAkB,CAAC,IAAK,KAAM,IAAK,OAAO,SACtCxN,EACAsR,EACA9L,EACA4C,GAEAkJ,EAAKlJ,EAAMN,OAAO,EAAG,IAAM6C,EAAM3K,MAsCrCmI,EAAe,IAAK,EAAG,KAAM,OAE7BA,EAAe,KAAM,EAAG,GAAG,SAAUtG,GACjC,OAAOyC,KAAKmE,aAAa2J,YAAY9N,KAAMzC,MAG/CsG,EAAe,MAAO,EAAG,GAAG,SAAUtG,GAClC,OAAOyC,KAAKmE,aAAa4J,cAAc/N,KAAMzC,MAGjDsG,EAAe,OAAQ,EAAG,GAAG,SAAUtG,GACnC,OAAOyC,KAAKmE,aAAa6J,SAAShO,KAAMzC,MAG5CsG,EAAe,IAAK,EAAG,EAAG,WAC1BA,EAAe,IAAK,EAAG,EAAG,cAI1BqB,EAAa,MAAO,KACpBA,EAAa,UAAW,KACxBA,EAAa,aAAc,KAG3BY,EAAgB,MAAO,IACvBA,EAAgB,UAAW,IAC3BA,EAAgB,aAAc,IAI9BoC,GAAc,IAAKX,IACnBW,GAAc,IAAKX,IACnBW,GAAc,IAAKX,IACnBW,GAAc,MAAM,SAAUG,EAAU7K,GACpC,OAAOA,EAAOyQ,iBAAiB5F,MAEnCH,GAAc,OAAO,SAAUG,EAAU7K,GACrC,OAAOA,EAAO0Q,mBAAmB7F,MAErCH,GAAc,QAAQ,SAAUG,EAAU7K,GACtC,OAAOA,EAAO2Q,cAAc9F,MAGhCa,GAAkB,CAAC,KAAM,MAAO,SAAS,SAAUxN,EAAOsR,EAAM9L,EAAQ4C,GACpE,IAAImJ,EAAU/L,EAAOF,QAAQoN,cAAc1S,EAAOoI,EAAO5C,EAAO1B,SAEjD,MAAXyN,EACAD,EAAKhB,EAAIiB,EAETrP,EAAgBsD,GAAQ3B,eAAiB7D,KAIjDwN,GAAkB,CAAC,IAAK,IAAK,MAAM,SAAUxN,EAAOsR,EAAM9L,EAAQ4C,GAC9DkJ,EAAKlJ,GAASuC,EAAM3K,MAkCxB,IAAI2S,GAAwB,2DAA2DtE,MAC/E,KAEJuE,GAA6B,8BAA8BvE,MAAM,KACjEwE,GAA2B,uBAAuBxE,MAAM,KACxDyE,GAAuBvG,GACvBwG,GAA4BxG,GAC5ByG,GAA0BzG,GAiC9B,SAAS0G,GAAoBC,EAAarR,EAAQE,GAC9C,IAAIR,EACAqN,EACA7F,EACA8F,EAAMqE,EAAYpE,oBACtB,IAAKxK,KAAK6O,eAKN,IAJA7O,KAAK6O,eAAiB,GACtB7O,KAAK8O,oBAAsB,GAC3B9O,KAAK+O,kBAAoB,GAEpB9R,EAAI,EAAGA,EAAI,IAAKA,EACjBwH,EAAMnH,EAAU,CAAC,IAAM,IAAI0R,IAAI/R,GAC/B+C,KAAK+O,kBAAkB9R,GAAK+C,KAAK8N,YAC7BrJ,EACA,IACF+F,oBACFxK,KAAK8O,oBAAoB7R,GAAK+C,KAAK+N,cAC/BtJ,EACA,IACF+F,oBACFxK,KAAK6O,eAAe5R,GAAK+C,KAAKgO,SAASvJ,EAAK,IAAI+F,oBAIxD,OAAI/M,EACe,SAAXF,GAEe,KADf+M,EAAKvB,GAAQhN,KAAKiE,KAAK6O,eAAgBtE,IACpBD,EAAK,KACN,QAAX/M,GAEQ,KADf+M,EAAKvB,GAAQhN,KAAKiE,KAAK8O,oBAAqBvE,IACzBD,EAAK,MAGT,KADfA,EAAKvB,GAAQhN,KAAKiE,KAAK+O,kBAAmBxE,IACvBD,EAAK,KAGb,SAAX/M,GAEY,KADZ+M,EAAKvB,GAAQhN,KAAKiE,KAAK6O,eAAgBtE,MAK3B,KADZD,EAAKvB,GAAQhN,KAAKiE,KAAK8O,oBAAqBvE,MAK7B,KADfD,EAAKvB,GAAQhN,KAAKiE,KAAK+O,kBAAmBxE,IAN/BD,EAOa,KACN,QAAX/M,GAEK,KADZ+M,EAAKvB,GAAQhN,KAAKiE,KAAK8O,oBAAqBvE,MAKhC,KADZD,EAAKvB,GAAQhN,KAAKiE,KAAK6O,eAAgBtE,MAKxB,KADfD,EAAKvB,GAAQhN,KAAKiE,KAAK+O,kBAAmBxE,IAN/BD,EAOa,MAGZ,KADZA,EAAKvB,GAAQhN,KAAKiE,KAAK+O,kBAAmBxE,MAK9B,KADZD,EAAKvB,GAAQhN,KAAKiE,KAAK6O,eAAgBtE,MAKxB,KADfD,EAAKvB,GAAQhN,KAAKiE,KAAK8O,oBAAqBvE,IANjCD,EAOa,KA4KpC,SAAS2E,KACL,SAAShE,EAAU/O,EAAGC,GAClB,OAAOA,EAAEK,OAASN,EAAEM,OAGxB,IAIIS,EACAwH,EACAyK,EACAC,EACAC,EARAC,EAAY,GACZnE,EAAc,GACdC,EAAa,GACbC,EAAc,GAMlB,IAAKnO,EAAI,EAAGA,EAAI,EAAGA,IAEfwH,EAAMnH,EAAU,CAAC,IAAM,IAAI0R,IAAI/R,GAC/BiS,EAAO1G,GAAYxI,KAAK8N,YAAYrJ,EAAK,KACzC0K,EAAS3G,GAAYxI,KAAK+N,cAActJ,EAAK,KAC7C2K,EAAQ5G,GAAYxI,KAAKgO,SAASvJ,EAAK,KACvC4K,EAAUlS,KAAK+R,GACfhE,EAAY/N,KAAKgS,GACjBhE,EAAWhO,KAAKiS,GAChBhE,EAAYjO,KAAK+R,GACjB9D,EAAYjO,KAAKgS,GACjB/D,EAAYjO,KAAKiS,GAIrBC,EAAUhE,KAAKJ,GACfC,EAAYG,KAAKJ,GACjBE,EAAWE,KAAKJ,GAChBG,EAAYC,KAAKJ,GAEjBjL,KAAKsP,eAAiB,IAAI/G,OAAO,KAAO6C,EAAYpJ,KAAK,KAAO,IAAK,KACrEhC,KAAKuP,oBAAsBvP,KAAKsP,eAChCtP,KAAKwP,kBAAoBxP,KAAKsP,eAE9BtP,KAAKyP,qBAAuB,IAAIlH,OAC5B,KAAO4C,EAAWnJ,KAAK,KAAO,IAC9B,KAEJhC,KAAK0P,0BAA4B,IAAInH,OACjC,KAAO2C,EAAYlJ,KAAK,KAAO,IAC/B,KAEJhC,KAAK2P,wBAA0B,IAAIpH,OAC/B,KAAO8G,EAAUrN,KAAK,KAAO,IAC7B,KAMR,SAAS4N,KACL,OAAO5P,KAAK6P,QAAU,IAAM,GAqChC,SAASjR,GAASkF,EAAOgM,GACrBjM,EAAeC,EAAO,EAAG,GAAG,WACxB,OAAO9D,KAAKmE,aAAavF,SACrBoB,KAAK6P,QACL7P,KAAK+P,UACLD,MAiBZ,SAASE,GAAc3H,EAAU7K,GAC7B,OAAOA,EAAOyS,eArDlBpM,EAAe,IAAK,CAAC,KAAM,GAAI,EAAG,QAClCA,EAAe,IAAK,CAAC,KAAM,GAAI,EAAG+L,IAClC/L,EAAe,IAAK,CAAC,KAAM,GAAI,GAN/B,WACI,OAAO7D,KAAK6P,SAAW,MAO3BhM,EAAe,MAAO,EAAG,GAAG,WACxB,MAAO,GAAK+L,GAAQrU,MAAMyE,MAAQ8C,EAAS9C,KAAK+P,UAAW,MAG/DlM,EAAe,QAAS,EAAG,GAAG,WAC1B,MACI,GACA+L,GAAQrU,MAAMyE,MACd8C,EAAS9C,KAAK+P,UAAW,GACzBjN,EAAS9C,KAAKkQ,UAAW,MAIjCrM,EAAe,MAAO,EAAG,GAAG,WACxB,MAAO,GAAK7D,KAAK6P,QAAU/M,EAAS9C,KAAK+P,UAAW,MAGxDlM,EAAe,QAAS,EAAG,GAAG,WAC1B,MACI,GACA7D,KAAK6P,QACL/M,EAAS9C,KAAK+P,UAAW,GACzBjN,EAAS9C,KAAKkQ,UAAW,MAcjCtR,GAAS,KAAK,GACdA,GAAS,KAAK,GAIdsG,EAAa,OAAQ,KAGrBY,EAAgB,OAAQ,IAQxBoC,GAAc,IAAK8H,IACnB9H,GAAc,IAAK8H,IACnB9H,GAAc,IAAKX,IACnBW,GAAc,IAAKX,IACnBW,GAAc,IAAKX,IACnBW,GAAc,KAAMX,GAAWJ,GAC/Be,GAAc,KAAMX,GAAWJ,GAC/Be,GAAc,KAAMX,GAAWJ,GAE/Be,GAAc,MAAOV,IACrBU,GAAc,QAAST,IACvBS,GAAc,MAAOV,IACrBU,GAAc,QAAST,IAEvBwB,GAAc,CAAC,IAAK,MAzjCT,GA0jCXA,GAAc,CAAC,IAAK,OAAO,SAAUvN,EAAO4I,EAAOpD,GAC/C,IAAIiP,EAAS9J,EAAM3K,GACnB4I,EA5jCO,GA4jCkB,KAAX6L,EAAgB,EAAIA,KAEtClH,GAAc,CAAC,IAAK,MAAM,SAAUvN,EAAO4I,EAAOpD,GAC9CA,EAAOkP,MAAQlP,EAAOF,QAAQqP,KAAK3U,GACnCwF,EAAOoP,UAAY5U,KAEvBuN,GAAc,CAAC,IAAK,OAAO,SAAUvN,EAAO4I,EAAOpD,GAC/CoD,EAnkCO,GAmkCO+B,EAAM3K,GACpBkC,EAAgBsD,GAAQxB,SAAU,KAEtCuJ,GAAc,OAAO,SAAUvN,EAAO4I,EAAOpD,GACzC,IAAIqP,EAAM7U,EAAMc,OAAS,EACzB8H,EAxkCO,GAwkCO+B,EAAM3K,EAAM8H,OAAO,EAAG+M,IACpCjM,EAxkCS,GAwkCO+B,EAAM3K,EAAM8H,OAAO+M,IACnC3S,EAAgBsD,GAAQxB,SAAU,KAEtCuJ,GAAc,SAAS,SAAUvN,EAAO4I,EAAOpD,GAC3C,IAAIsP,EAAO9U,EAAMc,OAAS,EACtBiU,EAAO/U,EAAMc,OAAS,EAC1B8H,EA/kCO,GA+kCO+B,EAAM3K,EAAM8H,OAAO,EAAGgN,IACpClM,EA/kCS,GA+kCO+B,EAAM3K,EAAM8H,OAAOgN,EAAM,IACzClM,EA/kCS,GA+kCO+B,EAAM3K,EAAM8H,OAAOiN,IACnC7S,EAAgBsD,GAAQxB,SAAU,KAEtCuJ,GAAc,OAAO,SAAUvN,EAAO4I,EAAOpD,GACzC,IAAIqP,EAAM7U,EAAMc,OAAS,EACzB8H,EAtlCO,GAslCO+B,EAAM3K,EAAM8H,OAAO,EAAG+M,IACpCjM,EAtlCS,GAslCO+B,EAAM3K,EAAM8H,OAAO+M,OAEvCtH,GAAc,SAAS,SAAUvN,EAAO4I,EAAOpD,GAC3C,IAAIsP,EAAO9U,EAAMc,OAAS,EACtBiU,EAAO/U,EAAMc,OAAS,EAC1B8H,EA5lCO,GA4lCO+B,EAAM3K,EAAM8H,OAAO,EAAGgN,IACpClM,EA5lCS,GA4lCO+B,EAAM3K,EAAM8H,OAAOgN,EAAM,IACzClM,EA5lCS,GA4lCO+B,EAAM3K,EAAM8H,OAAOiN,OAWvC,IAsCIC,GAjCAC,GAAajK,EAAW,SAAS,GAUjCkK,GAAa,CACbC,SA7iDkB,CAClBC,QAAS,gBACTC,QAAS,mBACTC,SAAU,eACVC,QAAS,oBACTC,SAAU,sBACVC,SAAU,KAwiDVrM,eAl7CwB,CACxBsM,IAAK,YACLC,GAAI,SACJC,EAAG,aACHC,GAAI,eACJC,IAAK,sBACLC,KAAM,6BA66CN7M,YAh5CqB,eAi5CrBZ,QA34CiB,KA44CjB0N,uBA34CgC,UA44ChCC,aAt4CsB,CACtBC,OAAQ,QACRC,KAAM,SACN/I,EAAG,gBACHgJ,GAAI,aACJjU,EAAG,WACHkU,GAAI,aACJ9F,EAAG,UACH+F,GAAI,WACJhG,EAAG,QACHiG,GAAI,UACJC,EAAG,SACHC,GAAI,WACJjG,EAAG,UACHkG,GAAI,YACJzG,EAAG,SACH0G,GAAI,YAw3CJ3I,OAAQI,GACRL,YAAaO,GAEbgD,KAzlBoB,CACpBL,IAAK,EACLC,IAAK,GAylBLoB,SAAUK,GACVP,YAAaS,GACbR,cAAeO,GAEfgE,cAhC6B,iBAoC7BC,GAAU,GACVC,GAAiB,GAGrB,SAASC,GAAaC,EAAMC,GACxB,IAAI1V,EACA2V,EAAOzP,KAAK2H,IAAI4H,EAAKlW,OAAQmW,EAAKnW,QACtC,IAAKS,EAAI,EAAGA,EAAI2V,EAAM3V,GAAK,EACvB,GAAIyV,EAAKzV,KAAO0V,EAAK1V,GACjB,OAAOA,EAGf,OAAO2V,EAGX,SAASC,GAAgBhR,GACrB,OAAOA,EAAMA,EAAIyD,cAAcd,QAAQ,IAAK,KAAO3C,EAsCvD,SAASiR,GAAWxQ,GAChB,IAAIyQ,EAAY,KAGhB,QACsBtT,IAAlB8S,GAAQjQ,SACU,IAAXpH,GACPA,GACAA,EAAOC,QAEP,IACI4X,EAAYrC,GAAasC,MAEzB,OAAe,KAAc1Q,GAC7B2Q,GAAmBF,GACrB,MAAOG,GAGLX,GAAQjQ,GAAQ,KAGxB,OAAOiQ,GAAQjQ,GAMnB,SAAS2Q,GAAmBpR,EAAKsR,GAC7B,IAAIC,EAqBJ,OApBIvR,KAEIuR,EADA1W,EAAYyW,GACLE,GAAUxR,GAEVyR,GAAazR,EAAKsR,IAKzBzC,GAAe0C,EAEQ,oBAAZ5R,SAA2BA,QAAQH,MAE1CG,QAAQH,KACJ,UAAYQ,EAAM,2CAM3B6O,GAAasC,MAGxB,SAASM,GAAahR,EAAMpB,GACxB,GAAe,OAAXA,EAAiB,CACjB,IAAI1D,EACAkF,EAAekO,GAEnB,GADA1P,EAAOqS,KAAOjR,EACO,MAAjBiQ,GAAQjQ,GACRD,EACI,uBACA,2OAKJK,EAAe6P,GAAQjQ,GAAMkR,aAC1B,GAA2B,MAAvBtS,EAAOuS,aACd,GAAoC,MAAhClB,GAAQrR,EAAOuS,cACf/Q,EAAe6P,GAAQrR,EAAOuS,cAAcD,YACzC,CAEH,GAAc,OADdhW,EAASsV,GAAW5R,EAAOuS,eAWvB,OAPKjB,GAAetR,EAAOuS,gBACvBjB,GAAetR,EAAOuS,cAAgB,IAE1CjB,GAAetR,EAAOuS,cAActW,KAAK,CACrCmF,KAAMA,EACNpB,OAAQA,IAEL,KATPwB,EAAelF,EAAOgW,QA0BlC,OAbAjB,GAAQjQ,GAAQ,IAAIM,EAAOH,EAAaC,EAAcxB,IAElDsR,GAAelQ,IACfkQ,GAAelQ,GAAMoR,SAAQ,SAAUpK,GACnCgK,GAAahK,EAAEhH,KAAMgH,EAAEpI,WAO/B+R,GAAmB3Q,GAEZiQ,GAAQjQ,GAIf,cADOiQ,GAAQjQ,GACR,KAkDf,SAAS+Q,GAAUxR,GACf,IAAIrE,EAMJ,GAJIqE,GAAOA,EAAIb,SAAWa,EAAIb,QAAQgS,QAClCnR,EAAMA,EAAIb,QAAQgS,QAGjBnR,EACD,OAAO6O,GAGX,IAAKjV,EAAQoG,GAAM,CAGf,GADArE,EAASsV,GAAWjR,GAEhB,OAAOrE,EAEXqE,EAAM,CAACA,GAGX,OA5MJ,SAAsB8R,GAOlB,IANA,IACIC,EACAC,EACArW,EACAuM,EAJA9M,EAAI,EAMDA,EAAI0W,EAAMnX,QAAQ,CAKrB,IAHAoX,GADA7J,EAAQ8I,GAAgBc,EAAM1W,IAAI8M,MAAM,MAC9BvN,OAEVqX,GADAA,EAAOhB,GAAgBc,EAAM1W,EAAI,KACnB4W,EAAK9J,MAAM,KAAO,KACzB6J,EAAI,GAAG,CAEV,GADApW,EAASsV,GAAW/I,EAAMhI,MAAM,EAAG6R,GAAG5R,KAAK,MAEvC,OAAOxE,EAEX,GACIqW,GACAA,EAAKrX,QAAUoX,GACfnB,GAAa1I,EAAO8J,IAASD,EAAI,EAGjC,MAEJA,IAEJ3W,IAEJ,OAAOyT,GA+KAoD,CAAajS,GAOxB,SAASkS,GAAclW,GACnB,IAAIK,EACAhC,EAAI2B,EAAEwL,GAuCV,OArCInN,IAAsC,IAAjC0B,EAAgBC,GAAGK,WACxBA,EACIhC,EA93CA,GA83CW,GAAKA,EA93ChB,GA83C2B,GA93C3B,EAg4CMA,EA/3CP,GA+3CiB,GAAKA,EA/3CtB,GA+3CgC8K,GAAY9K,EAj4C5C,GAi4CqDA,EAh4CpD,IACD,EAi4COA,EAh4CP,GAg4CiB,GACVA,EAj4CP,GAi4CiB,IACG,KAAZA,EAl4CR,KAm4C0B,IAAdA,EAl4CV,IAm4C2B,IAAdA,EAl4Cb,IAm4CgC,IAAnBA,EAl4CR,IAHP,EAu4COA,EAt4CL,GAs4CiB,GAAKA,EAt4CtB,GAs4CkC,GAt4ClC,EAw4CKA,EAv4CL,GAu4CiB,GAAKA,EAv4CtB,GAu4CkC,GAv4ClC,EAy4CKA,EAx4CA,GAw4CiB,GAAKA,EAx4CtB,GAw4CuC,IAx4CvC,GA04CC,EAGP0B,EAAgBC,GAAGmW,qBAClB9V,EAp5CF,GAo5CqBA,EAl5CrB,KAo5CCA,EAp5CD,GAs5CCN,EAAgBC,GAAGoW,iBAAgC,IAAd/V,IACrCA,EAl5CD,GAo5CCN,EAAgBC,GAAGqW,mBAAkC,IAAdhW,IACvCA,EAp5CE,GAu5CNN,EAAgBC,GAAGK,SAAWA,GAG3BL,EAKX,IAAIsW,GAAmB,iJACnBC,GAAgB,6IAChBC,GAAU,wBACVC,GAAW,CACP,CAAC,eAAgB,uBACjB,CAAC,aAAc,mBACf,CAAC,eAAgB,kBACjB,CAAC,aAAc,eAAe,GAC9B,CAAC,WAAY,eACb,CAAC,UAAW,cAAc,GAC1B,CAAC,aAAc,cACf,CAAC,WAAY,SACb,CAAC,aAAc,eACf,CAAC,YAAa,eAAe,GAC7B,CAAC,UAAW,SACZ,CAAC,SAAU,SAAS,GACpB,CAAC,OAAQ,SAAS,IAGtBC,GAAW,CACP,CAAC,gBAAiB,uBAClB,CAAC,gBAAiB,sBAClB,CAAC,WAAY,kBACb,CAAC,QAAS,aACV,CAAC,cAAe,qBAChB,CAAC,cAAe,oBAChB,CAAC,SAAU,gBACX,CAAC,OAAQ,YACT,CAAC,KAAM,SAEXC,GAAkB,qBAElB3V,GAAU,0LACV4V,GAAa,CACTC,GAAI,EACJC,IAAK,EACLC,KAAK,IACLC,KAAK,IACLC,KAAK,IACLC,KAAK,IACLC,KAAK,IACLC,KAAK,IACLC,KAAK,IACLC,KAAK,KAIb,SAASC,GAAclU,GACnB,IAAIjE,EACAoY,EAGAC,EACAC,EACAC,EACAC,EALAC,EAASxU,EAAOR,GAChB6D,EAAQ4P,GAAiBwB,KAAKD,IAAWtB,GAAcuB,KAAKD,GAMhE,GAAInR,EAAO,CAGP,IAFA3G,EAAgBsD,GAAQzC,KAAM,EAEzBxB,EAAI,EAAGoY,EAAIf,GAAS9X,OAAQS,EAAIoY,EAAGpY,IACpC,GAAIqX,GAASrX,GAAG,GAAG0Y,KAAKpR,EAAM,IAAK,CAC/BgR,EAAajB,GAASrX,GAAG,GACzBqY,GAA+B,IAAnBhB,GAASrX,GAAG,GACxB,MAGR,GAAkB,MAAdsY,EAEA,YADArU,EAAOlC,UAAW,GAGtB,GAAIuF,EAAM,GAAI,CACV,IAAKtH,EAAI,EAAGoY,EAAId,GAAS/X,OAAQS,EAAIoY,EAAGpY,IACpC,GAAIsX,GAAStX,GAAG,GAAG0Y,KAAKpR,EAAM,IAAK,CAE/BiR,GAAcjR,EAAM,IAAM,KAAOgQ,GAAStX,GAAG,GAC7C,MAGR,GAAkB,MAAduY,EAEA,YADAtU,EAAOlC,UAAW,GAI1B,IAAKsW,GAA2B,MAAdE,EAEd,YADAtU,EAAOlC,UAAW,GAGtB,GAAIuF,EAAM,GAAI,CACV,IAAI8P,GAAQsB,KAAKpR,EAAM,IAInB,YADArD,EAAOlC,UAAW,GAFlByW,EAAW,IAMnBvU,EAAOP,GAAK4U,GAAcC,GAAc,KAAOC,GAAY,IAC3DG,GAA0B1U,QAE1BA,EAAOlC,UAAW,EA2B1B,SAAS6W,GAAeC,GACpB,IAAI7P,EAAO4F,SAASiK,EAAS,IAC7B,OAAI7P,GAAQ,GACD,IAAOA,EACPA,GAAQ,IACR,KAAOA,EAEXA,EA6CX,SAAS8P,GAAkB7U,GACvB,IACI8U,EA5EJF,EACAG,EACAC,EACAC,EACAC,EACAC,EAEIC,EAoEA/R,EAAQ1F,GAAQ8W,KAAuBzU,EAAOR,GAxC7C8D,QAAQ,oBAAqB,KAC7BA,QAAQ,WAAY,KACpBA,QAAQ,SAAU,IAClBA,QAAQ,SAAU,KAuCvB,GAAID,EAAO,CASP,GAtFJuR,EA+EQvR,EAAM,GA9Ed0R,EA+EQ1R,EAAM,GA9Ed2R,EA+EQ3R,EAAM,GA9Ed4R,EA+EQ5R,EAAM,GA9Ed6R,EA+EQ7R,EAAM,GA9Ed8R,EA+EQ9R,EAAM,GA7EV+R,EAAS,CACTT,GAAeC,GACf9L,GAAyBjB,QAAQkN,GACjCpK,SAASqK,EAAQ,IACjBrK,SAASsK,EAAS,IAClBtK,SAASuK,EAAW,KAGpBC,GACAC,EAAOnZ,KAAK0O,SAASwK,EAAW,KA8DhCL,EA3DGM,GAsBX,SAAsBC,EAAYC,EAAatV,GAC3C,OAAIqV,GAEsBjI,GAA2BvF,QAAQwN,KACrC,IAAI1Z,KAChB2Z,EAAY,GACZA,EAAY,GACZA,EAAY,IACdC,WAEF7Y,EAAgBsD,GAAQpC,iBAAkB,EAC1CoC,EAAOlC,UAAW,GACX,GAiCN0X,CAAanS,EAAM,GAAIyR,EAAa9U,GACrC,OAGJA,EAAOmI,GAAK2M,EACZ9U,EAAOL,KAhCf,SAAyB8V,EAAWC,EAAgBC,GAChD,GAAIF,EACA,OAAOlC,GAAWkC,GACf,GAAIC,EAEP,OAAO,EAEP,IAAIE,EAAKjL,SAASgL,EAAW,IACzBhZ,EAAIiZ,EAAK,IAEb,OADSA,EAAKjZ,GAAK,IACR,GAAKA,EAsBFkZ,CAAgBxS,EAAM,GAAIA,EAAM,GAAIA,EAAM,KAExDrD,EAAO7B,GAAKiN,GAAc/Q,MAAM,KAAM2F,EAAOmI,IAC7CnI,EAAO7B,GAAG2X,cAAc9V,EAAO7B,GAAG4X,gBAAkB/V,EAAOL,MAE3DjD,EAAgBsD,GAAQrC,SAAU,OAElCqC,EAAOlC,UAAW,EA4C1B,SAASkY,GAAShb,EAAGC,EAAGgb,GACpB,OAAS,MAALjb,EACOA,EAEF,MAALC,EACOA,EAEJgb,EAoBX,SAASC,GAAgBlW,GACrB,IAAIjE,EACA8J,EAEAsQ,EACAC,EACAC,EAHA7b,EAAQ,GAKZ,IAAIwF,EAAO7B,GAAX,CAgCA,IA5BAgY,EA7BJ,SAA0BnW,GAEtB,IAAIsW,EAAW,IAAI3a,KAAKvB,EAAMmc,OAC9B,OAAIvW,EAAOwW,QACA,CACHF,EAAShL,iBACTgL,EAASG,cACTH,EAASI,cAGV,CAACJ,EAASpL,cAAeoL,EAASK,WAAYL,EAASM,WAmBhDC,CAAiB7W,GAG3BA,EAAOiI,IAAyB,MAAnBjI,EAAOmI,GArsDjB,IAqsDyD,MAApBnI,EAAOmI,GAtsD3C,IAgxDZ,SAA+BnI,GAC3B,IAAIgR,EAAG8F,EAAUhL,EAAMC,EAASN,EAAKC,EAAKqL,EAAMC,EAAiBC,EAGrD,OADZjG,EAAIhR,EAAOiI,IACLiP,IAAqB,MAAPlG,EAAEmG,GAAoB,MAAPnG,EAAEoG,GACjC3L,EAAM,EACNC,EAAM,EAMNoL,EAAWd,GACPhF,EAAEkG,GACFlX,EAAOmI,GA/xDR,GAgyDCgE,GAAWkL,KAAe,EAAG,GAAGtS,MAEpC+G,EAAOkK,GAAShF,EAAEmG,EAAG,KACrBpL,EAAUiK,GAAShF,EAAEoG,EAAG,IACV,GAAKrL,EAAU,KACzBiL,GAAkB,KAGtBvL,EAAMzL,EAAOF,QAAQwX,MAAM7L,IAC3BC,EAAM1L,EAAOF,QAAQwX,MAAM5L,IAE3BuL,EAAU9K,GAAWkL,KAAe5L,EAAKC,GAEzCoL,EAAWd,GAAShF,EAAEuG,GAAIvX,EAAOmI,GA7yD9B,GA6yDwC8O,EAAQlS,MAGnD+G,EAAOkK,GAAShF,EAAEA,EAAGiG,EAAQnL,MAElB,MAAPkF,EAAElG,IAEFiB,EAAUiF,EAAElG,GACE,GAAKiB,EAAU,KACzBiL,GAAkB,GAER,MAAPhG,EAAEgB,GAETjG,EAAUiF,EAAEgB,EAAIvG,GACZuF,EAAEgB,EAAI,GAAKhB,EAAEgB,EAAI,KACjBgF,GAAkB,IAItBjL,EAAUN,GAGdK,EAAO,GAAKA,EAAOQ,GAAYwK,EAAUrL,EAAKC,GAC9ChP,EAAgBsD,GAAQ+S,gBAAiB,EACf,MAAnBiE,EACPta,EAAgBsD,GAAQgT,kBAAmB,GAE3C+D,EAAOlL,GAAmBiL,EAAUhL,EAAMC,EAASN,EAAKC,GACxD1L,EAAOmI,GAz0DJ,GAy0De4O,EAAKhS,KACvB/E,EAAOwX,WAAaT,EAAK7K,WAlIzBuL,CAAsBzX,GAID,MAArBA,EAAOwX,aACPnB,EAAYL,GAAShW,EAAOmI,GA7sDzB,GA6sDmCgO,EA7sDnC,KAgtDCnW,EAAOwX,WAAahN,GAAW6L,IACT,IAAtBrW,EAAOwX,cAEP9a,EAAgBsD,GAAQ8S,oBAAqB,GAGjDjN,EAAOuF,GAAciL,EAAW,EAAGrW,EAAOwX,YAC1CxX,EAAOmI,GAttDH,GAstDetC,EAAK4Q,cACxBzW,EAAOmI,GAttDJ,GAstDetC,EAAK6Q,cAQtB3a,EAAI,EAAGA,EAAI,GAAqB,MAAhBiE,EAAOmI,GAAGpM,KAAcA,EACzCiE,EAAOmI,GAAGpM,GAAKvB,EAAMuB,GAAKoa,EAAYpa,GAI1C,KAAOA,EAAI,EAAGA,IACViE,EAAOmI,GAAGpM,GAAKvB,EAAMuB,GACD,MAAhBiE,EAAOmI,GAAGpM,GAAoB,IAANA,EAAU,EAAI,EAAKiE,EAAOmI,GAAGpM,GAKrC,KAApBiE,EAAOmI,GAzuDJ,IA0uDmB,IAAtBnI,EAAOmI,GAzuDF,IA0uDiB,IAAtBnI,EAAOmI,GAzuDF,IA0uDsB,IAA3BnI,EAAOmI,GAzuDG,KA2uDVnI,EAAO0X,UAAW,EAClB1X,EAAOmI,GA/uDJ,GA+uDe,GAGtBnI,EAAO7B,IAAM6B,EAAOwW,QAAUpL,GAAgBP,IAAYxQ,MACtD,KACAG,GAEJ4b,EAAkBpW,EAAOwW,QACnBxW,EAAO7B,GAAGyN,YACV5L,EAAO7B,GAAGoX,SAIG,MAAfvV,EAAOL,MACPK,EAAO7B,GAAG2X,cAAc9V,EAAO7B,GAAG4X,gBAAkB/V,EAAOL,MAG3DK,EAAO0X,WACP1X,EAAOmI,GAjwDJ,GAiwDe,IAKlBnI,EAAOiI,SACgB,IAAhBjI,EAAOiI,GAAG6C,GACjB9K,EAAOiI,GAAG6C,IAAMsL,IAEhB1Z,EAAgBsD,GAAQpC,iBAAkB,IAwElD,SAAS8W,GAA0B1U,GAE/B,GAAIA,EAAOP,KAAOrF,EAAMud,SAIxB,GAAI3X,EAAOP,KAAOrF,EAAMwd,SAAxB,CAIA5X,EAAOmI,GAAK,GACZzL,EAAgBsD,GAAQnD,OAAQ,EAGhC,IACId,EACAuZ,EACAxN,EACAlF,EACAiV,EAGApa,EARA+W,EAAS,GAAKxU,EAAOR,GAMrBsY,EAAetD,EAAOlZ,OACtByc,EAAyB,EAM7B,IAHAjQ,EACI3E,EAAanD,EAAOP,GAAIO,EAAOF,SAASuD,MAAMd,IAAqB,GAElExG,EAAI,EAAGA,EAAI+L,EAAOxM,OAAQS,IAC3B6G,EAAQkF,EAAO/L,IACfuZ,GAAed,EAAOnR,MAAM+D,GAAsBxE,EAAO5C,KACrD,IAAI,OAEJ6X,EAAUrD,EAAOlS,OAAO,EAAGkS,EAAO3M,QAAQyN,KAC9Bha,OAAS,GACjBoB,EAAgBsD,GAAQjD,YAAYd,KAAK4b,GAE7CrD,EAASA,EAAO3T,MACZ2T,EAAO3M,QAAQyN,GAAeA,EAAYha,QAE9Cyc,GAA0BzC,EAAYha,QAGtCoH,EAAqBE,IACjB0S,EACA5Y,EAAgBsD,GAAQnD,OAAQ,EAEhCH,EAAgBsD,GAAQlD,aAAab,KAAK2G,GAE9CsF,GAAwBtF,EAAO0S,EAAatV,IACrCA,EAAO1B,UAAYgX,GAC1B5Y,EAAgBsD,GAAQlD,aAAab,KAAK2G,GAKlDlG,EAAgBsD,GAAQ/C,cACpB6a,EAAeC,EACfvD,EAAOlZ,OAAS,GAChBoB,EAAgBsD,GAAQjD,YAAYd,KAAKuY,GAKzCxU,EAAOmI,GAj5DJ,IAi5DgB,KACiB,IAApCzL,EAAgBsD,GAAQxB,SACxBwB,EAAOmI,GAn5DJ,GAm5De,IAElBzL,EAAgBsD,GAAQxB,aAAUD,GAGtC7B,EAAgBsD,GAAQxC,gBAAkBwC,EAAOmI,GAAGtH,MAAM,GAC1DnE,EAAgBsD,GAAQtC,SAAWsC,EAAOoP,UAE1CpP,EAAOmI,GA35DA,GA26DX,SAAyB7L,EAAQ0b,EAAMta,GACnC,IAAIua,EAEJ,OAAgB,MAAZva,EAEOsa,EAEgB,MAAvB1b,EAAO4b,aACA5b,EAAO4b,aAAaF,EAAMta,GACX,MAAfpB,EAAO6S,OAEd8I,EAAO3b,EAAO6S,KAAKzR,KACPsa,EAAO,KACfA,GAAQ,IAEPC,GAAiB,KAATD,IACTA,EAAO,GAEJA,GAGAA,EArCOG,CACdnY,EAAOF,QACPE,EAAOmI,GA75DJ,GA85DHnI,EAAOoP,WAKC,QADZ3R,EAAMf,EAAgBsD,GAAQvC,OAE1BuC,EAAOmI,GAv6DJ,GAu6DenI,EAAOF,QAAQsY,gBAAgB3a,EAAKuC,EAAOmI,GAv6D1D,KA06DP+N,GAAgBlW,GAChB6S,GAAc7S,QA/EV6U,GAAkB7U,QAJlBkU,GAAclU,GAwMtB,SAASqY,GAAcrY,GACnB,IAAIxF,EAAQwF,EAAOR,GACfnD,EAAS2D,EAAOP,GAIpB,OAFAO,EAAOF,QAAUE,EAAOF,SAAWqS,GAAUnS,EAAON,IAEtC,OAAVlF,QAA8B+D,IAAXlC,GAAkC,KAAV7B,EACpCkE,EAAc,CAAExB,WAAW,KAGjB,iBAAV1C,IACPwF,EAAOR,GAAKhF,EAAQwF,EAAOF,QAAQwY,SAAS9d,IAG5C0F,EAAS1F,GACF,IAAIuF,EAAO8S,GAAcrY,KACzBkB,EAAOlB,GACdwF,EAAO7B,GAAK3D,EACLD,EAAQ8B,GA1GvB,SAAkC2D,GAC9B,IAAIuY,EACAC,EACAC,EACA1c,EACA2c,EACAC,EACAC,GAAoB,EAExB,GAAyB,IAArB5Y,EAAOP,GAAGnE,OAGV,OAFAoB,EAAgBsD,GAAQ3C,eAAgB,OACxC2C,EAAO7B,GAAK,IAAIxC,KAAKgD,MAIzB,IAAK5C,EAAI,EAAGA,EAAIiE,EAAOP,GAAGnE,OAAQS,IAC9B2c,EAAe,EACfC,GAAmB,EACnBJ,EAAarZ,EAAW,GAAIc,GACN,MAAlBA,EAAOwW,UACP+B,EAAW/B,QAAUxW,EAAOwW,SAEhC+B,EAAW9Y,GAAKO,EAAOP,GAAG1D,GAC1B2Y,GAA0B6D,GAEtB1a,EAAQ0a,KACRI,GAAmB,GAIvBD,GAAgBhc,EAAgB6b,GAAYtb,cAG5Cyb,GAAkE,GAAlDhc,EAAgB6b,GAAYzb,aAAaxB,OAEzDoB,EAAgB6b,GAAYM,MAAQH,EAE/BE,EAaGF,EAAeD,IACfA,EAAcC,EACdF,EAAaD,IAbE,MAAfE,GACAC,EAAeD,GACfE,KAEAF,EAAcC,EACdF,EAAaD,EACTI,IACAC,GAAoB,IAWpC1c,EAAO8D,EAAQwY,GAAcD,GAkDzBO,CAAyB9Y,GAClB3D,EACPqY,GAA0B1U,GAYlC,SAAyBA,GACrB,IAAIxF,EAAQwF,EAAOR,GACfhE,EAAYhB,GACZwF,EAAO7B,GAAK,IAAIxC,KAAKvB,EAAMmc,OACpB7a,EAAOlB,GACdwF,EAAO7B,GAAK,IAAIxC,KAAKnB,EAAM2B,WACH,iBAAV3B,EAjdtB,SAA0BwF,GACtB,IAAIuH,EAAU+L,GAAgBmB,KAAKzU,EAAOR,IAC1B,OAAZ+H,GAKJ2M,GAAclU,IACU,IAApBA,EAAOlC,kBACAkC,EAAOlC,SAKlB+W,GAAkB7U,IACM,IAApBA,EAAOlC,kBACAkC,EAAOlC,SAKdkC,EAAO1B,QACP0B,EAAOlC,UAAW,EAGlB1D,EAAM2e,wBAAwB/Y,MAtB9BA,EAAO7B,GAAK,IAAIxC,MAAM4L,EAAQ,IA+c9ByR,CAAiBhZ,GACVzF,EAAQC,IACfwF,EAAOmI,GAAKvM,EAAIpB,EAAMqG,MAAM,IAAI,SAAUzF,GACtC,OAAOuP,SAASvP,EAAK,OAEzB8a,GAAgBlW,IACTlF,EAASN,GA1ExB,SAA0BwF,GACtB,IAAIA,EAAO7B,GAAX,CAIA,IAAIpC,EAAIwI,EAAqBvE,EAAOR,IAChCyZ,OAAsB1a,IAAVxC,EAAE+R,IAAoB/R,EAAE8J,KAAO9J,EAAE+R,IACjD9N,EAAOmI,GAAKvM,EACR,CAACG,EAAEgJ,KAAMhJ,EAAE6J,MAAOqT,EAAWld,EAAEic,KAAMjc,EAAEmd,OAAQnd,EAAEod,OAAQpd,EAAEqd,cAC3D,SAAUhe,GACN,OAAOA,GAAOuP,SAASvP,EAAK,OAIpC8a,GAAgBlW,IA6DZqZ,CAAiBrZ,GACVvE,EAASjB,GAEhBwF,EAAO7B,GAAK,IAAIxC,KAAKnB,GAErBJ,EAAM2e,wBAAwB/Y,GA7B9BsZ,CAAgBtZ,GAGfnC,EAAQmC,KACTA,EAAO7B,GAAK,MAGT6B,IA0BX,SAASxD,GAAiBhC,EAAO6B,EAAQC,EAAQC,EAAQgd,GACrD,IAnEIvd,EAmEAia,EAAI,GA2BR,OAzBe,IAAX5Z,IAA8B,IAAXA,IACnBE,EAASF,EACTA,OAASkC,IAGE,IAAXjC,IAA8B,IAAXA,IACnBC,EAASD,EACTA,OAASiC,IAIRzD,EAASN,IAAUW,EAAcX,IACjCD,EAAQC,IAA2B,IAAjBA,EAAMc,UAEzBd,OAAQ+D,GAIZ0X,EAAE1W,kBAAmB,EACrB0W,EAAEO,QAAUP,EAAErW,OAAS2Z,EACvBtD,EAAEvW,GAAKpD,EACP2Z,EAAEzW,GAAKhF,EACPyb,EAAExW,GAAKpD,EACP4Z,EAAE3X,QAAU/B,GA5FRP,EAAM,IAAI+D,EAAO8S,GAAcwF,GA8FXpC,MA7FhByB,WAEJ1b,EAAIwd,IAAI,EAAG,KACXxd,EAAI0b,cAAWnZ,GAGZvC,EA0FX,SAASqb,GAAY7c,EAAO6B,EAAQC,EAAQC,GACxC,OAAOC,GAAiBhC,EAAO6B,EAAQC,EAAQC,GAAQ,GAre3DnC,EAAM2e,wBAA0BxY,EAC5B,iSAGA,SAAUP,GACNA,EAAO7B,GAAK,IAAIxC,KAAKqE,EAAOR,IAAMQ,EAAOwW,QAAU,OAAS,QAuLpEpc,EAAMud,SAAW,aAGjBvd,EAAMwd,SAAW,aAySjB,IAAI6B,GAAelZ,EACX,sGACA,WACI,IAAImZ,EAAQrC,GAAYhd,MAAM,KAAMC,WACpC,OAAIwE,KAAKjB,WAAa6b,EAAM7b,UACjB6b,EAAQ5a,KAAOA,KAAO4a,EAEtBhb,OAInBib,GAAepZ,EACX,sGACA,WACI,IAAImZ,EAAQrC,GAAYhd,MAAM,KAAMC,WACpC,OAAIwE,KAAKjB,WAAa6b,EAAM7b,UACjB6b,EAAQ5a,KAAOA,KAAO4a,EAEtBhb,OAUvB,SAASkb,GAAO9d,EAAI+d,GAChB,IAAI7d,EAAKD,EAIT,GAHuB,IAAnB8d,EAAQve,QAAgBf,EAAQsf,EAAQ,MACxCA,EAAUA,EAAQ,KAEjBA,EAAQve,OACT,OAAO+b,KAGX,IADArb,EAAM6d,EAAQ,GACT9d,EAAI,EAAGA,EAAI8d,EAAQve,SAAUS,EACzB8d,EAAQ9d,GAAG8B,YAAagc,EAAQ9d,GAAGD,GAAIE,KACxCA,EAAM6d,EAAQ9d,IAGtB,OAAOC,EAgBX,IAII8d,GAAW,CACX,OACA,UACA,QACA,OACA,MACA,OACA,SACA,SACA,eAyCJ,SAASC,GAASC,GACd,IAAItV,EAAkBH,EAAqByV,GACvCC,EAAQvV,EAAgBK,MAAQ,EAChCmV,EAAWxV,EAAgByV,SAAW,EACtC3R,EAAS9D,EAAgBkB,OAAS,EAClCwU,EAAQ1V,EAAgBoH,MAAQpH,EAAgB2V,SAAW,EAC3DC,EAAO5V,EAAgBoJ,KAAO,EAC9Ba,EAAQjK,EAAgBsT,MAAQ,EAChCnJ,EAAUnK,EAAgBwU,QAAU,EACpClK,EAAUtK,EAAgByU,QAAU,EACpCoB,EAAe7V,EAAgB0U,aAAe,EAElDta,KAAKhB,SAlDT,SAAyBnB,GACrB,IAAIgE,EAEA5E,EADAye,GAAiB,EAErB,IAAK7Z,KAAOhE,EACR,GACI5B,EAAW4B,EAAGgE,MAEuB,IAAjCkH,GAAQhN,KAAKif,GAAUnZ,IACZ,MAAVhE,EAAEgE,IAAiBzC,MAAMvB,EAAEgE,KAGhC,OAAO,EAIf,IAAK5E,EAAI,EAAGA,EAAI+d,GAASxe,SAAUS,EAC/B,GAAIY,EAAEmd,GAAS/d,IAAK,CAChB,GAAIye,EACA,OAAO,EAEPC,WAAW9d,EAAEmd,GAAS/d,OAASoJ,EAAMxI,EAAEmd,GAAS/d,OAChDye,GAAiB,GAK7B,OAAO,EAuBSE,CAAgBhW,GAGhC5F,KAAK6b,eACAJ,EACS,IAAVvL,EACU,IAAVH,EACQ,IAARF,EAAe,GAAK,GAGxB7P,KAAK8b,OAASN,EAAe,EAARF,EAIrBtb,KAAK+b,SAAWrS,EAAoB,EAAX0R,EAAuB,GAARD,EAExCnb,KAAKgc,MAAQ,GAEbhc,KAAKgB,QAAUqS,KAEfrT,KAAKic,UAGT,SAASC,GAAW5f,GAChB,OAAOA,aAAe2e,GAG1B,SAASkB,GAASpZ,GACd,OAAIA,EAAS,GACyB,EAA3BI,KAAKiZ,OAAO,EAAIrZ,GAEhBI,KAAKiZ,MAAMrZ,GAuB1B,SAASsZ,GAAOvY,EAAOwY,GACnBzY,EAAeC,EAAO,EAAG,GAAG,WACxB,IAAIuY,EAASrc,KAAKuc,YACdC,EAAO,IAKX,OAJIH,EAAS,IACTA,GAAUA,EACVG,EAAO,KAGPA,EACA1Z,KAAYuZ,EAAS,IAAK,GAC1BC,EACAxZ,IAAWuZ,EAAS,GAAI,MAKpCA,GAAO,IAAK,KACZA,GAAO,KAAM,IAIbnU,GAAc,IAAKF,IACnBE,GAAc,KAAMF,IACpBiB,GAAc,CAAC,IAAK,OAAO,SAAUvN,EAAO4I,EAAOpD,GAC/CA,EAAOwW,SAAU,EACjBxW,EAAOL,KAAO4b,GAAiBzU,GAAkBtM,MAQrD,IAAIghB,GAAc,kBAElB,SAASD,GAAiBE,EAASjH,GAC/B,IAEIkH,EACA7M,EAHA8M,GAAWnH,GAAU,IAAInR,MAAMoY,GAKnC,OAAgB,OAAZE,EACO,KAOQ,KAFnB9M,EAAuB,IADvB6M,IADQC,EAAQA,EAAQrgB,OAAS,IAAM,IACtB,IAAI+H,MAAMmY,KAAgB,CAAC,IAAK,EAAG,IAClC,GAAWrW,EAAMuW,EAAM,KAElB,EAAiB,MAAbA,EAAM,GAAa7M,GAAWA,EAI7D,SAAS+M,GAAgBphB,EAAOqhB,GAC5B,IAAI7f,EAAK8f,EACT,OAAID,EAAMjc,QACN5D,EAAM6f,EAAME,QACZD,GACK5b,EAAS1F,IAAUkB,EAAOlB,GACrBA,EAAM2B,UACNkb,GAAY7c,GAAO2B,WAAaH,EAAIG,UAE9CH,EAAImC,GAAG6d,QAAQhgB,EAAImC,GAAGhC,UAAY2f,GAClC1hB,EAAM6F,aAAajE,GAAK,GACjBA,GAEAqb,GAAY7c,GAAOyhB,QAIlC,SAASC,GAAcvf,GAGnB,OAAQsF,KAAKiZ,MAAMve,EAAEwB,GAAGge,qBA0J5B,SAASC,KACL,QAAOtd,KAAKjB,WAAYiB,KAAKc,QAA2B,IAAjBd,KAAKe,QApJhDzF,EAAM6F,aAAe,aAwJrB,IAAIoc,GAAc,wDAIdC,GAAW,sKAEf,SAASC,GAAe/hB,EAAOmG,GAC3B,IAGI2a,EACAkB,EACAC,EA4FmBC,EAAMhD,EACzB1d,EAlGAge,EAAWxf,EAEX6I,EAAQ,KAkEZ,OA7DI2X,GAAWxgB,GACXwf,EAAW,CACP/O,GAAIzQ,EAAMmgB,cACV7P,EAAGtQ,EAAMogB,MACT5P,EAAGxQ,EAAMqgB,SAENpf,EAASjB,KAAW0D,OAAO1D,IAClCwf,EAAW,GACPrZ,EACAqZ,EAASrZ,IAAQnG,EAEjBwf,EAASO,cAAgB/f,IAErB6I,EAAQgZ,GAAY5H,KAAKja,KACjC8gB,EAAoB,MAAbjY,EAAM,IAAc,EAAI,EAC/B2W,EAAW,CACPvP,EAAG,EACHK,EAAG3F,EAAM9B,EAnjFV,IAmjFyBiY,EACxBvQ,EAAG5F,EAAM9B,EAnjFV,IAmjFyBiY,EACxB3e,EAAGwI,EAAM9B,EAnjFR,IAmjFyBiY,EAC1B1T,EAAGzC,EAAM9B,EAnjFR,IAmjFyBiY,EAC1BrQ,GAAI9F,EAAM8V,GAA8B,IAArB5X,EAnjFb,KAmjF2CiY,KAE7CjY,EAAQiZ,GAAS7H,KAAKja,KAC9B8gB,EAAoB,MAAbjY,EAAM,IAAc,EAAI,EAC/B2W,EAAW,CACPvP,EAAGkS,GAAStZ,EAAM,GAAIiY,GACtBtQ,EAAG2R,GAAStZ,EAAM,GAAIiY,GACtBtK,EAAG2L,GAAStZ,EAAM,GAAIiY,GACtBxQ,EAAG6R,GAAStZ,EAAM,GAAIiY,GACtBvQ,EAAG4R,GAAStZ,EAAM,GAAIiY,GACtB3e,EAAGggB,GAAStZ,EAAM,GAAIiY,GACtB1T,EAAG+U,GAAStZ,EAAM,GAAIiY,KAEP,MAAZtB,EAEPA,EAAW,GAES,iBAAbA,IACN,SAAUA,GAAY,OAAQA,KAmDZ0C,EAhDfrF,GAAY2C,EAAS5a,MAgDAsa,EA/CrBrC,GAAY2C,EAAS7a,IAFzBsd,EAmDEC,EAAK7e,WAAa6b,EAAM7b,WAI9B6b,EAAQkC,GAAgBlC,EAAOgD,GAC3BA,EAAKE,SAASlD,GACd1d,EAAM6gB,GAA0BH,EAAMhD,KAEtC1d,EAAM6gB,GAA0BnD,EAAOgD,IACnCnC,cAAgBve,EAAIue,aACxBve,EAAIwM,QAAUxM,EAAIwM,QAGfxM,GAZI,CAAEue,aAAc,EAAG/R,OAAQ,IA/ClCwR,EAAW,IACF/O,GAAKwR,EAAQlC,aACtBP,EAAShP,EAAIyR,EAAQjU,QAGzBgU,EAAM,IAAIzC,GAASC,GAEfgB,GAAWxgB,IAAUO,EAAWP,EAAO,aACvCgiB,EAAI1c,QAAUtF,EAAMsF,SAGpBkb,GAAWxgB,IAAUO,EAAWP,EAAO,cACvCgiB,EAAI1e,SAAWtD,EAAMsD,UAGlB0e,EAMX,SAASG,GAASG,EAAKxB,GAInB,IAAItf,EAAM8gB,GAAOrC,WAAWqC,EAAIxZ,QAAQ,IAAK,MAE7C,OAAQpF,MAAMlC,GAAO,EAAIA,GAAOsf,EAGpC,SAASuB,GAA0BH,EAAMhD,GACrC,IAAI1d,EAAM,GAUV,OARAA,EAAIwM,OACAkR,EAAM9T,QAAU8W,EAAK9W,QAAyC,IAA9B8T,EAAM3U,OAAS2X,EAAK3X,QACpD2X,EAAKX,QAAQvC,IAAIxd,EAAIwM,OAAQ,KAAKuU,QAAQrD,MACxC1d,EAAIwM,OAGVxM,EAAIue,cAAgBb,GAASgD,EAAKX,QAAQvC,IAAIxd,EAAIwM,OAAQ,KAEnDxM,EAsBX,SAASghB,GAAYC,EAAW7b,GAC5B,OAAO,SAAU9B,EAAK4d,GAClB,IAASC,EAmBT,OAjBe,OAAXD,GAAoBhf,OAAOgf,KAC3B/b,EACIC,EACA,YACIA,EACA,uDACAA,EAHJ,kGAOJ+b,EAAM7d,EACNA,EAAM4d,EACNA,EAASC,GAIbC,GAAYte,KADNyd,GAAejd,EAAK4d,GACHD,GAChBne,MAIf,SAASse,GAAY7Z,EAAKyW,EAAUqD,EAAUpd,GAC1C,IAAIsa,EAAeP,EAASW,cACxBL,EAAOW,GAASjB,EAASY,OACzBpS,EAASyS,GAASjB,EAASa,SAE1BtX,EAAI1F,YAKToC,EAA+B,MAAhBA,GAA8BA,EAEzCuI,GACAkB,GAASnG,EAAKoC,EAAIpC,EAAK,SAAWiF,EAAS6U,GAE3C/C,GACA5U,EAAMnC,EAAK,OAAQoC,EAAIpC,EAAK,QAAU+W,EAAO+C,GAE7C9C,GACAhX,EAAIpF,GAAG6d,QAAQzY,EAAIpF,GAAGhC,UAAYoe,EAAe8C,GAEjDpd,GACA7F,EAAM6F,aAAasD,EAAK+W,GAAQ9R,IA5FxC+T,GAAezgB,GAAKie,GAASpf,UAC7B4hB,GAAee,QA9Xf,WACI,OAAOf,GAAe5d,MA4d1B,IAAI6a,GAAMwD,GAAY,EAAG,OACrBO,GAAWP,IAAa,EAAG,YAE/B,SAASQ,GAAShjB,GACd,MAAwB,iBAAVA,GAAsBA,aAAiBijB,OAIzD,SAASC,GAAcljB,GACnB,OACI0F,EAAS1F,IACTkB,EAAOlB,IACPgjB,GAAShjB,IACTiB,EAASjB,IAgDjB,SAA+BA,GAC3B,IAAImjB,EAAYpjB,EAAQC,GACpBojB,GAAe,EAOnB,OANID,IACAC,EAGkB,IAFdpjB,EAAMqjB,QAAO,SAAUC,GACnB,OAAQriB,EAASqiB,IAASN,GAAShjB,MACpCc,QAEJqiB,GAAaC,EAxDhBG,CAAsBvjB,IAO9B,SAA6BA,GACzB,IA4BIuB,EACAiiB,EA7BAC,EAAanjB,EAASN,KAAWW,EAAcX,GAC/C0jB,GAAe,EACfC,EAAa,CACT,QACA,OACA,IACA,SACA,QACA,IACA,OACA,MACA,IACA,QACA,OACA,IACA,QACA,OACA,IACA,UACA,SACA,IACA,UACA,SACA,IACA,eACA,cACA,MAKR,IAAKpiB,EAAI,EAAGA,EAAIoiB,EAAW7iB,OAAQS,GAAK,EACpCiiB,EAAWG,EAAWpiB,GACtBmiB,EAAeA,GAAgBnjB,EAAWP,EAAOwjB,GAGrD,OAAOC,GAAcC,EA3CjBE,CAAoB5jB,IANjB,MAOHA,EAyDR,SAAS6jB,GAAe7jB,GACpB,IAUIuB,EAVAkiB,EAAanjB,EAASN,KAAWW,EAAcX,GAC/C0jB,GAAe,EACfC,EAAa,CACT,UACA,UACA,UACA,WACA,WACA,YAKR,IAAKpiB,EAAI,EAAGA,EAAIoiB,EAAW7iB,OAAQS,GAAK,EAEpCmiB,EAAeA,GAAgBnjB,EAAWP,EAD/B2jB,EAAWpiB,IAI1B,OAAOkiB,GAAcC,EA4KzB,SAASI,GAAUtjB,EAAGC,GAClB,GAAID,EAAE6K,OAAS5K,EAAE4K,OAGb,OAAQyY,GAAUrjB,EAAGD,GAGzB,IAAIujB,EAAyC,IAAvBtjB,EAAE8J,OAAS/J,EAAE+J,SAAgB9J,EAAE2K,QAAU5K,EAAE4K,SAE7D4Y,EAASxjB,EAAE+gB,QAAQvC,IAAI+E,EAAgB,UAe3C,QAASA,GAXLtjB,EAAIujB,EAAS,GAGHvjB,EAAIujB,IAAWA,EAFfxjB,EAAE+gB,QAAQvC,IAAI+E,EAAiB,EAAG,YAMlCtjB,EAAIujB,IAFJxjB,EAAE+gB,QAAQvC,IAAI+E,EAAiB,EAAG,UAETC,MAIF,EAmHzC,SAASliB,GAAOqE,GACZ,IAAI8d,EAEJ,YAAYlgB,IAARoC,EACO7B,KAAKgB,QAAQgS,OAGC,OADrB2M,EAAgBtM,GAAUxR,MAEtB7B,KAAKgB,QAAU2e,GAEZ3f,MA1Hf1E,EAAMskB,cAAgB,uBACtBtkB,EAAMukB,iBAAmB,yBA6HzB,IAAIC,GAAOre,EACP,mJACA,SAAUI,GACN,YAAYpC,IAARoC,EACO7B,KAAKmE,aAELnE,KAAKxC,OAAOqE,MAK/B,SAASsC,KACL,OAAOnE,KAAKgB,QAShB,SAAS+e,GAAMC,EAAUC,GACrB,OAASD,EAAWC,EAAWA,GAAWA,EAG9C,SAASC,GAAiBvU,EAAG9N,EAAGmO,GAE5B,OAAIL,EAAI,KAAOA,GAAK,EAET,IAAI9O,KAAK8O,EAAI,IAAK9N,EAAGmO,GAXb,YAaR,IAAInP,KAAK8O,EAAG9N,EAAGmO,GAAG3O,UAIjC,SAAS8iB,GAAexU,EAAG9N,EAAGmO,GAE1B,OAAIL,EAAI,KAAOA,GAAK,EAET9O,KAAK0P,IAAIZ,EAAI,IAAK9N,EAAGmO,GArBb,YAuBRnP,KAAK0P,IAAIZ,EAAG9N,EAAGmO,GAsb9B,SAASoU,GAAa/X,EAAU7K,GAC5B,OAAOA,EAAO6iB,cAAchY,GAehC,SAASiY,KACL,IAIIrjB,EACAoY,EALAkL,EAAa,GACbC,EAAa,GACbC,EAAe,GACfrV,EAAc,GAGdsV,EAAO1gB,KAAK0gB,OAEhB,IAAKzjB,EAAI,EAAGoY,EAAIqL,EAAKlkB,OAAQS,EAAIoY,IAAKpY,EAClCujB,EAAWrjB,KAAKqL,GAAYkY,EAAKzjB,GAAGqF,OACpCie,EAAWpjB,KAAKqL,GAAYkY,EAAKzjB,GAAGsW,OACpCkN,EAAatjB,KAAKqL,GAAYkY,EAAKzjB,GAAG0jB,SAEtCvV,EAAYjO,KAAKqL,GAAYkY,EAAKzjB,GAAGqF,OACrC8I,EAAYjO,KAAKqL,GAAYkY,EAAKzjB,GAAGsW,OACrCnI,EAAYjO,KAAKqL,GAAYkY,EAAKzjB,GAAG0jB,SAGzC3gB,KAAK4gB,WAAa,IAAIrY,OAAO,KAAO6C,EAAYpJ,KAAK,KAAO,IAAK,KACjEhC,KAAK6gB,eAAiB,IAAItY,OAAO,KAAOiY,EAAWxe,KAAK,KAAO,IAAK,KACpEhC,KAAK8gB,eAAiB,IAAIvY,OAAO,KAAOgY,EAAWve,KAAK,KAAO,IAAK,KACpEhC,KAAK+gB,iBAAmB,IAAIxY,OACxB,KAAOkY,EAAaze,KAAK,KAAO,IAChC,KAcR,SAASgf,GAAuBld,EAAOmd,GACnCpd,EAAe,EAAG,CAACC,EAAOA,EAAMtH,QAAS,EAAGykB,GAoFhD,SAASC,GAAqBxlB,EAAOsR,EAAMC,EAASN,EAAKC,GACrD,IAAIuU,EACJ,OAAa,MAATzlB,EACO2R,GAAWrN,KAAM2M,EAAKC,GAAK3G,MAG9B+G,GADJmU,EAAc3T,GAAY9R,EAAOiR,EAAKC,MAElCI,EAAOmU,GAEJC,GAAWrlB,KAAKiE,KAAMtE,EAAOsR,EAAMC,EAASN,EAAKC,IAIhE,SAASwU,GAAWpJ,EAAUhL,EAAMC,EAASN,EAAKC,GAC9C,IAAIyU,EAAgBtU,GAAmBiL,EAAUhL,EAAMC,EAASN,EAAKC,GACjE7F,EAAOuF,GAAc+U,EAAcpb,KAAM,EAAGob,EAAcjU,WAK9D,OAHApN,KAAKiG,KAAKc,EAAKyF,kBACfxM,KAAK8G,MAAMC,EAAK4Q,eAChB3X,KAAK+G,KAAKA,EAAK6Q,cACR5X,KA5YX6D,EAAe,IAAK,EAAG,EAAG,WAC1BA,EAAe,KAAM,EAAG,EAAG,WAC3BA,EAAe,MAAO,EAAG,EAAG,WAC5BA,EAAe,OAAQ,EAAG,EAAG,WAC7BA,EAAe,QAAS,EAAG,EAAG,aAE9BA,EAAe,IAAK,CAAC,IAAK,GAAI,KAAM,WACpCA,EAAe,IAAK,CAAC,KAAM,GAAI,EAAG,WAClCA,EAAe,IAAK,CAAC,MAAO,GAAI,EAAG,WACnCA,EAAe,IAAK,CAAC,OAAQ,GAAI,EAAG,WAEpCqE,GAAc,IAAKkY,IACnBlY,GAAc,KAAMkY,IACpBlY,GAAc,MAAOkY,IACrBlY,GAAc,QAmOd,SAAsBG,EAAU7K,GAC5B,OAAOA,EAAO8jB,cAAcjZ,MAnOhCH,GAAc,SAsOd,SAAwBG,EAAU7K,GAC9B,OAAOA,EAAO+jB,gBAAgBlZ,MArOlCY,GAAc,CAAC,IAAK,KAAM,MAAO,OAAQ,UAAU,SAC/CvN,EACA4I,EACApD,EACA4C,GAEA,IAAInF,EAAMuC,EAAOF,QAAQwgB,UAAU9lB,EAAOoI,EAAO5C,EAAO1B,SACpDb,EACAf,EAAgBsD,GAAQvC,IAAMA,EAE9Bf,EAAgBsD,GAAQ7C,WAAa3C,KAI7CwM,GAAc,IAAKL,IACnBK,GAAc,KAAML,IACpBK,GAAc,MAAOL,IACrBK,GAAc,OAAQL,IACtBK,GAAc,MAsNd,SAA6BG,EAAU7K,GACnC,OAAOA,EAAOikB,sBAAwB5Z,MArN1CoB,GAAc,CAAC,IAAK,KAAM,MAAO,QA53GtB,GA63GXA,GAAc,CAAC,OAAO,SAAUvN,EAAO4I,EAAOpD,EAAQ4C,GAClD,IAAIS,EACArD,EAAOF,QAAQygB,uBACfld,EAAQ7I,EAAM6I,MAAMrD,EAAOF,QAAQygB,uBAGnCvgB,EAAOF,QAAQ0gB,oBACfpd,EAp4GG,GAo4GWpD,EAAOF,QAAQ0gB,oBAAoBhmB,EAAO6I,GAExDD,EAt4GG,GAs4GWuH,SAASnQ,EAAO,OA4OtCmI,EAAe,EAAG,CAAC,KAAM,GAAI,GAAG,WAC5B,OAAO7D,KAAKgY,WAAa,OAG7BnU,EAAe,EAAG,CAAC,KAAM,GAAI,GAAG,WAC5B,OAAO7D,KAAK2hB,cAAgB,OAOhCX,GAAuB,OAAQ,YAC/BA,GAAuB,QAAS,YAChCA,GAAuB,OAAQ,eAC/BA,GAAuB,QAAS,eAIhC9b,EAAa,WAAY,MACzBA,EAAa,cAAe,MAI5BY,EAAgB,WAAY,GAC5BA,EAAgB,cAAe,GAI/BoC,GAAc,IAAKJ,IACnBI,GAAc,IAAKJ,IACnBI,GAAc,KAAMX,GAAWJ,GAC/Be,GAAc,KAAMX,GAAWJ,GAC/Be,GAAc,OAAQP,GAAWN,IACjCa,GAAc,OAAQP,GAAWN,IACjCa,GAAc,QAASN,GAAWN,IAClCY,GAAc,QAASN,GAAWN,IAElC4B,GAAkB,CAAC,OAAQ,QAAS,OAAQ,UAAU,SAClDxN,EACAsR,EACA9L,EACA4C,GAEAkJ,EAAKlJ,EAAMN,OAAO,EAAG,IAAM6C,EAAM3K,MAGrCwN,GAAkB,CAAC,KAAM,OAAO,SAAUxN,EAAOsR,EAAM9L,EAAQ4C,GAC3DkJ,EAAKlJ,GAASxI,EAAMsQ,kBAAkBlQ,MAsE1CmI,EAAe,IAAK,EAAG,KAAM,WAI7BqB,EAAa,UAAW,KAIxBY,EAAgB,UAAW,GAI3BoC,GAAc,IAAKhB,GACnB+B,GAAc,KAAK,SAAUvN,EAAO4I,GAChCA,EArvHQ,GAqvH4B,GAApB+B,EAAM3K,GAAS,MAanCmI,EAAe,IAAK,CAAC,KAAM,GAAI,KAAM,QAIrCqB,EAAa,OAAQ,KAGrBY,EAAgB,OAAQ,GAIxBoC,GAAc,IAAKX,IACnBW,GAAc,KAAMX,GAAWJ,GAC/Be,GAAc,MAAM,SAAUG,EAAU7K,GAEpC,OAAO6K,EACD7K,EAAOokB,yBAA2BpkB,EAAOqkB,cACzCrkB,EAAOskB,kCAGjB7Y,GAAc,CAAC,IAAK,MArxHT,GAsxHXA,GAAc,MAAM,SAAUvN,EAAO4I,GACjCA,EAvxHO,GAuxHO+B,EAAM3K,EAAM6I,MAAMgD,IAAW,OAK/C,IAAIwa,GAAmBrb,EAAW,QAAQ,GAI1C7C,EAAe,MAAO,CAAC,OAAQ,GAAI,OAAQ,aAI3CqB,EAAa,YAAa,OAG1BY,EAAgB,YAAa,GAI7BoC,GAAc,MAAOR,IACrBQ,GAAc,OAAQd,IACtB6B,GAAc,CAAC,MAAO,SAAS,SAAUvN,EAAO4I,EAAOpD,GACnDA,EAAOwX,WAAarS,EAAM3K,MAiB9BmI,EAAe,IAAK,CAAC,KAAM,GAAI,EAAG,UAIlCqB,EAAa,SAAU,KAIvBY,EAAgB,SAAU,IAI1BoC,GAAc,IAAKX,IACnBW,GAAc,KAAMX,GAAWJ,GAC/B8B,GAAc,CAAC,IAAK,MA30HP,GA+0Hb,IAAI+Y,GAAetb,EAAW,WAAW,GAIzC7C,EAAe,IAAK,CAAC,KAAM,GAAI,EAAG,UAIlCqB,EAAa,SAAU,KAIvBY,EAAgB,SAAU,IAI1BoC,GAAc,IAAKX,IACnBW,GAAc,KAAMX,GAAWJ,GAC/B8B,GAAc,CAAC,IAAK,MAh2HP,GAo2Hb,IA8CInF,GAAOme,GA9CPC,GAAexb,EAAW,WAAW,GA+CzC,IA3CA7C,EAAe,IAAK,EAAG,GAAG,WACtB,SAAU7D,KAAKsa,cAAgB,QAGnCzW,EAAe,EAAG,CAAC,KAAM,GAAI,GAAG,WAC5B,SAAU7D,KAAKsa,cAAgB,OAGnCzW,EAAe,EAAG,CAAC,MAAO,GAAI,EAAG,eACjCA,EAAe,EAAG,CAAC,OAAQ,GAAI,GAAG,WAC9B,OAA4B,GAArB7D,KAAKsa,iBAEhBzW,EAAe,EAAG,CAAC,QAAS,GAAI,GAAG,WAC/B,OAA4B,IAArB7D,KAAKsa,iBAEhBzW,EAAe,EAAG,CAAC,SAAU,GAAI,GAAG,WAChC,OAA4B,IAArB7D,KAAKsa,iBAEhBzW,EAAe,EAAG,CAAC,UAAW,GAAI,GAAG,WACjC,OAA4B,IAArB7D,KAAKsa,iBAEhBzW,EAAe,EAAG,CAAC,WAAY,GAAI,GAAG,WAClC,OAA4B,IAArB7D,KAAKsa,iBAEhBzW,EAAe,EAAG,CAAC,YAAa,GAAI,GAAG,WACnC,OAA4B,IAArB7D,KAAKsa,iBAKhBpV,EAAa,cAAe,MAI5BY,EAAgB,cAAe,IAI/BoC,GAAc,IAAKR,GAAWR,GAC9BgB,GAAc,KAAMR,GAAWP,GAC/Be,GAAc,MAAOR,GAAWN,IAG3BtD,GAAQ,OAAQA,GAAMtH,QAAU,EAAGsH,IAAS,IAC7CoE,GAAcpE,GAAO+D,IAGzB,SAASsa,GAAQzmB,EAAO4I,GACpBA,EAv5Hc,GAu5HO+B,EAAuB,KAAhB,KAAO3K,IAGvC,IAAKoI,GAAQ,IAAKA,GAAMtH,QAAU,EAAGsH,IAAS,IAC1CmF,GAAcnF,GAAOqe,IAGzBF,GAAoBvb,EAAW,gBAAgB,GAI/C7C,EAAe,IAAK,EAAG,EAAG,YAC1BA,EAAe,KAAM,EAAG,EAAG,YAY3B,IAAIue,GAAQnhB,EAAOpF,UAgHnB,SAASwmB,GAAmB3M,GACxB,OAAOA,EA/GX0M,GAAM1H,IAAMA,GACZ0H,GAAMvR,SApoCN,SAAoByR,EAAMC,GAEG,IAArB/mB,UAAUgB,SACLhB,UAAU,GAGJojB,GAAcpjB,UAAU,KAC/B8mB,EAAO9mB,UAAU,GACjB+mB,OAAU9iB,GACH8f,GAAe/jB,UAAU,MAChC+mB,EAAU/mB,UAAU,GACpB8mB,OAAO7iB,IAPP6iB,OAAO7iB,EACP8iB,OAAU9iB,IAWlB,IAAIgY,EAAM6K,GAAQ/J,KACdiK,EAAM1F,GAAgBrF,EAAKzX,MAAMyiB,QAAQ,OACzCllB,EAASjC,EAAMonB,eAAe1iB,KAAMwiB,IAAQ,WAC5C9d,EACI6d,IACChgB,EAAWggB,EAAQhlB,IACdglB,EAAQhlB,GAAQxB,KAAKiE,KAAMyX,GAC3B8K,EAAQhlB,IAEtB,OAAOyC,KAAKzC,OACRmH,GAAU1E,KAAKmE,aAAa0M,SAAStT,EAAQyC,KAAMuY,GAAYd,MA2mCvE2K,GAAMnF,MAvmCN,WACI,OAAO,IAAIhc,EAAOjB,OAumCtBoiB,GAAMpF,KA/hCN,SAActhB,EAAO8J,EAAOmd,GACxB,IAAIC,EAAMC,EAAWne,EAErB,IAAK1E,KAAKjB,UACN,OAAOc,IAKX,KAFA+iB,EAAO9F,GAAgBphB,EAAOsE,OAEpBjB,UACN,OAAOc,IAOX,OAJAgjB,EAAoD,KAAvCD,EAAKrG,YAAcvc,KAAKuc,aAErC/W,EAAQD,EAAeC,IAGnB,IAAK,OACDd,EAAS8a,GAAUxf,KAAM4iB,GAAQ,GACjC,MACJ,IAAK,QACDle,EAAS8a,GAAUxf,KAAM4iB,GACzB,MACJ,IAAK,UACDle,EAAS8a,GAAUxf,KAAM4iB,GAAQ,EACjC,MACJ,IAAK,SACDle,GAAU1E,KAAO4iB,GAAQ,IACzB,MACJ,IAAK,SACDle,GAAU1E,KAAO4iB,GAAQ,IACzB,MACJ,IAAK,OACDle,GAAU1E,KAAO4iB,GAAQ,KACzB,MACJ,IAAK,MACDle,GAAU1E,KAAO4iB,EAAOC,GAAa,MACrC,MACJ,IAAK,OACDne,GAAU1E,KAAO4iB,EAAOC,GAAa,OACrC,MACJ,QACIne,EAAS1E,KAAO4iB,EAGxB,OAAOD,EAAUje,EAASwB,EAASxB,IAk/BvC0d,GAAMU,MA1uBN,SAAetd,GACX,IAAI8c,EAAMS,EAEV,QAActjB,KADd+F,EAAQD,EAAeC,KACc,gBAAVA,IAA4BxF,KAAKjB,UACxD,OAAOiB,KAKX,OAFA+iB,EAAc/iB,KAAKc,OAASqf,GAAiBD,GAErC1a,GACJ,IAAK,OACD8c,EAAOS,EAAY/iB,KAAKiG,OAAS,EAAG,EAAG,GAAK,EAC5C,MACJ,IAAK,UACDqc,EACIS,EACI/iB,KAAKiG,OACLjG,KAAK8G,QAAW9G,KAAK8G,QAAU,EAAK,EACpC,GACA,EACR,MACJ,IAAK,QACDwb,EAAOS,EAAY/iB,KAAKiG,OAAQjG,KAAK8G,QAAU,EAAG,GAAK,EACvD,MACJ,IAAK,OACDwb,EACIS,EACI/iB,KAAKiG,OACLjG,KAAK8G,QACL9G,KAAK+G,OAAS/G,KAAKiN,UAAY,GAC/B,EACR,MACJ,IAAK,UACDqV,EACIS,EACI/iB,KAAKiG,OACLjG,KAAK8G,QACL9G,KAAK+G,QAAU/G,KAAKgjB,aAAe,GAAK,GACxC,EACR,MACJ,IAAK,MACL,IAAK,OACDV,EAAOS,EAAY/iB,KAAKiG,OAAQjG,KAAK8G,QAAS9G,KAAK+G,OAAS,GAAK,EACjE,MACJ,IAAK,OACDub,EAAOtiB,KAAKX,GAAGhC,UACfilB,GAzIM,KA2IFvC,GACIuC,GAAQtiB,KAAKc,OAAS,EA7ItB,IA6I0Bd,KAAKuc,aA5IjC,MA+IF,EACJ,MACJ,IAAK,SACD+F,EAAOtiB,KAAKX,GAAGhC,UACfilB,GApJQ,IAoJgBvC,GAAMuC,EApJtB,KAoJ6C,EACrD,MACJ,IAAK,SACDA,EAAOtiB,KAAKX,GAAGhC,UACfilB,GAzJQ,IAyJgBvC,GAAMuC,EAzJtB,KAyJ6C,EAM7D,OAFAtiB,KAAKX,GAAG6d,QAAQoF,GAChBhnB,EAAM6F,aAAanB,MAAM,GAClBA,MAyqBXoiB,GAAM7kB,OAp5BN,SAAgB0lB,GACPA,IACDA,EAAcjjB,KAAKsd,QACbhiB,EAAMukB,iBACNvkB,EAAMskB,eAEhB,IAAIlb,EAASN,EAAapE,KAAMijB,GAChC,OAAOjjB,KAAKmE,aAAa+e,WAAWxe,IA84BxC0d,GAAM9hB,KA34BN,SAAcgiB,EAAMa,GAChB,OACInjB,KAAKjB,YACHqC,EAASkhB,IAASA,EAAKvjB,WAAcwZ,GAAY+J,GAAMvjB,WAElD0e,GAAe,CAAEpd,GAAIL,KAAMM,KAAMgiB,IACnC9kB,OAAOwC,KAAKxC,UACZ4lB,UAAUD,GAERnjB,KAAKmE,aAAaS,eAm4BjCwd,GAAMiB,QA/3BN,SAAiBF,GACb,OAAOnjB,KAAKM,KAAKiY,KAAe4K,IA+3BpCf,GAAM/hB,GA53BN,SAAYiiB,EAAMa,GACd,OACInjB,KAAKjB,YACHqC,EAASkhB,IAASA,EAAKvjB,WAAcwZ,GAAY+J,GAAMvjB,WAElD0e,GAAe,CAAEnd,KAAMN,KAAMK,GAAIiiB,IACnC9kB,OAAOwC,KAAKxC,UACZ4lB,UAAUD,GAERnjB,KAAKmE,aAAaS,eAo3BjCwd,GAAMkB,MAh3BN,SAAeH,GACX,OAAOnjB,KAAKK,GAAGkY,KAAe4K,IAg3BlCf,GAAMvb,IArjIN,SAAmBrB,GAEf,OAAIjD,EAAWvC,KADfwF,EAAQD,EAAeC,KAEZxF,KAAKwF,KAETxF,MAijIXoiB,GAAMmB,UAznBN,WACI,OAAO3lB,EAAgBoC,MAAM9B,UAynBjCkkB,GAAMnE,QA7mCN,SAAiBviB,EAAO8J,GACpB,IAAIge,EAAapiB,EAAS1F,GAASA,EAAQ6c,GAAY7c,GACvD,SAAMsE,KAAKjB,YAAaykB,EAAWzkB,aAIrB,iBADdyG,EAAQD,EAAeC,IAAU,eAEtBxF,KAAK3C,UAAYmmB,EAAWnmB,UAE5BmmB,EAAWnmB,UAAY2C,KAAKid,QAAQwF,QAAQjd,GAAOnI,YAqmClE+kB,GAAMtE,SAjmCN,SAAkBpiB,EAAO8J,GACrB,IAAIge,EAAapiB,EAAS1F,GAASA,EAAQ6c,GAAY7c,GACvD,SAAMsE,KAAKjB,YAAaykB,EAAWzkB,aAIrB,iBADdyG,EAAQD,EAAeC,IAAU,eAEtBxF,KAAK3C,UAAYmmB,EAAWnmB,UAE5B2C,KAAKid,QAAQ6F,MAAMtd,GAAOnI,UAAYmmB,EAAWnmB,YAylChE+kB,GAAMqB,UArlCN,SAAmBnjB,EAAMD,EAAImF,EAAOke,GAChC,IAAIC,EAAYviB,EAASd,GAAQA,EAAOiY,GAAYjY,GAChDsjB,EAAUxiB,EAASf,GAAMA,EAAKkY,GAAYlY,GAC9C,SAAML,KAAKjB,WAAa4kB,EAAU5kB,WAAa6kB,EAAQ7kB,cAK/B,OAFxB2kB,EAAcA,GAAe,MAEZ,GACP1jB,KAAKie,QAAQ0F,EAAWne,IACvBxF,KAAK8d,SAAS6F,EAAWne,MACZ,MAAnBke,EAAY,GACP1jB,KAAK8d,SAAS8F,EAASpe,IACtBxF,KAAKie,QAAQ2F,EAASpe,MAykCrC4c,GAAMyB,OArkCN,SAAgBnoB,EAAO8J,GACnB,IACIse,EADAN,EAAapiB,EAAS1F,GAASA,EAAQ6c,GAAY7c,GAEvD,SAAMsE,KAAKjB,YAAaykB,EAAWzkB,aAIrB,iBADdyG,EAAQD,EAAeC,IAAU,eAEtBxF,KAAK3C,YAAcmmB,EAAWnmB,WAErCymB,EAAUN,EAAWnmB,UAEjB2C,KAAKid,QAAQwF,QAAQjd,GAAOnI,WAAaymB,GACzCA,GAAW9jB,KAAKid,QAAQ6F,MAAMtd,GAAOnI,aAyjCjD+kB,GAAM2B,cApjCN,SAAuBroB,EAAO8J,GAC1B,OAAOxF,KAAK6jB,OAAOnoB,EAAO8J,IAAUxF,KAAKie,QAAQviB,EAAO8J,IAojC5D4c,GAAM4B,eAjjCN,SAAwBtoB,EAAO8J,GAC3B,OAAOxF,KAAK6jB,OAAOnoB,EAAO8J,IAAUxF,KAAK8d,SAASpiB,EAAO8J,IAijC7D4c,GAAMrjB,QAxoBN,WACI,OAAOA,EAAQiB,OAwoBnBoiB,GAAMtC,KAAOA,GACbsC,GAAM5kB,OAASA,GACf4kB,GAAMje,WAAaA,GACnBie,GAAM7e,IAAMsX,GACZuH,GAAMtX,IAAM6P,GACZyH,GAAM6B,aA1oBN,WACI,OAAO7mB,EAAO,GAAIQ,EAAgBoC,QA0oBtCoiB,GAAMvf,IA5jIN,SAAmB2C,EAAOgB,GACtB,GAAqB,iBAAVhB,EAAoB,CAE3B,IACIvI,EADAinB,EAzFZ,SAA6BC,GACzB,IACIC,EADA5e,EAAQ,GAEZ,IAAK4e,KAAKD,EACFloB,EAAWkoB,EAAUC,IACrB5e,EAAMrI,KAAK,CAAEgI,KAAMif,EAAGre,SAAUF,EAAWue,KAMnD,OAHA5e,EAAM6F,MAAK,SAAUnP,EAAGC,GACpB,OAAOD,EAAE6J,SAAW5J,EAAE4J,YAEnBP,EA8Ee6e,CADlB7e,EAAQC,EAAqBD,IAG7B,IAAKvI,EAAI,EAAGA,EAAIinB,EAAY1nB,OAAQS,IAChC+C,KAAKkkB,EAAYjnB,GAAGkI,MAAMK,EAAM0e,EAAYjnB,GAAGkI,YAInD,GAAI5C,EAAWvC,KADfwF,EAAQD,EAAeC,KAEnB,OAAOxF,KAAKwF,GAAOgB,GAG3B,OAAOxG,MA+iIXoiB,GAAMK,QA/zBN,SAAiBjd,GACb,IAAI8c,EAAMS,EAEV,QAActjB,KADd+F,EAAQD,EAAeC,KACc,gBAAVA,IAA4BxF,KAAKjB,UACxD,OAAOiB,KAKX,OAFA+iB,EAAc/iB,KAAKc,OAASqf,GAAiBD,GAErC1a,GACJ,IAAK,OACD8c,EAAOS,EAAY/iB,KAAKiG,OAAQ,EAAG,GACnC,MACJ,IAAK,UACDqc,EAAOS,EACH/iB,KAAKiG,OACLjG,KAAK8G,QAAW9G,KAAK8G,QAAU,EAC/B,GAEJ,MACJ,IAAK,QACDwb,EAAOS,EAAY/iB,KAAKiG,OAAQjG,KAAK8G,QAAS,GAC9C,MACJ,IAAK,OACDwb,EAAOS,EACH/iB,KAAKiG,OACLjG,KAAK8G,QACL9G,KAAK+G,OAAS/G,KAAKiN,WAEvB,MACJ,IAAK,UACDqV,EAAOS,EACH/iB,KAAKiG,OACLjG,KAAK8G,QACL9G,KAAK+G,QAAU/G,KAAKgjB,aAAe,IAEvC,MACJ,IAAK,MACL,IAAK,OACDV,EAAOS,EAAY/iB,KAAKiG,OAAQjG,KAAK8G,QAAS9G,KAAK+G,QACnD,MACJ,IAAK,OACDub,EAAOtiB,KAAKX,GAAGhC,UACfilB,GAAQvC,GACJuC,GAAQtiB,KAAKc,OAAS,EAzElB,IAyEsBd,KAAKuc,aAxE7B,MA2EN,MACJ,IAAK,SACD+F,EAAOtiB,KAAKX,GAAGhC,UACfilB,GAAQvC,GAAMuC,EA/EN,KAgFR,MACJ,IAAK,SACDA,EAAOtiB,KAAKX,GAAGhC,UACfilB,GAAQvC,GAAMuC,EApFN,KA0FhB,OAFAtiB,KAAKX,GAAG6d,QAAQoF,GAChBhnB,EAAM6F,aAAanB,MAAM,GAClBA,MAowBXoiB,GAAM3D,SAAWA,GACjB2D,GAAMkC,QAjrBN,WACI,IAAIzmB,EAAImC,KACR,MAAO,CACHnC,EAAEoI,OACFpI,EAAEiJ,QACFjJ,EAAEkJ,OACFlJ,EAAEqb,OACFrb,EAAEuc,SACFvc,EAAEwc,SACFxc,EAAEyc,gBAyqBV8H,GAAMmC,SArqBN,WACI,IAAI1mB,EAAImC,KACR,MAAO,CACHmb,MAAOtd,EAAEoI,OACTyD,OAAQ7L,EAAEiJ,QACVC,KAAMlJ,EAAEkJ,OACR8I,MAAOhS,EAAEgS,QACTE,QAASlS,EAAEkS,UACXG,QAASrS,EAAEqS,UACXuL,aAAc5d,EAAE4d,iBA6pBxB2G,GAAMoC,OAvrBN,WACI,OAAO,IAAI3nB,KAAKmD,KAAK3C,YAurBzB+kB,GAAMqC,YAx+BN,SAAqBC,GACjB,IAAK1kB,KAAKjB,UACN,OAAO,KAEX,IAAIpB,GAAqB,IAAf+mB,EACN7mB,EAAIF,EAAMqC,KAAKid,QAAQtf,MAAQqC,KACnC,OAAInC,EAAEoI,OAAS,GAAKpI,EAAEoI,OAAS,KACpB7B,EACHvG,EACAF,EACM,iCACA,gCAGV4E,EAAW1F,KAAKhB,UAAU4oB,aAEtB9mB,EACOqC,KAAKwkB,SAASC,cAEd,IAAI5nB,KAAKmD,KAAK3C,UAA+B,GAAnB2C,KAAKuc,YAAmB,KACpDkI,cACAjgB,QAAQ,IAAKJ,EAAavG,EAAG,MAGnCuG,EACHvG,EACAF,EAAM,+BAAiC,+BA+8B/CykB,GAAMuC,QAr8BN,WACI,IAAK3kB,KAAKjB,UACN,MAAO,qBAAuBiB,KAAKU,GAAK,OAE5C,IAEIkkB,EACA3e,EAEA4e,EALA3gB,EAAO,SACP4gB,EAAO,GAcX,OATK9kB,KAAK+kB,YACN7gB,EAA4B,IAArBlE,KAAKuc,YAAoB,aAAe,mBAC/CuI,EAAO,KAEXF,EAAS,IAAM1gB,EAAO,MACtB+B,EAAO,GAAKjG,KAAKiG,QAAUjG,KAAKiG,QAAU,KAAO,OAAS,SAE1D4e,EAASC,EAAO,OAET9kB,KAAKzC,OAAOqnB,EAAS3e,EAHjB,wBAGmC4e,IAm7B5B,oBAAXG,QAAwC,MAAdA,OAAOC,MACxC7C,GAAM4C,OAAOC,IAAI,+BAAiC,WAC9C,MAAO,UAAYjlB,KAAKzC,SAAW,MAG3C6kB,GAAM8C,OAjqBN,WAEI,OAAOllB,KAAKjB,UAAYiB,KAAKykB,cAAgB,MAgqBjDrC,GAAMtmB,SAp/BN,WACI,OAAOkE,KAAKid,QAAQzf,OAAO,MAAMD,OAAO,qCAo/B5C6kB,GAAM+C,KArsBN,WACI,OAAOhiB,KAAKiD,MAAMpG,KAAK3C,UAAY,MAqsBvC+kB,GAAM/kB,QA1sBN,WACI,OAAO2C,KAAKX,GAAGhC,UAAkC,KAArB2C,KAAKe,SAAW,IA0sBhDqhB,GAAMgD,aAppBN,WACI,MAAO,CACH1pB,MAAOsE,KAAKU,GACZnD,OAAQyC,KAAKW,GACbnD,OAAQwC,KAAKgB,QACbyZ,MAAOza,KAAKc,OACZrD,OAAQuC,KAAKR,UA+oBrB4iB,GAAMiD,QAzgBN,WACI,IAAIpoB,EACAoY,EACA7U,EACAkgB,EAAO1gB,KAAKmE,aAAauc,OAC7B,IAAKzjB,EAAI,EAAGoY,EAAIqL,EAAKlkB,OAAQS,EAAIoY,IAAKpY,EAAG,CAIrC,GAFAuD,EAAMR,KAAKid,QAAQwF,QAAQ,OAAOplB,UAE9BqjB,EAAKzjB,GAAGqoB,OAAS9kB,GAAOA,GAAOkgB,EAAKzjB,GAAGsoB,MACvC,OAAO7E,EAAKzjB,GAAGqF,KAEnB,GAAIoe,EAAKzjB,GAAGsoB,OAAS/kB,GAAOA,GAAOkgB,EAAKzjB,GAAGqoB,MACvC,OAAO5E,EAAKzjB,GAAGqF,KAIvB,MAAO,IAyfX8f,GAAMoD,UAtfN,WACI,IAAIvoB,EACAoY,EACA7U,EACAkgB,EAAO1gB,KAAKmE,aAAauc,OAC7B,IAAKzjB,EAAI,EAAGoY,EAAIqL,EAAKlkB,OAAQS,EAAIoY,IAAKpY,EAAG,CAIrC,GAFAuD,EAAMR,KAAKid,QAAQwF,QAAQ,OAAOplB,UAE9BqjB,EAAKzjB,GAAGqoB,OAAS9kB,GAAOA,GAAOkgB,EAAKzjB,GAAGsoB,MACvC,OAAO7E,EAAKzjB,GAAG0jB,OAEnB,GAAID,EAAKzjB,GAAGsoB,OAAS/kB,GAAOA,GAAOkgB,EAAKzjB,GAAGqoB,MACvC,OAAO5E,EAAKzjB,GAAG0jB,OAIvB,MAAO,IAseXyB,GAAMqD,QAneN,WACI,IAAIxoB,EACAoY,EACA7U,EACAkgB,EAAO1gB,KAAKmE,aAAauc,OAC7B,IAAKzjB,EAAI,EAAGoY,EAAIqL,EAAKlkB,OAAQS,EAAIoY,IAAKpY,EAAG,CAIrC,GAFAuD,EAAMR,KAAKid,QAAQwF,QAAQ,OAAOplB,UAE9BqjB,EAAKzjB,GAAGqoB,OAAS9kB,GAAOA,GAAOkgB,EAAKzjB,GAAGsoB,MACvC,OAAO7E,EAAKzjB,GAAGsW,KAEnB,GAAImN,EAAKzjB,GAAGsoB,OAAS/kB,GAAOA,GAAOkgB,EAAKzjB,GAAGqoB,MACvC,OAAO5E,EAAKzjB,GAAGsW,KAIvB,MAAO,IAmdX6O,GAAMsD,QAhdN,WACI,IAAIzoB,EACAoY,EACAsQ,EACAnlB,EACAkgB,EAAO1gB,KAAKmE,aAAauc,OAC7B,IAAKzjB,EAAI,EAAGoY,EAAIqL,EAAKlkB,OAAQS,EAAIoY,IAAKpY,EAMlC,GALA0oB,EAAMjF,EAAKzjB,GAAGqoB,OAAS5E,EAAKzjB,GAAGsoB,MAAQ,GAAM,EAG7C/kB,EAAMR,KAAKid,QAAQwF,QAAQ,OAAOplB,UAG7BqjB,EAAKzjB,GAAGqoB,OAAS9kB,GAAOA,GAAOkgB,EAAKzjB,GAAGsoB,OACvC7E,EAAKzjB,GAAGsoB,OAAS/kB,GAAOA,GAAOkgB,EAAKzjB,GAAGqoB,MAExC,OACKtlB,KAAKiG,OAAS3K,EAAMolB,EAAKzjB,GAAGqoB,OAAOrf,QAAU0f,EAC9CjF,EAAKzjB,GAAGof,OAKpB,OAAOrc,KAAKiG,QA0bhBmc,GAAMnc,KAAO6F,GACbsW,GAAMpc,WAzkHN,WACI,OAAOA,EAAWhG,KAAKiG,SAykH3Bmc,GAAMpK,SAjUN,SAAwBtc,GACpB,OAAOwlB,GAAqBnlB,KACxBiE,KACAtE,EACAsE,KAAKgN,OACLhN,KAAKiN,UACLjN,KAAKmE,aAAaqU,MAAM7L,IACxB3M,KAAKmE,aAAaqU,MAAM5L,MA2ThCwV,GAAMT,YAvTN,SAA2BjmB,GACvB,OAAOwlB,GAAqBnlB,KACxBiE,KACAtE,EACAsE,KAAKub,UACLvb,KAAKgjB,aACL,EACA,IAiTRZ,GAAM/G,QAAU+G,GAAMhH,SA/OtB,SAAuB1f,GACnB,OAAgB,MAATA,EACDyH,KAAKgD,MAAMnG,KAAK8G,QAAU,GAAK,GAC/B9G,KAAK8G,MAAoB,GAAbpL,EAAQ,GAAUsE,KAAK8G,QAAU,IA6OvDsb,GAAMtb,MAAQiE,GACdqX,GAAMpb,YAhuHN,WACI,OAAOA,GAAYhH,KAAKiG,OAAQjG,KAAK8G,UAguHzCsb,GAAMpV,KAAOoV,GAAM9G,MAj7GnB,SAAoB5f,GAChB,IAAIsR,EAAOhN,KAAKmE,aAAa6I,KAAKhN,MAClC,OAAgB,MAATtE,EAAgBsR,EAAOhN,KAAK0a,IAAqB,GAAhBhf,EAAQsR,GAAW,MAg7G/DoV,GAAM7G,QAAU6G,GAAMwD,SA76GtB,SAAuBlqB,GACnB,IAAIsR,EAAOK,GAAWrN,KAAM,EAAG,GAAGgN,KAClC,OAAgB,MAATtR,EAAgBsR,EAAOhN,KAAK0a,IAAqB,GAAhBhf,EAAQsR,GAAW,MA46G/DoV,GAAM5U,YA1SN,WACI,IAAIqY,EAAW7lB,KAAKmE,aAAaqU,MACjC,OAAOhL,GAAYxN,KAAKiG,OAAQ4f,EAASlZ,IAAKkZ,EAASjZ,MAyS3DwV,GAAM0D,gBAtSN,WACI,IAAID,EAAW7lB,KAAKmE,aAAaqU,MACjC,OAAOhL,GAAYxN,KAAKgY,WAAY6N,EAASlZ,IAAKkZ,EAASjZ,MAqS/DwV,GAAM2D,eApTN,WACI,OAAOvY,GAAYxN,KAAKiG,OAAQ,EAAG,IAoTvCmc,GAAM4D,sBAjTN,WACI,OAAOxY,GAAYxN,KAAK2hB,cAAe,EAAG,IAiT9CS,GAAMrb,KAAOgb,GACbK,GAAMpT,IAAMoT,GAAM5G,KA9pGlB,SAAyB9f,GACrB,IAAKsE,KAAKjB,UACN,OAAgB,MAATrD,EAAgBsE,KAAOH,IAElC,IAAImP,EAAMhP,KAAKc,OAASd,KAAKX,GAAGyN,YAAc9M,KAAKX,GAAGoX,SACtD,OAAa,MAAT/a,GACAA,EAzNR,SAAsBA,EAAO8B,GACzB,MAAqB,iBAAV9B,EACAA,EAGN0D,MAAM1D,GAKU,iBADrBA,EAAQ8B,EAAO4Q,cAAc1S,IAElBA,EAGJ,KARImQ,SAASnQ,EAAO,IAmNfuqB,CAAavqB,EAAOsE,KAAKmE,cAC1BnE,KAAK0a,IAAIhf,EAAQsT,EAAK,MAEtBA,GAspGfoT,GAAMnV,QAlpGN,SAA+BvR,GAC3B,IAAKsE,KAAKjB,UACN,OAAgB,MAATrD,EAAgBsE,KAAOH,IAElC,IAAIoN,GAAWjN,KAAKgP,MAAQ,EAAIhP,KAAKmE,aAAaqU,MAAM7L,KAAO,EAC/D,OAAgB,MAATjR,EAAgBuR,EAAUjN,KAAK0a,IAAIhf,EAAQuR,EAAS,MA8oG/DmV,GAAMY,WA3oGN,SAA4BtnB,GACxB,IAAKsE,KAAKjB,UACN,OAAgB,MAATrD,EAAgBsE,KAAOH,IAOlC,GAAa,MAATnE,EAAe,CACf,IAAIuR,EAjOZ,SAAyBvR,EAAO8B,GAC5B,MAAqB,iBAAV9B,EACA8B,EAAO4Q,cAAc1S,GAAS,GAAK,EAEvC0D,MAAM1D,GAAS,KAAOA,EA6NXwqB,CAAgBxqB,EAAOsE,KAAKmE,cAC1C,OAAOnE,KAAKgP,IAAIhP,KAAKgP,MAAQ,EAAI/B,EAAUA,EAAU,GAErD,OAAOjN,KAAKgP,OAAS,GA+nG7BoT,GAAMhV,UAhMN,SAAyB1R,GACrB,IAAI0R,EACAjK,KAAKiZ,OACApc,KAAKid,QAAQwF,QAAQ,OAASziB,KAAKid,QAAQwF,QAAQ,SAAW,OAC/D,EACR,OAAgB,MAAT/mB,EAAgB0R,EAAYpN,KAAK0a,IAAIhf,EAAQ0R,EAAW,MA4LnEgV,GAAMlJ,KAAOkJ,GAAMvS,MAAQc,GAC3ByR,GAAMhI,OAASgI,GAAMrS,QAAUiS,GAC/BI,GAAM/H,OAAS+H,GAAMlS,QAAUgS,GAC/BE,GAAM9H,YAAc8H,GAAM3G,aAAewG,GACzCG,GAAM7F,UAhnDN,SAAsB7gB,EAAOyqB,EAAeC,GACxC,IACIC,EADAhK,EAASrc,KAAKe,SAAW,EAE7B,IAAKf,KAAKjB,UACN,OAAgB,MAATrD,EAAgBsE,KAAOH,IAElC,GAAa,MAATnE,EAAe,CACf,GAAqB,iBAAVA,GAEP,GAAc,QADdA,EAAQ+gB,GAAiBzU,GAAkBtM,IAEvC,OAAOsE,UAEJmD,KAAKC,IAAI1H,GAAS,KAAO0qB,IAChC1qB,GAAgB,IAwBpB,OAtBKsE,KAAKc,QAAUqlB,IAChBE,EAAcjJ,GAAcpd,OAEhCA,KAAKe,QAAUrF,EACfsE,KAAKc,QAAS,EACK,MAAfulB,GACArmB,KAAK0a,IAAI2L,EAAa,KAEtBhK,IAAW3gB,KACNyqB,GAAiBnmB,KAAKsmB,kBACvBhI,GACIte,KACAyd,GAAe/hB,EAAQ2gB,EAAQ,KAC/B,GACA,GAEIrc,KAAKsmB,oBACbtmB,KAAKsmB,mBAAoB,EACzBhrB,EAAM6F,aAAanB,MAAM,GACzBA,KAAKsmB,kBAAoB,OAG1BtmB,KAEP,OAAOA,KAAKc,OAASub,EAASe,GAAcpd,OA0kDpDoiB,GAAMzkB,IAxjDN,SAAwBwoB,GACpB,OAAOnmB,KAAKuc,UAAU,EAAG4J,IAwjD7B/D,GAAMjF,MArjDN,SAA0BgJ,GAStB,OARInmB,KAAKc,SACLd,KAAKuc,UAAU,EAAG4J,GAClBnmB,KAAKc,QAAS,EAEVqlB,GACAnmB,KAAKye,SAASrB,GAAcpd,MAAO,MAGpCA,MA6iDXoiB,GAAMmE,UA1iDN,WACI,GAAiB,MAAbvmB,KAAKa,KACLb,KAAKuc,UAAUvc,KAAKa,MAAM,GAAO,QAC9B,GAAuB,iBAAZb,KAAKU,GAAiB,CACpC,IAAI8lB,EAAQ/J,GAAiB1U,GAAa/H,KAAKU,IAClC,MAAT8lB,EACAxmB,KAAKuc,UAAUiK,GAEfxmB,KAAKuc,UAAU,GAAG,GAG1B,OAAOvc,MAgiDXoiB,GAAMqE,qBA7hDN,SAA8B/qB,GAC1B,QAAKsE,KAAKjB,YAGVrD,EAAQA,EAAQ6c,GAAY7c,GAAO6gB,YAAc,GAEzCvc,KAAKuc,YAAc7gB,GAAS,IAAO,IAwhD/C0mB,GAAMsE,MArhDN,WACI,OACI1mB,KAAKuc,YAAcvc,KAAKid,QAAQnW,MAAM,GAAGyV,aACzCvc,KAAKuc,YAAcvc,KAAKid,QAAQnW,MAAM,GAAGyV,aAmhDjD6F,GAAM2C,QAz/CN,WACI,QAAO/kB,KAAKjB,YAAaiB,KAAKc,QAy/ClCshB,GAAMuE,YAt/CN,WACI,QAAO3mB,KAAKjB,WAAYiB,KAAKc,QAs/CjCshB,GAAM9E,MAAQA,GACd8E,GAAM3H,MAAQ6C,GACd8E,GAAMwE,SAzFN,WACI,OAAO5mB,KAAKc,OAAS,MAAQ,IAyFjCshB,GAAMyE,SAtFN,WACI,OAAO7mB,KAAKc,OAAS,6BAA+B,IAsFxDshB,GAAM0E,MAAQrlB,EACV,kDACAsgB,IAEJK,GAAM1Y,OAASjI,EACX,mDACAsJ,IAEJqX,GAAMjH,MAAQ1Z,EACV,iDACAqK,IAEJsW,GAAM0C,KAAOrjB,EACT,4GA9lDJ,SAAoB/F,EAAOyqB,GACvB,OAAa,MAATzqB,GACqB,iBAAVA,IACPA,GAASA,GAGbsE,KAAKuc,UAAU7gB,EAAOyqB,GAEfnmB,OAECA,KAAKuc,eAulDrB6F,GAAM2E,aAAetlB,EACjB,2GAtiDJ,WACI,IAAK/E,EAAYsD,KAAKgnB,eAClB,OAAOhnB,KAAKgnB,cAGhB,IACIpM,EADAzD,EAAI,GAcR,OAXA/W,EAAW+W,EAAGnX,OACdmX,EAAIoC,GAAcpC,IAEZ9N,IACFuR,EAAQzD,EAAErW,OAASxD,EAAU6Z,EAAE9N,IAAMkP,GAAYpB,EAAE9N,IACnDrJ,KAAKgnB,cACDhnB,KAAKjB,WAtOjB,SAAuBkoB,EAAQC,EAAQC,GACnC,IAGIlqB,EAHAgD,EAAMkD,KAAK2H,IAAImc,EAAOzqB,OAAQ0qB,EAAO1qB,QACrC4qB,EAAajkB,KAAKC,IAAI6jB,EAAOzqB,OAAS0qB,EAAO1qB,QAC7C6qB,EAAQ,EAEZ,IAAKpqB,EAAI,EAAGA,EAAIgD,EAAKhD,KAEZkqB,GAAeF,EAAOhqB,KAAOiqB,EAAOjqB,KACnCkqB,GAAe9gB,EAAM4gB,EAAOhqB,MAAQoJ,EAAM6gB,EAAOjqB,MAEnDoqB,IAGR,OAAOA,EAAQD,EAyNWE,CAAcnQ,EAAE9N,GAAIuR,EAAM0J,WAAa,GAE7DtkB,KAAKgnB,eAAgB,EAGlBhnB,KAAKgnB,iBAmiDhB,IAAIO,GAAU3kB,EAAO/G,UAuCrB,SAAS2rB,GAAMjqB,EAAQkqB,EAAOC,EAAOC,GACjC,IAAInqB,EAAS6V,KACT1V,EAAML,IAAYuF,IAAI8kB,EAAQF,GAClC,OAAOjqB,EAAOkqB,GAAO/pB,EAAKJ,GAG9B,SAASqqB,GAAerqB,EAAQkqB,EAAOC,GAQnC,GAPI/qB,EAASY,KACTkqB,EAAQlqB,EACRA,OAASkC,GAGblC,EAASA,GAAU,GAEN,MAATkqB,EACA,OAAOD,GAAMjqB,EAAQkqB,EAAOC,EAAO,SAGvC,IAAIzqB,EACA4qB,EAAM,GACV,IAAK5qB,EAAI,EAAGA,EAAI,GAAIA,IAChB4qB,EAAI5qB,GAAKuqB,GAAMjqB,EAAQN,EAAGyqB,EAAO,SAErC,OAAOG,EAWX,SAASC,GAAiBC,EAAcxqB,EAAQkqB,EAAOC,GACvB,kBAAjBK,GACHprB,EAASY,KACTkqB,EAAQlqB,EACRA,OAASkC,GAGblC,EAASA,GAAU,KAGnBkqB,EADAlqB,EAASwqB,EAETA,GAAe,EAEXprB,EAASY,KACTkqB,EAAQlqB,EACRA,OAASkC,GAGblC,EAASA,GAAU,IAGvB,IAEIN,EAFAO,EAAS6V,KACT2U,EAAQD,EAAevqB,EAAOgb,MAAM7L,IAAM,EAE1Ckb,EAAM,GAEV,GAAa,MAATJ,EACA,OAAOD,GAAMjqB,GAASkqB,EAAQO,GAAS,EAAGN,EAAO,OAGrD,IAAKzqB,EAAI,EAAGA,EAAI,EAAGA,IACf4qB,EAAI5qB,GAAKuqB,GAAMjqB,GAASN,EAAI+qB,GAAS,EAAGN,EAAO,OAEnD,OAAOG,EAxGXN,GAAQ1W,SAn9IR,SAAkBhP,EAAK4C,EAAKgT,GACxB,IAAI/S,EAAS1E,KAAKioB,UAAUpmB,IAAQ7B,KAAKioB,UAAoB,SAC7D,OAAO1lB,EAAWmC,GAAUA,EAAO3I,KAAK0I,EAAKgT,GAAO/S,GAk9IxD6iB,GAAQziB,eAx1IR,SAAwBjD,GACpB,IAAItE,EAASyC,KAAKkoB,gBAAgBrmB,GAC9BsmB,EAAcnoB,KAAKkoB,gBAAgBrmB,EAAIumB,eAE3C,OAAI7qB,IAAW4qB,EACJ5qB,GAGXyC,KAAKkoB,gBAAgBrmB,GAAOsmB,EACvB5jB,MAAMd,GACN3G,KAAI,SAAUurB,GACX,MACY,SAARA,GACQ,OAARA,GACQ,OAARA,GACQ,SAARA,EAEOA,EAAItmB,MAAM,GAEdsmB,KAEVrmB,KAAK,IAEHhC,KAAKkoB,gBAAgBrmB,KAk0IhC0lB,GAAQ3iB,YA7zIR,WACI,OAAO5E,KAAKsoB,cA6zIhBf,GAAQvjB,QAvzIR,SAAiBjB,GACb,OAAO/C,KAAKuoB,SAAS/jB,QAAQ,KAAMzB,IAuzIvCwkB,GAAQ/N,SAAW6I,GACnBkF,GAAQrE,WAAab,GACrBkF,GAAQ5V,aAnyIR,SAAsB5O,EAAQogB,EAAezN,EAAQ8S,GACjD,IAAI9jB,EAAS1E,KAAKyoB,cAAc/S,GAChC,OAAOnT,EAAWmC,GACZA,EAAO3B,EAAQogB,EAAezN,EAAQ8S,GACtC9jB,EAAOF,QAAQ,MAAOzB,IAgyIhCwkB,GAAQmB,WA7xIR,SAAoB1L,EAAMtY,GACtB,IAAInH,EAASyC,KAAKyoB,cAAczL,EAAO,EAAI,SAAW,QACtD,OAAOza,EAAWhF,GAAUA,EAAOmH,GAAUnH,EAAOiH,QAAQ,MAAOE,IA4xIvE6iB,GAAQ1kB,IA/iJR,SAAa3B,GACT,IAAIX,EAAMtD,EACV,IAAKA,KAAKiE,EACFjF,EAAWiF,EAAQjE,KAEfsF,EADJhC,EAAOW,EAAOjE,IAEV+C,KAAK/C,GAAKsD,EAEVP,KAAK,IAAM/C,GAAKsD,GAI5BP,KAAKwT,QAAUtS,EAIflB,KAAK8hB,+BAAiC,IAAIvZ,QACrCvI,KAAK4hB,wBAAwB+G,QAAU3oB,KAAK6hB,cAAc8G,QACvD,IACA,UAAUA,SA6hJtBpB,GAAQ7G,KA1qBR,SAAoB7iB,EAAGN,GACnB,IAAIN,EACAoY,EACAtO,EACA2Z,EAAO1gB,KAAK4oB,OAASvV,GAAU,MAAMuV,MACzC,IAAK3rB,EAAI,EAAGoY,EAAIqL,EAAKlkB,OAAQS,EAAIoY,IAAKpY,EAAG,CACrC,cAAeyjB,EAAKzjB,GAAGqoB,OACnB,IAAK,SAEDve,EAAOzL,EAAMolB,EAAKzjB,GAAGqoB,OAAO7C,QAAQ,OACpC/B,EAAKzjB,GAAGqoB,MAAQve,EAAK1J,UAI7B,cAAeqjB,EAAKzjB,GAAGsoB,OACnB,IAAK,YACD7E,EAAKzjB,GAAGsoB,MAAQ,IAChB,MACJ,IAAK,SAEDxe,EAAOzL,EAAMolB,EAAKzjB,GAAGsoB,OAAO9C,QAAQ,OAAOplB,UAC3CqjB,EAAKzjB,GAAGsoB,MAAQxe,EAAK1J,WAIjC,OAAOqjB,GAkpBX6G,GAAQ/F,UA/oBR,SAAyB6D,EAAS9nB,EAAQE,GACtC,IAAIR,EACAoY,EAEA/S,EACAiR,EACAoN,EAHAD,EAAO1gB,KAAK0gB,OAMhB,IAFA2E,EAAUA,EAAQ+C,cAEbnrB,EAAI,EAAGoY,EAAIqL,EAAKlkB,OAAQS,EAAIoY,IAAKpY,EAKlC,GAJAqF,EAAOoe,EAAKzjB,GAAGqF,KAAK8lB,cACpB7U,EAAOmN,EAAKzjB,GAAGsW,KAAK6U,cACpBzH,EAASD,EAAKzjB,GAAG0jB,OAAOyH,cAEpB3qB,EACA,OAAQF,GACJ,IAAK,IACL,IAAK,KACL,IAAK,MACD,GAAIgW,IAAS8R,EACT,OAAO3E,EAAKzjB,GAEhB,MAEJ,IAAK,OACD,GAAIqF,IAAS+iB,EACT,OAAO3E,EAAKzjB,GAEhB,MAEJ,IAAK,QACD,GAAI0jB,IAAW0E,EACX,OAAO3E,EAAKzjB,QAIrB,GAAI,CAACqF,EAAMiR,EAAMoN,GAAQ5X,QAAQsc,IAAY,EAChD,OAAO3E,EAAKzjB,IA2mBxBsqB,GAAQjO,gBAtmBR,SAA+B3a,EAAKsH,GAChC,IAAI0f,EAAMhnB,EAAI2mB,OAAS3mB,EAAI4mB,MAAQ,GAAM,EACzC,YAAa9lB,IAATwG,EACO3K,EAAMqD,EAAI2mB,OAAOrf,OAEjB3K,EAAMqD,EAAI2mB,OAAOrf,QAAUA,EAAOtH,EAAI0d,QAAUsJ,GAkmB/D4B,GAAQlH,cAjgBR,SAAuBhY,GAInB,OAHKpM,EAAW+D,KAAM,mBAClBsgB,GAAiBvkB,KAAKiE,MAEnBqI,EAAWrI,KAAK8gB,eAAiB9gB,KAAK4gB,YA8fjD2G,GAAQjG,cAzgBR,SAAuBjZ,GAInB,OAHKpM,EAAW+D,KAAM,mBAClBsgB,GAAiBvkB,KAAKiE,MAEnBqI,EAAWrI,KAAK6gB,eAAiB7gB,KAAK4gB,YAsgBjD2G,GAAQhG,gBA5fR,SAAyBlZ,GAIrB,OAHKpM,EAAW+D,KAAM,qBAClBsgB,GAAiBvkB,KAAKiE,MAEnBqI,EAAWrI,KAAK+gB,iBAAmB/gB,KAAK4gB,YA0fnD2G,GAAQ7d,OAp9HR,SAAsB7L,EAAGN,GACrB,OAAKM,EAKEpC,EAAQuE,KAAK+b,SACd/b,KAAK+b,QAAQle,EAAEiJ,SACf9G,KAAK+b,SACA/b,KAAK+b,QAAQ8M,UAAY5e,IAAkBjF,KAAKzH,GAC3C,SACA,cACRM,EAAEiJ,SAVCrL,EAAQuE,KAAK+b,SACd/b,KAAK+b,QACL/b,KAAK+b,QAAoB,YAi9HvCwL,GAAQ9d,YAt8HR,SAA2B5L,EAAGN,GAC1B,OAAKM,EAKEpC,EAAQuE,KAAK8oB,cACd9oB,KAAK8oB,aAAajrB,EAAEiJ,SACpB9G,KAAK8oB,aACD7e,GAAiBjF,KAAKzH,GAAU,SAAW,cAC7CM,EAAEiJ,SARCrL,EAAQuE,KAAK8oB,cACd9oB,KAAK8oB,aACL9oB,KAAK8oB,aAAyB,YAm8H5CvB,GAAQ1d,YA34HR,SAA2BQ,EAAW9M,EAAQE,GAC1C,IAAIR,EAAGwH,EAAK0D,EAEZ,GAAInI,KAAK+oB,kBACL,OAAO3e,GAAkBrO,KAAKiE,KAAMqK,EAAW9M,EAAQE,GAY3D,IATKuC,KAAKyK,eACNzK,KAAKyK,aAAe,GACpBzK,KAAK0K,iBAAmB,GACxB1K,KAAK2K,kBAAoB,IAMxB1N,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAmBrB,GAjBAwH,EAAMnH,EAAU,CAAC,IAAML,IACnBQ,IAAWuC,KAAK0K,iBAAiBzN,KACjC+C,KAAK0K,iBAAiBzN,GAAK,IAAIsL,OAC3B,IAAMvI,KAAK0J,OAAOjF,EAAK,IAAID,QAAQ,IAAK,IAAM,IAC9C,KAEJxE,KAAK2K,kBAAkB1N,GAAK,IAAIsL,OAC5B,IAAMvI,KAAKyJ,YAAYhF,EAAK,IAAID,QAAQ,IAAK,IAAM,IACnD,MAGH/G,GAAWuC,KAAKyK,aAAaxN,KAC9BkL,EACI,IAAMnI,KAAK0J,OAAOjF,EAAK,IAAM,KAAOzE,KAAKyJ,YAAYhF,EAAK,IAC9DzE,KAAKyK,aAAaxN,GAAK,IAAIsL,OAAOJ,EAAM3D,QAAQ,IAAK,IAAK,MAI1D/G,GACW,SAAXF,GACAyC,KAAK0K,iBAAiBzN,GAAG+H,KAAKqF,GAE9B,OAAOpN,EACJ,GACHQ,GACW,QAAXF,GACAyC,KAAK2K,kBAAkB1N,GAAG+H,KAAKqF,GAE/B,OAAOpN,EACJ,IAAKQ,GAAUuC,KAAKyK,aAAaxN,GAAG+H,KAAKqF,GAC5C,OAAOpN,IA41HnBsqB,GAAQ3d,YA1xHR,SAAqBvB,GACjB,OAAIrI,KAAK+oB,mBACA9sB,EAAW+D,KAAM,iBAClBgL,GAAmBjP,KAAKiE,MAExBqI,EACOrI,KAAKwL,mBAELxL,KAAKsL,eAGXrP,EAAW+D,KAAM,kBAClBA,KAAKsL,aAAenB,IAEjBnK,KAAKwL,oBAAsBnD,EAC5BrI,KAAKwL,mBACLxL,KAAKsL,eA2wHnBic,GAAQ5d,iBA/yHR,SAA0BtB,GACtB,OAAIrI,KAAK+oB,mBACA9sB,EAAW+D,KAAM,iBAClBgL,GAAmBjP,KAAKiE,MAExBqI,EACOrI,KAAKyL,wBAELzL,KAAKuL,oBAGXtP,EAAW+D,KAAM,uBAClBA,KAAKuL,kBAAoBrB,IAEtBlK,KAAKyL,yBAA2BpD,EACjCrI,KAAKyL,wBACLzL,KAAKuL,oBAgyHnBgc,GAAQva,KAvhHR,SAAoBvI,GAChB,OAAO4I,GAAW5I,EAAKzE,KAAKwY,MAAM7L,IAAK3M,KAAKwY,MAAM5L,KAAKI,MAuhH3Dua,GAAQyB,eA3gHR,WACI,OAAOhpB,KAAKwY,MAAM5L,KA2gHtB2a,GAAQ0B,eAhhHR,WACI,OAAOjpB,KAAKwY,MAAM7L,KAihHtB4a,GAAQvZ,SA35GR,SAAwBnQ,EAAGN,GACvB,IAAIyQ,EAAWvS,EAAQuE,KAAKkpB,WACtBlpB,KAAKkpB,UACLlpB,KAAKkpB,UACDrrB,IAAW,IAANA,GAAcmC,KAAKkpB,UAAUL,SAAS7jB,KAAKzH,GAC1C,SACA,cAEhB,OAAa,IAANM,EACD6P,GAAcM,EAAUhO,KAAKwY,MAAM7L,KACnC9O,EACAmQ,EAASnQ,EAAEmR,OACXhB,GAg5GVuZ,GAAQzZ,YAr4GR,SAA2BjQ,GACvB,OAAa,IAANA,EACD6P,GAAc1N,KAAKmpB,aAAcnpB,KAAKwY,MAAM7L,KAC5C9O,EACAmC,KAAKmpB,aAAatrB,EAAEmR,OACpBhP,KAAKmpB,cAi4Gf5B,GAAQxZ,cA94GR,SAA6BlQ,GACzB,OAAa,IAANA,EACD6P,GAAc1N,KAAKopB,eAAgBppB,KAAKwY,MAAM7L,KAC9C9O,EACAmC,KAAKopB,eAAevrB,EAAEmR,OACtBhP,KAAKopB,gBA04Gf7B,GAAQnZ,cAtzGR,SAA6BQ,EAAarR,EAAQE,GAC9C,IAAIR,EAAGwH,EAAK0D,EAEZ,GAAInI,KAAKqpB,oBACL,OAAO1a,GAAoB5S,KAAKiE,KAAM4O,EAAarR,EAAQE,GAU/D,IAPKuC,KAAK6O,iBACN7O,KAAK6O,eAAiB,GACtB7O,KAAK+O,kBAAoB,GACzB/O,KAAK8O,oBAAsB,GAC3B9O,KAAKspB,mBAAqB,IAGzBrsB,EAAI,EAAGA,EAAI,EAAGA,IAAK,CA6BpB,GA1BAwH,EAAMnH,EAAU,CAAC,IAAM,IAAI0R,IAAI/R,GAC3BQ,IAAWuC,KAAKspB,mBAAmBrsB,KACnC+C,KAAKspB,mBAAmBrsB,GAAK,IAAIsL,OAC7B,IAAMvI,KAAKgO,SAASvJ,EAAK,IAAID,QAAQ,IAAK,QAAU,IACpD,KAEJxE,KAAK8O,oBAAoB7R,GAAK,IAAIsL,OAC9B,IAAMvI,KAAK+N,cAActJ,EAAK,IAAID,QAAQ,IAAK,QAAU,IACzD,KAEJxE,KAAK+O,kBAAkB9R,GAAK,IAAIsL,OAC5B,IAAMvI,KAAK8N,YAAYrJ,EAAK,IAAID,QAAQ,IAAK,QAAU,IACvD,MAGHxE,KAAK6O,eAAe5R,KACrBkL,EACI,IACAnI,KAAKgO,SAASvJ,EAAK,IACnB,KACAzE,KAAK+N,cAActJ,EAAK,IACxB,KACAzE,KAAK8N,YAAYrJ,EAAK,IAC1BzE,KAAK6O,eAAe5R,GAAK,IAAIsL,OAAOJ,EAAM3D,QAAQ,IAAK,IAAK,MAI5D/G,GACW,SAAXF,GACAyC,KAAKspB,mBAAmBrsB,GAAG+H,KAAK4J,GAEhC,OAAO3R,EACJ,GACHQ,GACW,QAAXF,GACAyC,KAAK8O,oBAAoB7R,GAAG+H,KAAK4J,GAEjC,OAAO3R,EACJ,GACHQ,GACW,OAAXF,GACAyC,KAAK+O,kBAAkB9R,GAAG+H,KAAK4J,GAE/B,OAAO3R,EACJ,IAAKQ,GAAUuC,KAAK6O,eAAe5R,GAAG+H,KAAK4J,GAC9C,OAAO3R,IA0vGnBsqB,GAAQpZ,cA7sGR,SAAuB9F,GACnB,OAAIrI,KAAKqpB,qBACAptB,EAAW+D,KAAM,mBAClBiP,GAAqBlT,KAAKiE,MAE1BqI,EACOrI,KAAKyP,qBAELzP,KAAKsP,iBAGXrT,EAAW+D,KAAM,oBAClBA,KAAKsP,eAAiBd,IAEnBxO,KAAKyP,sBAAwBpH,EAC9BrI,KAAKyP,qBACLzP,KAAKsP,iBA8rGnBiY,GAAQrZ,mBA1rGR,SAA4B7F,GACxB,OAAIrI,KAAKqpB,qBACAptB,EAAW+D,KAAM,mBAClBiP,GAAqBlT,KAAKiE,MAE1BqI,EACOrI,KAAK0P,0BAEL1P,KAAKuP,sBAGXtT,EAAW+D,KAAM,yBAClBA,KAAKuP,oBAAsBd,IAExBzO,KAAK0P,2BAA6BrH,EACnCrI,KAAK0P,0BACL1P,KAAKuP,sBA2qGnBgY,GAAQtZ,iBAvqGR,SAA0B5F,GACtB,OAAIrI,KAAKqpB,qBACAptB,EAAW+D,KAAM,mBAClBiP,GAAqBlT,KAAKiE,MAE1BqI,EACOrI,KAAK2P,wBAEL3P,KAAKwP,oBAGXvT,EAAW+D,KAAM,uBAClBA,KAAKwP,kBAAoBd,IAEtB1O,KAAK2P,yBAA2BtH,EACjCrI,KAAK2P,wBACL3P,KAAKwP,oBAypGnB+X,GAAQlX,KAv+FR,SAAoB3U,GAGhB,MAAgD,OAAxCA,EAAQ,IAAI4J,cAAcikB,OAAO,IAq+F7ChC,GAAQ3oB,SA39FR,SAAwBiR,EAAOE,EAASyZ,GACpC,OAAI3Z,EAAQ,GACD2Z,EAAU,KAAO,KAEjBA,EAAU,KAAO,MAmjGhCvW,GAAmB,KAAM,CACrByN,KAAM,CACF,CACI4E,MAAO,aACPC,MAAO,IACPlJ,OAAQ,EACR/Z,KAAM,cACNqe,OAAQ,KACRpN,KAAM,MAEV,CACI+R,MAAO,aACPC,OAAO,IACPlJ,OAAQ,EACR/Z,KAAM,gBACNqe,OAAQ,KACRpN,KAAM,OAGd7B,uBAAwB,uBACxB1N,QAAS,SAAUjB,GACf,IAAI5G,EAAI4G,EAAS,GAWjB,OAAOA,GATgC,IAA/BsD,EAAOtD,EAAS,IAAO,IACjB,KACM,IAAN5G,EACA,KACM,IAANA,EACA,KACM,IAANA,EACA,KACA,SAOtBb,EAAMwkB,KAAOre,EACT,wDACAwR,IAEJ3X,EAAMmuB,SAAWhoB,EACb,gEACA4R,IAGJ,IAAIqW,GAAUvmB,KAAKC,IAmBnB,SAASumB,GAAczO,EAAUxf,EAAO8K,EAAO2X,GAC3C,IAAIvD,EAAQ6C,GAAe/hB,EAAO8K,GAMlC,OAJA0U,EAASW,eAAiBsC,EAAYvD,EAAMiB,cAC5CX,EAASY,OAASqC,EAAYvD,EAAMkB,MACpCZ,EAASa,SAAWoC,EAAYvD,EAAMmB,QAE/Bb,EAASe,UAapB,SAAS2N,GAAQ7mB,GACb,OAAIA,EAAS,EACFI,KAAKiD,MAAMrD,GAEXI,KAAKgD,KAAKpD,GA2DzB,SAAS8mB,GAAarO,GAGlB,OAAe,KAAPA,EAAe,OAG3B,SAASsO,GAAapgB,GAElB,OAAiB,OAATA,EAAmB,KA4D/B,SAASqgB,GAAOC,GACZ,OAAO,WACH,OAAOhqB,KAAKiqB,GAAGD,IAIvB,IAAIE,GAAiBH,GAAO,MACxBI,GAAYJ,GAAO,KACnBK,GAAYL,GAAO,KACnBM,GAAUN,GAAO,KACjBO,GAASP,GAAO,KAChBQ,GAAUR,GAAO,KACjBS,GAAWT,GAAO,KAClBU,GAAaV,GAAO,KACpBW,GAAUX,GAAO,KAWrB,SAASY,GAAWroB,GAChB,OAAO,WACH,OAAOtC,KAAKjB,UAAYiB,KAAKgc,MAAM1Z,GAAQzC,KAInD,IAAI4b,GAAekP,GAAW,gBAC1Bza,GAAUya,GAAW,WACrB5a,GAAU4a,GAAW,WACrB9a,GAAQ8a,GAAW,SACnBnP,GAAOmP,GAAW,QAClBjhB,GAASihB,GAAW,UACpBxP,GAAQwP,GAAW,SAMnBvO,GAAQjZ,KAAKiZ,MACbwO,GAAa,CACT9Y,GAAI,GACJhJ,EAAG,GACHjL,EAAG,GACHoO,EAAG,GACHD,EAAG,GACHkG,EAAG,KACHhG,EAAG,IAIX,SAAS2e,GAAkBnV,EAAQ3S,EAAQogB,EAAeqF,EAAUhrB,GAChE,OAAOA,EAAOmU,aAAa5O,GAAU,IAAKogB,EAAezN,EAAQ8S,GAoGrE,IAAIsC,GAAQ3nB,KAAKC,IAEjB,SAASoZ,GAAKlT,GACV,OAAQA,EAAI,IAAMA,EAAI,KAAOA,EAGjC,SAASyhB,KAQL,IAAK/qB,KAAKjB,UACN,OAAOiB,KAAKmE,aAAaS,cAG7B,IAGImL,EACAF,EACAsL,EACArS,EAEAkiB,EACAC,EACAC,EACAC,EAXAjb,EAAU4a,GAAM9qB,KAAK6b,eAAiB,IACtCL,EAAOsP,GAAM9qB,KAAK8b,OAClBpS,EAASohB,GAAM9qB,KAAK+b,SAKpBqP,EAAQprB,KAAKmqB,YAMjB,OAAKiB,GAOLrb,EAAU7J,EAASgK,EAAU,IAC7BL,EAAQ3J,EAAS6J,EAAU,IAC3BG,GAAW,GACXH,GAAW,GAGXoL,EAAQjV,EAASwD,EAAS,IAC1BA,GAAU,GAGVZ,EAAIoH,EAAUA,EAAQmb,QAAQ,GAAG7mB,QAAQ,SAAU,IAAM,GAEzDwmB,EAAYI,EAAQ,EAAI,IAAM,GAC9BH,EAASzO,GAAKxc,KAAK+b,WAAaS,GAAK4O,GAAS,IAAM,GACpDF,EAAW1O,GAAKxc,KAAK8b,SAAWU,GAAK4O,GAAS,IAAM,GACpDD,EAAU3O,GAAKxc,KAAK6b,iBAAmBW,GAAK4O,GAAS,IAAM,GAGvDJ,EACA,KACC7P,EAAQ8P,EAAS9P,EAAQ,IAAM,KAC/BzR,EAASuhB,EAASvhB,EAAS,IAAM,KACjC8R,EAAO0P,EAAW1P,EAAO,IAAM,KAC/B3L,GAASE,GAAWG,EAAU,IAAM,KACpCL,EAAQsb,EAAUtb,EAAQ,IAAM,KAChCE,EAAUob,EAAUpb,EAAU,IAAM,KACpCG,EAAUib,EAAUriB,EAAI,IAAM,KA9BxB,MAkCf,IAAIwiB,GAAUrQ,GAASpf,UAwGvB,OAtGAyvB,GAAQvsB,QAl4ER,WACI,OAAOiB,KAAKhB,UAk4EhBssB,GAAQloB,IA3YR,WACI,IAAIgQ,EAAOpT,KAAKgc,MAahB,OAXAhc,KAAK6b,cAAgB6N,GAAQ1pB,KAAK6b,eAClC7b,KAAK8b,MAAQ4N,GAAQ1pB,KAAK8b,OAC1B9b,KAAK+b,QAAU2N,GAAQ1pB,KAAK+b,SAE5B3I,EAAKqI,aAAeiO,GAAQtW,EAAKqI,cACjCrI,EAAKlD,QAAUwZ,GAAQtW,EAAKlD,SAC5BkD,EAAKrD,QAAU2Z,GAAQtW,EAAKrD,SAC5BqD,EAAKvD,MAAQ6Z,GAAQtW,EAAKvD,OAC1BuD,EAAK1J,OAASggB,GAAQtW,EAAK1J,QAC3B0J,EAAK+H,MAAQuO,GAAQtW,EAAK+H,OAEnBnb,MA8XXsrB,GAAQ5Q,IAhXR,SAAehf,EAAO8K,GAClB,OAAOmjB,GAAc3pB,KAAMtE,EAAO8K,EAAO,IAgX7C8kB,GAAQ7M,SA5WR,SAAoB/iB,EAAO8K,GACvB,OAAOmjB,GAAc3pB,KAAMtE,EAAO8K,GAAQ,IA4W9C8kB,GAAQrB,GA/RR,SAAYzkB,GACR,IAAKxF,KAAKjB,UACN,OAAOc,IAEX,IAAI2b,EACA9R,EACA+R,EAAezb,KAAK6b,cAIxB,GAAc,WAFdrW,EAAQD,EAAeC,KAEY,YAAVA,GAAiC,SAAVA,EAG5C,OAFAgW,EAAOxb,KAAK8b,MAAQL,EAAe,MACnC/R,EAAS1J,KAAK+b,QAAU8N,GAAarO,GAC7BhW,GACJ,IAAK,QACD,OAAOkE,EACX,IAAK,UACD,OAAOA,EAAS,EACpB,IAAK,OACD,OAAOA,EAAS,QAKxB,OADA8R,EAAOxb,KAAK8b,MAAQ3Y,KAAKiZ,MAAM0N,GAAa9pB,KAAK+b,UACzCvW,GACJ,IAAK,OACD,OAAOgW,EAAO,EAAIC,EAAe,OACrC,IAAK,MACD,OAAOD,EAAOC,EAAe,MACjC,IAAK,OACD,OAAc,GAAPD,EAAYC,EAAe,KACtC,IAAK,SACD,OAAc,KAAPD,EAAcC,EAAe,IACxC,IAAK,SACD,OAAc,MAAPD,EAAeC,EAAe,IAEzC,IAAK,cACD,OAAOtY,KAAKiD,MAAa,MAAPoV,GAAgBC,EACtC,QACI,MAAM,IAAIxZ,MAAM,gBAAkBuD,KAyPlD8lB,GAAQpB,eAAiBA,GACzBoB,GAAQnB,UAAYA,GACpBmB,GAAQlB,UAAYA,GACpBkB,GAAQjB,QAAUA,GAClBiB,GAAQhB,OAASA,GACjBgB,GAAQf,QAAUA,GAClBe,GAAQd,SAAWA,GACnBc,GAAQb,WAAaA,GACrBa,GAAQZ,QAAUA,GAClBY,GAAQjuB,QA5PR,WACI,OAAK2C,KAAKjB,UAINiB,KAAK6b,cACQ,MAAb7b,KAAK8b,MACJ9b,KAAK+b,QAAU,GAAM,OACK,QAA3B1V,EAAMrG,KAAK+b,QAAU,IANdlc,KA2PfyrB,GAAQrP,QA5WR,WACI,IAII/L,EACAH,EACAF,EACAsL,EACAoQ,EARA9P,EAAezb,KAAK6b,cACpBL,EAAOxb,KAAK8b,MACZpS,EAAS1J,KAAK+b,QACd3I,EAAOpT,KAAKgc,MAgDhB,OArCSP,GAAgB,GAAKD,GAAQ,GAAK9R,GAAU,GAC5C+R,GAAgB,GAAKD,GAAQ,GAAK9R,GAAU,IAGjD+R,GAAuD,MAAvCmO,GAAQE,GAAapgB,GAAU8R,GAC/CA,EAAO,EACP9R,EAAS,GAKb0J,EAAKqI,aAAeA,EAAe,IAEnCvL,EAAUhK,EAASuV,EAAe,KAClCrI,EAAKlD,QAAUA,EAAU,GAEzBH,EAAU7J,EAASgK,EAAU,IAC7BkD,EAAKrD,QAAUA,EAAU,GAEzBF,EAAQ3J,EAAS6J,EAAU,IAC3BqD,EAAKvD,MAAQA,EAAQ,GAErB2L,GAAQtV,EAAS2J,EAAQ,IAGzB0b,EAAiBrlB,EAAS2jB,GAAarO,IACvC9R,GAAU6hB,EACV/P,GAAQoO,GAAQE,GAAayB,IAG7BpQ,EAAQjV,EAASwD,EAAS,IAC1BA,GAAU,GAEV0J,EAAKoI,KAAOA,EACZpI,EAAK1J,OAASA,EACd0J,EAAK+H,MAAQA,EAENnb,MAyTXsrB,GAAQrO,MAlOR,WACI,OAAOQ,GAAezd,OAkO1BsrB,GAAQzkB,IA/NR,SAAerB,GAEX,OADAA,EAAQD,EAAeC,GAChBxF,KAAKjB,UAAYiB,KAAKwF,EAAQ,OAAS3F,KA8NlDyrB,GAAQ7P,aAAeA,GACvB6P,GAAQpb,QAAUA,GAClBob,GAAQvb,QAAUA,GAClBub,GAAQzb,MAAQA,GAChByb,GAAQ9P,KAAOA,GACf8P,GAAQhQ,MAlNR,WACI,OAAOpV,EAASlG,KAAKwb,OAAS,IAkNlC8P,GAAQ5hB,OAASA,GACjB4hB,GAAQnQ,MAAQA,GAChBmQ,GAAQlI,SAlIR,SAAkBoI,EAAeC,GAC7B,IAAKzrB,KAAKjB,UACN,OAAOiB,KAAKmE,aAAaS,cAG7B,IAEIpH,EACAkH,EAHAgnB,GAAa,EACbC,EAAKf,GAyBT,MArB6B,iBAAlBY,IACPC,EAAgBD,EAChBA,GAAgB,GAES,kBAAlBA,IACPE,EAAaF,GAEY,iBAAlBC,IACPE,EAAK/vB,OAAOgwB,OAAO,GAAIhB,GAAYa,GACZ,MAAnBA,EAAc3iB,GAAiC,MAApB2iB,EAAc3Z,KACzC6Z,EAAG7Z,GAAK2Z,EAAc3iB,EAAI,IAIlCtL,EAASwC,KAAKmE,aACdO,EAxFJ,SAAwBmnB,EAAgB1I,EAAeyH,EAAYptB,GAC/D,IAAI0d,EAAWuC,GAAeoO,GAAgBzoB,MAC1C8M,EAAUkM,GAAMlB,EAAS+O,GAAG,MAC5Bla,EAAUqM,GAAMlB,EAAS+O,GAAG,MAC5Bpa,EAAQuM,GAAMlB,EAAS+O,GAAG,MAC1BzO,EAAOY,GAAMlB,EAAS+O,GAAG,MACzBvgB,EAAS0S,GAAMlB,EAAS+O,GAAG,MAC3B3O,EAAQc,GAAMlB,EAAS+O,GAAG,MAC1B9O,EAAQiB,GAAMlB,EAAS+O,GAAG,MAC1B/tB,EACKgU,GAAW0a,EAAW9Y,IAAM,CAAC,IAAK5B,IAClCA,EAAU0a,EAAW9hB,GAAK,CAAC,KAAMoH,IACjCH,GAAW,GAAK,CAAC,MACjBA,EAAU6a,EAAW/sB,GAAK,CAAC,KAAMkS,IACjCF,GAAS,GAAK,CAAC,MACfA,EAAQ+a,EAAW3e,GAAK,CAAC,KAAM4D,IAC/B2L,GAAQ,GAAK,CAAC,MACdA,EAAOoP,EAAW5e,GAAK,CAAC,KAAMwP,GAgBvC,OAdoB,MAAhBoP,EAAW1Y,IACXhW,EACIA,GACCof,GAAS,GAAK,CAAC,MACfA,EAAQsP,EAAW1Y,GAAK,CAAC,KAAMoJ,KAExCpf,EAAIA,GACCwN,GAAU,GAAK,CAAC,MAChBA,EAASkhB,EAAW1e,GAAK,CAAC,KAAMxC,IAChCyR,GAAS,GAAK,CAAC,MAAS,CAAC,KAAMA,IAElC,GAAKgI,EACPjnB,EAAE,IAAM2vB,EAAiB,EACzB3vB,EAAE,GAAKsB,EACAqtB,GAAkBtvB,MAAM,KAAMW,GAuD5B4vB,CAAe9rB,MAAO0rB,EAAYC,EAAInuB,GAE3CkuB,IACAhnB,EAASlH,EAAOkrB,YAAY1oB,KAAM0E,IAG/BlH,EAAO0lB,WAAWxe,IAoG7B4mB,GAAQ7G,YAAcsG,GACtBO,GAAQxvB,SAAWivB,GACnBO,GAAQpG,OAAS6F,GACjBO,GAAQ9tB,OAASA,GACjB8tB,GAAQnnB,WAAaA,GAErBmnB,GAAQS,YAActqB,EAClB,sFACAspB,IAEJO,GAAQxL,KAAOA,GAIfjc,EAAe,IAAK,EAAG,EAAG,QAC1BA,EAAe,IAAK,EAAG,EAAG,WAI1BqE,GAAc,IAAKJ,IACnBI,GAAc,IAhuJO,wBAiuJrBe,GAAc,KAAK,SAAUvN,EAAO4I,EAAOpD,GACvCA,EAAO7B,GAAK,IAAIxC,KAAyB,IAApB8e,WAAWjgB,OAEpCuN,GAAc,KAAK,SAAUvN,EAAO4I,EAAOpD,GACvCA,EAAO7B,GAAK,IAAIxC,KAAKwJ,EAAM3K,OAK/BJ,EAAM0wB,QAAU,SAj+KZ5wB,EAm+KYmd,GAEhBjd,EAAM0B,GAAKolB,GACX9mB,EAAMwP,IA1/EN,WACI,IAAIhJ,EAAO,GAAGC,MAAMhG,KAAKP,UAAW,GAEpC,OAAOsf,GAAO,WAAYhZ,IAw/E9BxG,EAAMiI,IAr/EN,WACI,IAAIzB,EAAO,GAAGC,MAAMhG,KAAKP,UAAW,GAEpC,OAAOsf,GAAO,UAAWhZ,IAm/E7BxG,EAAMmc,IAh/EI,WACN,OAAO5a,KAAK4a,IAAM5a,KAAK4a,OAAS,IAAI5a,MAg/ExCvB,EAAMqC,IAAML,EACZhC,EAAM6pB,KA1oBN,SAAoBzpB,GAChB,OAAO6c,GAAoB,IAAR7c,IA0oBvBJ,EAAMoO,OAlhBN,SAAoBnM,EAAQkqB,GACxB,OAAOG,GAAerqB,EAAQkqB,EAAO,WAkhBzCnsB,EAAMsB,OAASA,EACftB,EAAMkC,OAASyV,GACf3X,EAAMkjB,QAAU5e,EAChBtE,EAAM4f,SAAWuC,GACjBniB,EAAM8F,SAAWA,EACjB9F,EAAM0S,SAhhBN,SAAsB+Z,EAAcxqB,EAAQkqB,GACxC,OAAOK,GAAiBC,EAAcxqB,EAAQkqB,EAAO,aAghBzDnsB,EAAMirB,UA9oBN,WACI,OAAOhO,GAAYhd,MAAM,KAAMC,WAAW+qB,aA8oB9CjrB,EAAM6I,WAAakP,GACnB/X,EAAM4gB,WAAaA,GACnB5gB,EAAMmO,YAxhBN,SAAyBlM,EAAQkqB,GAC7B,OAAOG,GAAerqB,EAAQkqB,EAAO,gBAwhBzCnsB,EAAMwS,YA7gBN,SAAyBia,EAAcxqB,EAAQkqB,GAC3C,OAAOK,GAAiBC,EAAcxqB,EAAQkqB,EAAO,gBA6gBzDnsB,EAAMgY,aAAeA,GACrBhY,EAAM2wB,aAr4GN,SAAsB3pB,EAAMpB,GACxB,GAAc,MAAVA,EAAgB,CAChB,IAAI1D,EACA0uB,EACAxpB,EAAekO,GAEE,MAAjB2B,GAAQjQ,IAA+C,MAA9BiQ,GAAQjQ,GAAMmR,aAEvClB,GAAQjQ,GAAMO,IAAIJ,EAAa8P,GAAQjQ,GAAMkR,QAAStS,KAIrC,OADjBgrB,EAAYpZ,GAAWxQ,MAEnBI,EAAewpB,EAAU1Y,SAE7BtS,EAASuB,EAAaC,EAAcxB,GACnB,MAAbgrB,IAIAhrB,EAAOqS,KAAOjR,IAElB9E,EAAS,IAAIoF,EAAO1B,IACbuS,aAAelB,GAAQjQ,GAC9BiQ,GAAQjQ,GAAQ9E,GAIpByV,GAAmB3Q,QAGE,MAAjBiQ,GAAQjQ,KAC0B,MAA9BiQ,GAAQjQ,GAAMmR,cACdlB,GAAQjQ,GAAQiQ,GAAQjQ,GAAMmR,aAC1BnR,IAAS2Q,MACTA,GAAmB3Q,IAEC,MAAjBiQ,GAAQjQ,WACRiQ,GAAQjQ,IAI3B,OAAOiQ,GAAQjQ,IA41GnBhH,EAAMiX,QAj0GN,WACI,OAAOpQ,EAAKoQ,KAi0GhBjX,EAAMyS,cArhBN,SAA2Bga,EAAcxqB,EAAQkqB,GAC7C,OAAOK,GAAiBC,EAAcxqB,EAAQkqB,EAAO,kBAqhBzDnsB,EAAMiK,eAAiBA,EACvBjK,EAAM6wB,qBAtNN,SAAoCC,GAChC,YAAyB3sB,IAArB2sB,EACOhQ,GAEqB,mBAArBgQ,IACPhQ,GAAQgQ,GACD,IAiNf9wB,EAAM+wB,sBA3MN,SAAqCC,EAAWC,GAC5C,YAA8B9sB,IAA1BmrB,GAAW0B,UAGD7sB,IAAV8sB,EACO3B,GAAW0B,IAEtB1B,GAAW0B,GAAaC,EACN,MAAdD,IACA1B,GAAW9Y,GAAKya,EAAQ,IAErB,KAiMXjxB,EAAMonB,eAx5DN,SAA2B8J,EAAU/U,GACjC,IAAIuF,EAAOwP,EAASxP,KAAKvF,EAAK,QAAQ,GACtC,OAAOuF,GAAQ,EACT,WACAA,GAAQ,EACR,WACAA,EAAO,EACP,UACAA,EAAO,EACP,UACAA,EAAO,EACP,UACAA,EAAO,EACP,WACA,YA24DV1hB,EAAMO,UAAYumB,GAGlB9mB,EAAMmxB,UAAY,CACdC,eAAgB,mBAChBC,uBAAwB,sBACxBC,kBAAmB,0BACnBC,KAAM,aACNC,KAAM,QACNC,aAAc,WACdC,QAAS,eACTC,KAAM,aACNC,MAAO,WAGJ5xB,EA5hLyE6xB,K,gDCPpF,IAAIC,EAAOlyB,EAAOC,QAAU,CAAE6wB,QAAS,UACrB,iBAAPqB,MAAiBA,IAAMD,I,uBCAlC,IAAIE,EAASpyB,EAAOC,QAA2B,oBAAVoyB,QAAyBA,OAAOpqB,MAAQA,KACzEoqB,OAAwB,oBAARC,MAAuBA,KAAKrqB,MAAQA,KAAOqqB,KAE3DhrB,SAAS,cAATA,GACc,iBAAPirB,MAAiBA,IAAMH,I,gBCJlCpyB,EAAOC,SAAW,EAAQ,IAAR,EAAoB,WACpC,OAA+E,GAAxES,OAAO8xB,eAAe,GAAI,IAAK,CAAE7mB,IAAK,WAAc,OAAO,KAAQ3K,M,qBCF5E,IAAIoxB,EAAS,EAAQ,KACjBF,EAAO,EAAQ,KACfO,EAAM,EAAQ,KACdC,EAAO,EAAQ,KACfC,EAAM,EAAQ,KAGdC,EAAU,SAAUC,EAAMzrB,EAAMqmB,GAClC,IASI9mB,EAAKmsB,EAAKnG,EATVoG,EAAYF,EAAOD,EAAQI,EAC3BC,EAAYJ,EAAOD,EAAQM,EAC3BC,EAAYN,EAAOD,EAAQQ,EAC3BC,EAAWR,EAAOD,EAAQU,EAC1BC,EAAUV,EAAOD,EAAQY,EACzBC,EAAUZ,EAAOD,EAAQzV,EACzBld,EAAUgzB,EAAYf,EAAOA,EAAK9qB,KAAU8qB,EAAK9qB,GAAQ,IACzDssB,EAAWzzB,EAAiB,UAC5B0zB,EAASV,EAAYb,EAASe,EAAYf,EAAOhrB,IAASgrB,EAAOhrB,IAAS,IAAa,UAG3F,IAAKT,KADDssB,IAAWxF,EAASrmB,GACZqmB,GAEVqF,GAAOC,GAAaY,QAA0BpvB,IAAhBovB,EAAOhtB,KAC1BgsB,EAAI1yB,EAAS0G,KAExBgmB,EAAMmG,EAAMa,EAAOhtB,GAAO8mB,EAAO9mB,GAEjC1G,EAAQ0G,GAAOssB,GAAmC,mBAAfU,EAAOhtB,GAAqB8mB,EAAO9mB,GAEpE4sB,GAAWT,EAAML,EAAI9F,EAAKyF,GAE1BqB,GAAWE,EAAOhtB,IAAQgmB,EAAM,SAAWiH,GAC3C,IAAIZ,EAAI,SAAUhyB,EAAGC,EAAGgb,GACtB,GAAInX,gBAAgB8uB,EAAG,CACrB,OAAQtzB,UAAUgB,QAChB,KAAK,EAAG,OAAO,IAAIsyB,EACnB,KAAK,EAAG,OAAO,IAAIA,EAAE5yB,GACrB,KAAK,EAAG,OAAO,IAAI4yB,EAAE5yB,EAAGC,GACxB,OAAO,IAAI2yB,EAAE5yB,EAAGC,EAAGgb,GACrB,OAAO2X,EAAEvzB,MAAMyE,KAAMxE,YAGzB,OADA0yB,EAAW,UAAIY,EAAW,UACnBZ,EAXyB,CAa/BrG,GAAO0G,GAA0B,mBAAP1G,EAAoB8F,EAAInrB,SAASzG,KAAM8rB,GAAOA,EAEvE0G,KACDpzB,EAAQ4zB,UAAY5zB,EAAQ4zB,QAAU,KAAKltB,GAAOgmB,EAE/CkG,EAAOD,EAAQkB,GAAKJ,IAAaA,EAAS/sB,IAAM+rB,EAAKgB,EAAU/sB,EAAKgmB,MAK9EiG,EAAQI,EAAI,EACZJ,EAAQM,EAAI,EACZN,EAAQQ,EAAI,EACZR,EAAQU,EAAI,EACZV,EAAQY,EAAI,GACZZ,EAAQzV,EAAI,GACZyV,EAAQmB,EAAI,GACZnB,EAAQkB,EAAI,IACZ9zB,EAAOC,QAAU2yB,G,gBC7DjB,IAAIoB,EAAW,EAAQ,KACnBC,EAAiB,EAAQ,KACzBC,EAAc,EAAQ,KACtBC,EAAKzzB,OAAO8xB,eAEhBvyB,EAAQm0B,EAAI,EAAQ,KAAoB1zB,OAAO8xB,eAAiB,SAAwB6B,EAAGf,EAAGgB,GAI5F,GAHAN,EAASK,GACTf,EAAIY,EAAYZ,GAAG,GACnBU,EAASM,GACLL,EAAgB,IAClB,OAAOE,EAAGE,EAAGf,EAAGgB,GAChB,MAAOtc,IACT,GAAI,QAASsc,GAAc,QAASA,EAAY,MAAMC,UAAU,4BAEhE,MADI,UAAWD,IAAYD,EAAEf,GAAKgB,EAAWhpB,OACtC+oB,I,cCdT,IAAInzB,EAAiB,GAAGA,eACxBlB,EAAOC,QAAU,SAAUu0B,EAAI7tB,GAC7B,OAAOzF,EAAeL,KAAK2zB,EAAI7tB,K,sBCFjC,IAAIwtB,EAAK,EAAQ,KACbM,EAAa,EAAQ,KACzBz0B,EAAOC,QAAU,EAAQ,KAAoB,SAAUy0B,EAAQ/tB,EAAK2E,GAClE,OAAO6oB,EAAGC,EAAEM,EAAQ/tB,EAAK8tB,EAAW,EAAGnpB,KACrC,SAAUopB,EAAQ/tB,EAAK2E,GAEzB,OADAopB,EAAO/tB,GAAO2E,EACPopB,I,cCNT10B,EAAOC,QAAU,SAAUu0B,GACzB,MAAqB,iBAAPA,EAAyB,OAAPA,EAA4B,mBAAPA,I,cCDvDx0B,EAAOC,QAAU,SAAUwa,GACzB,IACE,QAASA,IACT,MAAOzC,GACP,OAAO,K,gBCHX,IAAI2c,EAAU,EAAQ,KAClBC,EAAU,EAAQ,KACtB50B,EAAOC,QAAU,SAAUu0B,GACzB,OAAOG,EAAQC,EAAQJ,M,gBCJzB,IAAIK,EAAQ,EAAQ,IAAR,CAAqB,OAC7BC,EAAM,EAAQ,KACdhL,EAAS,EAAQ,KAAaA,OAC9BiL,EAA8B,mBAAVjL,GAET9pB,EAAOC,QAAU,SAAUmH,GACxC,OAAOytB,EAAMztB,KAAUytB,EAAMztB,GAC3B2tB,GAAcjL,EAAO1iB,KAAU2tB,EAAajL,EAASgL,GAAK,UAAY1tB,MAGjEytB,MAAQA,G,0BCVjB,IAAI/zB,EAAW,EAAQ,KACvBd,EAAOC,QAAU,SAAUu0B,GACzB,IAAK1zB,EAAS0zB,GAAK,MAAMD,UAAUC,EAAK,sBACxC,OAAOA,I,gCCHTx0B,EAAOC,QAAU,SAAU+0B,EAAQ1pB,GACjC,MAAO,CACL2pB,aAAuB,EAATD,GACdE,eAAyB,EAATF,GAChBG,WAAqB,EAATH,GACZ1pB,MAAOA,K,gBCJX,IAAI8pB,EAAQ,EAAQ,KAChBC,EAAc,EAAQ,KAE1Br1B,EAAOC,QAAUS,OAAOuG,MAAQ,SAAcotB,GAC5C,OAAOe,EAAMf,EAAGgB,K,cCLlBr1B,EAAOC,SAAU,G,cCAjB,IAAIq1B,EAAK,EACLC,EAAKttB,KAAKutB,SACdx1B,EAAOC,QAAU,SAAU0G,GACzB,MAAO,UAAUgM,YAAepO,IAARoC,EAAoB,GAAKA,EAAK,QAAS2uB,EAAKC,GAAI30B,SAAS,O,cCHnFX,EAAQm0B,EAAI,GAAGqB,sB,gBCCf,IAAIb,EAAU,EAAQ,KACtB50B,EAAOC,QAAU,SAAUu0B,GACzB,OAAO9zB,OAAOk0B,EAAQJ,M,+DCFxB,IAAI1zB,EAAW,EAAQ,KAGvBd,EAAOC,QAAU,SAAUu0B,EAAIpB,GAC7B,IAAKtyB,EAAS0zB,GAAK,OAAOA,EAC1B,IAAI1yB,EAAIwD,EACR,GAAI8tB,GAAkC,mBAArBtxB,EAAK0yB,EAAG5zB,YAA4BE,EAASwE,EAAMxD,EAAGjB,KAAK2zB,IAAM,OAAOlvB,EACzF,GAAgC,mBAApBxD,EAAK0yB,EAAGryB,WAA2BrB,EAASwE,EAAMxD,EAAGjB,KAAK2zB,IAAM,OAAOlvB,EACnF,IAAK8tB,GAAkC,mBAArBtxB,EAAK0yB,EAAG5zB,YAA4BE,EAASwE,EAAMxD,EAAGjB,KAAK2zB,IAAM,OAAOlvB,EAC1F,MAAMivB,UAAU,6C,cCTlBv0B,EAAOC,QAAU,SAAUu0B,GACzB,GAAUjwB,MAANiwB,EAAiB,MAAMD,UAAU,yBAA2BC,GAChE,OAAOA,I,cCFT,IAAIvpB,EAAOhD,KAAKgD,KACZC,EAAQjD,KAAKiD,MACjBlL,EAAOC,QAAU,SAAUu0B,GACzB,OAAOtwB,MAAMswB,GAAMA,GAAM,GAAKA,EAAK,EAAItpB,EAAQD,GAAMupB,K,gBCJvD,IAAIkB,EAAS,EAAQ,IAAR,CAAqB,QAC9BZ,EAAM,EAAQ,KAClB90B,EAAOC,QAAU,SAAU0G,GACzB,OAAO+uB,EAAO/uB,KAAS+uB,EAAO/uB,GAAOmuB,EAAInuB,M,gBCH3C,IAAIurB,EAAO,EAAQ,KACfE,EAAS,EAAQ,KAEjByC,EAAQzC,EADC,wBACkBA,EADlB,sBACmC,KAE/CpyB,EAAOC,QAAU,SAAU0G,EAAK2E,GAC/B,OAAOupB,EAAMluB,KAASkuB,EAAMluB,QAAiBpC,IAAV+G,EAAsBA,EAAQ,MAChE,WAAY,IAAIrJ,KAAK,CACtB6uB,QAASoB,EAAKpB,QACd6E,KAAM,EAAQ,KAAgB,OAAS,SACvCC,UAAW,0C,cCTb51B,EAAOC,QAAU,gGAEf4O,MAAM,M,cCHR5O,EAAQm0B,EAAI1zB,OAAOm1B,uB,cCAnB71B,EAAOC,QAAU,I,gBCCjB,IAAI+zB,EAAW,EAAQ,KACnB8B,EAAM,EAAQ,KACdT,EAAc,EAAQ,KACtBU,EAAW,EAAQ,IAAR,CAAyB,YACpCC,EAAQ,aAIRC,EAAa,WAEf,IAIIC,EAJAC,EAAS,EAAQ,IAAR,CAAyB,UAClCp0B,EAAIszB,EAAY/zB,OAcpB,IAVA60B,EAAOC,MAAMC,QAAU,OACvB,EAAQ,KAAWC,YAAYH,GAC/BA,EAAOI,IAAM,eAGbL,EAAiBC,EAAOK,cAAcC,UACvBC,OACfR,EAAeS,MAAMC,uCACrBV,EAAeW,QACfZ,EAAaC,EAAelD,EACrBjxB,YAAYk0B,EAAoB,UAAEZ,EAAYtzB,IACrD,OAAOk0B,KAGTj2B,EAAOC,QAAUS,OAAOo2B,QAAU,SAAgBzC,EAAG0C,GACnD,IAAI3b,EAQJ,OAPU,OAANiZ,GACF2B,EAAe,UAAIhC,EAASK,GAC5BjZ,EAAS,IAAI4a,EACbA,EAAe,UAAI,KAEnB5a,EAAO2a,GAAY1B,GACdjZ,EAAS6a,SACM1xB,IAAfwyB,EAA2B3b,EAAS0a,EAAI1a,EAAQ2b,K,gBCvCzD,IAAIC,EAAM,EAAQ,KAAgB5C,EAC9BzB,EAAM,EAAQ,KACdsE,EAAM,EAAQ,IAAR,CAAkB,eAE5Bj3B,EAAOC,QAAU,SAAUu0B,EAAI0C,EAAKC,GAC9B3C,IAAO7B,EAAI6B,EAAK2C,EAAO3C,EAAKA,EAAG7zB,UAAWs2B,IAAMD,EAAIxC,EAAIyC,EAAK,CAAE/B,cAAc,EAAM5pB,MAAO4rB,M,gBCLhGj3B,EAAQm0B,EAAI,EAAQ,M,gBCApB,IAAIhC,EAAS,EAAQ,KACjBF,EAAO,EAAQ,KACfkF,EAAU,EAAQ,KAClBC,EAAS,EAAQ,KACjB7E,EAAiB,EAAQ,KAAgB4B,EAC7Cp0B,EAAOC,QAAU,SAAUmH,GACzB,IAAIkwB,EAAUpF,EAAKpI,SAAWoI,EAAKpI,OAASsN,EAAU,GAAKhF,EAAOtI,QAAU,IACtD,KAAlB1iB,EAAKinB,OAAO,IAAejnB,KAAQkwB,GAAU9E,EAAe8E,EAASlwB,EAAM,CAAEkE,MAAO+rB,EAAOjD,EAAEhtB,O,4DCNnG,IAAImwB,EAAY,EAAQ,KACxBv3B,EAAOC,QAAU,SAAU6B,EAAI4lB,EAAMpmB,GAEnC,GADAi2B,EAAUz1B,QACGyC,IAATmjB,EAAoB,OAAO5lB,EAC/B,OAAQR,GACN,KAAK,EAAG,OAAO,SAAUN,GACvB,OAAOc,EAAGjB,KAAK6mB,EAAM1mB,IAEvB,KAAK,EAAG,OAAO,SAAUA,EAAGC,GAC1B,OAAOa,EAAGjB,KAAK6mB,EAAM1mB,EAAGC,IAE1B,KAAK,EAAG,OAAO,SAAUD,EAAGC,EAAGgb,GAC7B,OAAOna,EAAGjB,KAAK6mB,EAAM1mB,EAAGC,EAAGgb,IAG/B,OAAO,WACL,OAAOna,EAAGzB,MAAMqnB,EAAMpnB,c,gBCjB1BN,EAAOC,SAAW,EAAQ,OAAsB,EAAQ,IAAR,EAAoB,WAClE,OAA4G,GAArGS,OAAO8xB,eAAe,EAAQ,IAAR,CAAyB,OAAQ,IAAK,CAAE7mB,IAAK,WAAc,OAAO,KAAQ3K,M,gBCDzG,IAAIF,EAAW,EAAQ,KACnB21B,EAAW,EAAQ,KAAaA,SAEhCe,EAAK12B,EAAS21B,IAAa31B,EAAS21B,EAASgB,eACjDz3B,EAAOC,QAAU,SAAUu0B,GACzB,OAAOgD,EAAKf,EAASgB,cAAcjD,GAAM,K,gBCL3C,IAAI7B,EAAM,EAAQ,KACd+E,EAAY,EAAQ,KACpBC,EAAe,EAAQ,IAAR,EAA6B,GAC5C5B,EAAW,EAAQ,IAAR,CAAyB,YAExC/1B,EAAOC,QAAU,SAAUy0B,EAAQjc,GACjC,IAGI9R,EAHA0tB,EAAIqD,EAAUhD,GACd3yB,EAAI,EACJqZ,EAAS,GAEb,IAAKzU,KAAO0tB,EAAO1tB,GAAOovB,GAAUpD,EAAI0B,EAAG1tB,IAAQyU,EAAOnZ,KAAK0E,GAE/D,KAAO8R,EAAMnX,OAASS,GAAO4wB,EAAI0B,EAAG1tB,EAAM8R,EAAM1W,SAC7C41B,EAAavc,EAAQzU,IAAQyU,EAAOnZ,KAAK0E,IAE5C,OAAOyU,I,gBCdT,IAAIwc,EAAM,EAAQ,KAElB53B,EAAOC,QAAUS,OAAO,KAAK+0B,qBAAqB,GAAK/0B,OAAS,SAAU8zB,GACxE,MAAkB,UAAXoD,EAAIpD,GAAkBA,EAAG3lB,MAAM,IAAMnO,OAAO8zB,K,cCJrD,IAAI5zB,EAAW,GAAGA,SAElBZ,EAAOC,QAAU,SAAUu0B,GACzB,OAAO5zB,EAASC,KAAK2zB,GAAI3tB,MAAM,GAAI,K,gBCFrC,IAAI8rB,EAAM,EAAQ,KACdtJ,EAAW,EAAQ,KACnB0M,EAAW,EAAQ,IAAR,CAAyB,YACpC8B,EAAcn3B,OAAOC,UAEzBX,EAAOC,QAAUS,OAAOo3B,gBAAkB,SAAUzD,GAElD,OADAA,EAAIhL,EAASgL,GACT1B,EAAI0B,EAAG0B,GAAkB1B,EAAE0B,GACH,mBAAjB1B,EAAE0D,aAA6B1D,aAAaA,EAAE0D,YAChD1D,EAAE0D,YAAYp3B,UACd0zB,aAAa3zB,OAASm3B,EAAc,O,6BCT/C53B,EAAQ+3B,YAAa,EAErB,IAEIC,EAAaC,EAFD,EAAQ,MAMpBC,EAAWD,EAFD,EAAQ,MAIlBE,EAAsC,mBAArBD,EAASE,SAAwD,iBAAvBJ,EAAWI,QAAuB,SAAUj3B,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAmC,mBAArB+2B,EAASE,SAA0Bj3B,EAAI22B,cAAgBI,EAASE,SAAWj3B,IAAQ+2B,EAASE,QAAQ13B,UAAY,gBAAkBS,GAEjT,SAAS82B,EAAuB92B,GAAO,OAAOA,GAAOA,EAAI42B,WAAa52B,EAAM,CAAEi3B,QAASj3B,GAEvFnB,EAAQo4B,QAAsC,mBAArBF,EAASE,SAA0D,WAAhCD,EAAQH,EAAWI,SAAwB,SAAUj3B,GAC/G,YAAsB,IAARA,EAAsB,YAAcg3B,EAAQh3B,IACxD,SAAUA,GACZ,OAAOA,GAAmC,mBAArB+2B,EAASE,SAA0Bj3B,EAAI22B,cAAgBI,EAASE,SAAWj3B,IAAQ+2B,EAASE,QAAQ13B,UAAY,cAA0B,IAARS,EAAsB,YAAcg3B,EAAQh3B,K,6BClBrM,IAAIg2B,EAAU,EAAQ,KAClBxE,EAAU,EAAQ,KAClB0F,EAAW,EAAQ,KACnB5F,EAAO,EAAQ,KACf6F,EAAY,EAAQ,KACpBC,EAAc,EAAQ,KACtBC,EAAiB,EAAQ,KACzBX,EAAiB,EAAQ,KACzBY,EAAW,EAAQ,IAAR,CAAkB,YAC7BC,IAAU,GAAG1xB,MAAQ,QAAU,GAAGA,QAKlC2xB,EAAa,WAAc,OAAO9zB,MAEtC9E,EAAOC,QAAU,SAAU44B,EAAMC,EAAMC,EAAapgB,EAAMqgB,EAASC,EAAQC,GACzEV,EAAYO,EAAaD,EAAMngB,GAC/B,IAeIwgB,EAASxyB,EAAKyyB,EAfdC,EAAY,SAAUC,GACxB,IAAKX,GAASW,KAAQpS,EAAO,OAAOA,EAAMoS,GAC1C,OAAQA,GACN,IAVK,OAWL,IAVO,SAUM,OAAO,WAAoB,OAAO,IAAIP,EAAYj0B,KAAMw0B,IACrE,OAAO,WAAqB,OAAO,IAAIP,EAAYj0B,KAAMw0B,KAEzDrC,EAAM6B,EAAO,YACbS,EAdO,UAcMP,EACbQ,GAAa,EACbtS,EAAQ2R,EAAKl4B,UACb84B,EAAUvS,EAAMwR,IAAaxR,EAnBjB,eAmBuC8R,GAAW9R,EAAM8R,GACpEU,EAAWD,GAAWJ,EAAUL,GAChCW,EAAWX,EAAWO,EAAwBF,EAAU,WAArBK,OAAkCn1B,EACrEq1B,EAAqB,SAARd,GAAkB5R,EAAM2S,SAAqBJ,EAwB9D,GArBIG,IACFR,EAAoBtB,EAAe8B,EAAW/4B,KAAK,IAAIg4B,OAC7Bn4B,OAAOC,WAAay4B,EAAkBzgB,OAE9D8f,EAAeW,EAAmBnC,GAAK,GAElCG,GAAiD,mBAA/BgC,EAAkBV,IAAyBhG,EAAK0G,EAAmBV,EAAUE,IAIpGW,GAAcE,GAjCP,WAiCkBA,EAAQryB,OACnCoyB,GAAa,EACbE,EAAW,WAAoB,OAAOD,EAAQ54B,KAAKiE,QAG/CsyB,IAAW8B,IAAYP,IAASa,GAAetS,EAAMwR,IACzDhG,EAAKxL,EAAOwR,EAAUgB,GAGxBnB,EAAUO,GAAQY,EAClBnB,EAAUtB,GAAO2B,EACbI,EAMF,GALAG,EAAU,CACRlhB,OAAQshB,EAAaG,EAAWL,EA9CzB,UA+CPpyB,KAAMgyB,EAASS,EAAWL,EAhDrB,QAiDLQ,QAASF,GAEPT,EAAQ,IAAKvyB,KAAOwyB,EAChBxyB,KAAOugB,GAAQoR,EAASpR,EAAOvgB,EAAKwyB,EAAQxyB,SAC7CisB,EAAQA,EAAQU,EAAIV,EAAQI,GAAK2F,GAASa,GAAaV,EAAMK,GAEtE,OAAOA,I,gBCnETn5B,EAAOC,QAAU,EAAQ,M,gBCCzB,IAAIm1B,EAAQ,EAAQ,KAChB0E,EAAa,EAAQ,KAAoBnnB,OAAO,SAAU,aAE9D1S,EAAQm0B,EAAI1zB,OAAOW,qBAAuB,SAA6BgzB,GACrE,OAAOe,EAAMf,EAAGyF,K,gBCLlB,IAAIC,EAAM,EAAQ,KACdtF,EAAa,EAAQ,KACrBiD,EAAY,EAAQ,KACpBxD,EAAc,EAAQ,KACtBvB,EAAM,EAAQ,KACdsB,EAAiB,EAAQ,KACzB+F,EAAOt5B,OAAOu5B,yBAElBh6B,EAAQm0B,EAAI,EAAQ,KAAoB4F,EAAO,SAAkC3F,EAAGf,GAGlF,GAFAe,EAAIqD,EAAUrD,GACdf,EAAIY,EAAYZ,GAAG,GACfW,EAAgB,IAClB,OAAO+F,EAAK3F,EAAGf,GACf,MAAOtb,IACT,GAAI2a,EAAI0B,EAAGf,GAAI,OAAOmB,GAAYsF,EAAI3F,EAAEvzB,KAAKwzB,EAAGf,GAAIe,EAAEf,M,kBCLhD,SAAW4G,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,8FAA8FK,MAClG,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,4DAA4DjE,MAClE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CuI,cAAe,SACfjC,KAAM,SAAU3U,GACZ,MAAO,QAAQsJ,KAAKtJ,IAExBkD,SAAU,SAAUiR,EAAOE,EAASyZ,GAChC,OAAI3Z,EAAQ,GACD2Z,EAAU,KAAO,KAEjBA,EAAU,KAAO,MAGhC1kB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,iBACTC,QAAS,eACTC,SAAU,eACVC,QAAS,iBACTC,SAAU,sBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,YACN/I,EAAG,mBACHgJ,GAAI,cACJjU,EAAG,YACHkU,GAAI,YACJ9F,EAAG,SACH+F,GAAI,SACJhG,EAAG,SACHiG,GAAI,SACJ/F,EAAG,WACHkG,GAAI,YACJzG,EAAG,UACH0G,GAAI,WAERX,uBAAwB,kBACxB1N,QAAS,SAAUjB,GACf,OACIA,GACY,IAAXA,GAA2B,IAAXA,GAAgBA,GAAU,GAAK,MAAQ,OAGhEiK,KAAM,CACFL,IAAK,EACLC,IAAK,KArEyBugB,CAAQ,EAAQ,O,iBCKlD,SAAWiI,GAAU,aAIzB,IAAIC,EAAY,CACRC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,KAEPC,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAETC,EAAa,SAAUroB,GACnB,OAAa,IAANA,EACD,EACM,IAANA,EACA,EACM,IAANA,EACA,EACAA,EAAI,KAAO,GAAKA,EAAI,KAAO,GAC3B,EACAA,EAAI,KAAO,GACX,EACA,GAEVsoB,EAAU,CACNptB,EAAG,CACC,eACA,cACA,CAAC,UAAW,WACZ,UACA,WACA,YAEJjL,EAAG,CACC,eACA,cACA,CAAC,UAAW,WACZ,WACA,WACA,YAEJoO,EAAG,CACC,cACA,aACA,CAAC,SAAU,UACX,WACA,UACA,WAEJD,EAAG,CACC,aACA,WACA,CAAC,QAAS,SACV,UACA,WACA,UAEJE,EAAG,CACC,aACA,WACA,CAAC,QAAS,SACV,UACA,UACA,UAEJP,EAAG,CACC,aACA,WACA,CAAC,QAAS,SACV,WACA,WACA,WAGRwqB,EAAY,SAAU/R,GAClB,OAAO,SAAUrhB,EAAQogB,EAAezN,EAAQ8S,GAC5C,IAAI8G,EAAI2G,EAAWlzB,GACfqzB,EAAMF,EAAQ9R,GAAG6R,EAAWlzB,IAIhC,OAHU,IAANusB,IACA8G,EAAMA,EAAIjT,EAAgB,EAAI,IAE3BiT,EAAI5xB,QAAQ,MAAOzB,KAGlC2G,EAAS,CACL,QACA,SACA,OACA,QACA,OACA,QACA,QACA,QACA,SACA,SACA,SACA,UAGC0rB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQA,EACRD,YAAaC,EACbsE,SAAU,sDAAsDjE,MAAM,KACtEgE,cAAe,wCAAwChE,MAAM,KAC7D+D,YAAa,gBAAgB/D,MAAM,KACnCssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVa,cAAe,MACfjC,KAAM,SAAU3U,GACZ,MAAO,MAAQA,GAEnBkD,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,GACA,IAEA,KAGfrI,SAAU,CACNC,QAAS,wBACTC,QAAS,uBACTC,SAAU,uBACVC,QAAS,sBACTC,SAAU,uBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,SACN/I,EAAGqtB,EAAU,KACbrkB,GAAIqkB,EAAU,KACdt4B,EAAGs4B,EAAU,KACbpkB,GAAIokB,EAAU,KACdlqB,EAAGkqB,EAAU,KACbnkB,GAAImkB,EAAU,KACdnqB,EAAGmqB,EAAU,KACblkB,GAAIkkB,EAAU,KACdjqB,EAAGiqB,EAAU,KACb/jB,GAAI+jB,EAAU,KACdxqB,EAAGwqB,EAAU,KACb9jB,GAAI8jB,EAAU,MAElB3c,SAAU,SAAU9D,GAChB,OAAOA,EACFlR,QAAQ,iBAAiB,SAAUD,GAChC,OAAOyxB,EAAUzxB,MAEpBC,QAAQ,KAAM,MAEvB0e,WAAY,SAAUxN,GAClB,OAAOA,EACFlR,QAAQ,OAAO,SAAUD,GACtB,OAAO8wB,EAAU9wB,MAEpBC,QAAQ,KAAM,MAEvBwI,KAAM,CACFL,IAAK,EACLC,IAAK,MAzLyBugB,CAAQ,EAAQ,O,iBCKlD,SAAWiI,GAAU,aAIzB,IAAIa,EAAa,SAAUroB,GACnB,OAAa,IAANA,EACD,EACM,IAANA,EACA,EACM,IAANA,EACA,EACAA,EAAI,KAAO,GAAKA,EAAI,KAAO,GAC3B,EACAA,EAAI,KAAO,GACX,EACA,GAEVsoB,EAAU,CACNptB,EAAG,CACC,eACA,cACA,CAAC,UAAW,WACZ,UACA,WACA,YAEJjL,EAAG,CACC,eACA,cACA,CAAC,UAAW,WACZ,WACA,WACA,YAEJoO,EAAG,CACC,cACA,aACA,CAAC,SAAU,UACX,WACA,UACA,WAEJD,EAAG,CACC,aACA,WACA,CAAC,QAAS,SACV,UACA,WACA,UAEJE,EAAG,CACC,aACA,WACA,CAAC,QAAS,SACV,UACA,UACA,UAEJP,EAAG,CACC,aACA,WACA,CAAC,QAAS,SACV,WACA,WACA,WAGRwqB,EAAY,SAAU/R,GAClB,OAAO,SAAUrhB,EAAQogB,EAAezN,EAAQ8S,GAC5C,IAAI8G,EAAI2G,EAAWlzB,GACfqzB,EAAMF,EAAQ9R,GAAG6R,EAAWlzB,IAIhC,OAHU,IAANusB,IACA8G,EAAMA,EAAIjT,EAAgB,EAAI,IAE3BiT,EAAI5xB,QAAQ,MAAOzB,KAGlC2G,EAAS,CACL,QACA,QACA,OACA,QACA,MACA,OACA,SACA,MACA,SACA,SACA,SACA,UAGG0rB,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQA,EACRD,YAAaC,EACbsE,SAAU,sDAAsDjE,MAAM,KACtEgE,cAAe,wCAAwChE,MAAM,KAC7D+D,YAAa,gBAAgB/D,MAAM,KACnCssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVa,cAAe,MACfjC,KAAM,SAAU3U,GACZ,MAAO,MAAQA,GAEnBkD,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,GACA,IAEA,KAGfrI,SAAU,CACNC,QAAS,wBACTC,QAAS,uBACTC,SAAU,uBACVC,QAAS,sBACTC,SAAU,uBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,SACN/I,EAAGqtB,EAAU,KACbrkB,GAAIqkB,EAAU,KACdt4B,EAAGs4B,EAAU,KACbpkB,GAAIokB,EAAU,KACdlqB,EAAGkqB,EAAU,KACbnkB,GAAImkB,EAAU,KACdnqB,EAAGmqB,EAAU,KACblkB,GAAIkkB,EAAU,KACdjqB,EAAGiqB,EAAU,KACb/jB,GAAI+jB,EAAU,KACdxqB,EAAGwqB,EAAU,KACb9jB,GAAI8jB,EAAU,MAElBjT,WAAY,SAAUxN,GAClB,OAAOA,EAAOlR,QAAQ,KAAM,MAEhCwI,KAAM,CACFL,IAAK,EACLC,IAAK,KAtJyBugB,CAAQ,EAAQ,O,iBCDlD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,wEAAwEK,MAC5E,KAEJN,YAAa,wEAAwEM,MACjF,KAEJiE,SAAU,sDAAsDjE,MAAM,KACtEgE,cAAe,wCAAwChE,MAAM,KAC7D+D,YAAa,gBAAgB/D,MAAM,KACnCssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVZ,SAAU,CACNC,QAAS,wBACTC,QAAS,sBACTC,SAAU,uBACVC,QAAS,sBACTC,SAAU,uBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,SACN/I,EAAG,OACHgJ,GAAI,WACJjU,EAAG,QACHkU,GAAI,WACJ9F,EAAG,OACH+F,GAAI,WACJhG,EAAG,MACHiG,GAAI,UACJ/F,EAAG,MACHkG,GAAI,UACJzG,EAAG,MACH0G,GAAI,YAERrF,KAAM,CACFL,IAAK,EACLC,IAAK,MApDyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAIC,EAAY,CACRC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,KAEPE,EAAa,SAAUroB,GACnB,OAAa,IAANA,EACD,EACM,IAANA,EACA,EACM,IAANA,EACA,EACAA,EAAI,KAAO,GAAKA,EAAI,KAAO,GAC3B,EACAA,EAAI,KAAO,GACX,EACA,GAEVsoB,EAAU,CACNptB,EAAG,CACC,eACA,cACA,CAAC,UAAW,WACZ,UACA,WACA,YAEJjL,EAAG,CACC,eACA,cACA,CAAC,UAAW,WACZ,WACA,WACA,YAEJoO,EAAG,CACC,cACA,aACA,CAAC,SAAU,UACX,WACA,UACA,WAEJD,EAAG,CACC,aACA,WACA,CAAC,QAAS,SACV,UACA,WACA,UAEJE,EAAG,CACC,aACA,WACA,CAAC,QAAS,SACV,UACA,UACA,UAEJP,EAAG,CACC,aACA,WACA,CAAC,QAAS,SACV,WACA,WACA,WAGRwqB,EAAY,SAAU/R,GAClB,OAAO,SAAUrhB,EAAQogB,EAAezN,EAAQ8S,GAC5C,IAAI8G,EAAI2G,EAAWlzB,GACfqzB,EAAMF,EAAQ9R,GAAG6R,EAAWlzB,IAIhC,OAHU,IAANusB,IACA8G,EAAMA,EAAIjT,EAAgB,EAAI,IAE3BiT,EAAI5xB,QAAQ,MAAOzB,KAGlC2G,EAAS,CACL,QACA,SACA,OACA,QACA,OACA,QACA,QACA,QACA,SACA,SACA,SACA,UAGG0rB,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQA,EACRD,YAAaC,EACbsE,SAAU,sDAAsDjE,MAAM,KACtEgE,cAAe,wCAAwChE,MAAM,KAC7D+D,YAAa,gBAAgB/D,MAAM,KACnCssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVa,cAAe,MACfjC,KAAM,SAAU3U,GACZ,MAAO,MAAQA,GAEnBkD,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,GACA,IAEA,KAGfrI,SAAU,CACNC,QAAS,wBACTC,QAAS,uBACTC,SAAU,uBACVC,QAAS,sBACTC,SAAU,uBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,SACN/I,EAAGqtB,EAAU,KACbrkB,GAAIqkB,EAAU,KACdt4B,EAAGs4B,EAAU,KACbpkB,GAAIokB,EAAU,KACdlqB,EAAGkqB,EAAU,KACbnkB,GAAImkB,EAAU,KACdnqB,EAAGmqB,EAAU,KACblkB,GAAIkkB,EAAU,KACdjqB,EAAGiqB,EAAU,KACb/jB,GAAI+jB,EAAU,KACdxqB,EAAGwqB,EAAU,KACb9jB,GAAI8jB,EAAU,MAElB3c,SAAU,SAAU9D,GAChB,OAAOA,EAAOlR,QAAQ,KAAM,MAEhC0e,WAAY,SAAUxN,GAClB,OAAOA,EACFlR,QAAQ,OAAO,SAAUD,GACtB,OAAO8wB,EAAU9wB,MAEpBC,QAAQ,KAAM,MAEvBwI,KAAM,CACFL,IAAK,EACLC,IAAK,MAzKyBugB,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,wEAAwEK,MAC5E,KAEJN,YAAa,wEAAwEM,MACjF,KAEJiE,SAAU,sDAAsDjE,MAAM,KACtEgE,cAAe,wCAAwChE,MAAM,KAC7D+D,YAAa,gBAAgB/D,MAAM,KACnCssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVZ,SAAU,CACNC,QAAS,wBACTC,QAAS,sBACTC,SAAU,uBACVC,QAAS,sBACTC,SAAU,uBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,SACN/I,EAAG,OACHgJ,GAAI,WACJjU,EAAG,QACHkU,GAAI,WACJ9F,EAAG,OACH+F,GAAI,WACJhG,EAAG,MACHiG,GAAI,UACJ/F,EAAG,MACHkG,GAAI,UACJzG,EAAG,MACH0G,GAAI,YAERrF,KAAM,CACFL,IAAK,EACLC,IAAK,KApDyBugB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIzB,IAAIC,EAAY,CACRC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,KAEPC,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGFZ,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,6EAA6EK,MACjF,KAEJN,YAAa,6EAA6EM,MACtF,KAEJiE,SAAU,sDAAsDjE,MAAM,KACtEgE,cAAe,wCAAwChE,MAAM,KAC7D+D,YAAa,gBAAgB/D,MAAM,KACnCssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVa,cAAe,MACfjC,KAAM,SAAU3U,GACZ,MAAO,MAAQA,GAEnBkD,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,GACA,IAEA,KAGfrI,SAAU,CACNC,QAAS,wBACTC,QAAS,sBACTC,SAAU,uBACVC,QAAS,sBACTC,SAAU,uBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,SACN/I,EAAG,OACHgJ,GAAI,WACJjU,EAAG,QACHkU,GAAI,WACJ9F,EAAG,OACH+F,GAAI,WACJhG,EAAG,MACHiG,GAAI,UACJ/F,EAAG,MACHkG,GAAI,UACJzG,EAAG,MACH0G,GAAI,YAERmH,SAAU,SAAU9D,GAChB,OAAOA,EACFlR,QAAQ,iBAAiB,SAAUD,GAChC,OAAOyxB,EAAUzxB,MAEpBC,QAAQ,KAAM,MAEvB0e,WAAY,SAAUxN,GAClB,OAAOA,EACFlR,QAAQ,OAAO,SAAUD,GACtB,OAAO8wB,EAAU9wB,MAEpBC,QAAQ,KAAM,MAEvBwI,KAAM,CACFL,IAAK,EACLC,IAAK,KAtGyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,yEAAyEK,MAC7E,KAEJN,YAAa,yEAAyEM,MAClF,KAEJiE,SAAU,sDAAsDjE,MAAM,KACtEgE,cAAe,wCAAwChE,MAAM,KAC7D+D,YAAa,gBAAgB/D,MAAM,KACnCssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVZ,SAAU,CACNC,QAAS,wBACTC,QAAS,sBACTC,SAAU,uBACVC,QAAS,sBACTC,SAAU,uBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,SACN/I,EAAG,OACHgJ,GAAI,WACJjU,EAAG,QACHkU,GAAI,WACJ9F,EAAG,OACH+F,GAAI,WACJhG,EAAG,MACHiG,GAAI,UACJ/F,EAAG,MACHkG,GAAI,UACJzG,EAAG,MACH0G,GAAI,YAERrF,KAAM,CACFL,IAAK,EACLC,IAAK,KApDyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAIkB,EAAW,CACXhB,EAAG,QACHI,EAAG,QACHG,EAAG,QACHU,GAAI,QACJC,GAAI,QACJjB,EAAG,OACHK,EAAG,OACHa,GAAI,OACJC,GAAI,OACJlB,EAAG,QACHC,EAAG,QACHkB,IAAK,QACLhB,EAAG,OACHG,EAAG,QACHc,GAAI,QACJC,GAAI,QACJC,GAAI,QACJC,GAAI,SAGC3B,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,+EAA+EK,MACnF,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,qEAAqEjE,MAC3E,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,kBACTC,QAAS,kBACTC,SAAU,+BACVC,QAAS,aACTC,SAAU,+BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,WACRC,KAAM,WACN/I,EAAG,kBACHgJ,GAAI,YACJjU,EAAG,aACHkU,GAAI,YACJ9F,EAAG,WACH+F,GAAI,UACJhG,EAAG,UACHiG,GAAI,SACJ/F,EAAG,SACHkG,GAAI,QACJzG,EAAG,SACH0G,GAAI,SAERC,cAAe,0BACfjC,KAAM,SAAU3U,GACZ,MAAO,mBAAmBsJ,KAAKtJ,IAEnCkD,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,EACA,OACAA,EAAO,GACP,QACAA,EAAO,GACP,SAEA,SAGfxH,uBAAwB,wCACxB1N,QAAS,SAAUjB,GACf,GAAe,IAAXA,EAEA,OAAOA,EAAS,QAEpB,IAAI7G,EAAI6G,EAAS,GAGjB,OAAOA,GAAUuzB,EAASp6B,IAAMo6B,EAFvBvzB,EAAS,IAAO7G,IAEsBo6B,EADvCvzB,GAAU,IAAM,IAAM,QAGlCiK,KAAM,CACFL,IAAK,EACLC,IAAK,KAnGyBugB,CAAQ,EAAQ,O,iBCKlD,SAAWiI,GAAU,aAYzB,SAAS4B,EAAuBj0B,EAAQogB,EAAethB,GACnD,IATkBo1B,EACdC,EAgBJ,MAAY,MAARr1B,EACOshB,EAAgB,UAAY,UACpB,MAARthB,EACAshB,EAAgB,UAAY,UAE5BpgB,EAAS,KAtBFk0B,GAsB6Bl0B,EArB3Cm0B,EAQS,CACTplB,GAAIqR,EAAgB,yBAA2B,yBAC/CpR,GAAIoR,EAAgB,yBAA2B,yBAC/CnR,GAAImR,EAAgB,yBAA2B,yBAC/ClR,GAAI,iBACJG,GAAI,uBACJC,GAAI,kBAOgCxQ,GArBvBkI,MAAM,KAChBktB,EAAM,IAAO,GAAKA,EAAM,KAAQ,GACjCC,EAAM,GACND,EAAM,IAAM,GAAKA,EAAM,IAAM,IAAMA,EAAM,IAAM,IAAMA,EAAM,KAAO,IAClEC,EAAM,GACNA,EAAM,IAoBP9B,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,CACJnM,OAAQ,uGAAuGwM,MAC3G,KAEJotB,WAAY,qGAAqGptB,MAC7G,MAGRN,YAAa,0DAA0DM,MACnE,KAEJiE,SAAU,CACNzQ,OAAQ,0DAA0DwM,MAC9D,KAEJotB,WAAY,0DAA0DptB,MAClE,KAEJ8e,SAAU,+CAEd9a,cAAe,uBAAuBhE,MAAM,KAC5C+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,iBACJC,IAAK,wBACLC,KAAM,+BAEVZ,SAAU,CACNC,QAAS,eACTC,QAAS,gBACTE,QAAS,eACTD,SAAU,WACN,MAAO,mBAEXE,SAAU,WACN,OAAQlR,KAAKgP,OACT,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,0BACX,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,2BAGnBmC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,UACRC,KAAM,UACN/I,EAAG,kBACHjL,EAAGm5B,EACHjlB,GAAIilB,EACJ/qB,EAAG+qB,EACHhlB,GAAIglB,EACJhrB,EAAG,QACHiG,GAAI+kB,EACJ9qB,EAAG,QACHkG,GAAI4kB,EACJrrB,EAAG,MACH0G,GAAI2kB,GAER1kB,cAAe,yBACfjC,KAAM,SAAU3U,GACZ,MAAO,iBAAiBsJ,KAAKtJ,IAEjCkD,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,EACA,OACAA,EAAO,GACP,SACAA,EAAO,GACP,MAEA,UAGfxH,uBAAwB,mBACxB1N,QAAS,SAAUjB,EAAQqb,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,MACL,IAAK,IACL,IAAK,IACD,OAAQrb,EAAS,IAAO,GAAKA,EAAS,IAAO,GACzCA,EAAS,KAAQ,IACjBA,EAAS,KAAQ,GAEfA,EAAS,KADTA,EAAS,KAEnB,IAAK,IACD,OAAOA,EAAS,MACpB,QACI,OAAOA,IAGnBiK,KAAM,CACFL,IAAK,EACLC,IAAK,KAzIyBugB,CAAQ,EAAQ,O,iBCClD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,oFAAoFK,MACxF,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,yDAAyDjE,MAC/D,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,YACHC,GAAI,cACJC,IAAK,mBACLC,KAAM,0BAEVZ,SAAU,CACNC,QAAS,cACTC,QAAS,cACTC,SAAU,cACVC,QAAS,eACTC,SAAU,WACN,OAAQlR,KAAKgP,OACT,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,yBACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,0BAGnBmC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,UACRC,KAAM,WACN/I,EAAG,kBACHgJ,GAAI,aACJjU,EAAG,SACHkU,GAAI,YACJ9F,EAAG,MACH+F,GAAI,UACJhG,EAAG,MACHiG,GAAI,UACJC,EAAG,UACHC,GAAI,aACJjG,EAAG,QACHkG,GAAI,YACJzG,EAAG,SACH0G,GAAI,aAERX,uBAAwB,8BACxB1N,QAAS,SAAUjB,GACf,IAAIq0B,EAAYr0B,EAAS,GACrBs0B,EAAct0B,EAAS,IAC3B,OAAe,IAAXA,EACOA,EAAS,MACO,IAAhBs0B,EACAt0B,EAAS,MACTs0B,EAAc,IAAMA,EAAc,GAClCt0B,EAAS,MACK,IAAdq0B,EACAr0B,EAAS,MACK,IAAdq0B,EACAr0B,EAAS,MACK,IAAdq0B,GAAiC,IAAdA,EACnBr0B,EAAS,MAETA,EAAS,OAGxBiK,KAAM,CACFL,IAAK,EACLC,IAAK,KArFyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,8IAA8IK,MAClJ,KAEJN,YAAa,iDAAiDM,MAAM,KACpEiE,SAAU,+CAA+CjE,MAAM,KAC/DgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,2BACJC,IAAK,wCACLC,KAAM,8CAEVZ,SAAU,CACNC,QAAS,eACTC,QAAS,iBACTC,SAAU,qBACVC,QAAS,iBACTC,SAAU,yBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,UACRC,KAAM,aACN/I,EAAG,kBACHgJ,GAAI,aACJjU,EAAG,eACHkU,GAAI,YACJ9F,EAAG,aACH+F,GAAI,UACJhG,EAAG,aACHiG,GAAI,UACJ/F,EAAG,aACHkG,GAAI,UACJzG,EAAG,YACH0G,GAAI,UAERrF,KAAM,CACFL,IAAK,EACLC,IAAK,KAjDyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAIC,EAAY,CACRC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,KAEPC,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGJZ,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,0FAA0FK,MAC9F,KAEJN,YAAa,mEAAmEM,MAC5E,KAEJiE,SAAU,4DAA4DjE,MAClE,KAEJgE,cAAe,uCAAuChE,MAAM,KAC5D+D,YAAa,kCAAkC/D,MAAM,KACrDjF,eAAgB,CACZuM,GAAI,aACJD,IAAK,gBACLE,EAAG,aACHC,GAAI,cACJC,IAAK,0BACLC,KAAM,iCAEVZ,SAAU,CACNC,QAAS,UACTC,QAAS,gBACTC,SAAU,WACVC,QAAS,aACTC,SAAU,gBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,SACN/I,EAAG,eACHgJ,GAAI,aACJjU,EAAG,WACHkU,GAAI,WACJ9F,EAAG,WACH+F,GAAI,WACJhG,EAAG,SACHiG,GAAI,SACJ/F,EAAG,SACHkG,GAAI,SACJzG,EAAG,SACH0G,GAAI,UAERmH,SAAU,SAAU9D,GAChB,OAAOA,EAAOlR,QAAQ,iBAAiB,SAAUD,GAC7C,OAAOyxB,EAAUzxB,OAGzB2e,WAAY,SAAUxN,GAClB,OAAOA,EAAOlR,QAAQ,OAAO,SAAUD,GACnC,OAAO8wB,EAAU9wB,OAGzB+N,cAAe,2BACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAGO,QAAbta,GAAsBsa,GAAQ,GACjB,UAAbta,GAAwBsa,EAAO,GACnB,UAAbta,EAEOsa,EAAO,GAEPA,GAGfta,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,EACA,MACAA,EAAO,GACP,OACAA,EAAO,GACP,QACAA,EAAO,GACP,QAEA,OAGflM,KAAM,CACFL,IAAK,EACLC,IAAK,KApHyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAIC,EAAY,CACRC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,KAEPC,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGFZ,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,0FAA0FK,MAC9F,KAEJN,YAAa,mEAAmEM,MAC5E,KAEJiE,SAAU,4DAA4DjE,MAClE,KAEJgE,cAAe,uCAAuChE,MAAM,KAC5D+D,YAAa,kCAAkC/D,MAAM,KACrDjF,eAAgB,CACZuM,GAAI,aACJD,IAAK,gBACLE,EAAG,aACHC,GAAI,cACJC,IAAK,0BACLC,KAAM,iCAEVZ,SAAU,CACNC,QAAS,UACTC,QAAS,gBACTC,SAAU,WACVC,QAAS,aACTC,SAAU,gBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,SACN/I,EAAG,eACHgJ,GAAI,aACJjU,EAAG,WACHkU,GAAI,WACJ9F,EAAG,WACH+F,GAAI,WACJhG,EAAG,SACHiG,GAAI,SACJ/F,EAAG,SACHkG,GAAI,SACJzG,EAAG,SACH0G,GAAI,UAERmH,SAAU,SAAU9D,GAChB,OAAOA,EAAOlR,QAAQ,iBAAiB,SAAUD,GAC7C,OAAOyxB,EAAUzxB,OAGzB2e,WAAY,SAAUxN,GAClB,OAAOA,EAAOlR,QAAQ,OAAO,SAAUD,GACnC,OAAO8wB,EAAU9wB,OAIzB+N,cAAe,uCACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,QAAbta,EACOsa,EAAO,EAAIA,EAAOA,EAAO,GACZ,QAAbta,GAEa,SAAbA,EADAsa,EAGa,UAAbta,EACAsa,GAAQ,EAAIA,EAAOA,EAAO,GACb,UAAbta,GAEa,YAAbA,EADAsa,EAAO,QACX,GAKXta,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,EACA,MACAA,EAAO,EACP,MACAA,EAAO,GACP,OACAA,EAAO,GACP,QACAA,EAAO,GACP,QACAA,EAAO,GACP,UAEA,OAGflM,KAAM,CACFL,IAAK,EACLC,IAAK,KA9HyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAIC,EAAY,CACRC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,KAEPC,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGJZ,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,qJAAqJK,MACzJ,KAEJN,YAAa,iEAAiEM,MAC1E,KAEJJ,iBAAkB,gBAClB2tB,kBAAkB,EAClBtpB,SAAU,gFAAgFjE,MACtF,KAEJgE,cAAe,oDAAoDhE,MAC/D,KAEJ+D,YAAa,6BAA6B/D,MAAM,KAChDjF,eAAgB,CACZuM,GAAI,SACJD,IAAK,YACLE,EAAG,aACHC,GAAI,cACJC,IAAK,sBACLC,KAAM,6BAEVZ,SAAU,CACNC,QAAS,cACTC,QAAS,cACTC,SAAU,wBACVC,QAAS,YACTC,SAAU,4BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,WACN/I,EAAG,QACHgJ,GAAI,YACJjU,EAAG,aACHkU,GAAI,WACJ9F,EAAG,cACH+F,GAAI,YACJhG,EAAG,WACHiG,GAAI,UACJ/F,EAAG,YACHkG,GAAI,UACJzG,EAAG,UACH0G,GAAI,SAERmH,SAAU,SAAU9D,GAChB,OAAOA,EAAOlR,QAAQ,iBAAiB,SAAUD,GAC7C,OAAOyxB,EAAUzxB,OAGzB2e,WAAY,SAAUxN,GAClB,OAAOA,EAAOlR,QAAQ,OAAO,SAAUD,GACnC,OAAO8wB,EAAU9wB,OAGzB+N,cAAe,wCACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAGO,WAAbta,GAAyBsa,GAAQ,GACpB,YAAbta,GAA0Bsa,EAAO,GACrB,YAAbta,EAEOsa,EAAO,GAEPA,GAGfta,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,EACA,SACAA,EAAO,GACP,UACAA,EAAO,GACP,UACAA,EAAO,GACP,UAEA,UAGflM,KAAM,CACFL,IAAK,EACLC,IAAK,KAxHyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,SAASmC,EAAyBx0B,EAAQogB,EAAethB,GAMrD,OAAOkB,EAAS,IAoBpB,SAAkBy0B,EAAMz0B,GACpB,OAAe,IAAXA,EAKR,SAAsBy0B,GAClB,IAAIC,EAAgB,CAChB55B,EAAG,IACH1B,EAAG,IACH6P,EAAG,KAEP,YAAsCvM,IAAlCg4B,EAAcD,EAAKjO,OAAO,IACnBiO,EAEJC,EAAcD,EAAKjO,OAAO,IAAMiO,EAAKE,UAAU,GAb3CC,CAAaH,GAEjBA,EAxBeI,CALT,CACT7lB,GAAI,WACJK,GAAI,MACJH,GAAI,UAE8BpQ,GAAMkB,GAsChD,IAAI8G,EAAc,CACV,QACA,cACA,QACA,QACA,QACA,cACA,QACA,QACA,QACA,QACA,OACA,SAEJD,EAAc,6IAqBdiuB,EAAmB,CACf,OACA,OACA,eACA,QACA,OACA,OACA,QAGCzC,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,gFAAgFK,MACpF,KAEJN,YAAa,mDAAmDM,MAAM,KACtEiE,SAAU,6CAA6CjE,MAAM,KAC7DgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,wBAAwB/D,MAAM,KAC3CqE,cAAeypB,EACfC,kBArCoB,CAChB,QACA,QACA,WACA,iBACA,SACA,WACA,YA+BJC,mBA7BqB,CACjB,QACA,QACA,QACA,QACA,QACA,QACA,SAuBJF,iBAAkBA,EAElBjuB,YAAaA,EACbD,iBAAkBC,EAClBouB,kBA7CoB,wFA8CpBC,uBA7CyB,2DA8CzBpuB,YAAaA,EACbquB,gBAAiBruB,EACjBsuB,iBAAkBtuB,EAElB/E,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,sBACJC,IAAK,4BACLC,KAAM,mCAEVZ,SAAU,CACNC,QAAS,gBACTC,QAAS,qBACTC,SAAU,eACVC,QAAS,gBACTC,SAAU,qBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,YACRC,KAAM,SACN/I,EAAG,wBACHgJ,GAAI,YACJjU,EAAG,cACHkU,GAAIwlB,EACJtrB,EAAG,SACH+F,GAAI,SACJhG,EAAG,YACHiG,GAAIslB,EACJrrB,EAAG,SACHkG,GAAImlB,EACJ5rB,EAAG,WACH0G,GApIR,SAAiCtP,GAC7B,OAWJ,SAASq1B,EAAWr1B,GAChB,OAAIA,EAAS,EACFq1B,EAAWr1B,EAAS,IAExBA,EAfCq1B,CAAWr1B,IACf,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,OAAOA,EAAS,SACpB,QACI,OAAOA,EAAS,YA6HxB2O,uBAAwB,kBACxB1N,QAAS,SAAUjB,GAEf,OAAOA,GADiB,IAAXA,EAAe,KAAO,QAGvCiK,KAAM,CACFL,IAAK,EACLC,IAAK,GAET0F,cAAe,YACfjC,KAAM,SAAUvM,GACZ,MAAiB,SAAVA,GAEXlF,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAOtQ,EAAO,GAAK,OAAS,UAnKEiU,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIzB,SAASiD,EAAUt1B,EAAQogB,EAAethB,GACtC,IAAIyU,EAASvT,EAAS,IACtB,OAAQlB,GACJ,IAAK,KAQD,OANIyU,GADW,IAAXvT,EACU,UACQ,IAAXA,GAA2B,IAAXA,GAA2B,IAAXA,EAC7B,UAEA,UAGlB,IAAK,IACD,OAAOogB,EAAgB,eAAiB,eAC5C,IAAK,KAQD,OANI7M,GADW,IAAXvT,EACU,SACQ,IAAXA,GAA2B,IAAXA,GAA2B,IAAXA,EAC7B,SAEA,SAGlB,IAAK,IACD,OAAOogB,EAAgB,YAAc,cACzC,IAAK,KAQD,OANI7M,GADW,IAAXvT,EACU,MACQ,IAAXA,GAA2B,IAAXA,GAA2B,IAAXA,EAC7B,OAEA,OAGlB,IAAK,KAMD,OAJIuT,GADW,IAAXvT,EACU,MAEA,OAGlB,IAAK,KAQD,OANIuT,GADW,IAAXvT,EACU,SACQ,IAAXA,GAA2B,IAAXA,GAA2B,IAAXA,EAC7B,UAEA,UAGlB,IAAK,KAQD,OANIuT,GADW,IAAXvT,EACU,SACQ,IAAXA,GAA2B,IAAXA,GAA2B,IAAXA,EAC7B,SAEA,UAMjBqyB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,qFAAqFK,MACzF,KAEJN,YAAa,8DAA8DM,MACvE,KAEJutB,kBAAkB,EAClBtpB,SAAU,4DAA4DjE,MAClE,KAEJgE,cAAe,qCAAqChE,MAAM,KAC1D+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,aACHC,GAAI,eACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,eACTC,QAAS,eACTC,SAAU,WACN,OAAQhR,KAAKgP,OACT,KAAK,EACD,MAAO,wBACX,KAAK,EACD,MAAO,uBACX,KAAK,EACD,MAAO,sBACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,oBAGnBiC,QAAS,eACTC,SAAU,WACN,OAAQlR,KAAKgP,OACT,KAAK,EACL,KAAK,EACD,MAAO,uBACX,KAAK,EACD,MAAO,2BACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,yBAGnBmC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,WACN/I,EAAG,cACHgJ,GAAIumB,EACJx6B,EAAGw6B,EACHtmB,GAAIsmB,EACJpsB,EAAGosB,EACHrmB,GAAIqmB,EACJrsB,EAAG,MACHiG,GAAIomB,EACJnsB,EAAG,SACHkG,GAAIimB,EACJ1sB,EAAG,SACH0G,GAAIgmB,GAER3mB,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAlJyBugB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,CACJytB,WAAY,oFAAoFptB,MAC5F,KAEJxM,OAAQ,qHAAqHwM,MACzH,KAEJ8e,SAAU,mBAEdpf,YAAa,8DAA8DM,MACvE,KAEJutB,kBAAkB,EAClBtpB,SAAU,8DAA8DjE,MACpE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,aACHC,GAAI,mBACJ+mB,GAAI,aACJ9mB,IAAK,gCACL+mB,IAAK,mBACL9mB,KAAM,qCACN+mB,KAAM,wBAEV3nB,SAAU,CACNC,QAAS,WACL,MAAO,YAA+B,IAAjB9Q,KAAK6P,QAAgB,MAAQ,MAAQ,QAE9DkB,QAAS,WACL,MAAO,YAA+B,IAAjB/Q,KAAK6P,QAAgB,MAAQ,MAAQ,QAE9DmB,SAAU,WACN,MAAO,YAA+B,IAAjBhR,KAAK6P,QAAgB,MAAQ,MAAQ,QAE9DoB,QAAS,WACL,MAAO,YAA+B,IAAjBjR,KAAK6P,QAAgB,MAAQ,MAAQ,QAE9DqB,SAAU,WACN,MACI,wBACkB,IAAjBlR,KAAK6P,QAAgB,MAAQ,MAC9B,QAGRsB,SAAU,KAEdQ,aAAc,CACVC,OAAQ,YACRC,KAAM,QACN/I,EAAG,aACHgJ,GAAI,YACJjU,EAAG,WACHkU,GAAI,YACJ9F,EAAG,WACH+F,GAAI,WACJhG,EAAG,SACHiG,GAAI,UACJ/F,EAAG,SACHkG,GAAI,WACJzG,EAAG,SACH0G,GAAI,WAERX,uBAAwB,qBACxB1N,QAAS,SAAUjB,EAAQqb,GACvB,IAAI1Z,EACW,IAAX3B,EACM,IACW,IAAXA,EACA,IACW,IAAXA,EACA,IACW,IAAXA,EACA,IACA,IAIV,MAHe,MAAXqb,GAA6B,MAAXA,IAClB1Z,EAAS,KAEN3B,EAAS2B,GAEpBsI,KAAM,CACFL,IAAK,EACLC,IAAK,KA/FyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAI1rB,EAAS,oFAAoFK,MACzF,KAEJN,EAAc,kDAAkDM,MAAM,KACtEF,EAAc,CACV,QACA,QACA,QACA,QACA,QACA,yBACA,4BACA,QACA,QACA,QACA,QACA,SAIJD,EAAc,wJAElB,SAAS6uB,EAAO7qB,GACZ,OAAOA,EAAI,GAAKA,EAAI,GAAoB,MAAZA,EAAI,IAEpC,SAASyqB,EAAUt1B,EAAQogB,EAAethB,EAAK2mB,GAC3C,IAAIlS,EAASvT,EAAS,IACtB,OAAQlB,GACJ,IAAK,IACD,OAAOshB,GAAiBqF,EAAW,aAAe,gBACtD,IAAK,KACD,OAAIrF,GAAiBqF,EACVlS,GAAUmiB,EAAO11B,GAAU,UAAY,UAEvCuT,EAAS,YAExB,IAAK,IACD,OAAO6M,EAAgB,SAAWqF,EAAW,SAAW,UAC5D,IAAK,KACD,OAAIrF,GAAiBqF,EACVlS,GAAUmiB,EAAO11B,GAAU,SAAW,SAEtCuT,EAAS,WAExB,IAAK,IACD,OAAO6M,EAAgB,SAAWqF,EAAW,SAAW,UAC5D,IAAK,KACD,OAAIrF,GAAiBqF,EACVlS,GAAUmiB,EAAO11B,GAAU,SAAW,SAEtCuT,EAAS,WAExB,IAAK,IACD,OAAO6M,GAAiBqF,EAAW,MAAQ,OAC/C,IAAK,KACD,OAAIrF,GAAiBqF,EACVlS,GAAUmiB,EAAO11B,GAAU,MAAQ,OAEnCuT,EAAS,MAExB,IAAK,IACD,OAAO6M,GAAiBqF,EAAW,QAAU,UACjD,IAAK,KACD,OAAIrF,GAAiBqF,EACVlS,GAAUmiB,EAAO11B,GAAU,SAAW,UAEtCuT,EAAS,SAExB,IAAK,IACD,OAAO6M,GAAiBqF,EAAW,MAAQ,QAC/C,IAAK,KACD,OAAIrF,GAAiBqF,EACVlS,GAAUmiB,EAAO11B,GAAU,OAAS,OAEpCuT,EAAS,QAKvB8e,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQA,EACRD,YAAaA,EACbG,YAAaA,EACbD,iBAAkBC,EAGlBouB,kBAAmB,uKACnBC,uBAAwB,sDACxBpuB,YAAaA,EACbquB,gBAAiBruB,EACjBsuB,iBAAkBtuB,EAClBmE,SAAU,mDAAmDjE,MAAM,KACnEgE,cAAe,uBAAuBhE,MAAM,KAC5C+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,aACHC,GAAI,eACJC,IAAK,oBACLC,KAAM,yBACN4D,EAAG,cAEPxE,SAAU,CACNC,QAAS,cACTC,QAAS,eACTC,SAAU,WACN,OAAQhR,KAAKgP,OACT,KAAK,EACD,MAAO,kBACX,KAAK,EACL,KAAK,EACD,MAAO,kBACX,KAAK,EACD,MAAO,mBACX,KAAK,EACD,MAAO,oBACX,KAAK,EACD,MAAO,iBACX,KAAK,EACD,MAAO,oBAGnBiC,QAAS,eACTC,SAAU,WACN,OAAQlR,KAAKgP,OACT,KAAK,EACD,MAAO,wBACX,KAAK,EACL,KAAK,EACD,MAAO,uBACX,KAAK,EACD,MAAO,wBACX,KAAK,EACL,KAAK,EACD,MAAO,uBACX,KAAK,EACD,MAAO,0BAGnBmC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,UACN/I,EAAGuvB,EACHvmB,GAAIumB,EACJx6B,EAAGw6B,EACHtmB,GAAIsmB,EACJpsB,EAAGosB,EACHrmB,GAAIqmB,EACJrsB,EAAGqsB,EACHpmB,GAAIomB,EACJnsB,EAAGmsB,EACHjmB,GAAIimB,EACJ1sB,EAAG0sB,EACHhmB,GAAIgmB,GAER3mB,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAzKyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,gEAAgEK,MACpE,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,oEAAoEjE,MAC1E,KAEJgE,cAAe,6BAA6BhE,MAAM,KAClD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,sCACJC,IAAK,6CACLC,KAAM,oDAEVZ,SAAU,CACNC,QAAS,sBACTC,QAAS,sBACTE,QAAS,sBACTD,SAAU,4BACVE,SAAU,4BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SAAUlN,GAMd,OAAOA,GALK,UAAUiR,KAAKjR,GACrB,MACA,QAAQiR,KAAKjR,GACb,MACA,QAGVmN,KAAM,YACN/I,EAAG,iBACHgJ,GAAI,aACJjU,EAAG,YACHkU,GAAI,WACJ9F,EAAG,YACH+F,GAAI,WACJhG,EAAG,UACHiG,GAAI,SACJ/F,EAAG,WACHkG,GAAI,UACJzG,EAAG,UACH0G,GAAI,UAERX,uBAAwB,cACxB1N,QAAS,SACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KA5DyBugB,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,yFAAyFK,MAC7F,KAEJN,YAAa,qDAAqDM,MAC9D,KAEJiE,SAAU,+EAA+EjE,MACrF,KAEJgE,cAAe,+BAA+BhE,MAAM,KACpD+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EAEpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,iBACTC,QAAS,gBACTC,SAAU,eACVC,QAAS,eACTC,SAAU,wBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,UACRC,KAAM,WACN/I,EAAG,mBACHgJ,GAAI,YACJjU,EAAG,QACHkU,GAAI,WACJ9F,EAAG,MACH+F,GAAI,SACJhG,EAAG,UACHiG,GAAI,aACJ/F,EAAG,MACHkG,GAAI,SACJzG,EAAG,WACH0G,GAAI,cAERX,uBAAwB,mCAExB1N,QAAS,SAAUjB,GACf,IACI2B,EAAS,GAiCb,OAlCQ3B,EAyBA,GAEA2B,EADM,KA1BN3B,GA0BkB,KA1BlBA,GA0B8B,KA1B9BA,GA0B0C,KA1B1CA,GA0BsD,MA1BtDA,EA2BS,MAEA,MA7BTA,EA+BO,IACX2B,EA9BS,CACL,GACA,KACA,KACA,MACA,MACA,KACA,KACA,KACA,MACA,MACA,MACA,KACA,MACA,KACA,KACA,MACA,KACA,KACA,MACA,KACA,OAvBA3B,IAkCDA,EAAS2B,GAEpBsI,KAAM,CACFL,IAAK,EACLC,IAAK,KA9FyBugB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,sFAAsFK,MAC1F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,qDAAqDjE,MAAM,KACrEgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,eACJC,IAAK,qBACLC,KAAM,sCAEVZ,SAAU,CACNC,QAAS,iBACTC,QAAS,oBACTC,SAAU,mBACVC,QAAS,iBACTC,SAAU,qBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,WACN/I,EAAG,cACHgJ,GAAI,cACJjU,EAAG,WACHkU,GAAI,cACJ9F,EAAG,UACH+F,GAAI,WACJhG,EAAG,SACHiG,GAAI,UACJ/F,EAAG,WACHkG,GAAI,aACJzG,EAAG,QACH0G,GAAI,SAERX,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAnDyBugB,CAAQ,EAAQ,O,iBCKlD,SAAWiI,GAAU,aAIzB,SAASsD,EAAoB31B,EAAQogB,EAAethB,EAAK2mB,GACrD,IAAIjrB,EAAS,CACTM,EAAG,CAAC,cAAe,gBACnBoO,EAAG,CAAC,cAAe,gBACnBD,EAAG,CAAC,UAAW,aACfiG,GAAI,CAAClP,EAAS,QAASA,EAAS,UAChCmP,EAAG,CAAC,aAAc,eAClBhG,EAAG,CAAC,YAAa,eACjBkG,GAAI,CAACrP,EAAS,UAAWA,EAAS,YAClC4I,EAAG,CAAC,WAAY,cAChB0G,GAAI,CAACtP,EAAS,SAAUA,EAAS,YAErC,OAAOogB,EAAgB5lB,EAAOsE,GAAK,GAAKtE,EAAOsE,GAAK,GAG/CuzB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,qFAAqFK,MACzF,KAEJN,YAAa,6DAA6DM,MACtE,KAEJutB,kBAAkB,EAClBtpB,SAAU,8DAA8DjE,MACpE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,eACJC,IAAK,qBACLC,KAAM,4BAEVZ,SAAU,CACNC,QAAS,sBACTK,SAAU,IACVJ,QAAS,uBACTC,SAAU,qBACVC,QAAS,wBACTC,SAAU,gCAEdS,aAAc,CACVC,OAAQ,QACRC,KAAM,SACN/I,EAAG,oBACHgJ,GAAI,cACJjU,EAAG66B,EACH3mB,GAAI,aACJ9F,EAAGysB,EACH1mB,GAAI,aACJhG,EAAG0sB,EACHzmB,GAAIymB,EACJxmB,EAAGwmB,EACHvmB,GAAI,YACJjG,EAAGwsB,EACHtmB,GAAIsmB,EACJ/sB,EAAG+sB,EACHrmB,GAAIqmB,GAERhnB,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KA1EyBugB,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIzB,SAASsD,EAAoB31B,EAAQogB,EAAethB,EAAK2mB,GACrD,IAAIjrB,EAAS,CACTM,EAAG,CAAC,cAAe,gBACnBoO,EAAG,CAAC,cAAe,gBACnBD,EAAG,CAAC,UAAW,aACfiG,GAAI,CAAClP,EAAS,QAASA,EAAS,UAChCmP,EAAG,CAAC,aAAc,eAClBhG,EAAG,CAAC,YAAa,eACjBkG,GAAI,CAACrP,EAAS,UAAWA,EAAS,YAClC4I,EAAG,CAAC,WAAY,cAChB0G,GAAI,CAACtP,EAAS,SAAUA,EAAS,YAErC,OAAOogB,EAAgB5lB,EAAOsE,GAAK,GAAKtE,EAAOsE,GAAK,GAG7CuzB,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,qFAAqFK,MACzF,KAEJN,YAAa,6DAA6DM,MACtE,KAEJutB,kBAAkB,EAClBtpB,SAAU,8DAA8DjE,MACpE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,eACJC,IAAK,qBACLC,KAAM,4BAEVZ,SAAU,CACNC,QAAS,sBACTK,SAAU,IACVJ,QAAS,uBACTC,SAAU,qBACVC,QAAS,wBACTC,SAAU,gCAEdS,aAAc,CACVC,OAAQ,QACRC,KAAM,SACN/I,EAAG,oBACHgJ,GAAI,cACJjU,EAAG66B,EACH3mB,GAAI,aACJ9F,EAAGysB,EACH1mB,GAAI,aACJhG,EAAG0sB,EACHzmB,GAAIymB,EACJxmB,EAAGwmB,EACHvmB,GAAI,YACJjG,EAAGwsB,EACHtmB,GAAIsmB,EACJ/sB,EAAG+sB,EACHrmB,GAAIqmB,GAERhnB,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KA1EyBugB,CAAQ,EAAQ,O,iBCAlD,SAAWiI,GAAU,aAIzB,SAASsD,EAAoB31B,EAAQogB,EAAethB,EAAK2mB,GACrD,IAAIjrB,EAAS,CACTM,EAAG,CAAC,cAAe,gBACnBoO,EAAG,CAAC,cAAe,gBACnBD,EAAG,CAAC,UAAW,aACfiG,GAAI,CAAClP,EAAS,QAASA,EAAS,UAChCmP,EAAG,CAAC,aAAc,eAClBhG,EAAG,CAAC,YAAa,eACjBkG,GAAI,CAACrP,EAAS,UAAWA,EAAS,YAClC4I,EAAG,CAAC,WAAY,cAChB0G,GAAI,CAACtP,EAAS,SAAUA,EAAS,YAErC,OAAOogB,EAAgB5lB,EAAOsE,GAAK,GAAKtE,EAAOsE,GAAK,GAG7CuzB,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,qFAAqFK,MACzF,KAEJN,YAAa,6DAA6DM,MACtE,KAEJutB,kBAAkB,EAClBtpB,SAAU,8DAA8DjE,MACpE,KAEJgE,cAAe,uBAAuBhE,MAAM,KAC5C+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,eACJC,IAAK,qBACLC,KAAM,4BAEVZ,SAAU,CACNC,QAAS,sBACTK,SAAU,IACVJ,QAAS,uBACTC,SAAU,qBACVC,QAAS,wBACTC,SAAU,gCAEdS,aAAc,CACVC,OAAQ,QACRC,KAAM,SACN/I,EAAG,oBACHgJ,GAAI,cACJjU,EAAG66B,EACH3mB,GAAI,aACJ9F,EAAGysB,EACH1mB,GAAI,aACJhG,EAAG0sB,EACHzmB,GAAIymB,EACJxmB,EAAGwmB,EACHvmB,GAAI,YACJjG,EAAGwsB,EACHtmB,GAAIsmB,EACJ/sB,EAAG+sB,EACHrmB,GAAIqmB,GAERhnB,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KA1EyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAI1rB,EAAS,CACL,WACA,aACA,SACA,WACA,KACA,OACA,SACA,WACA,eACA,aACA,aACA,cAEJsE,EAAW,CACP,WACA,OACA,WACA,OACA,aACA,SACA,YAGConB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQA,EACRD,YAAaC,EACbsE,SAAUA,EACVD,cAAeC,EACfF,YAAa,qCAAqC/D,MAAM,KACxDjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,WACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVa,cAAe,QACfjC,KAAM,SAAU3U,GACZ,MAAO,OAASA,GAEpBkD,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,GACA,KAEA,MAGfrI,SAAU,CACNC,QAAS,cACTC,QAAS,cACTC,SAAU,UACVC,QAAS,cACTC,SAAU,qBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,cACRC,KAAM,YACN/I,EAAG,iBACHgJ,GAAI,cACJjU,EAAG,WACHkU,GAAI,YACJ9F,EAAG,aACH+F,GAAI,cACJhG,EAAG,WACHiG,GAAI,YACJ/F,EAAG,SACHkG,GAAI,UACJzG,EAAG,WACH0G,GAAI,aAERmH,SAAU,SAAU9D,GAChB,OAAOA,EAAOlR,QAAQ,KAAM,MAEhC0e,WAAY,SAAUxN,GAClB,OAAOA,EAAOlR,QAAQ,KAAM,MAEhCwI,KAAM,CACFL,IAAK,EACLC,IAAK,MAxFyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAWhBA,EAAO9hB,aAAa,KAAM,CAC/BqlB,mBAAoB,qHAAqH5uB,MACrI,KAEJ6uB,iBAAkB,qHAAqH7uB,MACnI,KAEJL,OAAQ,SAAUmvB,EAAgBt7B,GAC9B,OAAKs7B,EAGiB,iBAAXt7B,GACP,IAAIyH,KAAKzH,EAAOm6B,UAAU,EAAGn6B,EAAOwL,QAAQ,UAGrC/I,KAAK84B,kBAAkBD,EAAe/xB,SAEtC9G,KAAK+4B,oBAAoBF,EAAe/xB,SARxC9G,KAAK+4B,qBAWpBtvB,YAAa,oDAAoDM,MAAM,KACvEiE,SAAU,yDAAyDjE,MAC/D,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CnL,SAAU,SAAUiR,EAAOE,EAASyZ,GAChC,OAAI3Z,EAAQ,GACD2Z,EAAU,KAAO,KAEjBA,EAAU,KAAO,MAGhCnZ,KAAM,SAAU3U,GACZ,MAAyC,OAAjCA,EAAQ,IAAI4J,cAAc,IAEtCgN,cAAe,gBACfxN,eAAgB,CACZuM,GAAI,SACJD,IAAK,YACLE,EAAG,aACHC,GAAI,cACJC,IAAK,qBACLC,KAAM,4BAEVunB,WAAY,CACRloB,QAAS,iBACTC,QAAS,gBACTC,SAAU,eACVC,QAAS,eACTC,SAAU,WACN,OAAQlR,KAAKgP,OACT,KAAK,EACD,MAAO,gCACX,QACI,MAAO,mCAGnBmC,SAAU,KAEdN,SAAU,SAAUhP,EAAK4C,GACrB,IApEY/I,EAoERgJ,EAAS1E,KAAKi5B,YAAYp3B,GAC1BgO,EAAQpL,GAAOA,EAAIoL,QAIvB,OAzEYnU,EAsEGgJ,GApEM,oBAAblC,UAA4B9G,aAAiB8G,UACX,sBAA1C5G,OAAOC,UAAUC,SAASC,KAAKL,MAoE3BgJ,EAASA,EAAOnJ,MAAMkJ,IAEnBC,EAAOF,QAAQ,KAAMqL,EAAQ,IAAO,EAAI,MAAQ,SAE3D8B,aAAc,CACVC,OAAQ,QACRC,KAAM,UACN/I,EAAG,oBACHgJ,GAAI,kBACJjU,EAAG,YACHkU,GAAI,WACJ9F,EAAG,UACH+F,GAAI,UACJhG,EAAG,WACHiG,GAAI,WACJ/F,EAAG,aACHkG,GAAI,WACJzG,EAAG,cACH0G,GAAI,aAERX,uBAAwB,WACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAtGyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,wFAAwFK,MAC5F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,2DAA2DjE,MACjE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,SACJD,IAAK,YACLE,EAAG,aACHC,GAAI,cACJC,IAAK,qBACLC,KAAM,4BAEVZ,SAAU,CACNC,QAAS,gBACTC,QAAS,mBACTC,SAAU,eACVC,QAAS,oBACTC,SAAU,sBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,SACN/I,EAAG,gBACHgJ,GAAI,aACJjU,EAAG,WACHkU,GAAI,aACJ9F,EAAG,UACH+F,GAAI,WACJhG,EAAG,QACHiG,GAAI,UACJ/F,EAAG,UACHkG,GAAI,YACJzG,EAAG,SACH0G,GAAI,YAERX,uBAAwB,uBACxB1N,QAAS,SAAUjB,GACf,IAAI5G,EAAI4G,EAAS,GAWjB,OAAOA,GAT6B,MAAxBA,EAAS,IAAO,IACd,KACM,IAAN5G,EACA,KACM,IAANA,EACA,KACM,IAANA,EACA,KACA,OAGlB6Q,KAAM,CACFL,IAAK,EACLC,IAAK,KAlEyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,wFAAwFK,MAC5F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,2DAA2DjE,MACjE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,SACJD,IAAK,YACLE,EAAG,aACHC,GAAI,eACJC,IAAK,sBACLC,KAAM,6BAEVZ,SAAU,CACNC,QAAS,gBACTC,QAAS,mBACTC,SAAU,eACVC,QAAS,oBACTC,SAAU,sBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,SACN/I,EAAG,gBACHgJ,GAAI,aACJjU,EAAG,WACHkU,GAAI,aACJ9F,EAAG,UACH+F,GAAI,WACJhG,EAAG,QACHiG,GAAI,UACJ/F,EAAG,UACHkG,GAAI,YACJzG,EAAG,SACH0G,GAAI,YAERX,uBAAwB,uBACxB1N,QAAS,SAAUjB,GACf,IAAI5G,EAAI4G,EAAS,GAWjB,OAAOA,GAT6B,MAAxBA,EAAS,IAAO,IACd,KACM,IAAN5G,EACA,KACM,IAANA,EACA,KACM,IAANA,EACA,KACA,SA7DgBgxB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,wFAAwFK,MAC5F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,2DAA2DjE,MACjE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,gBACTC,QAAS,mBACTC,SAAU,eACVC,QAAS,oBACTC,SAAU,sBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,SACN/I,EAAG,gBACHgJ,GAAI,aACJjU,EAAG,WACHkU,GAAI,aACJ9F,EAAG,UACH+F,GAAI,WACJhG,EAAG,QACHiG,GAAI,UACJ/F,EAAG,UACHkG,GAAI,YACJzG,EAAG,SACH0G,GAAI,YAERX,uBAAwB,uBACxB1N,QAAS,SAAUjB,GACf,IAAI5G,EAAI4G,EAAS,GAWjB,OAAOA,GAT6B,MAAxBA,EAAS,IAAO,IACd,KACM,IAAN5G,EACA,KACM,IAANA,EACA,KACM,IAANA,EACA,KACA,OAGlB6Q,KAAM,CACFL,IAAK,EACLC,IAAK,KAlEyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,wFAAwFK,MAC5F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,2DAA2DjE,MACjE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVZ,SAAU,CACNC,QAAS,gBACTC,QAAS,mBACTC,SAAU,eACVC,QAAS,oBACTC,SAAU,sBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,SACN/I,EAAG,gBACHgJ,GAAI,aACJjU,EAAG,WACHkU,GAAI,aACJ9F,EAAG,UACH+F,GAAI,WACJhG,EAAG,QACHiG,GAAI,UACJ/F,EAAG,UACHkG,GAAI,YACJzG,EAAG,SACH0G,GAAI,YAERX,uBAAwB,uBACxB1N,QAAS,SAAUjB,GACf,IAAI5G,EAAI4G,EAAS,GAWjB,OAAOA,GAT6B,MAAxBA,EAAS,IAAO,IACd,KACM,IAAN5G,EACA,KACM,IAANA,EACA,KACM,IAANA,EACA,KACA,OAGlB6Q,KAAM,CACFL,IAAK,EACLC,IAAK,KAlEyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,wFAAwFK,MAC5F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,2DAA2DjE,MACjE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,gBACTC,QAAS,mBACTC,SAAU,eACVC,QAAS,oBACTC,SAAU,sBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,SACN/I,EAAG,gBACHgJ,GAAI,aACJjU,EAAG,WACHkU,GAAI,aACJ9F,EAAG,UACH+F,GAAI,WACJhG,EAAG,QACHiG,GAAI,UACJ/F,EAAG,UACHkG,GAAI,YACJzG,EAAG,SACH0G,GAAI,YAERX,uBAAwB,uBACxB1N,QAAS,SAAUjB,GACf,IAAI5G,EAAI4G,EAAS,GAWjB,OAAOA,GAT6B,MAAxBA,EAAS,IAAO,IACd,KACM,IAAN5G,EACA,KACM,IAANA,EACA,KACM,IAANA,EACA,KACA,SA7DgBgxB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,wFAAwFK,MAC5F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,2DAA2DjE,MACjE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,SACJD,IAAK,YACLE,EAAG,aACHC,GAAI,cACJC,IAAK,qBACLC,KAAM,4BAEVZ,SAAU,CACNC,QAAS,gBACTC,QAAS,mBACTC,SAAU,eACVC,QAAS,oBACTC,SAAU,sBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,SACN/I,EAAG,gBACHgJ,GAAI,aACJjU,EAAG,WACHkU,GAAI,aACJ9F,EAAG,UACH+F,GAAI,WACJhG,EAAG,QACHiG,GAAI,UACJ/F,EAAG,UACHkG,GAAI,YACJzG,EAAG,SACH0G,GAAI,YAERX,uBAAwB,uBACxB1N,QAAS,SAAUjB,GACf,IAAI5G,EAAI4G,EAAS,GAWjB,OAAOA,GAT6B,MAAxBA,EAAS,IAAO,IACd,KACM,IAAN5G,EACA,KACM,IAANA,EACA,KACM,IAANA,EACA,KACA,OAGlB6Q,KAAM,CACFL,IAAK,EACLC,IAAK,KAlEyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,wFAAwFK,MAC5F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,2DAA2DjE,MACjE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,SACJD,IAAK,YACLE,EAAG,aACHC,GAAI,cACJC,IAAK,qBACLC,KAAM,4BAEVZ,SAAU,CACNC,QAAS,gBACTC,QAAS,mBACTC,SAAU,eACVC,QAAS,oBACTC,SAAU,sBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,SACN/I,EAAG,gBACHgJ,GAAI,aACJjU,EAAG,WACHkU,GAAI,aACJ9F,EAAG,UACH+F,GAAI,WACJhG,EAAG,QACHiG,GAAI,UACJ/F,EAAG,UACHkG,GAAI,YACJzG,EAAG,SACH0G,GAAI,YAERX,uBAAwB,uBACxB1N,QAAS,SAAUjB,GACf,IAAI5G,EAAI4G,EAAS,GAWjB,OAAOA,GAT6B,MAAxBA,EAAS,IAAO,IACd,KACM,IAAN5G,EACA,KACM,IAANA,EACA,KACM,IAANA,EACA,KACA,OAGlB6Q,KAAM,CACFL,IAAK,EACLC,IAAK,KAlEyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,wFAAwFK,MAC5F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,2DAA2DjE,MACjE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,gBACTC,QAAS,mBACTC,SAAU,eACVC,QAAS,oBACTC,SAAU,sBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,SACN/I,EAAG,gBACHgJ,GAAI,aACJjU,EAAG,WACHkU,GAAI,aACJ9F,EAAG,UACH+F,GAAI,WACJhG,EAAG,QACHiG,GAAI,UACJ/F,EAAG,UACHkG,GAAI,YACJzG,EAAG,SACH0G,GAAI,YAERX,uBAAwB,uBACxB1N,QAAS,SAAUjB,GACf,IAAI5G,EAAI4G,EAAS,GAWjB,OAAOA,GAT6B,MAAxBA,EAAS,IAAO,IACd,KACM,IAAN5G,EACA,KACM,IAANA,EACA,KACM,IAANA,EACA,KACA,OAGlB6Q,KAAM,CACFL,IAAK,EACLC,IAAK,KAlEyBugB,CAAQ,EAAQ,O,iBCMlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,6FAA6FK,MACjG,KAEJN,YAAa,oDAAoDM,MAAM,KACvEiE,SAAU,qDAAqDjE,MAAM,KACrEgE,cAAe,gCAAgChE,MAAM,KACrD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,4BACJC,IAAK,kCACLC,KAAM,2CACN+mB,KAAM,uCAEVlmB,cAAe,cACfjC,KAAM,SAAU3U,GACZ,MAAyC,MAAlCA,EAAM6tB,OAAO,GAAGjkB,eAE3B1G,SAAU,SAAUiR,EAAOE,EAASyZ,GAChC,OAAI3Z,EAAQ,GACD2Z,EAAU,SAAW,SAErBA,EAAU,SAAW,UAGpC3Y,SAAU,CACNC,QAAS,iBACTC,QAAS,iBACTC,SAAU,gBACVC,QAAS,iBACTC,SAAU,2BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,UACRC,KAAM,WACN/I,EAAG,kBACHgJ,GAAI,cACJjU,EAAG,aACHkU,GAAI,aACJ9F,EAAG,WACH+F,GAAI,WACJhG,EAAG,WACHiG,GAAI,WACJ/F,EAAG,aACHkG,GAAI,aACJzG,EAAG,WACH0G,GAAI,YAERX,uBAAwB,WACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KA/DyBugB,CAAQ,EAAQ,O,iBCAlD,SAAWiI,GAAU,aAIzB,IAAI8D,EAAiB,8DAA8DnvB,MAC3E,KAEJN,EAAc,kDAAkDM,MAAM,KACtEF,EAAc,CACV,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SAEJD,EAAc,mLAETwrB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,2FAA2FK,MAC/F,KAEJN,YAAa,SAAU5L,EAAGN,GACtB,OAAKM,EAEM,QAAQmH,KAAKzH,GACbkM,EAAY5L,EAAEiJ,SAEdoyB,EAAer7B,EAAEiJ,SAJjBoyB,GAOftvB,YAAaA,EACbD,iBAAkBC,EAClBouB,kBAAmB,+FACnBC,uBAAwB,0FACxBpuB,YAAaA,EACbquB,gBAAiBruB,EACjBsuB,iBAAkBtuB,EAClBmE,SAAU,uDAAuDjE,MAAM,KACvEgE,cAAe,qCAAqChE,MAAM,KAC1D+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,aACHC,GAAI,wBACJC,IAAK,6BACLC,KAAM,oCAEVZ,SAAU,CACNC,QAAS,WACL,MAAO,aAAgC,IAAjB9Q,KAAK6P,QAAgB,IAAM,IAAM,QAE3DkB,QAAS,WACL,MAAO,gBAAmC,IAAjB/Q,KAAK6P,QAAgB,IAAM,IAAM,QAE9DmB,SAAU,WACN,MAAO,cAAiC,IAAjBhR,KAAK6P,QAAgB,IAAM,IAAM,QAE5DoB,QAAS,WACL,MAAO,cAAiC,IAAjBjR,KAAK6P,QAAgB,IAAM,IAAM,QAE5DqB,SAAU,WACN,MACI,0BACkB,IAAjBlR,KAAK6P,QAAgB,IAAM,IAC5B,QAGRsB,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,UACN/I,EAAG,gBACHgJ,GAAI,cACJjU,EAAG,YACHkU,GAAI,aACJ9F,EAAG,WACH+F,GAAI,WACJhG,EAAG,SACHiG,GAAI,UACJC,EAAG,aACHC,GAAI,aACJjG,EAAG,SACHkG,GAAI,WACJzG,EAAG,SACH0G,GAAI,WAERX,uBAAwB,WACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,GAEThI,YAAa,mBAzGqBuoB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIzB,IAAI8D,EAAiB,8DAA8DnvB,MAC3E,KAEJN,EAAc,kDAAkDM,MAAM,KACtEF,EAAc,CACV,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SAEJD,EAAc,mLAEPwrB,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,2FAA2FK,MAC/F,KAEJN,YAAa,SAAU5L,EAAGN,GACtB,OAAKM,EAEM,QAAQmH,KAAKzH,GACbkM,EAAY5L,EAAEiJ,SAEdoyB,EAAer7B,EAAEiJ,SAJjBoyB,GAOftvB,YAAaA,EACbD,iBAAkBC,EAClBouB,kBAAmB,+FACnBC,uBAAwB,0FACxBpuB,YAAaA,EACbquB,gBAAiBruB,EACjBsuB,iBAAkBtuB,EAClBmE,SAAU,uDAAuDjE,MAAM,KACvEgE,cAAe,qCAAqChE,MAAM,KAC1D+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,SACJD,IAAK,YACLE,EAAG,aACHC,GAAI,wBACJC,IAAK,+BACLC,KAAM,sCAEVZ,SAAU,CACNC,QAAS,WACL,MAAO,aAAgC,IAAjB9Q,KAAK6P,QAAgB,IAAM,IAAM,QAE3DkB,QAAS,WACL,MAAO,gBAAmC,IAAjB/Q,KAAK6P,QAAgB,IAAM,IAAM,QAE9DmB,SAAU,WACN,MAAO,cAAiC,IAAjBhR,KAAK6P,QAAgB,IAAM,IAAM,QAE5DoB,QAAS,WACL,MAAO,cAAiC,IAAjBjR,KAAK6P,QAAgB,IAAM,IAAM,QAE5DqB,SAAU,WACN,MACI,0BACkB,IAAjBlR,KAAK6P,QAAgB,IAAM,IAC5B,QAGRsB,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,UACN/I,EAAG,gBACHgJ,GAAI,cACJjU,EAAG,YACHkU,GAAI,aACJ9F,EAAG,WACH+F,GAAI,WACJhG,EAAG,SACHiG,GAAI,UACJC,EAAG,aACHC,GAAI,aACJjG,EAAG,SACHkG,GAAI,WACJzG,EAAG,SACH0G,GAAI,WAERX,uBAAwB,WACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAvGyBugB,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIzB,IAAI8D,EAAiB,8DAA8DnvB,MAC3E,KAEJN,EAAc,kDAAkDM,MAAM,KACtEF,EAAc,CACV,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SAEJD,EAAc,mLAEPwrB,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,2FAA2FK,MAC/F,KAEJN,YAAa,SAAU5L,EAAGN,GACtB,OAAKM,EAEM,QAAQmH,KAAKzH,GACbkM,EAAY5L,EAAEiJ,SAEdoyB,EAAer7B,EAAEiJ,SAJjBoyB,GAOftvB,YAAaA,EACbD,iBAAkBC,EAClBouB,kBAAmB,+FACnBC,uBAAwB,0FACxBpuB,YAAaA,EACbquB,gBAAiBruB,EACjBsuB,iBAAkBtuB,EAClBmE,SAAU,uDAAuDjE,MAAM,KACvEgE,cAAe,qCAAqChE,MAAM,KAC1D+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,aACHC,GAAI,wBACJC,IAAK,6BACLC,KAAM,oCAEVZ,SAAU,CACNC,QAAS,WACL,MAAO,aAAgC,IAAjB9Q,KAAK6P,QAAgB,IAAM,IAAM,QAE3DkB,QAAS,WACL,MAAO,gBAAmC,IAAjB/Q,KAAK6P,QAAgB,IAAM,IAAM,QAE9DmB,SAAU,WACN,MAAO,cAAiC,IAAjBhR,KAAK6P,QAAgB,IAAM,IAAM,QAE5DoB,QAAS,WACL,MAAO,cAAiC,IAAjBjR,KAAK6P,QAAgB,IAAM,IAAM,QAE5DqB,SAAU,WACN,MACI,0BACkB,IAAjBlR,KAAK6P,QAAgB,IAAM,IAC5B,QAGRsB,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,UACN/I,EAAG,gBACHgJ,GAAI,cACJjU,EAAG,YACHkU,GAAI,aACJ9F,EAAG,WACH+F,GAAI,WACJhG,EAAG,SACHiG,GAAI,UACJC,EAAG,aACHC,GAAI,aACJjG,EAAG,SACHkG,GAAI,WACJzG,EAAG,SACH0G,GAAI,WAERX,uBAAwB,WACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,GAEThI,YAAa,mBAzGqBuoB,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIzB,IAAI8D,EAAiB,8DAA8DnvB,MAC3E,KAEJN,EAAc,kDAAkDM,MAAM,KACtEF,EAAc,CACV,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SAEJD,EAAc,mLAEPwrB,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,2FAA2FK,MAC/F,KAEJN,YAAa,SAAU5L,EAAGN,GACtB,OAAKM,EAEM,QAAQmH,KAAKzH,GACbkM,EAAY5L,EAAEiJ,SAEdoyB,EAAer7B,EAAEiJ,SAJjBoyB,GAOftvB,YAAaA,EACbD,iBAAkBC,EAClBouB,kBAAmB,+FACnBC,uBAAwB,0FACxBpuB,YAAaA,EACbquB,gBAAiBruB,EACjBsuB,iBAAkBtuB,EAClBmE,SAAU,uDAAuDjE,MAAM,KACvEgE,cAAe,qCAAqChE,MAAM,KAC1D+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,SACJD,IAAK,YACLE,EAAG,aACHC,GAAI,wBACJC,IAAK,+BACLC,KAAM,sCAEVZ,SAAU,CACNC,QAAS,WACL,MAAO,aAAgC,IAAjB9Q,KAAK6P,QAAgB,IAAM,IAAM,QAE3DkB,QAAS,WACL,MAAO,gBAAmC,IAAjB/Q,KAAK6P,QAAgB,IAAM,IAAM,QAE9DmB,SAAU,WACN,MAAO,cAAiC,IAAjBhR,KAAK6P,QAAgB,IAAM,IAAM,QAE5DoB,QAAS,WACL,MAAO,cAAiC,IAAjBjR,KAAK6P,QAAgB,IAAM,IAAM,QAE5DqB,SAAU,WACN,MACI,0BACkB,IAAjBlR,KAAK6P,QAAgB,IAAM,IAC5B,QAGRsB,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,UACN/I,EAAG,gBACHgJ,GAAI,cACJjU,EAAG,YACHkU,GAAI,aACJ9F,EAAG,WACH+F,GAAI,WACJhG,EAAG,SACHiG,GAAI,UACJC,EAAG,aACHC,GAAI,aACJjG,EAAG,SACHkG,GAAI,WACJzG,EAAG,SACH0G,GAAI,WAERX,uBAAwB,WACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAvGyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,SAASsD,EAAoB31B,EAAQogB,EAAethB,EAAK2mB,GACrD,IAAIjrB,EAAS,CACTuL,EAAG,CAAC,eAAgB,cAAe,iBACnCgJ,GAAI,CAAC/O,EAAS,UAAWA,EAAS,YAClClF,EAAG,CAAC,aAAc,aAClBkU,GAAI,CAAChP,EAAS,UAAWA,EAAS,YAClCkJ,EAAG,CAAC,YAAa,YAAa,YAC9B+F,GAAI,CAACjP,EAAS,SAAUA,EAAS,UACjCiJ,EAAG,CAAC,YAAa,YACjBE,EAAG,CAAC,UAAW,WAAY,WAC3BkG,GAAI,CAACrP,EAAS,OAAQA,EAAS,SAC/B4I,EAAG,CAAC,YAAa,QAAS,aAC1B0G,GAAI,CAACtP,EAAS,SAAUA,EAAS,YAErC,OAAIogB,EACO5lB,EAAOsE,GAAK,GAAKtE,EAAOsE,GAAK,GAAKtE,EAAOsE,GAAK,GAElD2mB,EAAWjrB,EAAOsE,GAAK,GAAKtE,EAAOsE,GAAK,GAG1CuzB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,6FAA6FK,MACjG,KAEJN,YAAa,6DAA6DM,MACtE,KAEJiE,SAAU,iEAAiEjE,MACvE,KAEJgE,cAAe,gBAAgBhE,MAAM,KACrC+D,YAAa,gBAAgB/D,MAAM,KACnCjF,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,aACHC,GAAI,eACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,aACTC,QAAS,cACTC,SAAU,qBACVC,QAAS,aACTC,SAAU,oBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,YACRC,KAAM,YACN/I,EAAG4vB,EACH5mB,GAAI4mB,EACJ76B,EAAG66B,EACH3mB,GAAI2mB,EACJzsB,EAAGysB,EACH1mB,GAAI0mB,EACJ1sB,EAAG0sB,EACHzmB,GAAI,WACJ/F,EAAGwsB,EACHtmB,GAAIsmB,EACJ/sB,EAAG+sB,EACHrmB,GAAIqmB,GAERhnB,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KA3EyBugB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,+FAA+FK,MACnG,KAEJN,YAAa,8DAA8DM,MACvE,KAEJutB,kBAAkB,EAClBtpB,SAAU,sEAAsEjE,MAC5E,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,0BACJC,IAAK,gCACLC,KAAM,sCACN4D,EAAG,WACHijB,GAAI,oBACJC,IAAK,0BACLC,KAAM,gCAEV3nB,SAAU,CACNC,QAAS,kBACTC,QAAS,mBACTC,SAAU,gBACVC,QAAS,kBACTC,SAAU,0BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,WACRC,KAAM,WACN/I,EAAG,iBACHgJ,GAAI,aACJjU,EAAG,aACHkU,GAAI,YACJ9F,EAAG,WACH+F,GAAI,UACJhG,EAAG,WACHiG,GAAI,UACJ/F,EAAG,eACHkG,GAAI,cACJzG,EAAG,WACH0G,GAAI,WAERX,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KA7DyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAIC,EAAY,CACRC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,KAEPC,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGJZ,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,wEAAwEK,MAC5E,KAEJN,YAAa,wEAAwEM,MACjF,KAEJiE,SAAU,qDAAoEjE,MAC1E,KAEJgE,cAAe,qDAAoEhE,MAC/E,KAEJ+D,YAAa,gBAAgB/D,MAAM,KACnCssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVa,cAAe,wBACfjC,KAAM,SAAU3U,GACZ,MAAO,aAAasJ,KAAKtJ,IAE7BkD,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,GACA,aAEA,cAGfrI,SAAU,CACNC,QAAS,kBACTC,QAAS,iBACTC,SAAU,iBACVC,QAAS,kBACTC,SAAU,uBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,SACN/I,EAAG,YACHgJ,GAAI,WACJjU,EAAG,WACHkU,GAAI,WACJ9F,EAAG,UACH+F,GAAI,UACJhG,EAAG,SACHiG,GAAI,SACJ/F,EAAG,SACHkG,GAAI,SACJzG,EAAG,SACH0G,GAAI,UAERmH,SAAU,SAAU9D,GAChB,OAAOA,EACFlR,QAAQ,UAAU,SAAUD,GACzB,OAAOyxB,EAAUzxB,MAEpBC,QAAQ,KAAM,MAEvB0e,WAAY,SAAUxN,GAClB,OAAOA,EACFlR,QAAQ,OAAO,SAAUD,GACtB,OAAO8wB,EAAU9wB,MAEpBC,QAAQ,KAAM,MAEvBkN,uBAAwB,WACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,MA5GyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAI+D,EAAc,wEAAwEpvB,MAClF,KAEJqvB,EAAgB,CACZ,QACA,QACA,SACA,SACA,SACA,SACA,SACAD,EAAY,GACZA,EAAY,GACZA,EAAY,IAEpB,SAASd,EAAUt1B,EAAQogB,EAAethB,EAAK2mB,GAC3C,IAAIlS,EAAS,GACb,OAAQzU,GACJ,IAAK,IACD,OAAO2mB,EAAW,oBAAsB,kBAC5C,IAAK,KACDlS,EAASkS,EAAW,WAAa,WACjC,MACJ,IAAK,IACD,OAAOA,EAAW,WAAa,WACnC,IAAK,KACDlS,EAASkS,EAAW,WAAa,YACjC,MACJ,IAAK,IACD,OAAOA,EAAW,SAAW,QACjC,IAAK,KACDlS,EAASkS,EAAW,SAAW,SAC/B,MACJ,IAAK,IACD,OAAOA,EAAW,SAAW,QACjC,IAAK,KACDlS,EAASkS,EAAW,SAAW,SAC/B,MACJ,IAAK,IACD,OAAOA,EAAW,YAAc,WACpC,IAAK,KACDlS,EAASkS,EAAW,YAAc,YAClC,MACJ,IAAK,IACD,OAAOA,EAAW,SAAW,QACjC,IAAK,KACDlS,EAASkS,EAAW,SAAW,SAIvC,OADAlS,EAGJ,SAAsBvT,EAAQylB,GAC1B,OAAOzlB,EAAS,GACVylB,EACI4Q,EAAcr2B,GACdo2B,EAAYp2B,GAChBA,EARGs2B,CAAat2B,EAAQylB,GAAY,IAAMlS,EAW3C8e,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,2GAA2GK,MAC/G,KAEJN,YAAa,uEAAuEM,MAChF,KAEJiE,SAAU,qEAAqEjE,MAC3E,KAEJgE,cAAe,uBAAuBhE,MAAM,KAC5C+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,mBACJC,IAAK,gCACLC,KAAM,sCACN4D,EAAG,WACHijB,GAAI,cACJC,IAAK,2BACLC,KAAM,iCAEV3nB,SAAU,CACNC,QAAS,oBACTC,QAAS,sBACTC,SAAU,gBACVC,QAAS,mBACTC,SAAU,4BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,YACRC,KAAM,YACN/I,EAAGuvB,EACHvmB,GAAIumB,EACJx6B,EAAGw6B,EACHtmB,GAAIsmB,EACJpsB,EAAGosB,EACHrmB,GAAIqmB,EACJrsB,EAAGqsB,EACHpmB,GAAIomB,EACJnsB,EAAGmsB,EACHjmB,GAAIimB,EACJ1sB,EAAG0sB,EACHhmB,GAAIgmB,GAER3mB,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAvHyBugB,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIfA,EAAO9hB,aAAa,MAAO,CACjC5J,OAAQ,0FAA0FK,MAC9F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,yDAAyDjE,MAC/D,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,wBAAwB/D,MAAM,KAC3CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,YACHC,GAAI,eACJC,IAAK,qBACLC,KAAM,6BAEVZ,SAAU,CACNC,QAAS,oBACTC,QAAS,gBACTC,SAAU,0BACVC,QAAS,eACTC,SAAU,4BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,gBACRC,KAAM,mBACN/I,EAAG,gBACHgJ,GAAI,aACJjU,EAAG,eACHkU,GAAI,YACJ9F,EAAG,aACH+F,GAAI,UACJhG,EAAG,aACHiG,GAAI,UACJ/F,EAAG,cACHkG,GAAI,WACJzG,EAAG,aACH0G,GAAI,WAERX,uBAAwB,UACxB1N,QAAS,SAAUjB,GACf,OAAOA,GAEXiK,KAAM,CACFL,IAAK,EACLC,IAAK,KAvDyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,qFAAqFK,MACzF,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,4EAA4EjE,MAClF,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,4BAEVZ,SAAU,CACNC,QAAS,iBACTC,QAAS,oBACTC,SAAU,gBACVC,QAAS,kBACTC,SAAU,wBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,YACN/I,EAAG,YACHgJ,GAAI,cACJjU,EAAG,eACHkU,GAAI,cACJ9F,EAAG,WACH+F,GAAI,WACJhG,EAAG,YACHiG,GAAI,WACJ/F,EAAG,cACHkG,GAAI,aACJzG,EAAG,UACH0G,GAAI,SAERX,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KArDyBugB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIzB,IAEIxrB,EAAc,yKACdC,EAAc,CACV,SACA,SACA,SACA,QACA,QACA,SACA,SACA,SACA,SACA,QACA,QACA,SAGCurB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,uFAAuFK,MAC3F,KAEJN,YAAa,iEAAiEM,MAC1E,KAEJH,YAAaA,EACbD,iBAAkBC,EAClBouB,kBA3BoB,2FA4BpBC,uBA3ByB,oFA4BzBpuB,YAAaA,EACbquB,gBAAiBruB,EACjBsuB,iBAAkBtuB,EAClBmE,SAAU,sDAAsDjE,MAAM,KACtEgE,cAAe,qCAAqChE,MAAM,KAC1D+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVZ,SAAU,CACNC,QAAS,qBACTC,QAAS,gBACTC,SAAU,cACVC,QAAS,cACTC,SAAU,sBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,UACRC,KAAM,YACN/I,EAAG,oBACHgJ,GAAI,cACJjU,EAAG,aACHkU,GAAI,aACJ9F,EAAG,YACH+F,GAAI,YACJhG,EAAG,UACHiG,GAAI,WACJC,EAAG,cACHC,GAAI,cACJjG,EAAG,UACHkG,GAAI,UACJzG,EAAG,QACH0G,GAAI,UAERX,uBAAwB,eACxB1N,QAAS,SAAUjB,EAAQqb,GACvB,OAAQA,GAIJ,IAAK,IACD,OAAOrb,GAAqB,IAAXA,EAAe,KAAO,IAG3C,QACA,IAAK,IACL,IAAK,IACL,IAAK,MACL,IAAK,IACD,OAAOA,GAAqB,IAAXA,EAAe,KAAO,KAG3C,IAAK,IACL,IAAK,IACD,OAAOA,GAAqB,IAAXA,EAAe,KAAO,OAGnDiK,KAAM,CACFL,IAAK,EACLC,IAAK,KAtGyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,uFAAuFK,MAC3F,KAEJN,YAAa,iEAAiEM,MAC1E,KAEJutB,kBAAkB,EAClBtpB,SAAU,sDAAsDjE,MAAM,KACtEgE,cAAe,qCAAqChE,MAAM,KAC1D+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVZ,SAAU,CACNC,QAAS,qBACTC,QAAS,gBACTC,SAAU,cACVC,QAAS,cACTC,SAAU,sBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,UACRC,KAAM,YACN/I,EAAG,oBACHgJ,GAAI,cACJjU,EAAG,aACHkU,GAAI,aACJ9F,EAAG,YACH+F,GAAI,YACJhG,EAAG,UACHiG,GAAI,WACJ/F,EAAG,UACHkG,GAAI,UACJzG,EAAG,QACH0G,GAAI,UAERX,uBAAwB,gBACxB1N,QAAS,SAAUjB,EAAQqb,GACvB,OAAQA,GAEJ,QACA,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,MACL,IAAK,IACD,OAAOrb,GAAqB,IAAXA,EAAe,KAAO,KAG3C,IAAK,IACL,IAAK,IACD,OAAOA,GAAqB,IAAXA,EAAe,KAAO,SAlEjBoqB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,uFAAuFK,MAC3F,KAEJN,YAAa,iEAAiEM,MAC1E,KAEJutB,kBAAkB,EAClBtpB,SAAU,sDAAsDjE,MAAM,KACtEgE,cAAe,qCAAqChE,MAAM,KAC1D+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVZ,SAAU,CACNC,QAAS,qBACTC,QAAS,gBACTC,SAAU,cACVC,QAAS,cACTC,SAAU,sBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,UACRC,KAAM,YACN/I,EAAG,oBACHgJ,GAAI,cACJjU,EAAG,aACHkU,GAAI,aACJ9F,EAAG,YACH+F,GAAI,YACJhG,EAAG,UACHiG,GAAI,WACJ/F,EAAG,UACHkG,GAAI,UACJzG,EAAG,QACH0G,GAAI,UAERX,uBAAwB,gBACxB1N,QAAS,SAAUjB,EAAQqb,GACvB,OAAQA,GAEJ,QACA,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,MACL,IAAK,IACD,OAAOrb,GAAqB,IAAXA,EAAe,KAAO,KAG3C,IAAK,IACL,IAAK,IACD,OAAOA,GAAqB,IAAXA,EAAe,KAAO,OAGnDiK,KAAM,CACFL,IAAK,EACLC,IAAK,KAvEyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAIkE,EAAsB,6DAA6DvvB,MAC/E,KAEJwvB,EAAyB,kDAAkDxvB,MACvE,KAGCqrB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,iGAAiGK,MACrG,KAEJN,YAAa,SAAU5L,EAAGN,GACtB,OAAKM,EAEM,QAAQmH,KAAKzH,GACbg8B,EAAuB17B,EAAEiJ,SAEzBwyB,EAAoBz7B,EAAEiJ,SAJtBwyB,GAOfhC,kBAAkB,EAClBtpB,SAAU,wDAAwDjE,MAC9D,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVZ,SAAU,CACNC,QAAS,gBACTC,QAAS,gBACTC,SAAU,eACVC,QAAS,iBACTC,SAAU,wBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,SACN/I,EAAG,mBACHgJ,GAAI,cACJjU,EAAG,YACHkU,GAAI,aACJ9F,EAAG,WACH+F,GAAI,WACJhG,EAAG,UACHiG,GAAI,WACJ/F,EAAG,aACHkG,GAAI,aACJzG,EAAG,WACH0G,GAAI,cAERX,uBAAwB,kBACxB1N,QAAS,SAAUjB,GACf,OACIA,GACY,IAAXA,GAA2B,IAAXA,GAAgBA,GAAU,GAAK,MAAQ,OAGhEiK,KAAM,CACFL,IAAK,EACLC,IAAK,KA3EyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aA4ChBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAzCS,CACL,SACA,UACA,QACA,UACA,YACA,YACA,OACA,SACA,eACA,mBACA,UACA,WA8BJD,YA5Bc,CACV,MACA,QACA,OACA,MACA,OACA,QACA,OACA,MACA,OACA,OACA,OACA,QAiBJ6tB,kBAAkB,EAClBtpB,SAhBW,CACP,eACA,WACA,WACA,cACA,YACA,YACA,eAUJD,cARgB,CAAC,OAAQ,OAAQ,QAAS,OAAQ,OAAQ,QAAS,QASnED,YARc,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,MASlDhJ,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,gBACTC,QAAS,kBACTC,SAAU,eACVC,QAAS,eACTC,SAAU,2BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,OACRC,KAAM,YACN/I,EAAG,gBACHgJ,GAAI,aACJjU,EAAG,UACHkU,GAAI,aACJ9F,EAAG,iBACH+F,GAAI,oBACJhG,EAAG,KACHiG,GAAI,QACJ/F,EAAG,KACHkG,GAAI,YACJzG,EAAG,SACH0G,GAAI,aAERX,uBAAwB,mBACxB1N,QAAS,SAAUjB,GAEf,OAAOA,GADiB,IAAXA,EAAe,IAAMA,EAAS,IAAO,EAAI,KAAO,OAGjEiK,KAAM,CACFL,IAAK,EACLC,IAAK,KA7FyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aA4ChBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAzCS,CACL,gBACA,aACA,UACA,aACA,aACA,eACA,cACA,cACA,eACA,aACA,eACA,gBA8BJD,YA5Bc,CACV,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,OACA,QAiBJ6tB,kBAAkB,EAClBtpB,SAhBW,CACP,cACA,UACA,UACA,YACA,YACA,WACA,eAUJD,cARgB,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAS3DD,YARc,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MASnDhJ,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,oBACTC,QAAS,sBACTC,SAAU,gBACVC,QAAS,iBACTC,SAAU,6BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,YACRC,KAAM,gBACN/I,EAAG,gBACHgJ,GAAI,YACJjU,EAAG,UACHkU,GAAI,gBACJ9F,EAAG,OACH+F,GAAI,aACJhG,EAAG,QACHiG,GAAI,WACJ/F,EAAG,OACHkG,GAAI,YACJzG,EAAG,WACH0G,GAAI,eAERX,uBAAwB,mBACxB1N,QAAS,SAAUjB,GAEf,OAAOA,GADiB,IAAXA,EAAe,IAAMA,EAAS,IAAO,EAAI,KAAO,OAGjEiK,KAAM,CACFL,IAAK,EACLC,IAAK,KA7FyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,yFAAyFK,MAC7F,KAEJN,YAAa,8DAA8DM,MACvE,KAEJutB,kBAAkB,EAClBtpB,SAAU,mDAAmDjE,MAAM,KACnEgE,cAAe,qCAAqChE,MAAM,KAC1D+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,aACHC,GAAI,wBACJC,IAAK,6BACLC,KAAM,oCAEVZ,SAAU,CACNC,QAAS,WACL,MAAO,UAA6B,IAAjB9Q,KAAK6P,QAAgB,KAAO,KAAO,QAE1DkB,QAAS,WACL,MAAO,UAA6B,IAAjB/Q,KAAK6P,QAAgB,KAAO,KAAO,QAE1DmB,SAAU,WACN,MAAO,UAA6B,IAAjBhR,KAAK6P,QAAgB,KAAO,KAAO,QAE1DoB,QAAS,WACL,MAAO,UAA6B,IAAjBjR,KAAK6P,QAAgB,IAAM,KAAO,QAEzDqB,SAAU,WACN,MACI,qBAAwC,IAAjBlR,KAAK6P,QAAgB,KAAO,KAAO,QAGlEsB,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SAAUwkB,GACd,OAA0B,IAAtBA,EAAIrtB,QAAQ,MACL,IAAMqtB,EAEV,MAAQA,GAEnBvkB,KAAM,SACN/I,EAAG,eACHgJ,GAAI,cACJjU,EAAG,YACHkU,GAAI,aACJ9F,EAAG,YACH+F,GAAI,WACJhG,EAAG,SACHiG,GAAI,UACJ/F,EAAG,SACHkG,GAAI,WACJzG,EAAG,SACH0G,GAAI,WAERX,uBAAwB,WACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAxEyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,SAASsD,EAAoB31B,EAAQogB,EAAethB,EAAK2mB,GACrD,IAAIjrB,EAAS,CACTuL,EAAG,CAAC,kBAAmB,cACvBgJ,GAAI,CAAC/O,EAAS,aAAcA,EAAS,UACrClF,EAAG,CAAC,aAAc,YAClBkU,GAAI,CAAChP,EAAS,YAAaA,EAAS,WACpCkJ,EAAG,CAAC,WAAY,SAChB+F,GAAI,CAACjP,EAAS,UAAWA,EAAS,SAClCiJ,EAAG,CAAC,YAAa,UACjBiG,GAAI,CAAClP,EAAS,WAAYA,EAAS,QACnCmJ,EAAG,CAAC,gBAAiB,aACrBkG,GAAI,CAACrP,EAAS,cAAeA,EAAS,WACtC4I,EAAG,CAAC,aAAc,WAClB0G,GAAI,CAACtP,EAAS,YAAaA,EAAS,YAExC,OAAOylB,EAAWjrB,EAAOsE,GAAK,GAAKtE,EAAOsE,GAAK,GAGrCuzB,EAAO9hB,aAAa,WAAY,CAC1C5J,OAAQ,CACJytB,WAAY,wFAAwFptB,MAChG,KAEJxM,OAAQ,mJAAmJwM,MACvJ,KAEJ8e,SAAU,mBAEdpf,YAAa,4EAA4EM,MACrF,KAEJutB,kBAAkB,EAClBtpB,SAAU,qDAAqDjE,MAAM,KACrEgE,cAAe,4CAA4ChE,MAAM,KACjE+D,YAAa,wBAAwB/D,MAAM,KAC3CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,kBACJD,IAAK,qBACLE,EAAG,aACHC,GAAI,cACJC,IAAK,8BACLC,KAAM,uCACN+mB,KAAM,oCAEV3nB,SAAU,CACNC,QAAS,WACTC,QAAS,eACTC,SAAU,qBACVC,QAAS,WACTC,SAAU,qBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,KACRC,KAAM,UACN/I,EAAG4vB,EACH5mB,GAAI4mB,EACJ76B,EAAG66B,EACH3mB,GAAI2mB,EACJzsB,EAAGysB,EACH1mB,GAAI0mB,EACJ1sB,EAAG0sB,EACHzmB,GAAIymB,EACJxsB,EAAGwsB,EACHtmB,GAAIsmB,EACJ/sB,EAAG+sB,EACHrmB,GAAIqmB,GAERhnB,uBAAwB,eACxB1N,QAAS,SAAUjB,EAAQqb,GACvB,OAAQA,GAEJ,IAAK,IACD,OAAOrb,EAAS,MACpB,QACA,IAAK,IACL,IAAK,IACL,IAAK,MACL,IAAK,IACL,IAAK,IACL,IAAK,IACD,OAAOA,IAGnBiK,KAAM,CACFL,IAAK,EACLC,IAAK,GAET0F,cAAe,4BACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,SAAbta,EACOsa,EAAO,EAAIA,EAAOA,EAAO,GACZ,WAAbta,EACAsa,EACa,YAAbta,EACAsa,EAAO,GAAKA,EAAOA,EAAO,GACb,UAAbta,EACAsa,EAAO,QADX,GAIXta,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,EACA,OACAA,EAAO,GACP,SACAA,EAAO,GACP,UACAA,EAAO,GACP,QAEA,UAzHmBiU,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,SAASsD,EAAoB31B,EAAQogB,EAAethB,EAAK2mB,GACrD,IAAIjrB,EAAS,CACTuL,EAAG,CAAC,qBAAsB,iBAC1BgJ,GAAI,CAAC/O,EAAS,cAAeA,EAAS,WACtClF,EAAG,CAAC,aAAc,YAClBkU,GAAI,CAAChP,EAAS,YAAaA,EAAS,WACpCkJ,EAAG,CAAC,YAAa,UACjB+F,GAAI,CAACjP,EAAS,WAAYA,EAAS,UACnCiJ,EAAG,CAAC,YAAa,UACjBiG,GAAI,CAAClP,EAAS,WAAYA,EAAS,QACnCmJ,EAAG,CAAC,eAAgB,aACpBkG,GAAI,CAACrP,EAAS,cAAeA,EAAS,WACtC4I,EAAG,CAAC,aAAc,YAClB0G,GAAI,CAACtP,EAAS,YAAaA,EAAS,YAExC,OAAOylB,EAAWjrB,EAAOsE,GAAK,GAAKtE,EAAOsE,GAAK,GAGrCuzB,EAAO9hB,aAAa,WAAY,CAC1C5J,OAAQ,CACJytB,WAAY,4EAA4EptB,MACpF,KAEJxM,OAAQ,wIAAwIwM,MAC5I,KAEJ8e,SAAU,mBAEdpf,YAAa,4DAA4DM,MACrE,KAEJutB,kBAAkB,EAClBtpB,SAAU,uDAAuDjE,MAAM,KACvEgE,cAAe,qCAAqChE,MAAM,KAC1D+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,iBACJD,IAAK,oBACLE,EAAG,aACHC,GAAI,cACJC,IAAK,6BACLC,KAAM,sCACN+mB,KAAM,mCAEV3nB,SAAU,CACNC,QAAS,WACTC,QAAS,cACTC,SAAU,sBACVC,QAAS,WACTC,SAAU,sBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,KACRC,KAAM,UACN/I,EAAG4vB,EACH5mB,GAAI4mB,EACJ76B,EAAG66B,EACH3mB,GAAI2mB,EACJzsB,EAAGysB,EACH1mB,GAAI0mB,EACJ1sB,EAAG0sB,EACHzmB,GAAIymB,EACJxsB,EAAGwsB,EACHtmB,GAAIsmB,EACJ/sB,EAAG+sB,EACHrmB,GAAIqmB,GAERhnB,uBAAwB,cACxB1N,QAAS,SAAUjB,EAAQqb,GACvB,OAAQA,GAEJ,IAAK,IACD,OAAOrb,EAAS,KACpB,QACA,IAAK,IACL,IAAK,IACL,IAAK,MACL,IAAK,IACL,IAAK,IACL,IAAK,IACD,OAAOA,IAGnBiK,KAAM,CACFL,IAAK,EACLC,IAAK,GAET0F,cAAe,+BACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,SAAbta,EACOsa,EAAO,EAAIA,EAAOA,EAAO,GACZ,aAAbta,EACAsa,EACa,aAAbta,EACAsa,EAAO,GAAKA,EAAOA,EAAO,GACb,UAAbta,EACAsa,EAAO,QADX,GAIXta,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,EACA,OACAA,EAAO,GACP,WACAA,EAAO,GACP,WACAA,EAAO,GACP,QAEA,UAzHmBiU,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAIC,EAAY,CACRC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,KAEPC,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGJZ,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,yFAAyFK,MAC7F,KAEJN,YAAa,yEAAyEM,MAClF,KAEJutB,kBAAkB,EAClBtpB,SAAU,wDAAwDjE,MAC9D,KAEJgE,cAAe,mCAAmChE,MAAM,KACxD+D,YAAa,qBAAqB/D,MAAM,KACxCjF,eAAgB,CACZuM,GAAI,gBACJD,IAAK,mBACLE,EAAG,aACHC,GAAI,cACJC,IAAK,6BACLC,KAAM,oCAEVZ,SAAU,CACNC,QAAS,UACTC,QAAS,YACTC,SAAU,WACVC,QAAS,cACTC,SAAU,mBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,WACN/I,EAAG,WACHgJ,GAAI,WACJjU,EAAG,WACHkU,GAAI,WACJ9F,EAAG,UACH+F,GAAI,UACJhG,EAAG,UACHiG,GAAI,UACJ/F,EAAG,WACHkG,GAAI,WACJzG,EAAG,UACH0G,GAAI,WAERmH,SAAU,SAAU9D,GAChB,OAAOA,EAAOlR,QAAQ,iBAAiB,SAAUD,GAC7C,OAAOyxB,EAAUzxB,OAGzB2e,WAAY,SAAUxN,GAClB,OAAOA,EAAOlR,QAAQ,OAAO,SAAUD,GACnC,OAAO8wB,EAAU9wB,OAKzB+N,cAAe,qBACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,QAAbta,EACOsa,EAAO,EAAIA,EAAOA,EAAO,GACZ,SAAbta,EACAsa,EACa,SAAbta,EACAsa,GAAQ,GAAKA,EAAOA,EAAO,GACd,SAAbta,EACAsa,EAAO,QADX,GAIXta,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,EACA,MACAA,EAAO,GACP,OACAA,EAAO,GACP,OACAA,EAAO,GACP,OAEA,OAGflM,KAAM,CACFL,IAAK,EACLC,IAAK,KAvHyBugB,CAAQ,EAAQ,O,iBCKlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,0EAA0EK,MAC9E,KAEJN,YAAa,4DAA4DM,MACrE,KAEJiE,SAAU,uCAAuCjE,MAAM,KACvDgE,cAAe,uBAAuBhE,MAAM,KAC5C+D,YAAa,gBAAgB/D,MAAM,KACnCjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,iBACJC,IAAK,uBACLC,KAAM,6BACN4D,EAAG,WACHijB,GAAI,aACJC,IAAK,mBACLC,KAAM,yBAEV3nB,SAAU,CACNC,QAAS,cACTC,QAAS,aACTC,SAAU,iBACVC,QAAS,eACTC,SAAU,+BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,UACRC,KAAM,UACN/I,EAAG,aACHgJ,GAAI,WACJjU,EAAG,MACHkU,GAAI,UACJ9F,EAAG,MACH+F,GAAI,SAAUjP,GACV,OAAe,IAAXA,EACO,SAEJA,EAAS,SAEpBiJ,EAAG,MACHiG,GAAI,SAAUlP,GACV,OAAe,IAAXA,EACO,SAEJA,EAAS,SAEpBmJ,EAAG,OACHkG,GAAI,SAAUrP,GACV,OAAe,IAAXA,EACO,UAEJA,EAAS,WAEpB4I,EAAG,MACH0G,GAAI,SAAUtP,GACV,OAAe,IAAXA,EACO,SACAA,EAAS,IAAO,GAAgB,KAAXA,EACrBA,EAAS,OAEbA,EAAS,UAGxBuP,cAAe,gEACfjC,KAAM,SAAU3U,GACZ,MAAO,8BAA8BsJ,KAAKtJ,IAE9CkD,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,EACA,aACAA,EAAO,GACP,QACAA,EAAO,GACPsQ,EAAU,SAAW,eACrBtQ,EAAO,GACPsQ,EAAU,QAAU,eAEpB,UAzFmB2D,CAAQ,EAAQ,O,iBCClD,SAAWiI,GAAU,aAIzB,IAAIC,EAAY,CACRC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,KAEPC,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAETnsB,EAAc,CACV,OACA,WACA,UACA,UACA,OACA,QACA,QACA,OACA,aACA,UACA,WACA,cAiBCurB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,CACJnM,OAAQ,8EAA8EwM,MAClF,KAEJotB,WAAY,0EAA0EptB,MAClF,MAGRN,YAAa,6DAA6DM,MACtE,KAEJiE,SAAU,uDAAuDjE,MAAM,KACvEgE,cAAe,kCAAkChE,MAAM,KACvD+D,YAAa,qBAAqB/D,MAAM,KACxCjF,eAAgB,CACZuM,GAAI,aACJD,IAAK,gBACLE,EAAG,aACHC,GAAI,cACJC,IAAK,0BACLC,KAAM,iCAGV5H,YAAaA,EACbquB,gBAAiBruB,EACjBsuB,iBAzCmB,CACf,OACA,QACA,UACA,UACA,OACA,QACA,QACA,OACA,QACA,UACA,OACA,SA+BJvuB,YAAa,+KAEbD,iBAAkB,+KAElBquB,kBAAmB,uIAEnBC,uBAAwB,sFAExBpnB,SAAU,CACNC,QAAS,UACTC,QAAS,UACTC,SAAU,WACVC,QAAS,UACTC,SAAU,mBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,UACN/I,EAAG,cACHgJ,GAAI,WACJjU,EAAG,UACHkU,GAAI,UACJ9F,EAAG,UACH+F,GAAI,UACJhG,EAAG,SACHiG,GAAI,SACJ/F,EAAG,WACHkG,GAAI,WACJzG,EAAG,UACH0G,GAAI,WAERmH,SAAU,SAAU9D,GAChB,OAAOA,EAAOlR,QAAQ,iBAAiB,SAAUD,GAC7C,OAAOyxB,EAAUzxB,OAGzB2e,WAAY,SAAUxN,GAClB,OAAOA,EAAOlR,QAAQ,OAAO,SAAUD,GACnC,OAAO8wB,EAAU9wB,OAKzB+N,cAAe,qBACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,QAAbta,EACOsa,EAAO,EAAIA,EAAOA,EAAO,GACZ,SAAbta,EACAsa,EACa,UAAbta,EACAsa,GAAQ,GAAKA,EAAOA,EAAO,GACd,QAAbta,EACAsa,EAAO,QADX,GAIXta,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,EACA,MACAA,EAAO,GACP,OACAA,EAAO,GACP,QACAA,EAAO,GACP,MAEA,OAGflM,KAAM,CACFL,IAAK,EACLC,IAAK,KAlKyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,SAASiD,EAAUt1B,EAAQogB,EAAethB,GACtC,IAAIyU,EAASvT,EAAS,IACtB,OAAQlB,GACJ,IAAK,KAQD,OANIyU,GADW,IAAXvT,EACU,UACQ,IAAXA,GAA2B,IAAXA,GAA2B,IAAXA,EAC7B,UAEA,UAGlB,IAAK,IACD,OAAOogB,EAAgB,eAAiB,eAC5C,IAAK,KAQD,OANI7M,GADW,IAAXvT,EACU,SACQ,IAAXA,GAA2B,IAAXA,GAA2B,IAAXA,EAC7B,SAEA,SAGlB,IAAK,IACD,OAAOogB,EAAgB,YAAc,cACzC,IAAK,KAQD,OANI7M,GADW,IAAXvT,EACU,MACQ,IAAXA,GAA2B,IAAXA,GAA2B,IAAXA,EAC7B,OAEA,OAGlB,IAAK,KAMD,OAJIuT,GADW,IAAXvT,EACU,MAEA,OAGlB,IAAK,KAQD,OANIuT,GADW,IAAXvT,EACU,SACQ,IAAXA,GAA2B,IAAXA,GAA2B,IAAXA,EAC7B,UAEA,UAGlB,IAAK,KAQD,OANIuT,GADW,IAAXvT,EACU,SACQ,IAAXA,GAA2B,IAAXA,GAA2B,IAAXA,EAC7B,SAEA,UAMjBqyB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,CACJnM,OAAQ,oGAAoGwM,MACxG,KAEJotB,WAAY,gGAAgGptB,MACxG,MAGRN,YAAa,+DAA+DM,MACxE,KAEJutB,kBAAkB,EAClBtpB,SAAU,4DAA4DjE,MAClE,KAEJgE,cAAe,qCAAqChE,MAAM,KAC1D+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,aACHC,GAAI,eACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,eACTC,QAAS,eACTC,SAAU,WACN,OAAQhR,KAAKgP,OACT,KAAK,EACD,MAAO,wBACX,KAAK,EACD,MAAO,uBACX,KAAK,EACD,MAAO,sBACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,oBAGnBiC,QAAS,eACTC,SAAU,WACN,OAAQlR,KAAKgP,OACT,KAAK,EACD,MAAO,6BACX,KAAK,EACD,MAAO,4BACX,KAAK,EACD,MAAO,2BACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,yBAGnBmC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,WACN/I,EAAG,cACHgJ,GAAIumB,EACJx6B,EAAGw6B,EACHtmB,GAAIsmB,EACJpsB,EAAGosB,EACHrmB,GAAIqmB,EACJrsB,EAAG,MACHiG,GAAIomB,EACJnsB,EAAG,SACHkG,GAAIimB,EACJ1sB,EAAG,SACH0G,GAAIgmB,GAER3mB,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAxJyBugB,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIzB,IAAIoE,EAAc,gEAAgEzvB,MAC9E,KAEJ,SAASsuB,EAAUt1B,EAAQogB,EAAethB,EAAK2mB,GAC3C,IAAIyO,EAAMl0B,EACV,OAAQlB,GACJ,IAAK,IACD,OAAO2mB,GAAYrF,EACb,mBACA,oBACV,IAAK,KACD,OAAO8T,GAAOzO,GAAYrF,GACpB,aACA,cACV,IAAK,IACD,MAAO,OAASqF,GAAYrF,EAAgB,QAAU,UAC1D,IAAK,KACD,OAAO8T,GAAOzO,GAAYrF,EAAgB,QAAU,UACxD,IAAK,IACD,MAAO,OAASqF,GAAYrF,EAAgB,OAAS,UACzD,IAAK,KACD,OAAO8T,GAAOzO,GAAYrF,EAAgB,OAAS,UACvD,IAAK,IACD,MAAO,OAASqF,GAAYrF,EAAgB,OAAS,UACzD,IAAK,KACD,OAAO8T,GAAOzO,GAAYrF,EAAgB,OAAS,UACvD,IAAK,IACD,MAAO,OAASqF,GAAYrF,EAAgB,SAAW,YAC3D,IAAK,KACD,OAAO8T,GAAOzO,GAAYrF,EAAgB,SAAW,YACzD,IAAK,IACD,MAAO,OAASqF,GAAYrF,EAAgB,MAAQ,QACxD,IAAK,KACD,OAAO8T,GAAOzO,GAAYrF,EAAgB,MAAQ,QAE1D,MAAO,GAEX,SAASnW,EAAKwb,GACV,OACKA,EAAW,GAAK,WACjB,IACAgR,EAAYx5B,KAAKgP,OACjB,aAIComB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,oGAAoGK,MACxG,KAEJN,YAAa,iEAAiEM,MAC1E,KAEJutB,kBAAkB,EAClBtpB,SAAU,sDAAsDjE,MAAM,KACtEgE,cAAe,gCAAgChE,MAAM,KACrD+D,YAAa,qBAAqB/D,MAAM,KACxCjF,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,cACHC,GAAI,gBACJC,IAAK,qBACLC,KAAM,4BAEVa,cAAe,SACfjC,KAAM,SAAU3U,GACZ,MAAyC,MAAlCA,EAAM6tB,OAAO,GAAGjkB,eAE3B1G,SAAU,SAAUiR,EAAOE,EAASyZ,GAChC,OAAI3Z,EAAQ,IACW,IAAZ2Z,EAAmB,KAAO,MAEd,IAAZA,EAAmB,KAAO,MAGzC3Y,SAAU,CACNC,QAAS,gBACTC,QAAS,oBACTC,SAAU,WACN,OAAOhE,EAAKjR,KAAKiE,MAAM,IAE3BiR,QAAS,oBACTC,SAAU,WACN,OAAOlE,EAAKjR,KAAKiE,MAAM,IAE3BmR,SAAU,KAEdQ,aAAc,CACVC,OAAQ,WACRC,KAAM,KACN/I,EAAGuvB,EACHvmB,GAAIumB,EACJx6B,EAAGw6B,EACHtmB,GAAIsmB,EACJpsB,EAAGosB,EACHrmB,GAAIqmB,EACJrsB,EAAGqsB,EACHpmB,GAAIomB,EACJnsB,EAAGmsB,EACHjmB,GAAIimB,EACJ1sB,EAAG0sB,EACHhmB,GAAIgmB,GAER3mB,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAnHyBugB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,CACJnM,OAAQ,4GAA4GwM,MAChH,KAEJotB,WAAY,gGAAgGptB,MACxG,MAGRN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,gEAAgEjE,MACtE,KAEJgE,cAAe,+BAA+BhE,MAAM,KACpD+D,YAAa,+BAA+B/D,MAAM,KAClDjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,iBACJC,IAAK,wBACLC,KAAM,+BAEVZ,SAAU,CACNC,QAAS,aACTC,QAAS,YACTE,QAAS,YACTD,SAAU,WACN,MAAO,sBAEXE,SAAU,WACN,MAAO,8BAEXC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,UACRC,KAAM,UACN/I,EAAG,mBACHgJ,GAAI,cACJjU,EAAG,OACHkU,GAAI,UACJ9F,EAAG,MACH+F,GAAI,SACJhG,EAAG,KACHiG,GAAI,QACJ/F,EAAG,OACHkG,GAAI,UACJzG,EAAG,OACH0G,GAAI,WAERC,cAAe,oCACfjC,KAAM,SAAU3U,GACZ,MAAO,uBAAuBsJ,KAAKtJ,IAEvCkD,SAAU,SAAUsa,GAChB,OAAIA,EAAO,EACA,UACAA,EAAO,GACP,WACAA,EAAO,GACP,UAEA,YAGfxH,uBAAwB,0BACxB1N,QAAS,SAAUjB,EAAQqb,GACvB,OAAQA,GACJ,IAAK,MACL,IAAK,IACL,IAAK,IACL,IAAK,OACD,OAAe,IAAXrb,EACOA,EAAS,MAEbA,EAAS,MACpB,QACI,OAAOA,IAGnBiK,KAAM,CACFL,IAAK,EACLC,IAAK,KA1FyBugB,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,yFAAyFK,MAC7F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,6CAA6CjE,MAAM,KAC7DgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,4BACLC,KAAM,mCAEVa,cAAe,wBACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,SAAbta,EACOsa,EACa,UAAbta,EACAsa,GAAQ,GAAKA,EAAOA,EAAO,GACd,SAAbta,GAAoC,UAAbA,EACvBsa,EAAO,QADX,GAIXta,SAAU,SAAUiR,EAAOE,EAASyZ,GAChC,OAAI3Z,EAAQ,GACD,OACAA,EAAQ,GACR,QACAA,EAAQ,GACR,OAEA,SAGfgB,SAAU,CACNC,QAAS,sBACTC,QAAS,mBACTC,SAAU,kBACVC,QAAS,qBACTC,SAAU,uBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,WACRC,KAAM,eACN/I,EAAG,iBACHgJ,GAAI,WACJjU,EAAG,UACHkU,GAAI,WACJ9F,EAAG,QACH+F,GAAI,SACJhG,EAAG,SACHiG,GAAI,UACJ/F,EAAG,UACHkG,GAAI,WACJzG,EAAG,UACH0G,GAAI,YAERrF,KAAM,CACFL,IAAK,EACLC,IAAK,KAzEyBugB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIzB,SAASqD,EAAO7qB,GACZ,OAAIA,EAAI,KAAQ,IAELA,EAAI,IAAO,EAK1B,SAASyqB,EAAUt1B,EAAQogB,EAAethB,EAAK2mB,GAC3C,IAAIlS,EAASvT,EAAS,IACtB,OAAQlB,GACJ,IAAK,IACD,OAAOshB,GAAiBqF,EAClB,mBACA,mBACV,IAAK,KACD,OAAIiQ,EAAO11B,GAEHuT,GACC6M,GAAiBqF,EAAW,WAAa,YAG3ClS,EAAS,UACpB,IAAK,IACD,OAAO6M,EAAgB,SAAW,SACtC,IAAK,KACD,OAAIsV,EAAO11B,GAEHuT,GAAU6M,GAAiBqF,EAAW,UAAY,WAE/CrF,EACA7M,EAAS,SAEbA,EAAS,SACpB,IAAK,KACD,OAAImiB,EAAO11B,GAEHuT,GACC6M,GAAiBqF,EACZ,gBACA,iBAGPlS,EAAS,cACpB,IAAK,IACD,OAAI6M,EACO,QAEJqF,EAAW,MAAQ,OAC9B,IAAK,KACD,OAAIiQ,EAAO11B,GACHogB,EACO7M,EAAS,QAEbA,GAAUkS,EAAW,OAAS,SAC9BrF,EACA7M,EAAS,QAEbA,GAAUkS,EAAW,MAAQ,QACxC,IAAK,IACD,OAAIrF,EACO,UAEJqF,EAAW,QAAU,SAChC,IAAK,KACD,OAAIiQ,EAAO11B,GACHogB,EACO7M,EAAS,UAEbA,GAAUkS,EAAW,SAAW,WAChCrF,EACA7M,EAAS,UAEbA,GAAUkS,EAAW,QAAU,UAC1C,IAAK,IACD,OAAOrF,GAAiBqF,EAAW,KAAO,MAC9C,IAAK,KACD,OAAIiQ,EAAO11B,GACAuT,GAAU6M,GAAiBqF,EAAW,KAAO,QAEjDlS,GAAU6M,GAAiBqF,EAAW,KAAO,QAIvD4M,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,oFAAoFK,MACxF,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,mFAAmFjE,MACzF,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,aACHC,GAAI,eACJC,IAAK,0BACLC,KAAM,iCAEVZ,SAAU,CACNC,QAAS,iBACTC,QAAS,oBACTC,SAAU,gBACVC,QAAS,iBACTC,SAAU,0BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,WACRC,KAAM,iBACN/I,EAAGuvB,EACHvmB,GAAIumB,EACJx6B,EAAGw6B,EACHtmB,GAAIsmB,EACJpsB,EAAG,cACH+F,GAAIqmB,EACJrsB,EAAGqsB,EACHpmB,GAAIomB,EACJnsB,EAAGmsB,EACHjmB,GAAIimB,EACJ1sB,EAAG0sB,EACHhmB,GAAIgmB,GAER3mB,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAzIyBugB,CAAQ,EAAQ,O,iBCKlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,gGAAgGK,MACpG,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,2DAA2DjE,MACjE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVZ,SAAU,CACNC,QAAS,WACL,MACI,WACC9Q,KAAK6P,QAAU,EAAI,OAA0B,IAAjB7P,KAAK6P,QAAgB,IAAM,OACxD,OAGRkB,QAAS,WACL,MACI,aACC/Q,KAAK6P,QAAU,EAAI,OAA0B,IAAjB7P,KAAK6P,QAAgB,IAAM,OACxD,OAGRmB,SAAU,WACN,MACI,WACChR,KAAK6P,QAAU,EAAI,OAA0B,IAAjB7P,KAAK6P,QAAgB,IAAM,OACxD,OAGRoB,QAAS,WACL,MACI,WACCjR,KAAK6P,QAAU,EAAI,OAA0B,IAAjB7P,KAAK6P,QAAgB,IAAM,OACxD,OAGRqB,SAAU,WACN,OAAQlR,KAAKgP,OACT,KAAK,EACD,MACI,uBACChP,KAAK6P,QAAU,EACV,OACiB,IAAjB7P,KAAK6P,QACL,IACA,OACN,MAER,QACI,MACI,uBACC7P,KAAK6P,QAAU,EACV,OACiB,IAAjB7P,KAAK6P,QACL,IACA,OACN,QAIhBsB,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,QACN/I,EAAG,iBACHgJ,GAAI,aACJjU,EAAG,YACHkU,GAAI,YACJ9F,EAAG,SACH+F,GAAI,SACJhG,EAAG,YACHiG,GAAI,YACJC,EAAG,gBACHC,GAAI,eACJjG,EAAG,UACHkG,GAAI,UACJzG,EAAG,UACH0G,GAAI,WAERX,uBAAwB,WACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAtGyBugB,CAAQ,EAAQ,O,iBCClD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,gGAAgGK,MACpG,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,2DAA2DjE,MACjE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVZ,SAAU,CACNC,QAAS,iBACTC,QAAS,mBACTC,SAAU,iBACVC,QAAS,iBACTC,SAAU,WACN,OAAQlR,KAAKgP,OACT,KAAK,EACD,MAAO,6BACX,QACI,MAAO,+BAGnBmC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SAAU9I,GACd,OAAQ,YAAY9D,KAAK8D,GAAK,MAAQ,MAAQ,IAAMA,GAExD+I,KAAM,QACN/I,EAAG,iBACHgJ,GAAI,aACJjU,EAAG,YACHkU,GAAI,YACJ9F,EAAG,SACH+F,GAAI,SACJhG,EAAG,YACHiG,GAAI,YACJ/F,EAAG,UACHkG,GAAI,UACJzG,EAAG,UACH0G,GAAI,WAERX,uBAAwB,WACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KA9DyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/BoN,KAAM,CACF,CACI4E,MAAO,aACPjJ,OAAQ,EACR/Z,KAAM,KACNqe,OAAQ,IACRpN,KAAM,KAEV,CACI+R,MAAO,aACPC,MAAO,aACPlJ,OAAQ,EACR/Z,KAAM,KACNqe,OAAQ,IACRpN,KAAM,KAEV,CACI+R,MAAO,aACPC,MAAO,aACPlJ,OAAQ,EACR/Z,KAAM,KACNqe,OAAQ,IACRpN,KAAM,KAEV,CACI+R,MAAO,aACPC,MAAO,aACPlJ,OAAQ,EACR/Z,KAAM,KACNqe,OAAQ,IACRpN,KAAM,KAEV,CACI+R,MAAO,aACPC,MAAO,aACPlJ,OAAQ,EACR/Z,KAAM,KACNqe,OAAQ,IACRpN,KAAM,KAEV,CACI+R,MAAO,aACPC,MAAO,aACPlJ,OAAQ,EACR/Z,KAAM,KACNqe,OAAQ,KACRpN,KAAM,MAEV,CACI+R,MAAO,aACPC,OAAO,IACPlJ,OAAQ,EACR/Z,KAAM,MACNqe,OAAQ,KACRpN,KAAM,OAGdkmB,oBAAqB,WACrB/X,oBAAqB,SAAUhmB,EAAO6I,GAClC,MAAoB,MAAbA,EAAM,GAAa,EAAIsH,SAAStH,EAAM,IAAM7I,EAAO,KAE9DgO,OAAQ,yCAAyCK,MAAM,KACvDN,YAAa,yCAAyCM,MAClD,KAEJiE,SAAU,8BAA8BjE,MAAM,KAC9CgE,cAAe,gBAAgBhE,MAAM,KACrC+D,YAAa,gBAAgB/D,MAAM,KACnCjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,YACJC,IAAK,kBACLC,KAAM,uBACN4D,EAAG,aACHijB,GAAI,YACJC,IAAK,kBACLC,KAAM,wBAEVlmB,cAAe,SACfjC,KAAM,SAAU3U,GACZ,MAAiB,OAAVA,GAEXkD,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,GACA,KAEA,MAGfrI,SAAU,CACNC,QAAS,UACTC,QAAS,UACTC,SAAU,SAAUyG,GAChB,OAAIA,EAAIzK,SAAWhN,KAAKgN,OACb,cAEA,WAGfiE,QAAS,UACTC,SAAU,SAAUuG,GAChB,OAAIzX,KAAKgN,SAAWyK,EAAIzK,OACb,cAEA,WAGfmE,SAAU,KAEdO,uBAAwB,WACxB1N,QAAS,SAAUjB,EAAQqb,GACvB,OAAQA,GACJ,IAAK,IACD,OAAkB,IAAXrb,EAAe,KAAOA,EAAS,IAC1C,IAAK,IACL,IAAK,IACL,IAAK,MACD,OAAOA,EAAS,IACpB,QACI,OAAOA,IAGnB4O,aAAc,CACVC,OAAQ,MACRC,KAAM,MACN/I,EAAG,KACHgJ,GAAI,MACJjU,EAAG,KACHkU,GAAI,MACJ9F,EAAG,MACH+F,GAAI,OACJhG,EAAG,KACHiG,GAAI,MACJ/F,EAAG,MACHkG,GAAI,OACJzG,EAAG,KACH0G,GAAI,SAlJ0B8a,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,yFAAyFK,MAC7F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,+CAA+CjE,MAAM,KAC/DgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,4BACLC,KAAM,mCAEVa,cAAe,6BACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,WAAbta,EACOsa,EACa,WAAbta,EACAsa,GAAQ,GAAKA,EAAOA,EAAO,GACd,WAAbta,GAAsC,UAAbA,EACzBsa,EAAO,QADX,GAIXta,SAAU,SAAUiR,EAAOE,EAASyZ,GAChC,OAAI3Z,EAAQ,GACD,SACAA,EAAQ,GACR,SACAA,EAAQ,GACR,SAEA,SAGfgB,SAAU,CACNC,QAAS,2BACTC,QAAS,sBACTC,SAAU,kBACVC,QAAS,wBACTC,SAAU,4BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,gBACRC,KAAM,uBACN/I,EAAG,kBACHgJ,GAAI,WACJjU,EAAG,kBACHkU,GAAI,WACJ9F,EAAG,gBACH+F,GAAI,SACJhG,EAAG,WACHiG,GAAI,YACJ/F,EAAG,UACHkG,GAAI,WACJzG,EAAG,SACH0G,GAAI,WAERrF,KAAM,CACFL,IAAK,EACLC,IAAK,KAzEyBugB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,qGAAqGK,MACzG,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,CACNmpB,WAAY,gEAAgEptB,MACxE,KAEJxM,OAAQ,iEAAiEwM,MACrE,KAEJ8e,SAAU,iBAEd9a,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,iBACTC,QAAS,iBACTE,QAAS,kBACTD,SAAU,wBACVE,SAAU,oBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SAAU9I,GACd,OAAOA,EAAEtE,QAAQ,iCAAiC,SAC9Ck1B,EACAC,EACAC,GAEA,MAAc,MAAPA,EAAaD,EAAK,KAAOA,EAAKC,EAAK,SAGlD/nB,KAAM,SAAU/I,GACZ,MAAI,4BAA4B9D,KAAK8D,GAC1BA,EAAEtE,QAAQ,SAAU,UAE3B,OAAOQ,KAAK8D,GACLA,EAAEtE,QAAQ,QAAS,YAEvBsE,GAEXA,EAAG,iBACHgJ,GAAI,UACJjU,EAAG,OACHkU,GAAI,UACJ9F,EAAG,QACH+F,GAAI,WACJhG,EAAG,MACHiG,GAAI,SACJ/F,EAAG,MACHkG,GAAI,SACJzG,EAAG,OACH0G,GAAI,WAERX,uBAAwB,8BACxB1N,QAAS,SAAUjB,GACf,OAAe,IAAXA,EACOA,EAEI,IAAXA,EACOA,EAAS,MAGhBA,EAAS,IACRA,GAAU,KAAOA,EAAS,IAAO,GAClCA,EAAS,KAAQ,EAEV,MAAQA,EAEZA,EAAS,MAEpBiK,KAAM,CACFL,IAAK,EACLC,IAAK,KA1FyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAIkB,EAAW,CACXP,EAAG,MACHT,EAAG,MACHC,EAAG,MACHC,EAAG,MACHC,EAAG,MACHC,EAAG,MACHC,EAAG,MACHC,EAAG,MACHC,EAAG,MACHC,EAAG,MACHc,GAAI,MACJH,GAAI,MACJI,GAAI,MACJgD,GAAI,MACJnD,GAAI,MACJI,GAAI,MACJP,GAAI,MACJC,GAAI,MACJO,GAAI,MACJJ,IAAK,OAGAvB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,qFAAqFK,MACzF,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,0DAA0DjE,MAChE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,mBACTC,QAAS,mBACTC,SAAU,kBACVC,QAAS,kBACTC,SAAU,kCACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,YACRC,KAAM,WACN/I,EAAG,iBACHgJ,GAAI,YACJjU,EAAG,YACHkU,GAAI,WACJ9F,EAAG,YACH+F,GAAI,WACJhG,EAAG,UACHiG,GAAI,SACJ/F,EAAG,SACHkG,GAAI,QACJzG,EAAG,UACH0G,GAAI,UAERX,uBAAwB,kBACxB1N,QAAS,SAAUjB,GAGf,OAAOA,GAAUuzB,EAASvzB,IAAWuzB,EAF7BvzB,EAAS,KAEmCuzB,EAD5CvzB,GAAU,IAAM,IAAM,QAGlCiK,KAAM,CACFL,IAAK,EACLC,IAAK,KAhFyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAIC,EAAY,CACRC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,KAEPC,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGJZ,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,yEAAyEK,MAC7E,KAEJN,YAAa,yEAAyEM,MAClF,KAEJiE,SAAU,iDAAiDjE,MAAM,KACjEgE,cAAe,oBAAoBhE,MAAM,KACzC+D,YAAa,oBAAoB/D,MAAM,KACvCssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVa,cAAe,cACfjC,KAAM,SAAU3U,GACZ,MAAiB,UAAVA,GAEXkD,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,GACA,QAEA,SAGfrI,SAAU,CACNC,QAAS,oBACTC,QAAS,kBACTC,SAAU,iBACVC,QAAS,qBACTC,SAAU,8BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,QACN/I,EAAG,iBACHgJ,GAAI,YACJjU,EAAG,UACHkU,GAAI,UACJ9F,EAAG,UACH+F,GAAI,UACJhG,EAAG,UACHiG,GAAI,UACJ/F,EAAG,QACHkG,GAAI,QACJzG,EAAG,WACH0G,GAAI,YAERX,uBAAwB,YACxB1N,QAAS,OACTwV,SAAU,SAAU9D,GAChB,OAAOA,EAAOlR,QAAQ,iBAAiB,SAAUD,GAC7C,OAAOyxB,EAAUzxB,OAGzB2e,WAAY,SAAUxN,GAClB,OAAOA,EAAOlR,QAAQ,OAAO,SAAUD,GACnC,OAAO8wB,EAAU9wB,OAGzByI,KAAM,CACFL,IAAK,EACLC,IAAK,KApGyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAIC,EAAY,CACRC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,KAEPC,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGJZ,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,6FAA6FK,MACjG,KAEJN,YAAa,2EAA2EM,MACpF,KAEJutB,kBAAkB,EAClBtpB,SAAU,0DAA0DjE,MAChE,KAEJgE,cAAe,qCAAqChE,MAAM,KAC1D+D,YAAa,wBAAwB/D,MAAM,KAC3CjF,eAAgB,CACZuM,GAAI,SACJD,IAAK,YACLE,EAAG,aACHC,GAAI,cACJC,IAAK,sBACLC,KAAM,6BAEVZ,SAAU,CACNC,QAAS,YACTC,QAAS,YACTC,SAAU,WACVC,QAAS,cACTC,SAAU,oBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,UACRC,KAAM,WACN/I,EAAG,gBACHgJ,GAAI,gBACJjU,EAAG,aACHkU,GAAI,WACJ9F,EAAG,YACH+F,GAAI,UACJhG,EAAG,WACHiG,GAAI,SACJ/F,EAAG,cACHkG,GAAI,YACJzG,EAAG,YACH0G,GAAI,WAERmH,SAAU,SAAU9D,GAChB,OAAOA,EAAOlR,QAAQ,iBAAiB,SAAUD,GAC7C,OAAOyxB,EAAUzxB,OAGzB2e,WAAY,SAAUxN,GAClB,OAAOA,EAAOlR,QAAQ,OAAO,SAAUD,GACnC,OAAO8wB,EAAU9wB,OAGzB+N,cAAe,gCACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,WAAbta,EACOsa,EAAO,EAAIA,EAAOA,EAAO,GACZ,aAAbta,EACAsa,EACa,aAAbta,EACAsa,GAAQ,GAAKA,EAAOA,EAAO,GACd,SAAbta,EACAsa,EAAO,QADX,GAIXta,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,EACA,SACAA,EAAO,GACP,WACAA,EAAO,GACP,WACAA,EAAO,GACP,OAEA,UAGfxH,uBAAwB,eACxB1N,QAAS,SAAUjB,GACf,OAAOA,EAAS,OAEpBiK,KAAM,CACFL,IAAK,EACLC,IAAK,KAzHyBugB,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,yCAAyCK,MAAM,KACvDN,YAAa,yCAAyCM,MAClD,KAEJiE,SAAU,8BAA8BjE,MAAM,KAC9CgE,cAAe,gBAAgBhE,MAAM,KACrC+D,YAAa,gBAAgB/D,MAAM,KACnCjF,eAAgB,CACZuM,GAAI,SACJD,IAAK,YACLE,EAAG,cACHC,GAAI,gBACJC,IAAK,uBACLC,KAAM,4BACN4D,EAAG,cACHijB,GAAI,gBACJC,IAAK,uBACLC,KAAM,6BAEV3nB,SAAU,CACNC,QAAS,QACTC,QAAS,QACTC,SAAU,UACVC,QAAS,QACTC,SAAU,cACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,OACRC,KAAM,OACN/I,EAAG,MACHgJ,GAAI,MACJjU,EAAG,KACHkU,GAAI,MACJ9F,EAAG,OACH+F,GAAI,OACJhG,EAAG,KACHiG,GAAI,MACJ/F,EAAG,MACHkG,GAAI,MACJzG,EAAG,MACH0G,GAAI,OAERX,uBAAwB,iBACxB1N,QAAS,SAAUjB,EAAQqb,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,MACD,OAAOrb,EAAS,IACpB,IAAK,IACD,OAAOA,EAAS,IACpB,IAAK,IACL,IAAK,IACD,OAAOA,EAAS,IACpB,QACI,OAAOA,IAGnBuP,cAAe,QACfjC,KAAM,SAAUvM,GACZ,MAAiB,OAAVA,GAEXlF,SAAU,SAAUsa,EAAMkB,EAAQ0f,GAC9B,OAAO5gB,EAAO,GAAK,KAAO,QAxEIiU,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIzB,IAAIC,EAAY,CACRC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,KAEPC,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAETtsB,EAAS,CACL,eACA,QACA,QACA,QACA,QACA,WACA,SACA,MACA,UACA,eACA,eACA,gBAGC0rB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQA,EACRD,YAAaC,EACbsE,SAAU,0EAA0EjE,MAChF,KAEJgE,cAAe,2DAA2DhE,MACtE,KAEJ+D,YAAa,gBAAgB/D,MAAM,KACnCssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVa,cAAe,kBACfjC,KAAM,SAAU3U,GACZ,MAAO,UAAUsJ,KAAKtJ,IAE1BkD,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,GACA,UAEA,WAGfrI,SAAU,CACNC,QAAS,sBACTC,QAAS,uBACTC,SAAU,oBACVC,QAAS,qBACTC,SAAU,oBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,KACN/I,EAAG,kBACHgJ,GAAI,WACJjU,EAAG,cACHkU,GAAI,YACJ9F,EAAG,eACH+F,GAAI,aACJhG,EAAG,WACHiG,GAAI,SACJ/F,EAAG,YACHkG,GAAI,UACJzG,EAAG,WACH0G,GAAI,UAERmH,SAAU,SAAU9D,GAChB,OAAOA,EACFlR,QAAQ,iBAAiB,SAAUD,GAChC,OAAOyxB,EAAUzxB,MAEpBC,QAAQ,KAAM,MAEvB0e,WAAY,SAAUxN,GAClB,OAAOA,EACFlR,QAAQ,OAAO,SAAUD,GACtB,OAAO8wB,EAAU9wB,MAEpBC,QAAQ,KAAM,MAEvBwI,KAAM,CACFL,IAAK,EACLC,IAAK,MApHyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAIkB,EAAW,CACXP,EAAG,MACHT,EAAG,MACHC,EAAG,MACHC,EAAG,MACHC,EAAG,MACHC,EAAG,MACHC,EAAG,MACHC,EAAG,MACHC,EAAG,MACHC,EAAG,MACHc,GAAI,MACJH,GAAI,MACJI,GAAI,MACJgD,GAAI,MACJnD,GAAI,MACJI,GAAI,MACJP,GAAI,MACJC,GAAI,MACJO,GAAI,MACJJ,IAAK,OAGAvB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,kFAAkFK,MACtF,KAEJN,YAAa,qDAAqDM,MAC9D,KAEJiE,SAAU,2DAA2DjE,MACjE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,kBACTC,QAAS,kBACTC,SAAU,iBACVC,QAAS,kBACTC,SAAU,wCACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,YACRC,KAAM,WACN/I,EAAG,iBACHgJ,GAAI,YACJjU,EAAG,YACHkU,GAAI,WACJ9F,EAAG,WACH+F,GAAI,UACJhG,EAAG,UACHiG,GAAI,SACJ/F,EAAG,SACHkG,GAAI,QACJzG,EAAG,UACH0G,GAAI,UAERX,uBAAwB,wBACxB1N,QAAS,SAAUjB,GAGf,OAAOA,GAAUuzB,EAASvzB,IAAWuzB,EAF7BvzB,EAAS,KAEmCuzB,EAD5CvzB,GAAU,IAAM,IAAM,QAGlCiK,KAAM,CACFL,IAAK,EACLC,IAAK,KAlFyBugB,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIzB,SAASsD,EAAoB31B,EAAQogB,EAAethB,EAAK2mB,GACrD,IAAIjrB,EAAS,CACTM,EAAG,CAAC,aAAc,gBAClBoO,EAAG,CAAC,YAAa,eACjBD,EAAG,CAAC,UAAW,aACfE,EAAG,CAAC,WAAY,eAChBP,EAAG,CAAC,UAAW,eAEnB,OAAOwX,EAAgB5lB,EAAOsE,GAAK,GAAKtE,EAAOsE,GAAK,GAuBxD,SAASk4B,EAA4Bh3B,GAEjC,GADAA,EAAS8I,SAAS9I,EAAQ,IACtB3D,MAAM2D,GACN,OAAO,EAEX,GAAIA,EAAS,EAET,OAAO,EACJ,GAAIA,EAAS,GAEhB,OAAI,GAAKA,GAAUA,GAAU,EAI1B,GAAIA,EAAS,IAAK,CAErB,IAAIq0B,EAAYr0B,EAAS,GAEzB,OACWg3B,EADO,IAAd3C,EADar0B,EAAS,GAISq0B,GAChC,GAAIr0B,EAAS,IAAO,CAEvB,KAAOA,GAAU,IACbA,GAAkB,GAEtB,OAAOg3B,EAA4Bh3B,GAInC,OAAOg3B,EADPh3B,GAAkB,KAKjBqyB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,uFAAuFK,MAC3F,KAEJN,YAAa,+DAA+DM,MACxE,KAEJutB,kBAAkB,EAClBtpB,SAAU,mEAAmEjE,MACzE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,cACJD,IAAK,iBACLE,EAAG,aACHC,GAAI,eACJC,IAAK,2BACLC,KAAM,kCAEVZ,SAAU,CACNC,QAAS,eACTK,SAAU,IACVJ,QAAS,eACTC,SAAU,eACVC,QAAS,mBACTC,SAAU,WAEN,OAAQlR,KAAKgP,OACT,KAAK,EACL,KAAK,EACD,MAAO,0BACX,QACI,MAAO,4BAIvB2C,aAAc,CACVC,OAhGR,SAA2B8D,GAEvB,OAAIqkB,EADSrkB,EAAOlS,OAAO,EAAGkS,EAAO3M,QAAQ,OAElC,KAAO2M,EAEX,MAAQA,GA4FX7D,KA1FR,SAAyB6D,GAErB,OAAIqkB,EADSrkB,EAAOlS,OAAO,EAAGkS,EAAO3M,QAAQ,OAElC,QAAU2M,EAEd,SAAWA,GAsFd5M,EAAG,kBACHgJ,GAAI,cACJjU,EAAG66B,EACH3mB,GAAI,cACJ9F,EAAGysB,EACH1mB,GAAI,aACJhG,EAAG0sB,EACHzmB,GAAI,UACJ/F,EAAGwsB,EACHtmB,GAAI,WACJzG,EAAG+sB,EACHrmB,GAAI,WAERX,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KApIyBugB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,6EAA6EK,MACjF,KAEJN,YAAa,6EAA6EM,MACtF,KAEJiE,SAAU,sCAAsCjE,MAAM,KACtDgE,cAAe,oCAAoChE,MAAM,KACzD+D,YAAa,mBAAmB/D,MAAM,KACtCssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,6BAEVa,cAAe,kBACfjC,KAAM,SAAU3U,GACZ,MAAiB,WAAVA,GAEXkD,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,GACA,WAEA,UAGfrI,SAAU,CACNC,QAAS,kBACTC,QAAS,mBACTC,SAAU,wBACVC,QAAS,qBACTC,SAAU,4BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,WACN/I,EAAG,mBACHgJ,GAAI,YACJjU,EAAG,SACHkU,GAAI,UACJ9F,EAAG,YACH+F,GAAI,aACJhG,EAAG,QACHiG,GAAI,SACJ/F,EAAG,UACHkG,GAAI,WACJzG,EAAG,OACH0G,GAAI,SAERX,uBAAwB,eACxB1N,QAAS,SAAUjB,GACf,MAAO,MAAQA,KA/DeoqB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAI5vB,EAAQ,CACRsM,GAAI,6BACJjU,EAAG,wBACHkU,GAAI,0BACJ9F,EAAG,2BACH+F,GAAI,4BACJhG,EAAG,qBACHiG,GAAI,sBACJ/F,EAAG,uBACHkG,GAAI,4BACJzG,EAAG,mBACH0G,GAAI,oBASR,SAAS2nB,EAAkBj3B,EAAQogB,EAAethB,EAAK2mB,GACnD,OAAOrF,EACD+T,EAAMr1B,GAAK,GACX2mB,EACA0O,EAAMr1B,GAAK,GACXq1B,EAAMr1B,GAAK,GAErB,SAASo4B,EAAQl3B,GACb,OAAOA,EAAS,IAAO,GAAMA,EAAS,IAAMA,EAAS,GAEzD,SAASm0B,EAAMr1B,GACX,OAAO2D,EAAM3D,GAAKkI,MAAM,KAE5B,SAASsuB,EAAUt1B,EAAQogB,EAAethB,EAAK2mB,GAC3C,IAAIlS,EAASvT,EAAS,IACtB,OAAe,IAAXA,EAEIuT,EAAS0jB,EAAkBj3B,EAAQogB,EAAethB,EAAI,GAAI2mB,GAEvDrF,EACA7M,GAAU2jB,EAAQl3B,GAAUm0B,EAAMr1B,GAAK,GAAKq1B,EAAMr1B,GAAK,IAE1D2mB,EACOlS,EAAS4gB,EAAMr1B,GAAK,GAEpByU,GAAU2jB,EAAQl3B,GAAUm0B,EAAMr1B,GAAK,GAAKq1B,EAAMr1B,GAAK,IAIjEuzB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,CACJnM,OAAQ,oGAAoGwM,MACxG,KAEJotB,WAAY,kGAAkGptB,MAC1G,KAEJ8e,SAAU,+DAEdpf,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,CACNzQ,OAAQ,oFAAoFwM,MACxF,KAEJotB,WAAY,2FAA2FptB,MACnG,KAEJ8e,SAAU,cAEd9a,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,iBAAiB/D,MAAM,KACpCssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,wBACJC,IAAK,sCACLC,KAAM,4CACN4D,EAAG,aACHijB,GAAI,wBACJC,IAAK,sCACLC,KAAM,4CAEV3nB,SAAU,CACNC,QAAS,gBACTC,QAAS,aACTC,SAAU,UACVC,QAAS,aACTC,SAAU,qBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,WACN/I,EAlFR,SAA0B/F,EAAQogB,EAAethB,EAAK2mB,GAClD,OAAIrF,EACO,kBAEAqF,EAAW,kBAAoB,mBA+EtC1W,GAAIumB,EACJx6B,EAAGm8B,EACHjoB,GAAIsmB,EACJpsB,EAAG+tB,EACHhoB,GAAIqmB,EACJrsB,EAAGguB,EACH/nB,GAAIomB,EACJnsB,EAAG8tB,EACH5nB,GAAIimB,EACJ1sB,EAAGquB,EACH3nB,GAAIgmB,GAER3mB,uBAAwB,cACxB1N,QAAS,SAAUjB,GACf,OAAOA,EAAS,QAEpBiK,KAAM,CACFL,IAAK,EACLC,IAAK,KAzHyBugB,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIzB,IAAI5vB,EAAQ,CACRsM,GAAI,qCAAqC/H,MAAM,KAC/ClM,EAAG,iCAAiCkM,MAAM,KAC1CgI,GAAI,iCAAiChI,MAAM,KAC3CkC,EAAG,iCAAiClC,MAAM,KAC1CiI,GAAI,iCAAiCjI,MAAM,KAC3CiC,EAAG,6BAA6BjC,MAAM,KACtCkI,GAAI,6BAA6BlI,MAAM,KACvCmC,EAAG,iCAAiCnC,MAAM,KAC1CqI,GAAI,iCAAiCrI,MAAM,KAC3C4B,EAAG,wBAAwB5B,MAAM,KACjCsI,GAAI,wBAAwBtI,MAAM,MAKtC,SAASxM,EAAO25B,EAAOn0B,EAAQogB,GAC3B,OAAIA,EAEOpgB,EAAS,IAAO,GAAKA,EAAS,KAAQ,GAAKm0B,EAAM,GAAKA,EAAM,GAI5Dn0B,EAAS,IAAO,GAAKA,EAAS,KAAQ,GAAKm0B,EAAM,GAAKA,EAAM,GAG3E,SAASF,EAAuBj0B,EAAQogB,EAAethB,GACnD,OAAOkB,EAAS,IAAMxF,EAAOiI,EAAM3D,GAAMkB,EAAQogB,GAErD,SAAS+W,EAAyBn3B,EAAQogB,EAAethB,GACrD,OAAOtE,EAAOiI,EAAM3D,GAAMkB,EAAQogB,GAM7BiS,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,uGAAuGK,MAC3G,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,0EAA0EjE,MAChF,KAEJgE,cAAe,kBAAkBhE,MAAM,KACvC+D,YAAa,kBAAkB/D,MAAM,KACrCssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,cACHC,GAAI,uBACJC,IAAK,8BACLC,KAAM,qCAEVZ,SAAU,CACNC,QAAS,uBACTC,QAAS,oBACTC,SAAU,qBACVC,QAAS,sBACTC,SAAU,gCACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,WACN/I,EAlCR,SAAyB/F,EAAQogB,GAC7B,OAAOA,EAAgB,iBAAmB,kBAkCtCrR,GAAIklB,EACJn5B,EAAGq8B,EACHnoB,GAAIilB,EACJ/qB,EAAGiuB,EACHloB,GAAIglB,EACJhrB,EAAGkuB,EACHjoB,GAAI+kB,EACJ9qB,EAAGguB,EACH9nB,GAAI4kB,EACJrrB,EAAGuuB,EACH7nB,GAAI2kB,GAERtlB,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KA1FyBugB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIzB,IAAI+E,EAAa,CACbC,MAAO,CAEHtoB,GAAI,CAAC,SAAU,UAAW,WAC1BjU,EAAG,CAAC,cAAe,iBACnBkU,GAAI,CAAC,QAAS,SAAU,UACxB9F,EAAG,CAAC,YAAa,eACjB+F,GAAI,CAAC,MAAO,OAAQ,QACpBC,GAAI,CAAC,MAAO,OAAQ,QACpBG,GAAI,CAAC,SAAU,UAAW,WAC1BC,GAAI,CAAC,SAAU,SAAU,WAE7BgoB,uBAAwB,SAAUt3B,EAAQu3B,GACtC,OAAkB,IAAXv3B,EACDu3B,EAAQ,GACRv3B,GAAU,GAAKA,GAAU,EACzBu3B,EAAQ,GACRA,EAAQ,IAElBjC,UAAW,SAAUt1B,EAAQogB,EAAethB,GACxC,IAAIy4B,EAAUH,EAAWC,MAAMv4B,GAC/B,OAAmB,IAAfA,EAAIrF,OACG2mB,EAAgBmX,EAAQ,GAAKA,EAAQ,GAGxCv3B,EACA,IACAo3B,EAAWE,uBAAuBt3B,EAAQu3B,KAMjDlF,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,mFAAmFK,MACvF,KAEJN,YAAa,2DAA2DM,MACpE,KAEJutB,kBAAkB,EAClBtpB,SAAU,4DAA4DjE,MAClE,KAEJgE,cAAe,qCAAqChE,MAAM,KAC1D+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,aACHC,GAAI,eACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,eACTC,QAAS,gBAETC,SAAU,WACN,OAAQhR,KAAKgP,OACT,KAAK,EACD,MAAO,wBACX,KAAK,EACD,MAAO,uBACX,KAAK,EACD,MAAO,sBACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,oBAGnBiC,QAAS,cACTC,SAAU,WAUN,MATmB,CACf,6BACA,iCACA,4BACA,4BACA,8BACA,2BACA,4BAEgBlR,KAAKgP,QAE7BmC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,WACN/I,EAAG,mBACHgJ,GAAIqoB,EAAW9B,UACfx6B,EAAGs8B,EAAW9B,UACdtmB,GAAIooB,EAAW9B,UACfpsB,EAAGkuB,EAAW9B,UACdrmB,GAAImoB,EAAW9B,UACfrsB,EAAG,MACHiG,GAAIkoB,EAAW9B,UACfnsB,EAAG,SACHkG,GAAI+nB,EAAW9B,UACf1sB,EAAG,SACH0G,GAAI8nB,EAAW9B,WAEnB3mB,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KApHyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,8IAA8IK,MAClJ,KAEJN,YAAa,iEAAiEM,MAC1E,KAEJH,YAAa,yCACbouB,kBAAmB,yCACnBruB,iBAAkB,yCAClBsuB,uBAAwB,yCACxBjqB,SAAU,kDAAkDjE,MAAM,KAClEgE,cAAe,wBAAwBhE,MAAM,KAC7C+D,YAAa,wBAAwB/D,MAAM,KAC3CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,wBACLC,KAAM,+BAEVZ,SAAU,CACNC,QAAS,wBACTC,QAAS,eACTC,SAAU,cACVC,QAAS,iBACTC,SAAU,2BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,cACRC,KAAM,WACN/I,EAAG,mBACHgJ,GAAI,YACJjU,EAAG,YACHkU,GAAI,YACJ9F,EAAG,WACH+F,GAAI,WACJhG,EAAG,QACHiG,GAAI,QACJ/F,EAAG,YACHkG,GAAI,YACJzG,EAAG,SACH0G,GAAI,UAERX,uBAAwB,WACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAzDyBugB,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,uFAAuFK,MAC3F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,wDAAwDjE,MAC9D,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,YACHC,GAAI,cACJC,IAAK,mBACLC,KAAM,0BAEVZ,SAAU,CACNC,QAAS,gBACTC,QAAS,eACTC,SAAU,oBACVC,QAAS,gBACTC,SAAU,WACN,OAAQlR,KAAKgP,OACT,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,4BACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,8BAGnBmC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,UACN/I,EAAG,kBACHgJ,GAAI,aACJjU,EAAG,cACHkU,GAAI,YACJ9F,EAAG,WACH+F,GAAI,UACJhG,EAAG,WACHiG,GAAI,UACJ/F,EAAG,aACHkG,GAAI,YACJzG,EAAG,cACH0G,GAAI,aAERX,uBAAwB,8BACxB1N,QAAS,SAAUjB,GACf,IAAIq0B,EAAYr0B,EAAS,GACrBs0B,EAAct0B,EAAS,IAC3B,OAAe,IAAXA,EACOA,EAAS,MACO,IAAhBs0B,EACAt0B,EAAS,MACTs0B,EAAc,IAAMA,EAAc,GAClCt0B,EAAS,MACK,IAAdq0B,EACAr0B,EAAS,MACK,IAAdq0B,EACAr0B,EAAS,MACK,IAAdq0B,GAAiC,IAAdA,EACnBr0B,EAAS,MAETA,EAAS,OAGxBiK,KAAM,CACFL,IAAK,EACLC,IAAK,KAnFyBugB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,yFAAyFK,MAC7F,KAEJN,YAAa,yEAAyEM,MAClF,KAEJutB,kBAAkB,EAClBtpB,SAAU,wEAAwEjE,MAC9E,KAEJgE,cAAe,2CAA2ChE,MAAM,KAChE+D,YAAa,wBAAwB/D,MAAM,KAC3CjF,eAAgB,CACZuM,GAAI,aACJD,IAAK,gBACLE,EAAG,aACHC,GAAI,cACJC,IAAK,0BACLC,KAAM,iCAEVZ,SAAU,CACNC,QAAS,aACTC,QAAS,YACTC,SAAU,WACVC,QAAS,cACTC,SAAU,oBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,aACRC,KAAM,WACN/I,EAAG,gBACHgJ,GAAI,cACJjU,EAAG,eACHkU,GAAI,cACJ9F,EAAG,eACH+F,GAAI,cACJhG,EAAG,YACHiG,GAAI,WACJ/F,EAAG,WACHkG,GAAI,UACJzG,EAAG,WACH0G,GAAI,WAERC,cAAe,gDACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAGO,WAAbta,GAAyBsa,GAAQ,GACrB,iBAAbta,GACa,eAAbA,EAEOsa,EAAO,GAEPA,GAGfta,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,EACA,SACAA,EAAO,GACP,SACAA,EAAO,GACP,eACAA,EAAO,GACP,aAEA,YA7EmBiU,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,SAASiD,EAAUt1B,EAAQogB,EAAethB,EAAK2mB,GAC3C,OAAQ3mB,GACJ,IAAK,IACD,OAAOshB,EAAgB,gBAAkB,kBAC7C,IAAK,KACD,OAAOpgB,GAAUogB,EAAgB,UAAY,aACjD,IAAK,IACL,IAAK,KACD,OAAOpgB,GAAUogB,EAAgB,SAAW,YAChD,IAAK,IACL,IAAK,KACD,OAAOpgB,GAAUogB,EAAgB,OAAS,WAC9C,IAAK,IACL,IAAK,KACD,OAAOpgB,GAAUogB,EAAgB,QAAU,WAC/C,IAAK,IACL,IAAK,KACD,OAAOpgB,GAAUogB,EAAgB,OAAS,UAC9C,IAAK,IACL,IAAK,KACD,OAAOpgB,GAAUogB,EAAgB,OAAS,WAC9C,QACI,OAAOpgB,GAIVqyB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,+LAA+LK,MACnM,KAEJN,YAAa,6EAA6EM,MACtF,KAEJutB,kBAAkB,EAClBtpB,SAAU,6CAA6CjE,MAAM,KAC7DgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,oBACJC,IAAK,0BACLC,KAAM,iCAEVa,cAAe,SACfjC,KAAM,SAAU3U,GACZ,MAAiB,OAAVA,GAEXkD,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,GACA,KAEA,MAGfrI,SAAU,CACNC,QAAS,eACTC,QAAS,eACTC,SAAU,iBACVC,QAAS,eACTC,SAAU,qBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,WACRC,KAAM,UACN/I,EAAGuvB,EACHvmB,GAAIumB,EACJx6B,EAAGw6B,EACHtmB,GAAIsmB,EACJpsB,EAAGosB,EACHrmB,GAAIqmB,EACJrsB,EAAGqsB,EACHpmB,GAAIomB,EACJnsB,EAAGmsB,EACHjmB,GAAIimB,EACJ1sB,EAAG0sB,EACHhmB,GAAIgmB,GAER3mB,uBAAwB,eACxB1N,QAAS,SAAUjB,EAAQqb,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,MACD,OAAOrb,EAAS,QACpB,QACI,OAAOA,MAhGeoqB,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIzB,IAAIC,EAAY,CACRC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,KAEPC,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGb,SAASuE,EAAex3B,EAAQogB,EAAezN,EAAQ8S,GACnD,IAAI9jB,EAAS,GACb,GAAIye,EACA,OAAQzN,GACJ,IAAK,IACDhR,EAAS,aACT,MACJ,IAAK,KACDA,EAAS,WACT,MACJ,IAAK,IACDA,EAAS,WACT,MACJ,IAAK,KACDA,EAAS,YACT,MACJ,IAAK,IACDA,EAAS,SACT,MACJ,IAAK,KACDA,EAAS,SACT,MACJ,IAAK,IACDA,EAAS,UACT,MACJ,IAAK,KACDA,EAAS,UACT,MACJ,IAAK,IACDA,EAAS,WACT,MACJ,IAAK,KACDA,EAAS,WACT,MACJ,IAAK,IACDA,EAAS,UACT,MACJ,IAAK,KACDA,EAAS,gBAIjB,OAAQgR,GACJ,IAAK,IACDhR,EAAS,eACT,MACJ,IAAK,KACDA,EAAS,aACT,MACJ,IAAK,IACDA,EAAS,aACT,MACJ,IAAK,KACDA,EAAS,aACT,MACJ,IAAK,IACDA,EAAS,WACT,MACJ,IAAK,KACDA,EAAS,WACT,MACJ,IAAK,IACDA,EAAS,YACT,MACJ,IAAK,KACDA,EAAS,YACT,MACJ,IAAK,IACDA,EAAS,cACT,MACJ,IAAK,KACDA,EAAS,cACT,MACJ,IAAK,IACDA,EAAS,YACT,MACJ,IAAK,KACDA,EAAS,YAIrB,OAAOA,EAAOF,QAAQ,MAAOzB,GAGxBqyB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,wFAAwFK,MAC5F,KAEJN,YAAa,gFAAgFM,MACzF,KAEJutB,kBAAkB,EAClBtpB,SAAU,uDAAuDjE,MAAM,KACvEgE,cAAe,kCAAkChE,MAAM,KACvD+D,YAAa,qBAAqB/D,MAAM,KACxCjF,eAAgB,CACZuM,GAAI,eACJD,IAAK,kBACLE,EAAG,aACHC,GAAI,cACJC,IAAK,4BACLC,KAAM,mCAEVZ,SAAU,CACNC,QAAS,UACTC,QAAS,aACTC,SAAU,WACVC,QAAS,WACTC,SAAU,mBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,UACRC,KAAM,WACN/I,EAAGyxB,EACHzoB,GAAIyoB,EACJ18B,EAAG08B,EACHxoB,GAAIwoB,EACJtuB,EAAGsuB,EACHvoB,GAAIuoB,EACJvuB,EAAGuuB,EACHtoB,GAAIsoB,EACJruB,EAAGquB,EACHnoB,GAAImoB,EACJ5uB,EAAG4uB,EACHloB,GAAIkoB,GAER/gB,SAAU,SAAU9D,GAChB,OAAOA,EAAOlR,QAAQ,iBAAiB,SAAUD,GAC7C,OAAOyxB,EAAUzxB,OAGzB2e,WAAY,SAAUxN,GAClB,OAAOA,EAAOlR,QAAQ,OAAO,SAAUD,GACnC,OAAO8wB,EAAU9wB,OAGzB+N,cAAe,qCACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,UAAbta,GAAqC,UAAbA,EACjBsa,EAEM,WAAbta,GACa,aAAbA,GACa,WAAbA,EAEOsa,GAAQ,GAAKA,EAAOA,EAAO,QAL/B,GAQXta,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,GAAQ,GAAKA,EAAO,EACb,QACAA,EAAO,GACP,QACAA,EAAO,GACP,SACAA,EAAO,GACP,WAEA,UAGflM,KAAM,CACFL,IAAK,EACLC,IAAK,KAvMyBugB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,oFAAoFK,MACxF,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,6CAA6CjE,MAAM,KAC7DgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,4BACLC,KAAM,mCAEVa,cAAe,8BACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,SAAbta,EACOsa,EACa,cAAbta,EACAsa,GAAQ,GAAKA,EAAOA,EAAO,GACd,WAAbta,GAAsC,UAAbA,EACzBsa,EAAO,QADX,GAIXta,SAAU,SAAUiR,EAAOE,EAASyZ,GAChC,OAAI3Z,EAAQ,GACD,OACAA,EAAQ,GACR,YACAA,EAAQ,GACR,SAEA,SAGfgB,SAAU,CACNC,QAAS,sBACTC,QAAS,kBACTC,SAAU,kBACVC,QAAS,sBACTC,SAAU,wBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,WACRC,KAAM,gBACN/I,EAAG,gBACHgJ,GAAI,UACJjU,EAAG,UACHkU,GAAI,WACJ9F,EAAG,QACH+F,GAAI,SACJhG,EAAG,SACHiG,GAAI,UACJ/F,EAAG,UACHkG,GAAI,WACJzG,EAAG,UACH0G,GAAI,YAERrF,KAAM,CACFL,IAAK,EACLC,IAAK,KAzEyBugB,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,oFAAoFK,MACxF,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,6CAA6CjE,MAAM,KAC7DgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,4BACLC,KAAM,mCAEVa,cAAe,8BACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,SAAbta,EACOsa,EACa,cAAbta,EACAsa,GAAQ,GAAKA,EAAOA,EAAO,GACd,WAAbta,GAAsC,UAAbA,EACzBsa,EAAO,QADX,GAIXta,SAAU,SAAUiR,EAAOE,EAASyZ,GAChC,OAAI3Z,EAAQ,GACD,OACAA,EAAQ,GACR,YACAA,EAAQ,GACR,SAEA,SAGfgB,SAAU,CACNC,QAAS,sBACTC,QAAS,kBACTC,SAAU,kBACVC,QAAS,sBACTC,SAAU,wBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,WACRC,KAAM,gBACN/I,EAAG,gBACHgJ,GAAI,UACJjU,EAAG,UACHkU,GAAI,WACJ9F,EAAG,QACH+F,GAAI,SACJhG,EAAG,SACHiG,GAAI,UACJ/F,EAAG,UACHkG,GAAI,WACJzG,EAAG,UACH0G,GAAI,YAERrF,KAAM,CACFL,IAAK,EACLC,IAAK,KAzEyBugB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,wFAAwFK,MAC5F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,iEAAiEjE,MACvE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,iBACTC,QAAS,iBACTC,SAAU,gBACVC,QAAS,qBACTC,SAAU,4BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,SACN/I,EAAG,eACHgJ,GAAI,aACJjU,EAAG,SACHkU,GAAI,YACJ9F,EAAG,SACH+F,GAAI,aACJhG,EAAG,UACHiG,GAAI,YACJ/F,EAAG,QACHkG,GAAI,UACJzG,EAAG,OACH0G,GAAI,UAERX,uBAAwB,WACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KArDyBugB,CAAQ,EAAQ,O,iBCKlD,SAAWiI,GAAU,aAIzB,IAAIC,EAAY,CACRC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,KAEPC,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGJZ,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,2FAA2FK,MAC/F,KAEJN,YAAa,mDAAmDM,MAAM,KACtEiE,SAAU,wDAAwDjE,MAC9D,KAEJgE,cAAe,2BAA2BhE,MAAM,KAChD+D,YAAa,2BAA2B/D,MAAM,KAE9CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVZ,SAAU,CACNC,QAAS,kBACTC,QAAS,sBACTC,SAAU,gBACVC,QAAS,mBACTC,SAAU,6BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,gBACRC,KAAM,kBACN/I,EAAG,kBACHgJ,GAAI,aACJjU,EAAG,WACHkU,GAAI,WACJ9F,EAAG,UACH+F,GAAI,UACJhG,EAAG,SACHiG,GAAI,SACJ/F,EAAG,OACHkG,GAAI,OACJzG,EAAG,UACH0G,GAAI,WAERmH,SAAU,SAAU9D,GAChB,OAAOA,EAAOlR,QAAQ,iBAAiB,SAAUD,GAC7C,OAAOyxB,EAAUzxB,OAGzB2e,WAAY,SAAUxN,GAClB,OAAOA,EAAOlR,QAAQ,OAAO,SAAUD,GACnC,OAAO8wB,EAAU9wB,OAGzByI,KAAM,CACFL,IAAK,EACLC,IAAK,KAvFyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,qFAAqFK,MACzF,KAEJN,YAAa,6DAA6DM,MACtE,KAEJutB,kBAAkB,EAClBtpB,SAAU,qDAAqDjE,MAAM,KACrEgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,eACJC,IAAK,2BACLC,KAAM,iCAEVZ,SAAU,CACNC,QAAS,iBACTC,QAAS,oBACTC,SAAU,gBACVC,QAAS,iBACTC,SAAU,0BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,WACN/I,EAAG,gBACHgJ,GAAI,cACJjU,EAAG,aACHkU,GAAI,cACJ9F,EAAG,UACH+F,GAAI,WACJhG,EAAG,SACHiG,GAAI,WACJC,EAAG,SACHC,GAAI,UACJjG,EAAG,WACHkG,GAAI,aACJzG,EAAG,SACH0G,GAAI,SAERX,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAzDyBugB,CAAQ,EAAQ,O,iBCClD,SAAWiI,GAAU,aAIzB,IAAIC,EAAY,CACRC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,KAEPC,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGJZ,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,uFAAuFK,MAC3F,KAEJN,YAAa,uEAAuEM,MAChF,KAEJutB,kBAAkB,EAClBtpB,SAAU,wDAAwDjE,MAC9D,KAEJgE,cAAe,0CAA0ChE,MAAM,KAC/D+D,YAAa,4BAA4B/D,MAAM,KAC/CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,eACJD,IAAK,kBACLE,EAAG,aACHC,GAAI,cACJC,IAAK,4BACLC,KAAM,mCAEV+H,SAAU,SAAU9D,GAChB,OAAOA,EAAOlR,QAAQ,iBAAiB,SAAUD,GAC7C,OAAOyxB,EAAUzxB,OAGzB2e,WAAY,SAAUxN,GAClB,OAAOA,EAAOlR,QAAQ,OAAO,SAAUD,GACnC,OAAO8wB,EAAU9wB,OAGzB+N,cAAe,yBACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,SAAbta,EACOsa,EAAO,EAAIA,EAAOA,EAAO,GACZ,UAAbta,EACAsa,EACa,WAAbta,EACAsa,GAAQ,GAAKA,EAAOA,EAAO,GACd,SAAbta,EACAsa,EAAO,QADX,GAIXta,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,EACA,OACAA,EAAO,GACP,QACAA,EAAO,GACP,SACAA,EAAO,GACP,OAEA,QAGfrI,SAAU,CACNC,QAAS,UACTC,QAAS,YACTC,SAAU,qBACVC,QAAS,YACTC,SAAU,oBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,OACRC,KAAM,WACN/I,EAAG,YACHgJ,GAAI,aACJjU,EAAG,WACHkU,GAAI,WACJ9F,EAAG,WACH+F,GAAI,WACJhG,EAAG,SACHiG,GAAI,SACJ/F,EAAG,WACHkG,GAAI,WACJzG,EAAG,UACH0G,GAAI,WAERrF,KAAM,CACFL,IAAK,EACLC,IAAK,KAtHyBugB,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIzB,IAAIkE,EAAsB,6DAA6DvvB,MAC/E,KAEJwvB,EAAyB,kDAAkDxvB,MACvE,KAEJF,EAAc,CACV,QACA,QACA,iBACA,QACA,SACA,cACA,cACA,QACA,QACA,QACA,QACA,SAEJD,EAAc,qKAETwrB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,0FAA0FK,MAC9F,KAEJN,YAAa,SAAU5L,EAAGN,GACtB,OAAKM,EAEM,QAAQmH,KAAKzH,GACbg8B,EAAuB17B,EAAEiJ,SAEzBwyB,EAAoBz7B,EAAEiJ,SAJtBwyB,GAQf1vB,YAAaA,EACbD,iBAAkBC,EAClBouB,kBAAmB,4FACnBC,uBAAwB,mFAExBpuB,YAAaA,EACbquB,gBAAiBruB,EACjBsuB,iBAAkBtuB,EAElBmE,SAAU,6DAA6DjE,MACnE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVZ,SAAU,CACNC,QAAS,kBACTC,QAAS,iBACTC,SAAU,eACVC,QAAS,mBACTC,SAAU,2BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,UACRC,KAAM,aACN/I,EAAG,oBACHgJ,GAAI,cACJjU,EAAG,aACHkU,GAAI,aACJ9F,EAAG,UACH+F,GAAI,SACJhG,EAAG,UACHiG,GAAI,WACJC,EAAG,WACHC,GAAI,WACJjG,EAAG,YACHkG,GAAI,aACJzG,EAAG,WACH0G,GAAI,WAERX,uBAAwB,kBACxB1N,QAAS,SAAUjB,GACf,OACIA,GACY,IAAXA,GAA2B,IAAXA,GAAgBA,GAAU,GAAK,MAAQ,OAGhEiK,KAAM,CACFL,IAAK,EACLC,IAAK,KArGyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAIkE,EAAsB,6DAA6DvvB,MAC/E,KAEJwvB,EAAyB,kDAAkDxvB,MACvE,KAEJF,EAAc,CACV,QACA,QACA,iBACA,QACA,SACA,cACA,cACA,QACA,QACA,QACA,QACA,SAEJD,EAAc,qKAEPwrB,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,0FAA0FK,MAC9F,KAEJN,YAAa,SAAU5L,EAAGN,GACtB,OAAKM,EAEM,QAAQmH,KAAKzH,GACbg8B,EAAuB17B,EAAEiJ,SAEzBwyB,EAAoBz7B,EAAEiJ,SAJtBwyB,GAQf1vB,YAAaA,EACbD,iBAAkBC,EAClBouB,kBAAmB,4FACnBC,uBAAwB,mFAExBpuB,YAAaA,EACbquB,gBAAiBruB,EACjBsuB,iBAAkBtuB,EAElBmE,SAAU,6DAA6DjE,MACnE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVZ,SAAU,CACNC,QAAS,kBACTC,QAAS,iBACTC,SAAU,eACVC,QAAS,mBACTC,SAAU,2BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,UACRC,KAAM,aACN/I,EAAG,oBACHgJ,GAAI,cACJjU,EAAG,aACHkU,GAAI,aACJ9F,EAAG,UACH+F,GAAI,SACJhG,EAAG,UACHiG,GAAI,WACJ/F,EAAG,YACHkG,GAAI,aACJzG,EAAG,WACH0G,GAAI,WAERX,uBAAwB,kBACxB1N,QAAS,SAAUjB,GACf,OACIA,GACY,IAAXA,GAA2B,IAAXA,GAAgBA,GAAU,GAAK,MAAQ,OAGhEiK,KAAM,CACFL,IAAK,EACLC,IAAK,KAnGyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,qFAAqFK,MACzF,KAEJN,YAAa,6DAA6DM,MACtE,KAEJutB,kBAAkB,EAClBtpB,SAAU,qDAAqDjE,MAAM,KACrEgE,cAAe,+BAA+BhE,MAAM,KACpD+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,eACJC,IAAK,0BACLC,KAAM,iCAEVZ,SAAU,CACNC,QAAS,oBACTC,QAAS,uBACTC,SAAU,mBACVC,QAAS,oBACTC,SAAU,gCACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,WACN/I,EAAG,eACHgJ,GAAI,YACJjU,EAAG,aACHkU,GAAI,YACJ9F,EAAG,WACH+F,GAAI,WACJhG,EAAG,UACHiG,GAAI,WACJC,EAAG,UACHC,GAAI,WACJjG,EAAG,YACHkG,GAAI,aACJzG,EAAG,SACH0G,GAAI,SAERX,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAzDyBugB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIbA,EAAO9hB,aAAa,SAAU,CACtC5J,OAAQ,CACJytB,WAAY,qFAAqFptB,MAC7F,KAEJxM,OAAQ,sHAAsHwM,MAC1H,KAEJ8e,SAAU,mBAEdpf,YAAa,+DAA+DM,MACxE,KAEJutB,kBAAkB,EAClBtpB,SAAU,2DAA2DjE,MACjE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,aACHC,GAAI,mBACJ+mB,GAAI,aACJ9mB,IAAK,4BACL+mB,IAAK,mBACL9mB,KAAM,iCACN+mB,KAAM,wBAEV3nB,SAAU,CACNC,QAAS,aACTC,QAAS,eACTC,SAAU,cACVC,QAAS,aACTC,SAAU,qBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,YACRC,KAAM,QACN/I,EAAG,gBACHgJ,GAAI,cACJjU,EAAG,aACHkU,GAAI,aACJ9F,EAAG,UACH+F,GAAI,UACJhG,EAAG,UACHiG,GAAI,WACJ/F,EAAG,SACHkG,GAAI,WACJzG,EAAG,QACH0G,GAAI,UAERX,uBAAwB,qBACxB1N,QAAS,SAAUjB,EAAQqb,GACvB,IAAI1Z,EACW,IAAX3B,EACM,IACW,IAAXA,EACA,IACW,IAAXA,EACA,IACW,IAAXA,EACA,IACA,IAIV,MAHe,MAAXqb,GAA6B,MAAXA,IAClB1Z,EAAS,KAEN3B,EAAS2B,GAEpBsI,KAAM,CACFL,IAAK,EACLC,IAAK,KAjFyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAIC,EAAY,CACRC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,KAEPC,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGFZ,EAAO9hB,aAAa,QAAS,CAEpC5J,OAAQ,sEAAsEK,MAC1E,KAEJN,YAAa,sEAAsEM,MAC/E,KAEJiE,SAAU,yDAAyDjE,MAC/D,KAEJgE,cAAe,iCAAiChE,MAAM,KACtD+D,YAAa,iCAAiC/D,MAAM,KACpDjF,eAAgB,CACZuM,GAAI,aACJD,IAAK,gBACLE,EAAG,aACHC,GAAI,cACJC,IAAK,0BACLC,KAAM,iCAEVZ,SAAU,CACNC,QAAS,UACTC,QAAS,UACTC,SAAU,kBACVC,QAAS,UACTC,SAAU,mBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,UACRC,KAAM,WACN/I,EAAG,YACHgJ,GAAI,WACJjU,EAAG,UACHkU,GAAI,UACJ9F,EAAG,WACH+F,GAAI,UACJhG,EAAG,UACHiG,GAAI,SACJ/F,EAAG,YACHkG,GAAI,WACJzG,EAAG,UACH0G,GAAI,UAERmH,SAAU,SAAU9D,GAChB,OAAOA,EAAOlR,QAAQ,iBAAiB,SAAUD,GAC7C,OAAOyxB,EAAUzxB,OAGzB2e,WAAY,SAAUxN,GAClB,OAAOA,EAAOlR,QAAQ,OAAO,SAAUD,GACnC,OAAO8wB,EAAU9wB,OAKzB+N,cAAe,uBACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,QAAbta,EACOsa,EAAO,EAAIA,EAAOA,EAAO,GACZ,SAAbta,EACAsa,EACa,WAAbta,EACAsa,GAAQ,GAAKA,EAAOA,EAAO,GACd,SAAbta,EACAsa,EAAO,QADX,GAIXta,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,EACA,MACAA,EAAO,GACP,OACAA,EAAO,GACP,SACAA,EAAO,GACP,OAEA,OAGflM,KAAM,CACFL,IAAK,EACLC,IAAK,KAvHyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAIoF,EAAmB,mGAAmGzwB,MAClH,KAEJ0wB,EAAmB,qGAAqG1wB,MACpH,KAEJF,EAAc,CACV,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SAER,SAAS4uB,EAAO7qB,GACZ,OAAOA,EAAI,GAAK,GAAKA,EAAI,GAAK,MAAQA,EAAI,IAAM,IAAO,EAE3D,SAASyqB,EAAUt1B,EAAQogB,EAAethB,GACtC,IAAIyU,EAASvT,EAAS,IACtB,OAAQlB,GACJ,IAAK,KACD,OAAOyU,GAAUmiB,EAAO11B,GAAU,UAAY,UAClD,IAAK,IACD,OAAOogB,EAAgB,SAAW,SACtC,IAAK,KACD,OAAO7M,GAAUmiB,EAAO11B,GAAU,SAAW,SACjD,IAAK,IACD,OAAOogB,EAAgB,UAAY,UACvC,IAAK,KACD,OAAO7M,GAAUmiB,EAAO11B,GAAU,UAAY,UAClD,IAAK,KACD,OAAOuT,GAAUmiB,EAAO11B,GAAU,WAAa,WACnD,IAAK,KACD,OAAOuT,GAAUmiB,EAAO11B,GAAU,WAAa,YACnD,IAAK,KACD,OAAOuT,GAAUmiB,EAAO11B,GAAU,OAAS,QAI9CqyB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,SAAUmvB,EAAgBt7B,GAC9B,OAAKs7B,EAEM,SAAS7zB,KAAKzH,GACdk9B,EAAiB5B,EAAe/xB,SAEhC0zB,EAAiB3B,EAAe/xB,SAJhC0zB,GAOf/wB,YAAa,kDAAkDM,MAAM,KACrEF,YAAaA,EACbquB,gBAAiBruB,EACjBsuB,iBAAkBtuB,EAClBmE,SAAU,6DAA6DjE,MACnE,KAEJgE,cAAe,2BAA2BhE,MAAM,KAChD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,cACTC,QAAS,eACTC,SAAU,WACN,OAAQhR,KAAKgP,OACT,KAAK,EACD,MAAO,qBAEX,KAAK,EACD,MAAO,mBAEX,KAAK,EACD,MAAO,iBAEX,KAAK,EACD,MAAO,kBAEX,QACI,MAAO,oBAGnBiC,QAAS,iBACTC,SAAU,WACN,OAAQlR,KAAKgP,OACT,KAAK,EACD,MAAO,4BACX,KAAK,EACD,MAAO,wBACX,KAAK,EACD,MAAO,yBACX,QACI,MAAO,2BAGnBmC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,UACN/I,EAAG,eACHgJ,GAAIumB,EACJx6B,EAAGw6B,EACHtmB,GAAIsmB,EACJpsB,EAAGosB,EACHrmB,GAAIqmB,EACJrsB,EAAG,UACHiG,GAAI,SACJC,EAAG,UACHC,GAAIkmB,EACJnsB,EAAG,UACHkG,GAAIimB,EACJ1sB,EAAG,MACH0G,GAAIgmB,GAER3mB,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAzIyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,2FAA2FK,MAC/F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,iFAAiFjE,MACvF,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,wBACJC,IAAK,8BACLC,KAAM,qCAEVZ,SAAU,CACNC,QAAS,eACTC,QAAS,iBACTC,SAAU,eACVC,QAAS,gBACTC,SAAU,WACN,OAAsB,IAAflR,KAAKgP,OAA8B,IAAfhP,KAAKgP,MAC1B,wBACA,yBAEVmC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,QACN/I,EAAG,WACHgJ,GAAI,cACJjU,EAAG,YACHkU,GAAI,aACJ9F,EAAG,WACH+F,GAAI,WACJhG,EAAG,SACHiG,GAAI,UACJC,EAAG,aACHC,GAAI,aACJjG,EAAG,SACHkG,GAAI,WACJzG,EAAG,SACH0G,GAAI,WAERX,uBAAwB,WACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KA5DyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,2FAA2FK,MAC/F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,iFAAiFjE,MACvF,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,wBACJC,IAAK,mCACLC,KAAM,0CAEVZ,SAAU,CACNC,QAAS,eACTC,QAAS,iBACTC,SAAU,eACVC,QAAS,gBACTC,SAAU,WACN,OAAsB,IAAflR,KAAKgP,OAA8B,IAAfhP,KAAKgP,MAC1B,wBACA,yBAEVmC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,QACN/I,EAAG,kBACHgJ,GAAI,cACJjU,EAAG,YACHkU,GAAI,aACJ9F,EAAG,WACH+F,GAAI,WACJhG,EAAG,SACHiG,GAAI,UACJ/F,EAAG,SACHkG,GAAI,WACJzG,EAAG,SACH0G,GAAI,WAERX,uBAAwB,WACxB1N,QAAS,MACTY,YAAa,kBAxDqBuoB,CAAQ,EAAQ,O,iBCKlD,SAAWiI,GAAU,aAIzB,SAAS4B,EAAuBj0B,EAAQogB,EAAethB,GACnD,IASIya,EAAY,IAIhB,OAHIvZ,EAAS,KAAO,IAAOA,GAAU,KAAOA,EAAS,KAAQ,KACzDuZ,EAAY,QAETvZ,EAASuZ,EAbH,CACLxK,GAAI,UACJC,GAAI,SACJC,GAAI,MACJC,GAAI,OACJE,GAAI,YACJC,GAAI,OACJC,GAAI,OAMuBxQ,GAG9BuzB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,oGAAoGK,MACxG,KAEJN,YAAa,+DAA+DM,MACxE,KAEJutB,kBAAkB,EAClBtpB,SAAU,kDAAkDjE,MAAM,KAClEgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,aACHC,GAAI,cACJC,IAAK,mBACLC,KAAM,0BAEVZ,SAAU,CACNC,QAAS,cACTC,QAAS,gBACTC,SAAU,eACVC,QAAS,eACTC,SAAU,uBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,WACRC,KAAM,aACN/I,EAAG,iBACHgJ,GAAIklB,EACJn5B,EAAG,WACHkU,GAAIilB,EACJ/qB,EAAG,QACH+F,GAAIglB,EACJhrB,EAAG,OACHiG,GAAI+kB,EACJ9kB,EAAG,cACHC,GAAI6kB,EACJ9qB,EAAG,SACHkG,GAAI4kB,EACJrrB,EAAG,QACH0G,GAAI2kB,GAERhqB,KAAM,CACFL,IAAK,EACLC,IAAK,KAvEyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAYzB,SAAS4B,EAAuBj0B,EAAQogB,EAAethB,GACnD,IATkBo1B,EACdC,EAiBJ,MAAY,MAARr1B,EACOshB,EAAgB,SAAW,SAE3BpgB,EAAS,KArBFk0B,GAqB6Bl0B,EApB3Cm0B,EAQS,CACTplB,GAAIqR,EAAgB,yBAA2B,yBAC/CpR,GAAIoR,EAAgB,sBAAwB,sBAC5CnR,GAAI,iBACJC,GAAI,gBACJE,GAAI,uBACJC,GAAI,uBACJC,GAAI,gBAKgCxQ,GApBvBkI,MAAM,KAChBktB,EAAM,IAAO,GAAKA,EAAM,KAAQ,GACjCC,EAAM,GACND,EAAM,IAAM,GAAKA,EAAM,IAAM,IAAMA,EAAM,IAAM,IAAMA,EAAM,KAAO,IAClEC,EAAM,GACNA,EAAM,IAkBhB,IAAIrtB,EAAc,CACd,QACA,QACA,QACA,QACA,WACA,QACA,QACA,QACA,QACA,QACA,QACA,SAMKurB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,CACJnM,OAAQ,oFAAoFwM,MACxF,KAEJotB,WAAY,kFAAkFptB,MAC1F,MAGRN,YAAa,CAETlM,OAAQ,gEAAgEwM,MACpE,KAEJotB,WAAY,gEAAgEptB,MACxE,MAGRiE,SAAU,CACNmpB,WAAY,gEAAgEptB,MACxE,KAEJxM,OAAQ,gEAAgEwM,MACpE,KAEJ8e,SAAU,iDAEd9a,cAAe,uBAAuBhE,MAAM,KAC5C+D,YAAa,uBAAuB/D,MAAM,KAC1CF,YAAaA,EACbquB,gBAAiBruB,EACjBsuB,iBAAkBtuB,EAGlBD,YAAa,2MAGbD,iBAAkB,2MAGlBquB,kBAAmB,wHAGnBC,uBAAwB,6FACxBnzB,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,aACHC,GAAI,iBACJC,IAAK,uBACLC,KAAM,8BAEVZ,SAAU,CACNC,QAAS,kBACTC,QAAS,iBACTE,QAAS,gBACTD,SAAU,SAAUyG,GAChB,GAAIA,EAAIzK,SAAWhN,KAAKgN,OAcpB,OAAmB,IAAfhN,KAAKgP,MACE,oBAEA,mBAhBX,OAAQhP,KAAKgP,OACT,KAAK,EACD,MAAO,6BACX,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,6BACX,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,+BAUvBkC,SAAU,SAAUuG,GAChB,GAAIA,EAAIzK,SAAWhN,KAAKgN,OAcpB,OAAmB,IAAfhN,KAAKgP,MACE,oBAEA,mBAhBX,OAAQhP,KAAKgP,OACT,KAAK,EACD,MAAO,2BACX,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,2BACX,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,6BAUvBmC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,WACRC,KAAM,WACN/I,EAAG,mBACHgJ,GAAIklB,EACJn5B,EAAGm5B,EACHjlB,GAAIilB,EACJ/qB,EAAG,MACH+F,GAAIglB,EACJhrB,EAAG,OACHiG,GAAI+kB,EACJ9kB,EAAG,SACHC,GAAI6kB,EACJ9qB,EAAG,QACHkG,GAAI4kB,EACJrrB,EAAG,MACH0G,GAAI2kB,GAER1kB,cAAe,wBACfjC,KAAM,SAAU3U,GACZ,MAAO,iBAAiBsJ,KAAKtJ,IAEjCkD,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,EACA,OACAA,EAAO,GACP,OACAA,EAAO,GACP,MAEA,UAGfxH,uBAAwB,mBACxB1N,QAAS,SAAUjB,EAAQqb,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,MACD,OAAOrb,EAAS,KACpB,IAAK,IACD,OAAOA,EAAS,MACpB,IAAK,IACL,IAAK,IACD,OAAOA,EAAS,KACpB,QACI,OAAOA,IAGnBiK,KAAM,CACFL,IAAK,EACLC,IAAK,KA1MyBugB,CAAQ,EAAQ,O,iBCClD,SAAWiI,GAAU,aAIzB,IAAI1rB,EAAS,CACL,QACA,UACA,OACA,QACA,MACA,MACA,SACA,OACA,UACA,SACA,QACA,SAEJ8R,EAAO,CAAC,MAAO,OAAQ,QAAS,OAAQ,OAAQ,MAAO,QAElD4Z,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQA,EACRD,YAAaC,EACbsE,SAAUwN,EACVzN,cAAeyN,EACf1N,YAAa0N,EACb1W,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVa,cAAe,UACfjC,KAAM,SAAU3U,GACZ,MAAO,QAAUA,GAErBkD,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,GACA,MAEJ,OAEXrI,SAAU,CACNC,QAAS,UACTC,QAAS,aACTC,SAAU,yBACVC,QAAS,aACTC,SAAU,4BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,QACN/I,EAAG,YACHgJ,GAAI,WACJjU,EAAG,SACHkU,GAAI,SACJ9F,EAAG,UACH+F,GAAI,UACJhG,EAAG,WACHiG,GAAI,WACJ/F,EAAG,WACHkG,GAAI,WACJzG,EAAG,SACH0G,GAAI,UAERmH,SAAU,SAAU9D,GAChB,OAAOA,EAAOlR,QAAQ,KAAM,MAEhC0e,WAAY,SAAUxN,GAClB,OAAOA,EAAOlR,QAAQ,KAAM,MAEhCwI,KAAM,CACFL,IAAK,EACLC,IAAK,KA/EyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,mJAAmJK,MACvJ,KAEJN,YAAa,6DAA6DM,MACtE,KAEJiE,SAAU,6EAA6EjE,MACnF,KAEJgE,cAAe,mCAAmChE,MAAM,KACxD+D,YAAa,gBAAgB/D,MAAM,KACnCjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,oBACJC,IAAK,gCACLC,KAAM,uCAEVZ,SAAU,CACNC,QAAS,eACTC,QAAS,iBACTC,SAAU,eACVC,QAAS,eACTC,SAAU,wBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,YACRC,KAAM,WACN/I,EAAG,mBACHgJ,GAAI,eACJjU,EAAG,eACHkU,GAAI,cACJ9F,EAAG,cACH+F,GAAI,aACJhG,EAAG,cACHiG,GAAI,cACJ/F,EAAG,aACHkG,GAAI,WACJzG,EAAG,aACH0G,GAAI,YAERX,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAvDyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAKhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,kGAAkGK,MACtG,KAEJN,YAAa,wDAAwDM,MACjE,KAEJiE,SAAU,gEAAgEjE,MACtE,KAEJgE,cAAe,gCAAgChE,MAAM,KACrD+D,YAAa,qBAAqB/D,MAAM,KACxCssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,SACJD,IAAK,YACLE,EAAG,aACHC,GAAI,cACJC,IAAK,sBACLC,KAAM,sCAEVZ,SAAU,CACNC,QAAS,aACTC,QAAS,cACTC,SAAU,aACVC,QAAS,cACTC,SAAU,sBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,WACN/I,EAAG,eACHgJ,GAAI,WACJjU,EAAG,YACHkU,GAAI,cACJ9F,EAAG,MACH+F,GAAI,SACJhG,EAAG,OACHiG,GAAI,SACJ/F,EAAG,OACHkG,GAAI,SACJzG,EAAG,MACH0G,GAAI,UAERX,uBAAwB,eACxB1N,QAAS,SAAUjB,GACf,OAAOA,EAAS,SAEpBuP,cAAe,4BACfjC,KAAM,SAAU3U,GACZ,MAAiB,SAAVA,GAA8B,YAAVA,GAE/BkD,SAAU,SAAUiR,EAAOE,EAASyZ,GAChC,OAAI3Z,EAAQ,GACD2Z,EAAU,OAAS,UAEnBA,EAAU,QAAU,aAjED2D,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIzB,IAAI1rB,EAAS,oFAAoFK,MACzF,KAEJN,EAAc,kDAAkDM,MAAM,KAC1E,SAAS0uB,EAAO7qB,GACZ,OAAOA,EAAI,GAAKA,EAAI,EAExB,SAASyqB,EAAUt1B,EAAQogB,EAAethB,EAAK2mB,GAC3C,IAAIlS,EAASvT,EAAS,IACtB,OAAQlB,GACJ,IAAK,IACD,OAAOshB,GAAiBqF,EAAW,aAAe,gBACtD,IAAK,KACD,OAAIrF,GAAiBqF,EACVlS,GAAUmiB,EAAO11B,GAAU,UAAY,UAEvCuT,EAAS,YAExB,IAAK,IACD,OAAO6M,EAAgB,SAAWqF,EAAW,SAAW,UAC5D,IAAK,KACD,OAAIrF,GAAiBqF,EACVlS,GAAUmiB,EAAO11B,GAAU,SAAW,SAEtCuT,EAAS,WAExB,IAAK,IACD,OAAO6M,EAAgB,SAAWqF,EAAW,SAAW,UAC5D,IAAK,KACD,OAAIrF,GAAiBqF,EACVlS,GAAUmiB,EAAO11B,GAAU,SAAW,SAEtCuT,EAAS,WAExB,IAAK,IACD,OAAO6M,GAAiBqF,EAAW,MAAQ,OAC/C,IAAK,KACD,OAAIrF,GAAiBqF,EACVlS,GAAUmiB,EAAO11B,GAAU,MAAQ,OAEnCuT,EAAS,QAExB,IAAK,IACD,OAAO6M,GAAiBqF,EAAW,SAAW,WAClD,IAAK,KACD,OAAIrF,GAAiBqF,EACVlS,GAAUmiB,EAAO11B,GAAU,UAAY,YAEvCuT,EAAS,WAExB,IAAK,IACD,OAAO6M,GAAiBqF,EAAW,MAAQ,QAC/C,IAAK,KACD,OAAIrF,GAAiBqF,EACVlS,GAAUmiB,EAAO11B,GAAU,OAAS,SAEpCuT,EAAS,SAKvB8e,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQA,EACRD,YAAaA,EACbuE,SAAU,sDAAsDjE,MAAM,KACtEgE,cAAe,uBAAuBhE,MAAM,KAC5C+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,aACHC,GAAI,eACJC,IAAK,oBACLC,KAAM,0BAEVZ,SAAU,CACNC,QAAS,cACTC,QAAS,gBACTC,SAAU,WACN,OAAQhR,KAAKgP,OACT,KAAK,EACD,MAAO,kBACX,KAAK,EACL,KAAK,EACD,MAAO,kBACX,KAAK,EACD,MAAO,kBACX,KAAK,EACD,MAAO,oBACX,KAAK,EACD,MAAO,kBACX,KAAK,EACD,MAAO,oBAGnBiC,QAAS,eACTC,SAAU,WACN,OAAQlR,KAAKgP,OACT,KAAK,EACD,MAAO,uBACX,KAAK,EACL,KAAK,EACD,MAAO,uBACX,KAAK,EACD,MAAO,uBACX,KAAK,EACL,KAAK,EACD,MAAO,uBACX,KAAK,EACD,MAAO,yBAGnBmC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,UACN/I,EAAGuvB,EACHvmB,GAAIumB,EACJx6B,EAAGw6B,EACHtmB,GAAIsmB,EACJpsB,EAAGosB,EACHrmB,GAAIqmB,EACJrsB,EAAGqsB,EACHpmB,GAAIomB,EACJnsB,EAAGmsB,EACHjmB,GAAIimB,EACJ1sB,EAAG0sB,EACHhmB,GAAIgmB,GAER3mB,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KA7IyBugB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIzB,SAASsD,EAAoB31B,EAAQogB,EAAethB,EAAK2mB,GACrD,IAAIlS,EAASvT,EAAS,IACtB,OAAQlB,GACJ,IAAK,IACD,OAAOshB,GAAiBqF,EAClB,eACA,kBACV,IAAK,KAUD,OARIlS,GADW,IAAXvT,EACUogB,EAAgB,UAAY,UACpB,IAAXpgB,EACGogB,GAAiBqF,EAAW,UAAY,WAC3CzlB,EAAS,EACNogB,GAAiBqF,EAAW,UAAY,WAExC,SAGlB,IAAK,IACD,OAAOrF,EAAgB,aAAe,aAC1C,IAAK,KAUD,OARI7M,GADW,IAAXvT,EACUogB,EAAgB,SAAW,SACnB,IAAXpgB,EACGogB,GAAiBqF,EAAW,SAAW,WAC1CzlB,EAAS,EACNogB,GAAiBqF,EAAW,SAAW,WAEvCrF,GAAiBqF,EAAW,QAAU,WAGxD,IAAK,IACD,OAAOrF,EAAgB,UAAY,UACvC,IAAK,KAUD,OARI7M,GADW,IAAXvT,EACUogB,EAAgB,MAAQ,MAChB,IAAXpgB,EACGogB,GAAiBqF,EAAW,MAAQ,QACvCzlB,EAAS,EACNogB,GAAiBqF,EAAW,MAAQ,QAEpCrF,GAAiBqF,EAAW,KAAO,QAGrD,IAAK,IACD,OAAOrF,GAAiBqF,EAAW,SAAW,YAClD,IAAK,KAQD,OANIlS,GADW,IAAXvT,EACUogB,GAAiBqF,EAAW,MAAQ,OAC5B,IAAXzlB,EACGogB,GAAiBqF,EAAW,MAAQ,UAEpCrF,GAAiBqF,EAAW,MAAQ,QAGtD,IAAK,IACD,OAAOrF,GAAiBqF,EAAW,WAAa,eACpD,IAAK,KAUD,OARIlS,GADW,IAAXvT,EACUogB,GAAiBqF,EAAW,QAAU,UAC9B,IAAXzlB,EACGogB,GAAiBqF,EAAW,SAAW,WAC1CzlB,EAAS,EACNogB,GAAiBqF,EAAW,SAAW,SAEvCrF,GAAiBqF,EAAW,UAAY,SAG1D,IAAK,IACD,OAAOrF,GAAiBqF,EAAW,WAAa,aACpD,IAAK,KAUD,OARIlS,GADW,IAAXvT,EACUogB,GAAiBqF,EAAW,OAAS,QAC7B,IAAXzlB,EACGogB,GAAiBqF,EAAW,OAAS,SACxCzlB,EAAS,EACNogB,GAAiBqF,EAAW,OAAS,OAErCrF,GAAiBqF,EAAW,MAAQ,QAMrD4M,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,wFAAwFK,MAC5F,KAEJN,YAAa,8DAA8DM,MACvE,KAEJutB,kBAAkB,EAClBtpB,SAAU,sDAAsDjE,MAAM,KACtEgE,cAAe,qCAAqChE,MAAM,KAC1D+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,eACHC,GAAI,eACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,gBACTC,QAAS,gBAETC,SAAU,WACN,OAAQhR,KAAKgP,OACT,KAAK,EACD,MAAO,wBACX,KAAK,EACD,MAAO,sBACX,KAAK,EACD,MAAO,uBACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,qBAGnBiC,QAAS,iBACTC,SAAU,WACN,OAAQlR,KAAKgP,OACT,KAAK,EACD,MAAO,+BACX,KAAK,EACD,MAAO,6BACX,KAAK,EACD,MAAO,8BACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,4BAGnBmC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,UACN/I,EAAG4vB,EACH5mB,GAAI4mB,EACJ76B,EAAG66B,EACH3mB,GAAI2mB,EACJzsB,EAAGysB,EACH1mB,GAAI0mB,EACJ1sB,EAAG0sB,EACHzmB,GAAIymB,EACJxsB,EAAGwsB,EACHtmB,GAAIsmB,EACJ/sB,EAAG+sB,EACHrmB,GAAIqmB,GAERhnB,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAxKyBugB,CAAQ,EAAQ,O,iBCKlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,gFAAgFK,MACpF,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,4DAA4DjE,MAClE,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,mBAAmB/D,MAAM,KACtCssB,oBAAoB,EACpB/jB,cAAe,QACfjC,KAAM,SAAU3U,GACZ,MAA2B,MAApBA,EAAM6tB,OAAO,IAExB3qB,SAAU,SAAUiR,EAAOE,EAASyZ,GAChC,OAAO3Z,EAAQ,GAAK,KAAO,MAE/B/K,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,cACTC,QAAS,gBACTC,SAAU,eACVC,QAAS,cACTC,SAAU,wBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,aACN/I,EAAG,eACHgJ,GAAI,aACJjU,EAAG,aACHkU,GAAI,YACJ9F,EAAG,UACH+F,GAAI,SACJhG,EAAG,WACHiG,GAAI,UACJ/F,EAAG,WACHkG,GAAI,UACJzG,EAAG,UACH0G,GAAI,WAERX,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KA7DyBugB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIzB,IAAI+E,EAAa,CACbC,MAAO,CAEHtoB,GAAI,CAAC,UAAW,UAAW,WAC3BjU,EAAG,CAAC,cAAe,gBACnBkU,GAAI,CAAC,QAAS,SAAU,UACxB9F,EAAG,CAAC,YAAa,eACjB+F,GAAI,CAAC,MAAO,OAAQ,QACpBC,GAAI,CAAC,MAAO,OAAQ,QACpBG,GAAI,CAAC,QAAS,SAAU,UACxBC,GAAI,CAAC,SAAU,SAAU,WAE7BgoB,uBAAwB,SAAUt3B,EAAQu3B,GACtC,OAAkB,IAAXv3B,EACDu3B,EAAQ,GACRv3B,GAAU,GAAKA,GAAU,EACzBu3B,EAAQ,GACRA,EAAQ,IAElBjC,UAAW,SAAUt1B,EAAQogB,EAAethB,GACxC,IAAIy4B,EAAUH,EAAWC,MAAMv4B,GAC/B,OAAmB,IAAfA,EAAIrF,OACG2mB,EAAgBmX,EAAQ,GAAKA,EAAQ,GAGxCv3B,EACA,IACAo3B,EAAWE,uBAAuBt3B,EAAQu3B,KAMjDlF,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,mFAAmFK,MACvF,KAEJN,YAAa,2DAA2DM,MACpE,KAEJutB,kBAAkB,EAClBtpB,SAAU,wDAAwDjE,MAC9D,KAEJgE,cAAe,qCAAqChE,MAAM,KAC1D+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,cACHC,GAAI,gBACJC,IAAK,qBACLC,KAAM,4BAEVZ,SAAU,CACNC,QAAS,eACTC,QAAS,eACTC,SAAU,WACN,OAAQhR,KAAKgP,OACT,KAAK,EACD,MAAO,uBACX,KAAK,EACD,MAAO,qBACX,KAAK,EACD,MAAO,sBACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,oBAGnBiC,QAAS,cACTC,SAAU,WAUN,MATmB,CACf,4BACA,gCACA,4BACA,0BACA,8BACA,2BACA,4BAEgBlR,KAAKgP,QAE7BmC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,SACN/I,EAAG,mBACHgJ,GAAIqoB,EAAW9B,UACfx6B,EAAGs8B,EAAW9B,UACdtmB,GAAIooB,EAAW9B,UACfpsB,EAAGkuB,EAAW9B,UACdrmB,GAAImoB,EAAW9B,UACfrsB,EAAG,MACHiG,GAAIkoB,EAAW9B,UACfnsB,EAAG,QACHkG,GAAI+nB,EAAW9B,UACf1sB,EAAG,SACH0G,GAAI8nB,EAAW9B,WAEnB3mB,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAnHyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAI+E,EAAa,CACbC,MAAO,CAEHtoB,GAAI,CAAC,UAAW,UAAW,WAC3BjU,EAAG,CAAC,cAAe,gBACnBkU,GAAI,CAAC,QAAS,SAAU,UACxB9F,EAAG,CAAC,YAAa,eACjB+F,GAAI,CAAC,MAAO,OAAQ,QACpBC,GAAI,CAAC,MAAO,OAAQ,QACpBG,GAAI,CAAC,QAAS,SAAU,UACxBC,GAAI,CAAC,SAAU,SAAU,WAE7BgoB,uBAAwB,SAAUt3B,EAAQu3B,GACtC,OAAkB,IAAXv3B,EACDu3B,EAAQ,GACRv3B,GAAU,GAAKA,GAAU,EACzBu3B,EAAQ,GACRA,EAAQ,IAElBjC,UAAW,SAAUt1B,EAAQogB,EAAethB,GACxC,IAAIy4B,EAAUH,EAAWC,MAAMv4B,GAC/B,OAAmB,IAAfA,EAAIrF,OACG2mB,EAAgBmX,EAAQ,GAAKA,EAAQ,GAGxCv3B,EACA,IACAo3B,EAAWE,uBAAuBt3B,EAAQu3B,KAM7ClF,EAAO9hB,aAAa,UAAW,CACxC5J,OAAQ,mFAAmFK,MACvF,KAEJN,YAAa,2DAA2DM,MACpE,KAEJutB,kBAAkB,EAClBtpB,SAAU,sDAAsDjE,MAAM,KACtEgE,cAAe,qCAAqChE,MAAM,KAC1D+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,cACHC,GAAI,gBACJC,IAAK,qBACLC,KAAM,4BAEVZ,SAAU,CACNC,QAAS,eACTC,QAAS,eACTC,SAAU,WACN,OAAQhR,KAAKgP,OACT,KAAK,EACD,MAAO,sBACX,KAAK,EACD,MAAO,qBACX,KAAK,EACD,MAAO,sBACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,oBAGnBiC,QAAS,cACTC,SAAU,WAUN,MATmB,CACf,2BACA,+BACA,4BACA,0BACA,8BACA,2BACA,4BAEgBlR,KAAKgP,QAE7BmC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,SACN/I,EAAG,mBACHgJ,GAAIqoB,EAAW9B,UACfx6B,EAAGs8B,EAAW9B,UACdtmB,GAAIooB,EAAW9B,UACfpsB,EAAGkuB,EAAW9B,UACdrmB,GAAImoB,EAAW9B,UACfrsB,EAAG,MACHiG,GAAIkoB,EAAW9B,UACfnsB,EAAG,QACHkG,GAAI+nB,EAAW9B,UACf1sB,EAAG,SACH0G,GAAI8nB,EAAW9B,WAEnB3mB,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAjHyBugB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,mHAAmHK,MACvH,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,sEAAsEjE,MAC5E,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,SACJD,IAAK,YACLE,EAAG,aACHC,GAAI,cACJC,IAAK,qBACLC,KAAM,4BAEVZ,SAAU,CACNC,QAAS,mBACTC,QAAS,kBACTC,SAAU,gBACVC,QAAS,iBACTC,SAAU,8BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,iBACN/I,EAAG,qBACHgJ,GAAI,cACJjU,EAAG,SACHkU,GAAI,aACJ9F,EAAG,SACH+F,GAAI,aACJhG,EAAG,UACHiG,GAAI,cACJ/F,EAAG,UACHkG,GAAI,cACJzG,EAAG,UACH0G,GAAI,eAERC,cAAe,mCACf1T,SAAU,SAAUiR,EAAOE,EAASyZ,GAChC,OAAI3Z,EAAQ,GACD,UACAA,EAAQ,GACR,QACAA,EAAQ,GACR,aAEA,WAGfuJ,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,YAAbta,EACOsa,EACa,UAAbta,EACAsa,GAAQ,GAAKA,EAAOA,EAAO,GACd,eAAbta,GAA0C,YAAbA,EACvB,IAATsa,EACO,EAEJA,EAAO,QAJX,GAOXxH,uBAAwB,UACxB1N,QAAS,KACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAjFyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,wFAAwFK,MAC5F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,oDAAoDjE,MAAM,KACpEgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,0BACLC,KAAM,+BACN8mB,IAAK,mBACLC,KAAM,wBAEV3nB,SAAU,CACNC,QAAS,YACTC,QAAS,eACTE,QAAS,YACTD,SAAU,eACVE,SAAU,iBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,eACN/I,EAAG,iBACHgJ,GAAI,cACJjU,EAAG,WACHkU,GAAI,aACJ9F,EAAG,WACH+F,GAAI,YACJhG,EAAG,SACHiG,GAAI,WACJ/F,EAAG,WACHkG,GAAI,aACJzG,EAAG,SACH0G,GAAI,SAERX,uBAAwB,mBACxB1N,QAAS,SAAUjB,GACf,IAAI5G,EAAI4G,EAAS,GAWjB,OAAOA,GAT6B,MAAxBA,EAAS,IAAO,IACd,KACM,IAAN5G,GAEM,IAANA,EADA,KAIA,OAIlB6Q,KAAM,CACFL,IAAK,EACLC,IAAK,KAlEyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,sFAAsFK,MAC1F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,8DAA8DjE,MACpE,KAEJgE,cAAe,kCAAkChE,MAAM,KACvD+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,UACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,eACTC,QAAS,iBACTC,SAAU,8BACVC,QAAS,YACTC,SAAU,kCACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,aACRC,KAAM,WACN/I,EAAG,aACHgJ,GAAI,aACJjU,EAAG,cACHkU,GAAI,YACJ9F,EAAG,aACH+F,GAAI,WACJhG,EAAG,YACHiG,GAAI,UACJ/F,EAAG,cACHkG,GAAI,WACJzG,EAAG,cACH0G,GAAI,YAERrF,KAAM,CACFL,IAAK,EACLC,IAAK,KApDyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAIC,EAAY,CACRC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,EAAG,KAEPC,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGJZ,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,0FAA0FK,MAC9F,KAEJN,YAAa,0FAA0FM,MACnG,KAEJiE,SAAU,8FAA8FjE,MACpG,KAEJgE,cAAe,mDAAmDhE,MAC9D,KAEJ+D,YAAa,sBAAsB/D,MAAM,KACzCjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,qBACLC,KAAM,4BAEVZ,SAAU,CACNC,QAAS,aACTC,QAAS,YACTC,SAAU,WACVC,QAAS,cACTC,SAAU,yBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,UACN/I,EAAG,oBACHgJ,GAAI,eACJjU,EAAG,cACHkU,GAAI,gBACJ9F,EAAG,gBACH+F,GAAI,eACJhG,EAAG,WACHiG,GAAI,aACJ/F,EAAG,YACHkG,GAAI,cACJzG,EAAG,aACH0G,GAAI,eAERX,uBAAwB,aACxB1N,QAAS,SAAUjB,GACf,OAAOA,EAAS,OAEpByW,SAAU,SAAU9D,GAChB,OAAOA,EAAOlR,QAAQ,iBAAiB,SAAUD,GAC7C,OAAOyxB,EAAUzxB,OAGzB2e,WAAY,SAAUxN,GAClB,OAAOA,EAAOlR,QAAQ,OAAO,SAAUD,GACnC,OAAO8wB,EAAU9wB,OAIzB+N,cAAe,wCACf1T,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,EACA,SACAA,EAAO,EACP,SACAA,EAAO,GACP,QACAA,EAAO,GACP,WACAA,EAAO,GACP,WACAA,EAAO,GACP,QAEA,UAGfE,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,UAAbta,EACOsa,EAAO,EAAIA,EAAOA,EAAO,GACZ,UAAbta,GAAqC,SAAbA,GAEX,YAAbA,GACAsa,GAAQ,GAFRA,EAIAA,EAAO,IAGtBlM,KAAM,CACFL,IAAK,EACLC,IAAK,KA/HyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,wFAAwFK,MAC5F,KAEJN,YAAa,mEAAmEM,MAC5E,KAEJutB,kBAAkB,EAClBtpB,SAAU,8DAA8DjE,MACpE,KAEJgE,cAAe,kCAAkChE,MAAM,KACvD+D,YAAa,qBAAqB/D,MAAM,KACxCjF,eAAgB,CACZuM,GAAI,SACJD,IAAK,YACLE,EAAG,aACHC,GAAI,cACJC,IAAK,sBACLC,KAAM,6BAEVZ,SAAU,CACNC,QAAS,YACTC,QAAS,YACTC,SAAU,WACVC,QAAS,aACTC,SAAU,gBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,YACN/I,EAAG,iBACHgJ,GAAI,aACJjU,EAAG,YACHkU,GAAI,cACJ9F,EAAG,SACH+F,GAAI,WACJhG,EAAG,UACHiG,GAAI,YACJ/F,EAAG,SACHkG,GAAI,WACJzG,EAAG,cACH0G,GAAI,iBAERX,uBAAwB,WACxB1N,QAAS,MACTsO,cAAe,iCACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,WAAbta,EACOsa,EAAO,EAAIA,EAAOA,EAAO,GACZ,SAAbta,EACAsa,EACa,cAAbta,EACAsa,GAAQ,GAAKA,EAAOA,EAAO,GACd,aAAbta,EACAsa,EAAO,QADX,GAIXta,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,EACA,SACAA,EAAO,GACP,OACAA,EAAO,GACP,YACAA,EAAO,GACP,WAEA,UAGflM,KAAM,CACFL,IAAK,EACLC,IAAK,KApFyBugB,CAAQ,EAAQ,O,iBCKlD,SAAWiI,GAAU,aAIfA,EAAO9hB,aAAa,MAAO,CACjC5J,OAAQ,0FAA0FK,MAC9F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,kDAAkDjE,MAAM,KAClEgE,cAAe,iCAAiChE,MAAM,KACtD+D,YAAa,yBAAyB/D,MAAM,KAC5CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,gBACTC,QAAS,gBACTC,SAAU,gBACVC,QAAS,oBACTC,SAAU,+BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,WACN/I,EAAG,gBACHgJ,GAAI,aACJjU,EAAG,aACHkU,GAAI,YACJ9F,EAAG,WACH+F,GAAI,UACJhG,EAAG,YACHiG,GAAI,WACJ/F,EAAG,YACHkG,GAAI,WACJzG,EAAG,YACH0G,GAAI,YAERX,uBAAwB,uBACxB1N,QAAS,SAAUjB,GACf,IAAI5G,EAAI4G,EAAS,GAWjB,OAAOA,GAT6B,MAAxBA,EAAS,IAAO,IACd,KACM,IAAN5G,EACA,KACM,IAANA,EACA,KACM,IAANA,EACA,KACA,OAGlB6Q,KAAM,CACFL,IAAK,EACLC,IAAK,KAhEyBugB,CAAQ,EAAQ,O,iBCClD,SAAWiI,GAAU,aAIzB,IAAIkB,EAAW,CACXP,EAAG,MACHT,EAAG,MACHC,EAAG,MACHC,EAAG,MACHC,EAAG,MACHC,EAAG,MACHC,EAAG,MACHC,EAAG,MACHC,EAAG,MACHC,EAAG,MACHc,GAAI,MACJ8D,GAAI,MACJC,GAAI,MACJlE,GAAI,MACJI,GAAI,MACJgD,GAAI,MACJnD,GAAI,MACJI,GAAI,MACJP,GAAI,MACJC,GAAI,MACJO,GAAI,MACJJ,IAAK,OAGAvB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,CACJnM,OAAQ,qFAAqFwM,MACzF,KAEJotB,WAAY,yEAAyEptB,MACjF,MAGRN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,yDAAyDjE,MAC/D,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,mBACTC,QAAS,mBACTE,QAAS,mBACTD,SAAU,kCACVE,SAAU,oCACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,WACRC,KAAM,SACN/I,EAAG,eACHjL,EAAG,YACHkU,GAAI,YACJ9F,EAAG,UACH+F,GAAI,UACJhG,EAAG,SACHiG,GAAI,SACJ/F,EAAG,SACHkG,GAAI,SACJzG,EAAG,SACH0G,GAAI,UAERC,cAAe,qBACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,QAAbta,EACOsa,EAAO,EAAIA,EAAOA,EAAO,GACZ,SAAbta,EACAsa,EACa,QAAbta,EACAsa,GAAQ,GAAKA,EAAOA,EAAO,GACd,UAAbta,EACAsa,EAAO,QADX,GAIXta,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,EACA,MACAA,EAAO,GACP,OACAA,EAAO,GACP,MACAA,EAAO,GACP,QAEA,OAGfxH,uBAAwB,kBACxB1N,QAAS,SAAUjB,GAGf,OAAOA,GAAUuzB,EAASvzB,IAAWuzB,EAF7BvzB,EAAS,KAEmCuzB,EAD5CvzB,GAAU,IAAM,IAAM,QAGlCiK,KAAM,CACFL,IAAK,EACLC,IAAK,KAlHyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,oGAAoGK,MACxG,KAEJN,YAAa,iEAAiEM,MAC1E,KAEJutB,kBAAkB,EAClBtpB,SAAU,iDAAiDjE,MAAM,KACjEgE,cAAe,8CAA8ChE,MAAM,KACnE+D,YAAa,yBAAyB/D,MAAM,KAC5CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,OACJD,IAAK,UACLE,EAAG,aACHC,GAAI,cACJC,IAAK,wBACLC,KAAM,oCAEVa,cAAe,wBACfjC,KAAM,SAAU3U,GACZ,MAAiB,eAAVA,GAEXkD,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,GACA,aAEA,cAGfrI,SAAU,CACNC,QAAS,mBACTC,QAAS,qBACTC,SAAU,qBACVC,QAAS,wBACTC,SAAU,6BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,YACN/I,EAAG,eACHgJ,GAAI,YACJjU,EAAG,SACHkU,GAAI,UACJ9F,EAAG,YACH+F,GAAI,aACJhG,EAAG,QACHiG,GAAI,SACJC,EAAG,YACHC,GAAI,aACJjG,EAAG,UACHkG,GAAI,WACJzG,EAAG,OACH0G,GAAI,WA9D0B8a,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAIkB,EAAW,CACXhB,EAAG,QACHI,EAAG,QACHG,EAAG,QACHU,GAAI,QACJC,GAAI,QACJjB,EAAG,OACHK,EAAG,OACHa,GAAI,OACJC,GAAI,OACJlB,EAAG,QACHC,EAAG,QACHkB,IAAK,QACLhB,EAAG,OACHG,EAAG,QACHc,GAAI,QACJC,GAAI,QACJC,GAAI,QACJC,GAAI,SAGC3B,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,+EAA+EK,MACnF,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,wDAAwDjE,MAC9D,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,mBACTC,QAAS,mBACTC,SAAU,2BACVC,QAAS,YACTC,SAAU,0BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,QACN/I,EAAG,iBACHjL,EAAG,YACHkU,GAAI,WACJ9F,EAAG,YACH+F,GAAI,WACJhG,EAAG,UACHiG,GAAI,SACJ/F,EAAG,SACHkG,GAAI,QACJzG,EAAG,UACH0G,GAAI,UAERrO,QAAS,SAAUjB,EAAQqb,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,KACD,OAAOrb,EACX,QACI,GAAe,IAAXA,EAEA,OAAOA,EAAS,QAEpB,IAAI7G,EAAI6G,EAAS,GAGjB,OAAOA,GAAUuzB,EAASp6B,IAAMo6B,EAFvBvzB,EAAS,IAAO7G,IAEsBo6B,EADvCvzB,GAAU,IAAM,IAAM,SAI1CiK,KAAM,CACFL,IAAK,EACLC,IAAK,KAzFyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,0FAA0FK,MAC9F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,yDAAyDjE,MAC/D,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,wBAAwB/D,MAAM,KAC3CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,YACHC,GAAI,eACJC,IAAK,qBACLC,KAAM,6BAEVZ,SAAU,CACNC,QAAS,oBACTC,QAAS,gBACTC,SAAU,0BACVC,QAAS,eACTC,SAAU,4BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,gBACRC,KAAM,mBACN/I,EAAG,gBACHgJ,GAAI,aACJjU,EAAG,eACHkU,GAAI,YACJ9F,EAAG,aACH+F,GAAI,UACJhG,EAAG,aACHiG,GAAI,UACJ/F,EAAG,cACHkG,GAAI,WACJzG,EAAG,aACH0G,GAAI,WAERX,uBAAwB,UACxB1N,QAAS,SAAUjB,GACf,OAAOA,GAEXiK,KAAM,CACFL,IAAK,EACLC,IAAK,KAvDyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAIwF,EAAe,iDAAiD7wB,MAAM,KA4B1E,SAASsuB,EAAUt1B,EAAQogB,EAAezN,EAAQ8S,GAC9C,IAAIqS,EAiBR,SAAsB93B,GAClB,IAAI+3B,EAAU33B,KAAKiD,MAAOrD,EAAS,IAAQ,KACvCg4B,EAAM53B,KAAKiD,MAAOrD,EAAS,IAAO,IAClCi4B,EAAMj4B,EAAS,GACfk4B,EAAO,GAUX,OATIH,EAAU,IACVG,GAAQL,EAAaE,GAAW,SAEhCC,EAAM,IACNE,IAAkB,KAATA,EAAc,IAAM,IAAML,EAAaG,GAAO,OAEvDC,EAAM,IACNC,IAAkB,KAATA,EAAc,IAAM,IAAML,EAAaI,IAEpC,KAATC,EAAc,OAASA,EA/BbC,CAAan4B,GAC9B,OAAQ2S,GACJ,IAAK,KACD,OAAOmlB,EAAa,OACxB,IAAK,KACD,OAAOA,EAAa,OACxB,IAAK,KACD,OAAOA,EAAa,OACxB,IAAK,KACD,OAAOA,EAAa,OACxB,IAAK,KACD,OAAOA,EAAa,OACxB,IAAK,KACD,OAAOA,EAAa,QAqBtBzF,EAAO9hB,aAAa,MAAO,CACjC5J,OAAQ,kMAAkMK,MACtM,KAEJN,YAAa,0HAA0HM,MACnI,KAEJutB,kBAAkB,EAClBtpB,SAAU,2DAA2DjE,MACjE,KAEJgE,cAAe,2DAA2DhE,MACtE,KAEJ+D,YAAa,2DAA2D/D,MACpE,KAEJjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,cACTC,QAAS,cACTC,SAAU,MACVC,QAAS,cACTC,SAAU,MACVC,SAAU,KAEdQ,aAAc,CACVC,OA/FR,SAAyBlN,GACrB,IAAI4d,EAAO5d,EASX,OARA4d,GAC+B,IAA3B5d,EAAOqE,QAAQ,OACTuZ,EAAKvgB,MAAM,GAAI,GAAK,OACO,IAA3B2C,EAAOqE,QAAQ,OACfuZ,EAAKvgB,MAAM,GAAI,GAAK,OACO,IAA3B2C,EAAOqE,QAAQ,OACfuZ,EAAKvgB,MAAM,GAAI,GAAK,MACpBugB,EAAO,QAuFbzQ,KAnFR,SAAuBnN,GACnB,IAAI4d,EAAO5d,EASX,OARA4d,GAC+B,IAA3B5d,EAAOqE,QAAQ,OACTuZ,EAAKvgB,MAAM,GAAI,GAAK,OACO,IAA3B2C,EAAOqE,QAAQ,OACfuZ,EAAKvgB,MAAM,GAAI,GAAK,OACO,IAA3B2C,EAAOqE,QAAQ,OACfuZ,EAAKvgB,MAAM,GAAI,GAAK,MACpBugB,EAAO,QA2EbxZ,EAAG,UACHgJ,GAAIumB,EACJx6B,EAAG,UACHkU,GAAIsmB,EACJpsB,EAAG,UACH+F,GAAIqmB,EACJrsB,EAAG,UACHiG,GAAIomB,EACJnsB,EAAG,UACHkG,GAAIimB,EACJ1sB,EAAG,UACH0G,GAAIgmB,GAER3mB,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KA3HyBugB,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIzB,IAAIkB,EAAW,CACXhB,EAAG,QACHI,EAAG,QACHG,EAAG,QACHU,GAAI,QACJC,GAAI,QACJjB,EAAG,OACHK,EAAG,OACHa,GAAI,OACJC,GAAI,OACJlB,EAAG,QACHC,EAAG,QACHkB,IAAK,QACLhB,EAAG,OACHG,EAAG,QACHc,GAAI,QACJC,GAAI,QACJC,GAAI,QACJC,GAAI,SAGC3B,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,6EAA6EK,MACjF,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,wDAAwDjE,MAC9D,KAEJgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CnL,SAAU,SAAUiR,EAAOE,EAASyZ,GAChC,OAAI3Z,EAAQ,GACD2Z,EAAU,KAAO,KAEjBA,EAAU,KAAO,MAGhClX,cAAe,cACfjC,KAAM,SAAU3U,GACZ,MAAiB,OAAVA,GAA4B,OAAVA,GAE7BoJ,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,kBACTC,QAAS,kBACTC,SAAU,2BACVC,QAAS,WACTC,SAAU,yBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,WACRC,KAAM,UACN/I,EAAG,gBACHgJ,GAAI,YACJjU,EAAG,aACHkU,GAAI,YACJ9F,EAAG,WACH+F,GAAI,UACJhG,EAAG,UACHiG,GAAI,SACJC,EAAG,YACHC,GAAI,WACJjG,EAAG,SACHkG,GAAI,QACJzG,EAAG,UACH0G,GAAI,UAERrO,QAAS,SAAUjB,EAAQqb,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,KACD,OAAOrb,EACX,QACI,GAAe,IAAXA,EAEA,OAAOA,EAAS,QAEpB,IAAI7G,EAAI6G,EAAS,GAGjB,OAAOA,GAAUuzB,EAASp6B,IAAMo6B,EAFvBvzB,EAAS,IAAO7G,IAEsBo6B,EADvCvzB,GAAU,IAAM,IAAM,SAI1CiK,KAAM,CACFL,IAAK,EACLC,IAAK,KAvGyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAiEzB,SAASsD,EAAoB31B,EAAQogB,EAAethB,EAAK2mB,GACrD,IAAIjrB,EAAS,CACTuL,EAAG,CAAC,kBAAmB,mBACvBgJ,GAAI,CAAC/O,EAAS,WAAiBA,EAAS,YACxClF,EAAG,CAAC,UAAW,cACfkU,GAAI,CAAChP,EAAS,SAAeA,EAAS,UACtCkJ,EAAG,CAAC,UAAW,eACf+F,GAAI,CAACjP,EAAS,SAAeA,EAAS,UACtCiJ,EAAG,CAAC,UAAW,eACfiG,GAAI,CAAClP,EAAS,SAAeA,EAAS,UACtCmJ,EAAG,CAAC,SAAU,aACdkG,GAAI,CAACrP,EAAS,SAAeA,EAAS,UACtC4I,EAAG,CAAC,QAAS,YACb0G,GAAI,CAACtP,EAAS,OAAaA,EAAS,SAExC,OAAOylB,GAEDrF,EADA5lB,EAAOsE,GAAK,GAGZtE,EAAOsE,GAAK,GA9EZuzB,EAAO9hB,aAAa,MAAO,CACjC5J,OAAQ,sFAAsFK,MAC1F,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,sDAAsDjE,MAAM,KACtEgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,wBACJC,IAAK,8BACLC,KAAM,0CAEVa,cAAe,aACfjC,KAAM,SAAU3U,GACZ,MAAO,QAAUA,EAAM4J,eAE3B1G,SAAU,SAAUiR,EAAOE,EAASyZ,GAChC,OAAI3Z,EAAQ,GACD2Z,EAAU,MAAQ,MAElBA,EAAU,MAAQ,OAGjC3Y,SAAU,CACNC,QAAS,cACTC,QAAS,cACTC,SAAU,cACVC,QAAS,eACTC,SAAU,8BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,YACRC,KAAM,OACN/I,EAAG4vB,EACH5mB,GAAI4mB,EACJ76B,EAAG66B,EACH3mB,GAAI2mB,EACJzsB,EAAGysB,EACH1mB,GAAI0mB,EACJ1sB,EAAG0sB,EACHzmB,GAAIymB,EACJxsB,EAAGwsB,EACHtmB,GAAIsmB,EACJ/sB,EAAG+sB,EACHrmB,GAAIqmB,GAERhnB,uBAAwB,YACxB1N,QAAS,MACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAhEyBugB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIfA,EAAO9hB,aAAa,MAAO,CACjC5J,OAAQ,kFAAkFK,MACtF,KAEJN,YAAa,kFAAkFM,MAC3F,KAEJiE,SAAU,kDAAkDjE,MAAM,KAClEgE,cAAe,kDAAkDhE,MAAM,KACvE+D,YAAa,kDAAkD/D,MAAM,KACrEjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVZ,SAAU,CACNC,QAAS,cACTC,QAAS,cACTC,SAAU,cACVC,QAAS,eACTC,SAAU,cACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,gBACRC,KAAM,SACN/I,EAAG,OACHgJ,GAAI,UACJjU,EAAG,QACHkU,GAAI,WACJ9F,EAAG,OACH+F,GAAI,cACJhG,EAAG,MACHiG,GAAI,WACJ/F,EAAG,QACHkG,GAAI,YACJzG,EAAG,QACH0G,GAAI,aAERrF,KAAM,CACFL,IAAK,EACLC,IAAK,MAnDyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIXA,EAAO9hB,aAAa,WAAY,CAC1C5J,OAAQ,wFAAwFK,MAC5F,KAEJN,YAAa,wFAAwFM,MACjG,KAEJiE,SAAU,kDAAkDjE,MAAM,KAClEgE,cAAe,kDAAkDhE,MAAM,KACvE+D,YAAa,kDAAkD/D,MAAM,KACrEjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVZ,SAAU,CACNC,QAAS,eACTC,QAAS,cACTC,SAAU,cACVC,QAAS,gBACTC,SAAU,cACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,iBACRC,KAAM,SACN/I,EAAG,OACHgJ,GAAI,UACJjU,EAAG,QACHkU,GAAI,WACJ9F,EAAG,OACH+F,GAAI,cACJhG,EAAG,MACHiG,GAAI,WACJ/F,EAAG,QACHkG,GAAI,YACJzG,EAAG,QACH0G,GAAI,aAERrF,KAAM,CACFL,IAAK,EACLC,IAAK,MAnDyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,sFAAsFK,MAC1F,KAEJN,YAAa,sFAAsFM,MAC/F,KAEJiE,SAAU,yDAAyDjE,MAC/D,KAEJgE,cAAe,uBAAuBhE,MAAM,KAC5C+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,0BACJC,IAAK,iCACLC,KAAM,wCAEVa,cAAe,qDACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAGM,eAAbta,GACa,UAAbA,GACa,iBAAbA,EAEOsa,EACa,iBAAbta,GAA4C,QAAbA,EAC/Bsa,EAAO,GAEPA,GAAQ,GAAKA,EAAOA,EAAO,IAG1Cta,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,IAAI1S,EAAY,IAAPoC,EAAakB,EACtB,OAAItD,EAAK,IACE,aACAA,EAAK,IACL,QACAA,EAAK,KACL,eACAA,EAAK,KACL,MACAA,EAAK,KACL,eAEA,OAGfjG,SAAU,CACNC,QAAS,mBACTC,QAAS,kBACTC,SAAU,4BACVC,QAAS,eACTC,SAAU,6BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,WACRC,KAAM,WACN/I,EAAG,eACHgJ,GAAI,YACJjU,EAAG,YACHkU,GAAI,WACJ9F,EAAG,YACH+F,GAAI,WACJhG,EAAG,UACHiG,GAAI,SACJ/F,EAAG,UACHkG,GAAI,SACJzG,EAAG,UACH0G,GAAI,UAGRX,uBAAwB,6BACxB1N,QAAS,SAAUjB,EAAQqb,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,MACD,OAAOrb,EAAS,QACpB,IAAK,IACL,IAAK,IACD,OAAOA,EAAS,SACpB,QACI,OAAOA,IAGnByW,SAAU,SAAU9D,GAChB,OAAOA,EAAOlR,QAAQ,KAAM,MAEhC0e,WAAY,SAAUxN,GAClB,OAAOA,EAAOlR,QAAQ,KAAM,MAEhCwI,KAAM,CAEFL,IAAK,EACLC,IAAK,KA5GyBugB,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAYzB,SAAS4B,EAAuBj0B,EAAQogB,EAAethB,GACnD,IATkBo1B,EACdC,EAgBJ,MAAY,MAARr1B,EACOshB,EAAgB,UAAY,UACpB,MAARthB,EACAshB,EAAgB,SAAW,SAE3BpgB,EAAS,KAtBFk0B,GAsB6Bl0B,EArB3Cm0B,EAQS,CACTplB,GAAIqR,EAAgB,yBAA2B,yBAC/CpR,GAAIoR,EAAgB,yBAA2B,yBAC/CnR,GAAImR,EAAgB,sBAAwB,sBAC5ClR,GAAI,gBACJG,GAAI,wBACJC,GAAI,kBAOgCxQ,GArBvBkI,MAAM,KAChBktB,EAAM,IAAO,GAAKA,EAAM,KAAQ,GACjCC,EAAM,GACND,EAAM,IAAM,GAAKA,EAAM,IAAM,IAAMA,EAAM,IAAM,IAAMA,EAAM,KAAO,IAClEC,EAAM,GACNA,EAAM,IAiDhB,SAASiE,EAAqB/E,GAC1B,OAAO,WACH,OAAOA,EAAM,KAAwB,KAAjBp2B,KAAK6P,QAAiB,IAAM,IAAM,QAIrDulB,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,CACJnM,OAAQ,yFAAyFwM,MAC7F,KAEJotB,WAAY,iGAAiGptB,MACzG,MAGRN,YAAa,yDAAyDM,MAClE,KAEJiE,SAhDJ,SAA6BnQ,EAAGN,GAC5B,IAAIyQ,EAAW,CACPotB,WAAY,0DAA0DrxB,MAClE,KAEJsxB,WAAY,0DAA0DtxB,MAClE,KAEJuxB,SAAU,4DAA4DvxB,MAClE,MAKZ,OAAU,IAANlM,EACOmQ,EAAqB,WACvBjM,MAAM,EAAG,GACT8L,OAAOG,EAAqB,WAAEjM,MAAM,EAAG,IAE3ClE,EASEmQ,EALI,qBAAqBhJ,KAAKzH,GAC/B,aACA,sCAAsCyH,KAAKzH,GAC3C,WACA,cACoBM,EAAEmR,OARjBhB,EAAqB,YA6BhCD,cAAe,uBAAuBhE,MAAM,KAC5C+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,iBACJC,IAAK,wBACLC,KAAM,+BAEVZ,SAAU,CACNC,QAASqqB,EAAqB,cAC9BpqB,QAASoqB,EAAqB,YAC9BlqB,QAASkqB,EAAqB,WAC9BnqB,SAAUmqB,EAAqB,cAC/BjqB,SAAU,WACN,OAAQlR,KAAKgP,OACT,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,OAAOmsB,EAAqB,oBAAoBp/B,KAAKiE,MACzD,KAAK,EACL,KAAK,EACL,KAAK,EACD,OAAOm7B,EAAqB,qBAAqBp/B,KAAKiE,QAGlEmR,SAAU,KAEdQ,aAAc,CACVC,OAAQ,QACRC,KAAM,UACN/I,EAAG,kBACHgJ,GAAIklB,EACJn5B,EAAGm5B,EACHjlB,GAAIilB,EACJ/qB,EAAG,SACH+F,GAAIglB,EACJhrB,EAAG,OACHiG,GAAI+kB,EACJ9qB,EAAG,SACHkG,GAAI4kB,EACJrrB,EAAG,MACH0G,GAAI2kB,GAGR1kB,cAAe,wBACfjC,KAAM,SAAU3U,GACZ,MAAO,iBAAiBsJ,KAAKtJ,IAEjCkD,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,EACA,OACAA,EAAO,GACP,QACAA,EAAO,GACP,MAEA,UAGfxH,uBAAwB,iBACxB1N,QAAS,SAAUjB,EAAQqb,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,MACL,IAAK,IACL,IAAK,IACD,OAAOrb,EAAS,KACpB,IAAK,IACD,OAAOA,EAAS,MACpB,QACI,OAAOA,IAGnBiK,KAAM,CACFL,IAAK,EACLC,IAAK,KAhKyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIzB,IAAI1rB,EAAS,CACL,QACA,QACA,OACA,QACA,MACA,MACA,SACA,OACA,QACA,SACA,QACA,SAEJ8R,EAAO,CAAC,QAAS,MAAO,OAAQ,MAAO,SAAU,OAAQ,QAEpD4Z,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQA,EACRD,YAAaC,EACbsE,SAAUwN,EACVzN,cAAeyN,EACf1N,YAAa0N,EACb1W,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVa,cAAe,UACfjC,KAAM,SAAU3U,GACZ,MAAO,QAAUA,GAErBkD,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,OAAItQ,EAAO,GACA,MAEJ,OAEXrI,SAAU,CACNC,QAAS,eACTC,QAAS,eACTC,SAAU,iBACVC,QAAS,sBACTC,SAAU,yBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,SACN/I,EAAG,YACHgJ,GAAI,WACJjU,EAAG,UACHkU,GAAI,SACJ9F,EAAG,YACH+F,GAAI,WACJhG,EAAG,SACHiG,GAAI,QACJ/F,EAAG,UACHkG,GAAI,SACJzG,EAAG,UACH0G,GAAI,UAERmH,SAAU,SAAU9D,GAChB,OAAOA,EAAOlR,QAAQ,KAAM,MAEhC0e,WAAY,SAAUxN,GAClB,OAAOA,EAAOlR,QAAQ,KAAM,MAEhCwI,KAAM,CACFL,IAAK,EACLC,IAAK,KA/EyBugB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,yEAAyEK,MAC7E,KAEJN,YAAa,kDAAkDM,MAAM,KACrEiE,SAAU,uDAAuDjE,MAAM,KACvEgE,cAAe,8BAA8BhE,MAAM,KACnD+D,YAAa,uBAAuB/D,MAAM,KAC1CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,uBACTC,QAAS,mBACTC,SAAU,2BACVC,QAAS,sBACTC,SAAU,mCACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,gBACRC,KAAM,oBACN/I,EAAG,SACHgJ,GAAI,YACJjU,EAAG,aACHkU,GAAI,YACJ9F,EAAG,WACH+F,GAAI,UACJhG,EAAG,UACHiG,GAAI,SACJ/F,EAAG,SACHkG,GAAI,QACJzG,EAAG,UACH0G,GAAI,UAERrF,KAAM,CACFL,IAAK,EACLC,IAAK,KAjDyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIZA,EAAO9hB,aAAa,UAAW,CACxC5J,OAAQ,6EAA6EK,MACjF,KAEJN,YAAa,oDAAoDM,MAAM,KACvEiE,SAAU,+DAA+DjE,MACrE,KAEJgE,cAAe,kCAAkChE,MAAM,KACvD+D,YAAa,yBAAyB/D,MAAM,KAC5CjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,uBACTC,QAAS,mBACTC,SAAU,2BACVC,QAAS,uBACTC,SAAU,oCACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,kBACRC,KAAM,qBACN/I,EAAG,SACHgJ,GAAI,YACJjU,EAAG,aACHkU,GAAI,YACJ9F,EAAG,WACH+F,GAAI,UACJhG,EAAG,UACHiG,GAAI,SACJ/F,EAAG,SACHkG,GAAI,QACJzG,EAAG,UACH0G,GAAI,UAERrF,KAAM,CACFL,IAAK,EACLC,IAAK,KAnDyBugB,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,qGAAqGK,MACzG,KAEJN,YAAa,sFAAsFM,MAC/F,KAEJutB,kBAAkB,EAClBtpB,SAAU,yDAAyDjE,MAC/D,KAEJgE,cAAe,uBAAuBhE,MAAM,KAC5C+D,YAAa,uBAAuB/D,MAAM,KAC1CssB,oBAAoB,EACpB/jB,cAAe,SACfjC,KAAM,SAAU3U,GACZ,MAAO,QAAQsJ,KAAKtJ,IAExBkD,SAAU,SAAUiR,EAAOE,EAASyZ,GAChC,OAAI3Z,EAAQ,GACD2Z,EAAU,KAAO,KAEjBA,EAAU,KAAO,MAGhC1kB,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,oBACJC,IAAK,0BACLC,KAAM,gCACN4D,EAAG,YACHijB,GAAI,aACJC,IAAK,mBACLC,KAAM,yBAEV3nB,SAAU,CACNC,QAAS,mBACTC,QAAS,oBACTC,SAAU,yBACVC,QAAS,mBACTC,SAAU,2BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,WACN/I,EAAG,WACHgJ,GAAI,UACJjU,EAAG,WACHkU,GAAI,UACJ9F,EAAG,UACH+F,GAAI,SACJhG,EAAG,WACHiG,GAAI,UACJC,EAAG,WACHC,GAAI,UACJjG,EAAG,YACHkG,GAAI,WACJzG,EAAG,UACH0G,GAAI,UAERX,uBAAwB,UACxB1N,QAAS,SAAUjB,GACf,OAAOA,GAEXiK,KAAM,CACFL,IAAK,EACLC,IAAK,KA5EyBugB,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIXA,EAAO9hB,aAAa,WAAY,CAC1C5J,OAAQ,6GAA6GK,MACjH,KAEJN,YAAa,8DAA8DM,MACvE,KAEJutB,kBAAkB,EAClBtpB,SAAU,yEAAyEjE,MAC/E,KAEJgE,cAAe,qCAAqChE,MAAM,KAC1D+D,YAAa,4BAA4B/D,MAAM,KAC/CssB,oBAAoB,EACpBvxB,eAAgB,CACZuM,GAAI,QACJC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVZ,SAAU,CACNC,QAAS,kBACTC,QAAS,sBACTC,SAAU,eACVC,QAAS,uBACTC,SAAU,uBACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,UACN/I,EAAG,mBACHgJ,GAAI,eACJjU,EAAG,aACHkU,GAAI,eACJ9F,EAAG,YACH+F,GAAI,YACJhG,EAAG,SACHiG,GAAI,WACJ/F,EAAG,YACHkG,GAAI,cACJzG,EAAG,UACH0G,GAAI,aAERX,uBAAwB,uBACxB1N,QAAS,SAAUjB,GACf,IAAI5G,EAAI4G,EAAS,GAWjB,OAAOA,GAT6B,MAAxBA,EAAS,IAAO,IACd,KACM,IAAN5G,EACA,KACM,IAANA,EACA,KACM,IAANA,EACA,KACA,OAGlB6Q,KAAM,CACFL,IAAK,EACLC,IAAK,KArEyBugB,CAAQ,EAAQ,O,iBCGlD,SAAWiI,GAAU,aAIhBA,EAAO9hB,aAAa,KAAM,CAC/B5J,OAAQ,0FAA0FK,MAC9F,KAEJN,YAAa,gEAAgEM,MAAM,KACnFiE,SAAU,uDAAuDjE,MAAM,KACvEgE,cAAe,sCAAsChE,MAAM,KAC3D+D,YAAa,2BAA2B/D,MAAM,KAC9CjF,eAAgB,CACZuM,GAAI,SACJD,IAAK,YACLE,EAAG,aACHC,GAAI,cACJC,IAAK,qBACLC,KAAM,4BAEVZ,SAAU,CACNC,QAAS,gBACTC,QAAS,eACTC,SAAU,8BACVC,QAAS,eACTC,SAAU,6BACVC,SAAU,KAEdQ,aAAc,CACVC,OAAQ,SACRC,KAAM,WACN/I,EAAG,oBACHgJ,GAAI,WACJjU,EAAG,cACHkU,GAAI,aACJ9F,EAAG,cACH+F,GAAI,aACJhG,EAAG,WACHiG,GAAI,UACJ/F,EAAG,WACHkG,GAAI,UACJzG,EAAG,YACH0G,GAAI,YAERX,uBAAwB,gBACxB1N,QAAS,UACTgJ,KAAM,CACFL,IAAK,EACLC,IAAK,KAnDyBugB,CAAQ,EAAQ,O,iBCKlD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,wCAAwCK,MAC5C,KAEJN,YAAa,yCAAyCM,MAClD,KAEJiE,SAAU,8BAA8BjE,MAAM,KAC9CgE,cAAe,uBAAuBhE,MAAM,KAC5C+D,YAAa,gBAAgB/D,MAAM,KACnCjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,YACJC,IAAK,kBACLC,KAAM,sBACN4D,EAAG,WACHijB,GAAI,YACJC,IAAK,kBACLC,KAAM,uBAEVlmB,cAAe,oBACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,OAAbta,GAAkC,OAAbA,GAAkC,OAAbA,EACnCsa,EACa,OAAbta,GAAkC,OAAbA,EACrBsa,EAAO,GAGPA,GAAQ,GAAKA,EAAOA,EAAO,IAG1Cta,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,IAAI1S,EAAY,IAAPoC,EAAakB,EACtB,OAAItD,EAAK,IACE,KACAA,EAAK,IACL,KACAA,EAAK,KACL,KACAA,EAAK,KACL,KACAA,EAAK,KACL,KAEA,MAGfjG,SAAU,CACNC,QAAS,SACTC,QAAS,SACTC,SAAU,SAAUyG,GAChB,OAAIA,EAAIzK,SAAWhN,KAAKgN,OACb,WAEA,YAGfiE,QAAS,SACTC,SAAU,SAAUuG,GAChB,OAAIzX,KAAKgN,SAAWyK,EAAIzK,OACb,WAEA,YAGfmE,SAAU,KAEdO,uBAAwB,iBACxB1N,QAAS,SAAUjB,EAAQqb,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,MACD,OAAOrb,EAAS,IACpB,IAAK,IACD,OAAOA,EAAS,IACpB,IAAK,IACL,IAAK,IACD,OAAOA,EAAS,IACpB,QACI,OAAOA,IAGnB4O,aAAc,CACVC,OAAQ,MACRC,KAAM,MACN/I,EAAG,KACHgJ,GAAI,OACJjU,EAAG,OACHkU,GAAI,QACJ9F,EAAG,OACH+F,GAAI,QACJhG,EAAG,MACHiG,GAAI,OACJC,EAAG,MACHC,GAAI,OACJjG,EAAG,OACHkG,GAAI,QACJzG,EAAG,MACH0G,GAAI,QAERrF,KAAM,CAEFL,IAAK,EACLC,IAAK,KApHyBugB,CAAQ,EAAQ,O,iBCIlD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,wCAAwCK,MAC5C,KAEJN,YAAa,yCAAyCM,MAClD,KAEJiE,SAAU,8BAA8BjE,MAAM,KAC9CgE,cAAe,uBAAuBhE,MAAM,KAC5C+D,YAAa,gBAAgB/D,MAAM,KACnCjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,YACJC,IAAK,kBACLC,KAAM,sBACN4D,EAAG,WACHijB,GAAI,YACJC,IAAK,kBACLC,KAAM,uBAEVlmB,cAAe,oBACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,OAAbta,GAAkC,OAAbA,GAAkC,OAAbA,EACnCsa,EACa,OAAbta,EACAsa,GAAQ,GAAKA,EAAOA,EAAO,GACd,OAAbta,GAAkC,OAAbA,EACrBsa,EAAO,QADX,GAIXta,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,IAAI1S,EAAY,IAAPoC,EAAakB,EACtB,OAAItD,EAAK,IACE,KACAA,EAAK,IACL,KACAA,EAAK,KACL,KACO,OAAPA,EACA,KACAA,EAAK,KACL,KAEA,MAGfjG,SAAU,CACNC,QAAS,SACTC,QAAS,SACTC,SAAU,YACVC,QAAS,SACTC,SAAU,YACVC,SAAU,KAEdO,uBAAwB,iBACxB1N,QAAS,SAAUjB,EAAQqb,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,MACD,OAAOrb,EAAS,IACpB,IAAK,IACD,OAAOA,EAAS,IACpB,IAAK,IACL,IAAK,IACD,OAAOA,EAAS,IACpB,QACI,OAAOA,IAGnB4O,aAAc,CACVC,OAAQ,MACRC,KAAM,MACN/I,EAAG,KACHgJ,GAAI,OACJjU,EAAG,OACHkU,GAAI,QACJ9F,EAAG,OACH+F,GAAI,QACJhG,EAAG,MACHiG,GAAI,OACJ/F,EAAG,OACHkG,GAAI,QACJzG,EAAG,MACH0G,GAAI,UAhG0B8a,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,wCAAwCK,MAC5C,KAEJN,YAAa,yCAAyCM,MAClD,KAEJiE,SAAU,8BAA8BjE,MAAM,KAC9CgE,cAAe,uBAAuBhE,MAAM,KAC5C+D,YAAa,gBAAgB/D,MAAM,KACnCjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,YACJC,IAAK,kBACLC,KAAM,sBACN4D,EAAG,WACHijB,GAAI,YACJC,IAAK,kBACLC,KAAM,uBAEVlmB,cAAe,oBACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,OAAbta,GAAkC,OAAbA,GAAkC,OAAbA,EACnCsa,EACa,OAAbta,EACAsa,GAAQ,GAAKA,EAAOA,EAAO,GACd,OAAbta,GAAkC,OAAbA,EACrBsa,EAAO,QADX,GAIXta,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,IAAI1S,EAAY,IAAPoC,EAAakB,EACtB,OAAItD,EAAK,IACE,KACAA,EAAK,IACL,KACAA,EAAK,KACL,KACAA,EAAK,KACL,KACAA,EAAK,KACL,KAEA,MAGfjG,SAAU,CACNC,QAAS,UACTC,QAAS,UACTC,SAAU,aACVC,QAAS,UACTC,SAAU,aACVC,SAAU,KAEdO,uBAAwB,iBACxB1N,QAAS,SAAUjB,EAAQqb,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,MACD,OAAOrb,EAAS,IACpB,IAAK,IACD,OAAOA,EAAS,IACpB,IAAK,IACL,IAAK,IACD,OAAOA,EAAS,IACpB,QACI,OAAOA,IAGnB4O,aAAc,CACVC,OAAQ,MACRC,KAAM,MACN/I,EAAG,KACHgJ,GAAI,OACJjU,EAAG,OACHkU,GAAI,QACJ9F,EAAG,OACH+F,GAAI,QACJhG,EAAG,MACHiG,GAAI,OACJ/F,EAAG,OACHkG,GAAI,QACJzG,EAAG,MACH0G,GAAI,UAhG0B8a,CAAQ,EAAQ,O,iBCElD,SAAWiI,GAAU,aAIdA,EAAO9hB,aAAa,QAAS,CACpC5J,OAAQ,wCAAwCK,MAC5C,KAEJN,YAAa,yCAAyCM,MAClD,KAEJiE,SAAU,8BAA8BjE,MAAM,KAC9CgE,cAAe,uBAAuBhE,MAAM,KAC5C+D,YAAa,gBAAgB/D,MAAM,KACnCjF,eAAgB,CACZuM,GAAI,QACJD,IAAK,WACLE,EAAG,aACHC,GAAI,YACJC,IAAK,kBACLC,KAAM,sBACN4D,EAAG,WACHijB,GAAI,YACJC,IAAK,kBACLC,KAAM,uBAEVlmB,cAAe,oBACf8G,aAAc,SAAUF,EAAMta,GAI1B,OAHa,KAATsa,IACAA,EAAO,GAEM,OAAbta,GAAkC,OAAbA,GAAkC,OAAbA,EACnCsa,EACa,OAAbta,EACAsa,GAAQ,GAAKA,EAAOA,EAAO,GACd,OAAbta,GAAkC,OAAbA,EACrBsa,EAAO,QADX,GAIXta,SAAU,SAAUsa,EAAMkB,EAAQoP,GAC9B,IAAI1S,EAAY,IAAPoC,EAAakB,EACtB,OAAItD,EAAK,IACE,KACAA,EAAK,IACL,KACAA,EAAK,KACL,KACAA,EAAK,KACL,KACAA,EAAK,KACL,KAEA,MAGfjG,SAAU,CACNC,QAAS,UACTC,QAAS,UACTC,SAAU,aACVC,QAAS,UACTC,SAAU,aACVC,SAAU,KAEdO,uBAAwB,iBACxB1N,QAAS,SAAUjB,EAAQqb,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,MACD,OAAOrb,EAAS,IACpB,IAAK,IACD,OAAOA,EAAS,IACpB,IAAK,IACL,IAAK,IACD,OAAOA,EAAS,IACpB,QACI,OAAOA,IAGnB4O,aAAc,CACVC,OAAQ,MACRC,KAAM,MACN/I,EAAG,KACHgJ,GAAI,OACJjU,EAAG,OACHkU,GAAI,QACJ9F,EAAG,OACH+F,GAAI,QACJhG,EAAG,MACHiG,GAAI,OACJ/F,EAAG,OACHkG,GAAI,QACJzG,EAAG,MACH0G,GAAI,UAhG0B8a,CAAQ,EAAQ,O,+LCL1DvxB,OAAO8xB,eAAevyB,EAAS,aAAc,CAC3CqL,OAAO,IAGT,IAEI+0B,EAAYnI,EAFA,EAAQ,MAMpBoI,EAAmBpI,EAFD,EAAQ,MAM1BqI,EAAmBrI,EAFA,EAAQ,MAM3BsI,EAAgBtI,EAFA,EAAQ,MAMxBuI,EAA8BvI,EAFA,EAAQ,MAMtCwI,EAAaxI,EAFA,EAAQ,MAMrByI,EAAUzI,EAFD,EAAQ,IAMjB0I,EAAc1I,EAFD,EAAQ,KAMrB2I,EAAc3I,EAFD,EAAQ,MAIzB,SAASA,EAAuB92B,GAAO,OAAOA,GAAOA,EAAI42B,WAAa52B,EAAM,CAAEi3B,QAASj3B,GAEvF,IAAI0/B,EAAS,SAAUC,GAGrB,SAASD,IACP,IAAIE,EAEAC,EAAOC,EAAOC,GAElB,EAAIZ,EAAiBlI,SAASvzB,KAAMg8B,GAEpC,IAAK,IAAIM,EAAO9gC,UAAUgB,OAAQsF,EAAOnG,MAAM2gC,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC3Ez6B,EAAKy6B,GAAQ/gC,UAAU+gC,GAGzB,OAAeJ,EAASC,GAAQ,EAAIT,EAA4BpI,SAASvzB,MAAOk8B,EAAOF,EAAOQ,YAAa,EAAIhB,EAAiBjI,SAASyI,IAASjgC,KAAKR,MAAM2gC,EAAM,CAACl8B,MAAM6N,OAAO/L,KAAiBs6B,EAAMK,mBAAqB,WAGvNL,EAAMM,KAAKC,SACbP,EAAMM,KAAKE,OAEXR,EAAMM,KAAKG,SANRR,EAQJF,GAAQ,EAAIR,EAA4BpI,SAAS6I,EAAOC,GAkL7D,OAvMA,EAAIT,EAAWrI,SAASyI,EAAQC,IAwBhC,EAAIP,EAAcnI,SAASyI,EAAQ,CAAC,CAClCn6B,IAAK,oBACL2E,MAAO,WACL,IAAIs2B,EAAS98B,KAAK+8B,MACdC,EAAUF,EAAOE,QACjBC,EAAiBH,EAAOG,eACxBC,EAAOF,EAAQE,KACfC,EAAWH,EAAQG,SACnBC,EAAgBJ,EAAQI,cACxBC,EAAmBL,EAAQK,iBAC3BC,EAAWN,EAAQM,SAGvBt9B,KAAKg9B,QAAU,CACbO,UAAWv9B,KAAKw9B,GAChBC,SAAU,MACVP,MAAe,IAATA,EACNC,UAAuB,IAAbA,EACVG,UAAuB,IAAbA,EACVF,cAAeA,EACfC,iBAAkBA,GAGpBr9B,KAAKg9B,SAAU,EAAIzB,EAAUhI,SAAS,GAAIvzB,KAAKg9B,QAASA,GAExDh9B,KAAK08B,KAAOX,EAAYxI,QAAQmK,cAAc19B,KAAKg9B,SACnDh9B,KAAK29B,eAAeV,KAErB,CACDp7B,IAAK,sBACL2E,MAAO,SAA6Bo3B,GAE9B59B,KAAKg9B,QAAQI,gBAAkBQ,EAAUZ,QAAQI,gBACnDp9B,KAAK69B,iBAAiB79B,KAAK+8B,MAAME,gBACjCj9B,KAAK89B,UACL99B,KAAKg9B,SAAU,EAAIzB,EAAUhI,SAAS,GAAIvzB,KAAKg9B,QAASY,EAAUZ,SAClEh9B,KAAK08B,KAAOX,EAAYxI,QAAQmK,cAAc19B,KAAKg9B,SACnDh9B,KAAK29B,eAAeC,EAAUX,mBAGjC,CACDp7B,IAAK,qBACL2E,MAAO,WACDxG,KAAK+8B,MAAMgB,UACb/9B,KAAKg+B,OACIh+B,KAAK+8B,MAAMO,SACpBt9B,KAAKi+B,eAELj+B,KAAK48B,OAGP58B,KAAK68B,QACL78B,KAAKk+B,WACLl+B,KAAKm+B,iBAEN,CACDt8B,IAAK,uBACL2E,MAAO,WACLxG,KAAK69B,iBAAiB79B,KAAK+8B,MAAME,gBACjCj9B,KAAK89B,UACL99B,KAAKg9B,QAAQI,cAAgB,KAC7Bp9B,KAAK08B,KAAO,OAEb,CACD76B,IAAK,WACL2E,MAAO,WACLxG,KAAK08B,KAAKwB,SAASl+B,KAAK+8B,MAAMqB,SAE/B,CACDv8B,IAAK,eACL2E,MAAO,WACLxG,KAAK08B,KAAKyB,aAAan+B,KAAK+8B,MAAM5e,aAEnC,CACDtc,IAAK,OACL2E,MAAO,WACLxG,KAAK08B,KAAKE,SAEX,CACD/6B,IAAK,eACL2E,MAAO,WACLxG,KAAK08B,KAAKuB,aAAaj+B,KAAK+8B,MAAMO,YAEnC,CACDz7B,IAAK,OACL2E,MAAO,WACLxG,KAAK08B,KAAKsB,SAEX,CACDn8B,IAAK,QACL2E,MAAO,YACDxG,KAAK+8B,MAAMJ,WAAa38B,KAAK08B,KAAKC,WAE1B38B,KAAK+8B,MAAMJ,UAAY38B,KAAK08B,KAAKC,WAD3C38B,KAAK08B,KAAKG,UAKb,CACDh7B,IAAK,UACL2E,MAAO,WACLxG,KAAK08B,KAAKoB,YAEX,CACDj8B,IAAK,iBACL2E,MAAO,SAAwBy2B,GAC7B,IAAIoB,EAASr+B,KAEbi9B,EAAevpB,SAAQ,SAAU4qB,GAC/BD,EAAO3B,KAAK6B,iBAAiBD,EAAcE,UAAWF,EAAcr6B,eAGvE,CACDpC,IAAK,mBACL2E,MAAO,SAA0By2B,GAC/B,IAAIwB,EAASz+B,KAEbi9B,EAAevpB,SAAQ,SAAU4qB,GAC/BG,EAAO/B,KAAKgC,oBAAoBJ,EAAcE,UAAWF,EAAcr6B,eAG1E,CACDpC,IAAK,SACL2E,MAAO,WACL,IAAIm4B,EAAS3+B,KAET4+B,EAAU5+B,KAAK+8B,MACf8B,EAAQD,EAAQC,MAChBC,EAASF,EAAQE,OACjBC,EAAWH,EAAQG,SACnBC,EAAYJ,EAAQI,UACpBC,EAAyBL,EAAQK,uBACjCC,EAAQN,EAAQM,MAGhBC,EAAU,SAAiBC,GAS7B,MANuB,iBAAZA,EACFA,EAAU,KAEVA,GAAW,QAMlBC,GAAe,EAAI9D,EAAUhI,SAAS,CACxCsL,MAAOM,EAAQN,GACfC,OAAQK,EAAQL,GAChB5gC,SAAU,SACVohC,OAAQ,SACRC,QAAS,QACRv/B,KAAK+8B,MAAMzL,OAEVkO,EAAiBP,EAAyB,WAC5C,OAAO,MACLj/B,KAAKy8B,mBAET,OAGEZ,EAAQtI,QAAQZ,cAAc,MAAO,CACnC8M,IAAK,SAAatoB,GAChBwnB,EAAOnB,GAAKrmB,GAEdma,MAAO+N,EACPK,QAASF,EACTN,MAAOA,EACPS,KAAMZ,EACN,aAAcC,EACdY,SAAU,UAKX5D,EAxMI,CAyMXH,EAAQtI,QAAQsM,WAElB1kC,EAAQo4B,QAAUyI,EAGlBA,EAAO8D,UAAY,CACjB7C,eAAgBnB,EAAYvI,QAAQwM,QAAQjE,EAAYvI,QAAQ3D,QAChEoN,QAASlB,EAAYvI,QAAQ3D,OAAOoQ,WACpClB,OAAQhD,EAAYvI,QAAQ0M,UAAU,CAACnE,EAAYvI,QAAQ7d,OAAQomB,EAAYvI,QAAQxwB,SACvF87B,MAAO/C,EAAYvI,QAAQ0M,UAAU,CAACnE,EAAYvI,QAAQ7d,OAAQomB,EAAYvI,QAAQxwB,SACtFg7B,UAAWjC,EAAYvI,QAAQ2M,KAC/BvD,SAAUb,EAAYvI,QAAQ2M,KAC9B9B,MAAOtC,EAAYvI,QAAQxwB,OAC3Bu6B,SAAUxB,EAAYvI,QAAQwM,QAAQjE,EAAYvI,QAAQxwB,QAC1Dob,UAAW2d,EAAYvI,QAAQxwB,OAC/Bg8B,SAAUjD,EAAYvI,QAAQ7d,OAC9BspB,UAAWlD,EAAYvI,QAAQ7d,OAC/BupB,uBAAwBnD,EAAYvI,QAAQ2M,KAC5ChB,MAAOpD,EAAYvI,QAAQ7d,QAG7BsmB,EAAOmE,aAAe,CACpBlD,eAAgB,GAChBc,WAAW,EACXpB,UAAU,EACVyB,MAAO,EACPW,SAAU,SACVC,UAAW,YACXC,wBAAwB,EACxBC,MAAO,K,6BChRT/jC,EAAQ+3B,YAAa,EAErB,IAIgC52B,EAJ5B8jC,EAAU,EAAQ,KAElBC,GAE4B/jC,EAFM8jC,IAEe9jC,EAAI42B,WAAa52B,EAAM,CAAEi3B,QAASj3B,GAEvFnB,EAAQo4B,QAAU8M,EAAS9M,SAAW,SAAU1E,GAC9C,IAAK,IAAI5xB,EAAI,EAAGA,EAAIzB,UAAUgB,OAAQS,IAAK,CACzC,IAAI0rB,EAASntB,UAAUyB,GAEvB,IAAK,IAAI4E,KAAO8mB,EACV/sB,OAAOC,UAAUO,eAAeL,KAAK4sB,EAAQ9mB,KAC/CgtB,EAAOhtB,GAAO8mB,EAAO9mB,IAK3B,OAAOgtB,I,gBCrBT3zB,EAAOC,QAAU,CAAE,QAAW,EAAQ,KAAqC+3B,YAAY,I,gBCAvF,EAAQ,KACRh4B,EAAOC,QAAU,EAAQ,KAAuBS,OAAOgwB,Q,gBCAvD,IAAIkC,EAAU,EAAQ,KAEtBA,EAAQA,EAAQQ,EAAIR,EAAQI,EAAG,SAAU,CAAEtC,OAAQ,EAAQ,Q,cCH3D1wB,EAAOC,QAAU,SAAUu0B,GACzB,GAAiB,mBAANA,EAAkB,MAAMD,UAAUC,EAAK,uBAClD,OAAOA,I,6BCAT,IAAI4Q,EAAc,EAAQ,KACtBC,EAAU,EAAQ,KAClBC,EAAO,EAAQ,KACfvL,EAAM,EAAQ,KACd1Q,EAAW,EAAQ,KACnBsL,EAAU,EAAQ,KAClB4Q,EAAU7kC,OAAOgwB,OAGrB1wB,EAAOC,SAAWslC,GAAW,EAAQ,IAAR,EAAoB,WAC/C,IAAIC,EAAI,GACJhS,EAAI,GAEJJ,EAAItJ,SACJ2b,EAAI,uBAGR,OAFAD,EAAEpS,GAAK,EACPqS,EAAE52B,MAAM,IAAI2J,SAAQ,SAAUjX,GAAKiyB,EAAEjyB,GAAKA,KACd,GAArBgkC,EAAQ,GAAIC,GAAGpS,IAAW1yB,OAAOuG,KAAKs+B,EAAQ,GAAI/R,IAAI1sB,KAAK,KAAO2+B,KACtE,SAAgB9R,EAAQlG,GAM3B,IALA,IAAIiY,EAAIrc,EAASsK,GACbgS,EAAOrlC,UAAUgB,OACjBirB,EAAQ,EACRqZ,EAAaN,EAAKlR,EAClByR,EAAS9L,EAAI3F,EACVuR,EAAOpZ,GAMZ,IALA,IAII5lB,EAJAysB,EAAIuB,EAAQr0B,UAAUisB,MACtBtlB,EAAO2+B,EAAaP,EAAQjS,GAAGzgB,OAAOizB,EAAWxS,IAAMiS,EAAQjS,GAC/D9xB,EAAS2F,EAAK3F,OACdoX,EAAI,EAEDpX,EAASoX,GACd/R,EAAMM,EAAKyR,KACN0sB,IAAeS,EAAOhlC,KAAKuyB,EAAGzsB,KAAM++B,EAAE/+B,GAAOysB,EAAEzsB,IAEtD,OAAO++B,GACPH,G,gBCnCJ,IAAI7N,EAAY,EAAQ,KACpBoO,EAAW,EAAQ,KACnBC,EAAkB,EAAQ,KAC9B/lC,EAAOC,QAAU,SAAU+lC,GACzB,OAAO,SAAUC,EAAO3D,EAAI4D,GAC1B,IAGI56B,EAHA+oB,EAAIqD,EAAUuO,GACd3kC,EAASwkC,EAASzR,EAAE/yB,QACpBirB,EAAQwZ,EAAgBG,EAAW5kC,GAIvC,GAAI0kC,GAAe1D,GAAMA,GAAI,KAAOhhC,EAASirB,GAG3C,IAFAjhB,EAAQ+oB,EAAE9H,OAEGjhB,EAAO,OAAO,OAEtB,KAAMhK,EAASirB,EAAOA,IAAS,IAAIyZ,GAAezZ,KAAS8H,IAC5DA,EAAE9H,KAAW+V,EAAI,OAAO0D,GAAezZ,GAAS,EACpD,OAAQyZ,IAAgB,K,gBCnB9B,IAAIG,EAAY,EAAQ,KACpBv2B,EAAM3H,KAAK2H,IACf5P,EAAOC,QAAU,SAAUu0B,GACzB,OAAOA,EAAK,EAAI5kB,EAAIu2B,EAAU3R,GAAK,kBAAoB,I,gBCJzD,IAAI2R,EAAY,EAAQ,KACpB99B,EAAMJ,KAAKI,IACXuH,EAAM3H,KAAK2H,IACf5P,EAAOC,QAAU,SAAUssB,EAAOjrB,GAEhC,OADAirB,EAAQ4Z,EAAU5Z,IACH,EAAIlkB,EAAIkkB,EAAQjrB,EAAQ,GAAKsO,EAAI2c,EAAOjrB,K,gBCLzDtB,EAAOC,QAAU,CAAE,QAAW,EAAQ,KAA+C+3B,YAAY,I,gBCAjG,EAAQ,KACRh4B,EAAOC,QAAU,EAAQ,KAAuBS,OAAOo3B,gB,gBCAvD,IAAIzO,EAAW,EAAQ,KACnB+c,EAAkB,EAAQ,KAE9B,EAAQ,IAAR,CAAyB,kBAAkB,WACzC,OAAO,SAAwB5R,GAC7B,OAAO4R,EAAgB/c,EAASmL,S,gBCLpC,IAAI5B,EAAU,EAAQ,KAClBV,EAAO,EAAQ,KACfmU,EAAQ,EAAQ,KACpBrmC,EAAOC,QAAU,SAAUqmC,EAAK7rB,GAC9B,IAAI3Y,GAAMowB,EAAKxxB,QAAU,IAAI4lC,IAAQ5lC,OAAO4lC,GACxCC,EAAM,GACVA,EAAID,GAAO7rB,EAAK3Y,GAChB8wB,EAAQA,EAAQQ,EAAIR,EAAQI,EAAIqT,GAAM,WAAcvkC,EAAG,MAAQ,SAAUykC,K,6BCN3EtmC,EAAQ+3B,YAAa,EAErB/3B,EAAQo4B,QAAU,SAAUmO,EAAUzN,GACpC,KAAMyN,aAAoBzN,GACxB,MAAM,IAAIxE,UAAU,uC,6BCJxBt0B,EAAQ+3B,YAAa,EAErB,IAIgC52B,EAJ5BqlC,EAAkB,EAAQ,KAE1BC,GAE4BtlC,EAFcqlC,IAEOrlC,EAAI42B,WAAa52B,EAAM,CAAEi3B,QAASj3B,GAEvFnB,EAAQo4B,QAAU,WAChB,SAASsO,EAAiBhT,EAAQkO,GAChC,IAAK,IAAI9/B,EAAI,EAAGA,EAAI8/B,EAAMvgC,OAAQS,IAAK,CACrC,IAAI6kC,EAAa/E,EAAM9/B,GACvB6kC,EAAW3R,WAAa2R,EAAW3R,aAAc,EACjD2R,EAAW1R,cAAe,EACtB,UAAW0R,IAAYA,EAAWzR,UAAW,IACjD,EAAIuR,EAAiBrO,SAAS1E,EAAQiT,EAAWjgC,IAAKigC,IAI1D,OAAO,SAAU7N,EAAa8N,EAAYC,GAGxC,OAFID,GAAYF,EAAiB5N,EAAYp4B,UAAWkmC,GACpDC,GAAaH,EAAiB5N,EAAa+N,GACxC/N,GAdO,I,gBCVlB/4B,EAAOC,QAAU,CAAE,QAAW,EAAQ,KAA8C+3B,YAAY,I,gBCAhG,EAAQ,KACR,IAAI+O,EAAU,EAAQ,KAAuBrmC,OAC7CV,EAAOC,QAAU,SAAwBu0B,EAAI7tB,EAAKqgC,GAChD,OAAOD,EAAQvU,eAAegC,EAAI7tB,EAAKqgC,K,gBCHzC,IAAIpU,EAAU,EAAQ,KAEtBA,EAAQA,EAAQQ,EAAIR,EAAQI,GAAK,EAAQ,KAAmB,SAAU,CAAER,eAAgB,EAAQ,KAAgB4B,K,6BCAhHn0B,EAAQ+3B,YAAa,EAErB,IAIgC52B,EAJ5B6lC,EAAW,EAAQ,KAEnBC,GAE4B9lC,EAFM6lC,IAEe7lC,EAAI42B,WAAa52B,EAAM,CAAEi3B,QAASj3B,GAEvFnB,EAAQo4B,QAAU,SAAU/F,EAAMzxB,GAChC,IAAKyxB,EACH,MAAM,IAAI6U,eAAe,6DAG3B,OAAOtmC,GAAuF,iBAA7D,IAATA,EAAuB,aAAc,EAAIqmC,EAAS7O,SAASx3B,KAAuC,mBAATA,EAA8ByxB,EAAPzxB,I,gBCf1Ib,EAAOC,QAAU,CAAE,QAAW,EAAQ,KAAuC+3B,YAAY,I,gBCAzF,EAAQ,KACR,EAAQ,KACRh4B,EAAOC,QAAU,EAAQ,KAA0Bm0B,EAAE,a,6BCDrD,IAAIgT,EAAM,EAAQ,IAAR,EAAwB,GAGlC,EAAQ,IAAR,CAA0B3jB,OAAQ,UAAU,SAAU4jB,GACpDviC,KAAKwiC,GAAK7jB,OAAO4jB,GACjBviC,KAAKU,GAAK,KAET,WACD,IAEI+hC,EAFAlT,EAAIvvB,KAAKwiC,GACT/a,EAAQznB,KAAKU,GAEjB,OAAI+mB,GAAS8H,EAAE/yB,OAAe,CAAEgK,WAAO/G,EAAWijC,MAAM,IACxDD,EAAQH,EAAI/S,EAAG9H,GACfznB,KAAKU,IAAM+hC,EAAMjmC,OACV,CAAEgK,MAAOi8B,EAAOC,MAAM,Q,gBCf/B,IAAIrB,EAAY,EAAQ,KACpBvR,EAAU,EAAQ,KAGtB50B,EAAOC,QAAU,SAAUwnC,GACzB,OAAO,SAAU/f,EAAMrS,GACrB,IAGIrU,EAAGC,EAHH2M,EAAI6V,OAAOmR,EAAQlN,IACnB3lB,EAAIokC,EAAU9wB,GACd8E,EAAIvM,EAAEtM,OAEV,OAAIS,EAAI,GAAKA,GAAKoY,EAAUstB,EAAY,QAAKljC,GAC7CvD,EAAI4M,EAAE85B,WAAW3lC,IACN,OAAUf,EAAI,OAAUe,EAAI,IAAMoY,IAAMlZ,EAAI2M,EAAE85B,WAAW3lC,EAAI,IAAM,OAAUd,EAAI,MACxFwmC,EAAY75B,EAAEygB,OAAOtsB,GAAKf,EAC1BymC,EAAY75B,EAAE/G,MAAM9E,EAAGA,EAAI,GAA2Bd,EAAI,OAAzBD,EAAI,OAAU,IAAqB,S,6BCb5E,IAAI81B,EAAS,EAAQ,KACjB8P,EAAa,EAAQ,KACrBnO,EAAiB,EAAQ,KACzBW,EAAoB,GAGxB,EAAQ,IAAR,CAAmBA,EAAmB,EAAQ,IAAR,CAAkB,aAAa,WAAc,OAAOt0B,QAE1F9E,EAAOC,QAAU,SAAU84B,EAAaD,EAAMngB,GAC5CogB,EAAYp4B,UAAYm2B,EAAOsC,EAAmB,CAAEzgB,KAAMiuB,EAAW,EAAGjuB,KACxE8f,EAAeM,EAAaD,EAAO,e,gBCXrC,IAAI3E,EAAK,EAAQ,KACbH,EAAW,EAAQ,KACnBqR,EAAU,EAAQ,KAEtBrlC,EAAOC,QAAU,EAAQ,KAAoBS,OAAOimC,iBAAmB,SAA0BtS,EAAG0C,GAClG/C,EAASK,GAKT,IAJA,IAGIf,EAHArsB,EAAOo+B,EAAQtO,GACfz1B,EAAS2F,EAAK3F,OACdS,EAAI,EAEDT,EAASS,GAAGoyB,EAAGC,EAAEC,EAAGf,EAAIrsB,EAAKlF,KAAMg1B,EAAWzD,IACrD,OAAOe,I,gBCXT,IAAIoC,EAAW,EAAQ,KAAaA,SACpCz2B,EAAOC,QAAUw2B,GAAYA,EAASkR,iB,gBCDtC,EAAQ,KAYR,IAXA,IAAIvV,EAAS,EAAQ,KACjBM,EAAO,EAAQ,KACf6F,EAAY,EAAQ,KACpBqP,EAAgB,EAAQ,IAAR,CAAkB,eAElCC,EAAe,wbAIUh5B,MAAM,KAE1B9M,EAAI,EAAGA,EAAI8lC,EAAavmC,OAAQS,IAAK,CAC5C,IAAI+2B,EAAO+O,EAAa9lC,GACpB+lC,EAAa1V,EAAO0G,GACpB5R,EAAQ4gB,GAAcA,EAAWnnC,UACjCumB,IAAUA,EAAM0gB,IAAgBlV,EAAKxL,EAAO0gB,EAAe9O,GAC/DP,EAAUO,GAAQP,EAAU93B,Q,6BChB9B,IAAIsnC,EAAmB,EAAQ,KAC3BC,EAAO,EAAQ,KACfzP,EAAY,EAAQ,KACpBb,EAAY,EAAQ,KAMxB13B,EAAOC,QAAU,EAAQ,IAAR,CAA0BQ,MAAO,SAAS,SAAU4mC,EAAU/N,GAC7Ex0B,KAAKwiC,GAAK5P,EAAU2P,GACpBviC,KAAKU,GAAK,EACVV,KAAKmjC,GAAK3O,KAET,WACD,IAAIjF,EAAIvvB,KAAKwiC,GACThO,EAAOx0B,KAAKmjC,GACZ1b,EAAQznB,KAAKU,KACjB,OAAK6uB,GAAK9H,GAAS8H,EAAE/yB,QACnBwD,KAAKwiC,QAAK/iC,EACHyjC,EAAK,IAEaA,EAAK,EAApB,QAAR1O,EAA+B/M,EACvB,UAAR+M,EAAiCjF,EAAE9H,GACxB,CAACA,EAAO8H,EAAE9H,OACxB,UAGHgM,EAAU2P,UAAY3P,EAAU93B,MAEhCsnC,EAAiB,QACjBA,EAAiB,UACjBA,EAAiB,Y,cCjCjB/nC,EAAOC,QAAU,c,cCAjBD,EAAOC,QAAU,SAAUunC,EAAMl8B,GAC/B,MAAO,CAAEA,MAAOA,EAAOk8B,OAAQA,K,gBCDjCxnC,EAAOC,QAAU,CAAE,QAAW,EAAQ,KAA8B+3B,YAAY,I,gBCAhF,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACRh4B,EAAOC,QAAU,EAAQ,KAAuB6pB,Q,6BCFhD,IAAIsI,EAAS,EAAQ,KACjBO,EAAM,EAAQ,KACdyS,EAAc,EAAQ,KACtBxS,EAAU,EAAQ,KAClB0F,EAAW,EAAQ,KACnB6P,EAAO,EAAQ,KAAW7B,IAC1B8B,EAAS,EAAQ,KACjB1S,EAAS,EAAQ,KACjB+C,EAAiB,EAAQ,KACzB3D,EAAM,EAAQ,KACduT,EAAM,EAAQ,KACdhR,EAAS,EAAQ,KACjBiR,EAAY,EAAQ,KACpBC,EAAW,EAAQ,KACnBhoC,EAAU,EAAQ,KAClByzB,EAAW,EAAQ,KACnBlzB,EAAW,EAAQ,KACnBuoB,EAAW,EAAQ,KACnBqO,EAAY,EAAQ,KACpBxD,EAAc,EAAQ,KACtBO,EAAa,EAAQ,KACrB+T,EAAU,EAAQ,KAClBC,EAAU,EAAQ,KAClBC,EAAQ,EAAQ,KAChBC,EAAQ,EAAQ,KAChBC,EAAM,EAAQ,KACdxT,EAAQ,EAAQ,KAChB4E,EAAO0O,EAAMtU,EACbD,EAAKyU,EAAIxU,EACTyU,EAAOJ,EAAQrU,EACfkD,EAAUlF,EAAOtI,OACjBgf,EAAQ1W,EAAO2W,KACfC,EAAaF,GAASA,EAAMG,UAE5BC,EAASb,EAAI,WACbc,EAAed,EAAI,eACnBxC,EAAS,GAAGpQ,qBACZ2T,EAAiB1T,EAAO,mBACxB2T,EAAa3T,EAAO,WACpB4T,EAAY5T,EAAO,cACnBmC,EAAcn3B,OAAgB,UAC9B6oC,EAA+B,mBAAXjS,KAA2BqR,EAAMvU,EACrDoV,EAAUpX,EAAOoX,QAEjB/c,GAAU+c,IAAYA,EAAiB,YAAMA,EAAiB,UAAEC,UAGhEC,EAAgBtE,GAAegD,GAAO,WACxC,OAES,GAFFI,EAAQrU,EAAG,GAAI,IAAK,CACzBxoB,IAAK,WAAc,OAAOwoB,EAAGrvB,KAAM,IAAK,CAAEwG,MAAO,IAAKtK,MACpDA,KACD,SAAUwzB,EAAI7tB,EAAKgjC,GACtB,IAAIC,EAAY5P,EAAKnC,EAAalxB,GAC9BijC,UAAkB/R,EAAYlxB,GAClCwtB,EAAGK,EAAI7tB,EAAKgjC,GACRC,GAAapV,IAAOqD,GAAa1D,EAAG0D,EAAalxB,EAAKijC,IACxDzV,EAEA0V,EAAO,SAAU3S,GACnB,IAAI4S,EAAMT,EAAWnS,GAAOsR,EAAQlR,EAAiB,WAErD,OADAwS,EAAI7B,GAAK/Q,EACF4S,GAGLC,EAAWR,GAAyC,iBAApBjS,EAAQ0S,SAAuB,SAAUxV,GAC3E,MAAoB,iBAANA,GACZ,SAAUA,GACZ,OAAOA,aAAc8C,GAGnB2S,EAAkB,SAAwBzV,EAAI7tB,EAAKgjC,GAKrD,OAJInV,IAAOqD,GAAaoS,EAAgBX,EAAW3iC,EAAKgjC,GACxD3V,EAASQ,GACT7tB,EAAMutB,EAAYvtB,GAAK,GACvBqtB,EAAS2V,GACLhX,EAAI0W,EAAY1iC,IACbgjC,EAAE1U,YAIDtC,EAAI6B,EAAI0U,IAAW1U,EAAG0U,GAAQviC,KAAM6tB,EAAG0U,GAAQviC,IAAO,GAC1DgjC,EAAInB,EAAQmB,EAAG,CAAE1U,WAAYR,EAAW,GAAG,OAJtC9B,EAAI6B,EAAI0U,IAAS/U,EAAGK,EAAI0U,EAAQzU,EAAW,EAAG,KACnDD,EAAG0U,GAAQviC,IAAO,GAIX+iC,EAAclV,EAAI7tB,EAAKgjC,IACzBxV,EAAGK,EAAI7tB,EAAKgjC,IAEnBO,EAAoB,SAA0B1V,EAAIlB,GACpDU,EAASQ,GAKT,IAJA,IAGI7tB,EAHAM,EAAOshC,EAASjV,EAAIoE,EAAUpE,IAC9BvxB,EAAI,EACJoY,EAAIlT,EAAK3F,OAEN6Y,EAAIpY,GAAGkoC,EAAgBzV,EAAI7tB,EAAMM,EAAKlF,KAAMuxB,EAAE3sB,IACrD,OAAO6tB,GAKL2V,EAAwB,SAA8BxjC,GACxD,IAAIyW,EAAIyoB,EAAOhlC,KAAKiE,KAAM6B,EAAMutB,EAAYvtB,GAAK,IACjD,QAAI7B,OAAS+yB,GAAelF,EAAI0W,EAAY1iC,KAASgsB,EAAI2W,EAAW3iC,QAC7DyW,IAAMuV,EAAI7tB,KAAM6B,KAASgsB,EAAI0W,EAAY1iC,IAAQgsB,EAAI7tB,KAAMokC,IAAWpkC,KAAKokC,GAAQviC,KAAOyW,IAE/FgtB,EAA4B,SAAkC5V,EAAI7tB,GAGpE,GAFA6tB,EAAKkD,EAAUlD,GACf7tB,EAAMutB,EAAYvtB,GAAK,GACnB6tB,IAAOqD,IAAelF,EAAI0W,EAAY1iC,IAASgsB,EAAI2W,EAAW3iC,GAAlE,CACA,IAAIgjC,EAAI3P,EAAKxF,EAAI7tB,GAEjB,OADIgjC,IAAKhX,EAAI0W,EAAY1iC,IAAUgsB,EAAI6B,EAAI0U,IAAW1U,EAAG0U,GAAQviC,KAAOgjC,EAAE1U,YAAa,GAChF0U,IAELU,EAAuB,SAA6B7V,GAKtD,IAJA,IAGI7tB,EAHA8R,EAAQowB,EAAKnR,EAAUlD,IACvBpZ,EAAS,GACTrZ,EAAI,EAED0W,EAAMnX,OAASS,GACf4wB,EAAI0W,EAAY1iC,EAAM8R,EAAM1W,OAAS4E,GAAOuiC,GAAUviC,GAAOwhC,GAAM/sB,EAAOnZ,KAAK0E,GACpF,OAAOyU,GAEPkvB,GAAyB,SAA+B9V,GAM1D,IALA,IAII7tB,EAJA4jC,EAAQ/V,IAAOqD,EACfpf,EAAQowB,EAAK0B,EAAQjB,EAAY5R,EAAUlD,IAC3CpZ,EAAS,GACTrZ,EAAI,EAED0W,EAAMnX,OAASS,IAChB4wB,EAAI0W,EAAY1iC,EAAM8R,EAAM1W,OAAUwoC,IAAQ5X,EAAIkF,EAAalxB,IAAcyU,EAAOnZ,KAAKonC,EAAW1iC,IACxG,OAAOyU,GAINmuB,IAYHjR,GAXAhB,EAAU,WACR,GAAIxyB,gBAAgBwyB,EAAS,MAAM/C,UAAU,gCAC7C,IAAI2C,EAAMpC,EAAIx0B,UAAUgB,OAAS,EAAIhB,UAAU,QAAKiE,GAChDimC,EAAO,SAAUl/B,GACfxG,OAAS+yB,GAAa2S,EAAK3pC,KAAKyoC,EAAWh+B,GAC3CqnB,EAAI7tB,KAAMokC,IAAWvW,EAAI7tB,KAAKokC,GAAShS,KAAMpyB,KAAKokC,GAAQhS,IAAO,GACrEwS,EAAc5kC,KAAMoyB,EAAKzC,EAAW,EAAGnpB,KAGzC,OADI85B,GAAe3Y,GAAQid,EAAc7R,EAAaX,EAAK,CAAEhC,cAAc,EAAMvtB,IAAK6iC,IAC/EX,EAAK3S,KAEY,UAAG,YAAY,WACvC,OAAOpyB,KAAKmjC,MAGdS,EAAMtU,EAAIgW,EACVxB,EAAIxU,EAAI6V,EACR,EAAQ,KAAkB7V,EAAIqU,EAAQrU,EAAIiW,EAC1C,EAAQ,KAAiBjW,EAAI+V,EAC7BxB,EAAMvU,EAAIkW,GAENlF,IAAgB,EAAQ,MAC1B9M,EAAST,EAAa,uBAAwBsS,GAAuB,GAGvE9S,EAAOjD,EAAI,SAAUhtB,GACnB,OAAOyiC,EAAKxB,EAAIjhC,MAIpBwrB,EAAQA,EAAQM,EAAIN,EAAQzV,EAAIyV,EAAQI,GAAKuW,EAAY,CAAEzf,OAAQwN,IAEnE,IAAK,IAAImT,GAAa,iHAGpB57B,MAAM,KAAM6J,GAAI,EAAG+xB,GAAWnpC,OAASoX,IAAG2vB,EAAIoC,GAAW/xB,OAE3D,IAAK,IAAIgyB,GAAmBtV,EAAMiT,EAAIxT,OAAQtzB,GAAI,EAAGmpC,GAAiBppC,OAASC,IAAI+mC,EAAUoC,GAAiBnpC,OAE9GqxB,EAAQA,EAAQQ,EAAIR,EAAQI,GAAKuW,EAAY,SAAU,CAErD,IAAO,SAAU5iC,GACf,OAAOgsB,EAAIyW,EAAgBziC,GAAO,IAC9ByiC,EAAeziC,GACfyiC,EAAeziC,GAAO2wB,EAAQ3wB,IAGpCgkC,OAAQ,SAAgBb,GACtB,IAAKC,EAASD,GAAM,MAAMvV,UAAUuV,EAAM,qBAC1C,IAAK,IAAInjC,KAAOyiC,EAAgB,GAAIA,EAAeziC,KAASmjC,EAAK,OAAOnjC,GAE1EikC,UAAW,WAAcne,GAAS,GAClCoe,UAAW,WAAcpe,GAAS,KAGpCmG,EAAQA,EAAQQ,EAAIR,EAAQI,GAAKuW,EAAY,SAAU,CAErDzS,OA/FY,SAAgBtC,EAAIlB,GAChC,YAAa/uB,IAAN+uB,EAAkBkV,EAAQhU,GAAM0V,EAAkB1B,EAAQhU,GAAKlB,IAgGtEd,eAAgByX,EAEhBtD,iBAAkBuD,EAElBjQ,yBAA0BmQ,EAE1B/oC,oBAAqBgpC,EAErBxU,sBAAuByU,KAKzB,IAAIQ,GAAsB1C,GAAO,WAAcO,EAAMvU,EAAE,MAEvDxB,EAAQA,EAAQQ,EAAIR,EAAQI,EAAI8X,GAAqB,SAAU,CAC7DjV,sBAAuB,SAA+BrB,GACpD,OAAOmU,EAAMvU,EAAE/K,EAASmL,OAK5BsU,GAASlW,EAAQA,EAAQQ,EAAIR,EAAQI,IAAMuW,GAAcnB,GAAO,WAC9D,IAAIhV,EAAIkE,IAIR,MAA0B,UAAnB0R,EAAW,CAAC5V,KAA2C,MAAxB4V,EAAW,CAAEhoC,EAAGoyB,KAAyC,MAAzB4V,EAAWtoC,OAAO0yB,QACrF,OAAQ,CACX6V,UAAW,SAAmBzU,GAI5B,IAHA,IAEIuW,EAAUC,EAFVpkC,EAAO,CAAC4tB,GACRzyB,EAAI,EAEDzB,UAAUgB,OAASS,GAAG6E,EAAK3E,KAAK3B,UAAUyB,MAEjD,GADAipC,EAAYD,EAAWnkC,EAAK,IACvB9F,EAASiqC,SAAoBxmC,IAAPiwB,KAAoBuV,EAASvV,GAMxD,OALKj0B,EAAQwqC,KAAWA,EAAW,SAAUpkC,EAAK2E,GAEhD,GADwB,mBAAb0/B,IAAyB1/B,EAAQ0/B,EAAUnqC,KAAKiE,KAAM6B,EAAK2E,KACjEy+B,EAASz+B,GAAQ,OAAOA,IAE/B1E,EAAK,GAAKmkC,EACH/B,EAAW3oC,MAAMyoC,EAAOliC,MAKnC0wB,EAAiB,UAAE6R,IAAiB,EAAQ,IAAR,CAAmB7R,EAAiB,UAAG6R,EAAc7R,EAAiB,UAAEn1B,SAE5Gs2B,EAAenB,EAAS,UAExBmB,EAAexwB,KAAM,QAAQ,GAE7BwwB,EAAerG,EAAO2W,KAAM,QAAQ,I,gBCrPpC,IAAIZ,EAAO,EAAQ,IAAR,CAAkB,QACzBrnC,EAAW,EAAQ,KACnB6xB,EAAM,EAAQ,KACdsY,EAAU,EAAQ,KAAgB7W,EAClCkB,EAAK,EACL4V,EAAexqC,OAAOwqC,cAAgB,WACxC,OAAO,GAELC,GAAU,EAAQ,IAAR,EAAoB,WAChC,OAAOD,EAAaxqC,OAAO0qC,kBAAkB,QAE3CC,EAAU,SAAU7W,GACtByW,EAAQzW,EAAI2T,EAAM,CAAE78B,MAAO,CACzBvJ,EAAG,OAAQuzB,EACXte,EAAG,OAgCHs0B,EAAOtrC,EAAOC,QAAU,CAC1BqmC,IAAK6B,EACLoD,MAAM,EACNC,QAhCY,SAAUhX,EAAIsC,GAE1B,IAAKh2B,EAAS0zB,GAAK,MAAoB,iBAANA,EAAiBA,GAAmB,iBAANA,EAAiB,IAAM,KAAOA,EAC7F,IAAK7B,EAAI6B,EAAI2T,GAAO,CAElB,IAAK+C,EAAa1W,GAAK,MAAO,IAE9B,IAAKsC,EAAQ,MAAO,IAEpBuU,EAAQ7W,GAER,OAAOA,EAAG2T,GAAMpmC,GAsBlB0pC,QApBY,SAAUjX,EAAIsC,GAC1B,IAAKnE,EAAI6B,EAAI2T,GAAO,CAElB,IAAK+C,EAAa1W,GAAK,OAAO,EAE9B,IAAKsC,EAAQ,OAAO,EAEpBuU,EAAQ7W,GAER,OAAOA,EAAG2T,GAAMnxB,GAYlB00B,SATa,SAAUlX,GAEvB,OADI2W,GAAUG,EAAKC,MAAQL,EAAa1W,KAAQ7B,EAAI6B,EAAI2T,IAAOkD,EAAQ7W,GAChEA,K,gBC3CT,IAAI6Q,EAAU,EAAQ,KAClBC,EAAO,EAAQ,KACfvL,EAAM,EAAQ,KAClB/5B,EAAOC,QAAU,SAAUu0B,GACzB,IAAIpZ,EAASiqB,EAAQ7Q,GACjBoR,EAAaN,EAAKlR,EACtB,GAAIwR,EAKF,IAJA,IAGIj/B,EAHAglC,EAAU/F,EAAWpR,GACrBqR,EAAS9L,EAAI3F,EACbryB,EAAI,EAED4pC,EAAQrqC,OAASS,GAAO8jC,EAAOhlC,KAAK2zB,EAAI7tB,EAAMglC,EAAQ5pC,OAAOqZ,EAAOnZ,KAAK0E,GAChF,OAAOyU,I,gBCZX,IAAIwc,EAAM,EAAQ,KAClB53B,EAAOC,QAAUQ,MAAMF,SAAW,SAAiBmG,GACjD,MAAmB,SAAZkxB,EAAIlxB,K,gBCFb,IAAIgxB,EAAY,EAAQ,KACpBmR,EAAO,EAAQ,KAAkBzU,EACjCxzB,EAAW,GAAGA,SAEdgrC,EAA+B,iBAAVvZ,QAAsBA,QAAU3xB,OAAOW,oBAC5DX,OAAOW,oBAAoBgxB,QAAU,GAUzCryB,EAAOC,QAAQm0B,EAAI,SAA6BI,GAC9C,OAAOoX,GAAoC,mBAArBhrC,EAASC,KAAK2zB,GATjB,SAAUA,GAC7B,IACE,OAAOqU,EAAKrU,GACZ,MAAOxc,GACP,OAAO4zB,EAAY/kC,SAK0CglC,CAAerX,GAAMqU,EAAKnR,EAAUlD,M,gCCjBrG,EAAQ,IAAR,CAAyB,kB,gBCAzB,EAAQ,IAAR,CAAyB,e,6BCEzBv0B,EAAQ+3B,YAAa,EAErB,IAEI8T,EAAmB5T,EAFD,EAAQ,MAM1B6T,EAAW7T,EAFD,EAAQ,MAMlBgP,EAAWhP,EAFA,EAAQ,MAIvB,SAASA,EAAuB92B,GAAO,OAAOA,GAAOA,EAAI42B,WAAa52B,EAAM,CAAEi3B,QAASj3B,GAEvFnB,EAAQo4B,QAAU,SAAU2T,EAAUC,GACpC,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAI1X,UAAU,iEAAoF,IAAf0X,EAA6B,aAAc,EAAI/E,EAAS7O,SAAS4T,KAG5JD,EAASrrC,WAAY,EAAIorC,EAAS1T,SAAS4T,GAAcA,EAAWtrC,UAAW,CAC7Eo3B,YAAa,CACXzsB,MAAO0gC,EACP/W,YAAY,EACZE,UAAU,EACVD,cAAc,KAGd+W,IAAYH,EAAiBzT,SAAU,EAAIyT,EAAiBzT,SAAS2T,EAAUC,GAAcD,EAAS1K,UAAY2K,K,gBC/BxHjsC,EAAOC,QAAU,CAAE,QAAW,EAAQ,KAA+C+3B,YAAY,I,gBCAjG,EAAQ,KACRh4B,EAAOC,QAAU,EAAQ,KAAuBS,OAAOwrC,gB,gBCAvD,IAAItZ,EAAU,EAAQ,KACtBA,EAAQA,EAAQQ,EAAG,SAAU,CAAE8Y,eAAgB,EAAQ,KAAgBvkC,O,gBCAvE,IAAI7G,EAAW,EAAQ,KACnBkzB,EAAW,EAAQ,KACnBmY,EAAQ,SAAU9X,EAAGnN,GAEvB,GADA8M,EAASK,IACJvzB,EAASomB,IAAoB,OAAVA,EAAgB,MAAMqN,UAAUrN,EAAQ,8BAElElnB,EAAOC,QAAU,CACf0H,IAAKjH,OAAOwrC,iBAAmB,aAAe,GAC5C,SAAUpiC,EAAMsiC,EAAOzkC,GACrB,KACEA,EAAM,EAAQ,IAAR,CAAkBL,SAASzG,KAAM,EAAQ,KAAkBuzB,EAAE1zB,OAAOC,UAAW,aAAagH,IAAK,IACnGmC,EAAM,IACVsiC,IAAUtiC,aAAgBrJ,OAC1B,MAAOuX,GAAKo0B,GAAQ,EACtB,OAAO,SAAwB/X,EAAGnN,GAIhC,OAHAilB,EAAM9X,EAAGnN,GACLklB,EAAO/X,EAAEiN,UAAYpa,EACpBvf,EAAI0sB,EAAGnN,GACLmN,GAVX,CAYE,IAAI,QAAS9vB,GACjB4nC,MAAOA,I,gBCvBTnsC,EAAOC,QAAU,CAAE,QAAW,EAAQ,KAAqC+3B,YAAY,I,gBCAvF,EAAQ,KACR,IAAI+O,EAAU,EAAQ,KAAuBrmC,OAC7CV,EAAOC,QAAU,SAAgBqzB,EAAGqW,GAClC,OAAO5C,EAAQjQ,OAAOxD,EAAGqW,K,gBCH3B,IAAI/W,EAAU,EAAQ,KAEtBA,EAAQA,EAAQQ,EAAG,SAAU,CAAE0D,OAAQ,EAAQ,Q,6CCF/C,oFAIS,KAFD,yCACI,OAAO7E,EAAQoa,IAClB,kGAJT,CAWGha,QAAU,IAAK,SAASA,QAC1B,aACD,IAAIia,MAAQ,6BAERC,aAAe,GAEfC,qBAAuB,OAEvBC,iBAAkB,EAClBC,kBACAC,SAAW,iCAAiC7iC,KAAK8iC,UAAUC,WAC3DC,aAAe,GACfC,WAAa9kC,KAAKiZ,MAClB8rB,OACAC,OAAShlC,KAAKG,IACd8kC,QAAUjlC,KAAKklC,KACfC,OAASnlC,KAAKC,IACdmlC,SAAWplC,KAAKiD,MAChBoiC,OAASrlC,KAAKI,IACdklC,OAAStlC,KAAK2H,IACd49B,QAAU,GAEVC,OAAS,GASb,SAASC,mBAAmB,MAAO,IARlC,WACG,IACI3rC,EADA4rC,EAAgB,CAAC,MAAO,OAAQ,QAAS,OAAQ,QAAS,OAAQ,QAAS,QAAS,OAAQ,OAAQ,QAAS,QAAS,MAAO,OAAQ,MAAO,QAAS,SAAU,QAAS,OAAQ,MAAO,QAAS,OAAQ,QAAS,MAAO,MAAO,MAAO,SAAU,QAAS,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,QAAS,IAAK,OAAQ,MAAO,SAAU,QAAS,KAAM,UAAW,SACrW5oC,EAAM4oC,EAAcrsC,OAC3B,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb0rC,OAAOE,EAAc5rC,IAAMkG,KAAK0lC,EAAc5rC,IAJtD,GAUA0rC,OAAOjY,OAASvtB,KAAKutB,OACrBiY,OAAOvlC,IAAM,SAAS5C,GAElB,GAAc,kBADMA,GACMA,EAAIhE,OAAO,CACjC,IACIS,EADA6rC,EAASC,iBAAiBvoC,EAAIhE,QAC3ByD,EAAMO,EAAIhE,OACjB,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb6rC,EAAO7rC,GAAKkG,KAAKC,IAAI5C,EAAIvD,IAE7B,OAAO6rC,EAEX,OAAO3lC,KAAKC,IAAI5C,IAGpB,IAAIwoC,qBAAuB,IACvBC,UAAY9lC,KAAK+lC,GAAG,IACpBC,YAAc,MAElB,SAASC,YAAYC,GAEbnB,OADDmB,EACUlmC,KAAKiZ,MAEL,SAAS5b,GACd,OAAOA,GAMnB,SAAS8oC,SAASC,GACdA,EAAQjY,MAAMkY,SAAW,WACzBD,EAAQjY,MAAMmY,IAAM,EACpBF,EAAQjY,MAAMoY,KAAO,EACrBH,EAAQjY,MAAMC,QAAU,QACxBgY,EAAQjY,MAAMqY,gBAAkBJ,EAAQjY,MAAMsY,sBAAwB,MACtEL,EAAQjY,MAAMuY,mBAAsBN,EAAQjY,MAAMwY,yBAA2B,UAC7EP,EAAQjY,MAAMyY,eAAiBR,EAAQjY,MAAM0Y,qBAAuBT,EAAQjY,MAAM2Y,kBAAoB,cAG1G,SAASC,kBAAkBnc,EAAMoc,EAAaC,EAAWC,GACrDrqC,KAAK+tB,KAAOA,EACZ/tB,KAAKmqC,YAAcA,EACnBnqC,KAAKoqC,UAAYA,EACjBpqC,KAAKme,UAAYksB,EAAkB,GAAK,EAAI,EAGhD,SAASC,gBAAgBvc,EAAMsc,GAC3BrqC,KAAK+tB,KAAOA,EACZ/tB,KAAKme,UAAYksB,EAAkB,GAAK,EAAI,EAGhD,SAASE,oBAAoBxc,EAAMyc,EAAYC,EAAaJ,GACxDrqC,KAAK+tB,KAAOA,EACZ/tB,KAAKyqC,YAAcA,EACnBzqC,KAAKwqC,WAAaA,EAClBxqC,KAAKme,UAAYksB,EAAkB,GAAK,EAAI,EAGhD,SAASK,oBAAoB3c,EAAM4c,EAAYC,GAC3C5qC,KAAK+tB,KAAOA,EACZ/tB,KAAK2qC,WAAaA,EAClB3qC,KAAK4qC,YAAcA,EAGvB,SAASC,eAAe9c,EAAMc,GAC1B7uB,KAAK+tB,KAAOA,EACZ/tB,KAAK6uB,OAASA,EAGlB,SAASic,wBAAwBC,EAAaZ,GAC1CnqC,KAAK+tB,KAAO,mBACZ/tB,KAAK+qC,YAAcA,EACnB/qC,KAAKmqC,YAAcA,EAGvB,SAASa,mBAAmBD,GACxB/qC,KAAK+tB,KAAO,cACZ/tB,KAAK+qC,YAAcA,EAGvB,SAASE,4BAA4Bld,EAAMgd,GACvC/qC,KAAK+tB,KAAOA,EACZ/tB,KAAK+qC,YAAcA,EACnB/qC,KAAKmqC,YAAcA,YAxDvBf,aAAY,GA2DZ,IAAI8B,iBACIC,OAAS,EACN,WACH,MAAO,uBAAwBA,SAF/BA,OAMR,SAASC,SAASn/B,EAAGnD,EAAGuiC,GACpB,IAAIC,EAAGC,EAAGpvC,EAAGc,EAAGqyB,EAAGkc,EAAGC,EAAG1rC,EAMzB,OAHAyrC,EAAIH,GAAK,EAAIviC,GACb2iC,EAAIJ,GAAK,GAFT/b,EAAQ,EAAJrjB,GADJhP,EAAIkG,KAAKiD,MAAU,EAAJ6F,KAGEnD,GACjB/I,EAAIsrC,GAAK,GAAK,EAAI/b,GAAKxmB,GACf7L,EAAI,GACR,KAAK,EAAGquC,EAAID,EAAGE,EAAIxrC,EAAG5D,EAAIqvC,EAAG,MAC7B,KAAK,EAAGF,EAAIG,EAAGF,EAAIF,EAAGlvC,EAAIqvC,EAAG,MAC7B,KAAK,EAAGF,EAAIE,EAAGD,EAAIF,EAAGlvC,EAAI4D,EAAG,MAC7B,KAAK,EAAGurC,EAAIE,EAAGD,EAAIE,EAAGtvC,EAAIkvC,EAAG,MAC7B,KAAK,EAAGC,EAAIvrC,EAAGwrC,EAAIC,EAAGrvC,EAAIkvC,EAAG,MAC7B,KAAK,EAAGC,EAAID,EAAGE,EAAIC,EAAGrvC,EAAIsvC,EAE9B,MAAO,CAAEH,EACLC,EACCpvC,GAGT,SAASuvC,SAASJ,EAAGC,EAAGpvC,GACpB,IAEI8P,EAFA1I,EAAMJ,KAAKI,IAAI+nC,EAAGC,EAAGpvC,GAAI2O,EAAM3H,KAAK2H,IAAIwgC,EAAGC,EAAGpvC,GAC9C6P,EAAIzI,EAAMuH,EAEVhC,EAAa,IAARvF,EAAY,EAAIyI,EAAIzI,EACzB8nC,EAAI9nC,EAAM,IAEd,OAAQA,GACJ,KAAKuH,EAAKmB,EAAI,EAAG,MACjB,KAAKq/B,EAAGr/B,EAAKs/B,EAAIpvC,EAAK6P,GAAKu/B,EAAIpvC,EAAI,EAAG,GAAI8P,GAAK,EAAID,EAAG,MACtD,KAAKu/B,EAAGt/B,EAAK9P,EAAImvC,EAAS,EAAJt/B,EAAOC,GAAK,EAAID,EAAG,MACzC,KAAK7P,EAAG8P,EAAKq/B,EAAIC,EAAS,EAAJv/B,EAAOC,GAAK,EAAID,EAG1C,MAAO,CACFC,EACAnD,EACAuiC,GAIT,SAASM,mBAAmBC,EAAMvvB,GAC9B,IAAIwvB,EAAMH,SAAkB,IAATE,EAAM,GAAgB,IAATA,EAAM,GAAgB,IAATA,EAAM,IAQnD,OAPAC,EAAI,IAAMxvB,EACNwvB,EAAI,GAAK,EACTA,EAAI,GAAK,EAEJA,EAAI,IAAM,IACfA,EAAI,GAAK,GAENT,SAASS,EAAI,GAAGA,EAAI,GAAGA,EAAI,IAGtC,SAASC,mBAAmBF,EAAMvvB,GAC9B,IAAIwvB,EAAMH,SAAkB,IAATE,EAAM,GAAgB,IAATA,EAAM,GAAgB,IAATA,EAAM,IAQnD,OAPAC,EAAI,IAAMxvB,EACNwvB,EAAI,GAAK,EACTA,EAAI,GAAK,EAEJA,EAAI,GAAK,IACdA,EAAI,GAAK,GAENT,SAASS,EAAI,GAAGA,EAAI,GAAGA,EAAI,IAGtC,SAASE,YAAYH,EAAMvvB,GACvB,IAAIwvB,EAAMH,SAAkB,IAATE,EAAM,GAAgB,IAATA,EAAM,GAAgB,IAATA,EAAM,IAQnD,OAPAC,EAAI,IAAMxvB,EAAO,IACbwvB,EAAI,GAAK,EACTA,EAAI,IAAM,EAELA,EAAI,GAAK,IACdA,EAAI,IAAM,GAEPT,SAASS,EAAI,GAAGA,EAAI,GAAGA,EAAI,IAGtC,IAAIG,SAAY,WACZ,IACI/uC,EACAgvC,EAFAC,EAAW,GAGf,IAAIjvC,EAAE,EAAEA,EAAE,IAAIA,GAAG,EACbgvC,EAAMhvC,EAAEnB,SAAS,IACjBowC,EAASjvC,GAAmB,GAAdgvC,EAAIzvC,OAAc,IAAMyvC,EAAMA,EAGhD,OAAO,SAASX,EAAGC,EAAGpvC,GAUlB,OATGmvC,EAAE,IACDA,EAAI,GAELC,EAAE,IACDA,EAAI,GAELpvC,EAAE,IACDA,EAAI,GAED,IAAM+vC,EAASZ,GAAKY,EAASX,GAAKW,EAAS/vC,IAnB3C,GAsBf,SAASgwC,aACTA,UAAUtwC,UAAY,CACrBuwC,aAAc,SAAU5N,EAAW18B,GAC/B,GAAI9B,KAAKqsC,KAAK7N,GAEV,IADA,IAAIv+B,EAAMD,KAAKqsC,KAAK7N,GAAWhiC,OACtBS,EAAI,EAAGA,EAAIgD,EAAKhD,IACrB+C,KAAKqsC,KAAK7N,GAAWvhC,GAAG6E,IAIpCy8B,iBAAkB,SAAUC,EAAWv6B,GAMtC,OALQjE,KAAKqsC,KAAK7N,KACXx+B,KAAKqsC,KAAK7N,GAAa,IAE3Bx+B,KAAKqsC,KAAK7N,GAAWrhC,KAAK8G,GAEtB,WACNjE,KAAK0+B,oBAAoBF,EAAWv6B,IACnCqoC,KAAKtsC,OAER0+B,oBAAqB,SAAUF,EAAUv6B,GACrC,GAAKA,GAEC,GAAGjE,KAAKqsC,KAAK7N,GAAW,CAE1B,IADA,IAAIvhC,EAAI,EAAGgD,EAAMD,KAAKqsC,KAAK7N,GAAWhiC,OAChCS,EAAEgD,GACDD,KAAKqsC,KAAK7N,GAAWvhC,KAAOgH,IAC3BjE,KAAKqsC,KAAK7N,GAAW+N,OAAOtvC,EAAE,GAC9BA,GAAI,EACJgD,GAAO,GAEXhD,GAAK,EAEL+C,KAAKqsC,KAAK7N,GAAWhiC,SACrBwD,KAAKqsC,KAAK7N,GAAa,YAZ3Bx+B,KAAKqsC,KAAK7N,GAAa,OAiBhC,IAAIgO,iBA0B6B,mBAAtBC,mBAA4D,mBAAjBC,aATrD,SAA0B3e,EAAM9tB,GAC/B,MAAY,YAAT8tB,EACK,IAAI2e,aAAazsC,GACN,UAAT8tB,EACF,IAAI4e,WAAW1sC,GACJ,WAAT8tB,EACF,IAAI0e,kBAAkBxsC,QADvB,GArBR,SAA4B8tB,EAAM9tB,GACjC,IAAqBuG,EAAjBvJ,EAAI,EAAGF,EAAM,GACjB,OAAOgxB,GACN,IAAK,QACL,IAAK,SACJvnB,EAAQ,EACR,MACD,QACCA,EAAQ,IAGV,IAAIvJ,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACxBF,EAAII,KAAKqJ,GAEV,OAAOzJ,GAkBT,SAASgsC,iBAAiB9oC,GACzB,OAAOtE,MAAMJ,MAAM,KAAK,CAACiB,OAAOyD,IAEjC,SAAS2sC,SAAS7e,GAEjB,OAAO4D,SAASkb,gBAAgBrF,MAAOzZ,GAExC,SAAS+e,UAAU/e,GAElB,OAAO4D,SAASgB,cAAc5E,GAE/B,SAASgf,4BACTA,yBAAyBlxC,UAAY,CACpCmxC,mBAAoB,SAASzsC,IACiB,IAA1CP,KAAKitC,kBAAkBlkC,QAAQxI,KAC3BP,KAAKitC,kBAAkB9vC,KAAKoD,GAC5BP,KAAKu9B,UAAUyP,mBAAmBhtC,MACrCA,KAAKktC,aAAc,IAGxBC,yBAA0B,WACtBntC,KAAKotC,MAAO,EACZ,IAAInwC,EAAGgD,EAAMD,KAAKitC,kBAAkBzwC,OACpC,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb+C,KAAKitC,kBAAkBhwC,GAAGowC,WACvBrtC,KAAKitC,kBAAkBhwC,GAAGmwC,OACzBptC,KAAKotC,MAAO,IAIxBE,6BAA8B,SAAS/P,GACnCv9B,KAAKu9B,UAAYA,EACjBv9B,KAAKitC,kBAAoB,GACzBjtC,KAAKotC,MAAO,EACZptC,KAAKktC,aAAc,IAGxB,IAAIK,cAECC,eAAiB,CACdzX,EAAE,cACFT,EAAE,WACFC,EAAE,SACFC,EAAE,UACFC,EAAE,SACFC,EAAE,UACFC,EAAE,cACFC,EAAE,aACFC,EAAE,aACFC,EAAE,aACFc,GAAG,aACH6W,GAAG,YACH/S,GAAG,MACHC,GAAG,aACH+S,GAAG,QACHC,GAAG,cAGH,SAAS9c,GACf,OAAO2c,eAAe3c,IAAS,KApB5B2c,eAoDDI,OAAU,WAEV,IAAIC,EAAO1qC,KAAK2qC,IACZC,EAAO5qC,KAAK6qC,IACZC,EAAO9qC,KAAK+qC,IACZC,EAAOhrC,KAAKiZ,MAEhB,SAASgyB,IAiBL,OAhBApuC,KAAK+8B,MAAM,GAAK,EAChB/8B,KAAK+8B,MAAM,GAAK,EAChB/8B,KAAK+8B,MAAM,GAAK,EAChB/8B,KAAK+8B,MAAM,GAAK,EAChB/8B,KAAK+8B,MAAM,GAAK,EAChB/8B,KAAK+8B,MAAM,GAAK,EAChB/8B,KAAK+8B,MAAM,GAAK,EAChB/8B,KAAK+8B,MAAM,GAAK,EAChB/8B,KAAK+8B,MAAM,GAAK,EAChB/8B,KAAK+8B,MAAM,GAAK,EAChB/8B,KAAK+8B,MAAM,IAAM,EACjB/8B,KAAK+8B,MAAM,IAAM,EACjB/8B,KAAK+8B,MAAM,IAAM,EACjB/8B,KAAK+8B,MAAM,IAAM,EACjB/8B,KAAK+8B,MAAM,IAAM,EACjB/8B,KAAK+8B,MAAM,IAAM,EACV/8B,KAGX,SAASquC,EAAOC,GACZ,GAAa,IAAVA,EACC,OAAOtuC,KAEX,IAAIuuC,EAAOV,EAAKS,GACZE,EAAOT,EAAKO,GAChB,OAAOtuC,KAAKwiC,GAAG+L,GAAOC,EAAO,EAAG,EAAGA,EAAOD,EAAM,EAAG,EAAG,EAAI,EAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAGjF,SAASE,EAAQH,GACb,GAAa,IAAVA,EACC,OAAOtuC,KAEX,IAAIuuC,EAAOV,EAAKS,GACZE,EAAOT,EAAKO,GAChB,OAAOtuC,KAAKwiC,GAAG,EAAG,EAAG,EAAG,EAAG,EAAG+L,GAAOC,EAAM,EAAG,EAAGA,EAAOD,EAAM,EAAG,EAAG,EAAG,EAAG,GAG9E,SAASG,EAAQJ,GACb,GAAa,IAAVA,EACC,OAAOtuC,KAEX,IAAIuuC,EAAOV,EAAKS,GACZE,EAAOT,EAAKO,GAChB,OAAOtuC,KAAKwiC,GAAG+L,EAAO,EAAIC,EAAM,EAAG,EAAG,EAAG,EAAG,GAAIA,EAAO,EAAID,EAAM,EAAG,EAAG,EAAG,EAAG,GAGjF,SAASI,EAAQL,GACb,GAAa,IAAVA,EACC,OAAOtuC,KAEX,IAAIuuC,EAAOV,EAAKS,GACZE,EAAOT,EAAKO,GAChB,OAAOtuC,KAAKwiC,GAAG+L,GAAOC,EAAO,EAAG,EAAGA,EAAOD,EAAM,EAAG,EAAG,EAAI,EAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAGjF,SAASK,EAAMC,EAAGC,GACd,OAAO9uC,KAAKwiC,GAAG,EAAGsM,EAAID,EAAI,EAAG,EAAG,GAGpC,SAASE,EAAKC,EAAIC,GACd,OAAOjvC,KAAK4uC,MAAMX,EAAKe,GAAKf,EAAKgB,IAGrC,SAASC,EAAaF,EAAIV,GACtB,IAAIC,EAAOV,EAAKS,GACZE,EAAOT,EAAKO,GAChB,OAAOtuC,KAAKwiC,GAAG+L,EAAMC,EAAO,EAAG,GAAIA,EAAOD,EAAM,EAAG,EAAG,EAAI,EAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GACxE/L,GAAG,EAAG,EAAI,EAAG,EAAGyL,EAAKe,GAAM,EAAG,EAAG,EAAG,EAAI,EAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAC3DxM,GAAG+L,GAAOC,EAAO,EAAG,EAAGA,EAAOD,EAAM,EAAG,EAAG,EAAI,EAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAI1E,SAASY,EAAMN,EAAIC,EAAIM,GAInB,OAHIA,GAAa,IAAPA,IACNA,EAAK,GAEC,IAAPP,GAAmB,IAAPC,GAAmB,IAAPM,EAChBpvC,KAEJA,KAAKwiC,GAAGqM,EAAI,EAAG,EAAG,EAAG,EAAGC,EAAI,EAAG,EAAG,EAAG,EAAGM,EAAI,EAAG,EAAG,EAAG,EAAG,GAGnE,SAASC,EAAanzC,EAAGC,EAAGgb,EAAGnL,EAAGkH,EAAGoc,EAAGic,EAAGt/B,EAAGhP,EAAG2W,EAAGnX,EAAG4Y,EAAGxX,EAAG+P,EAAGpE,EAAGgiC,GAiB/D,OAhBAxrC,KAAK+8B,MAAM,GAAK7gC,EAChB8D,KAAK+8B,MAAM,GAAK5gC,EAChB6D,KAAK+8B,MAAM,GAAK5lB,EAChBnX,KAAK+8B,MAAM,GAAK/wB,EAChBhM,KAAK+8B,MAAM,GAAK7pB,EAChBlT,KAAK+8B,MAAM,GAAKzN,EAChBtvB,KAAK+8B,MAAM,GAAKwO,EAChBvrC,KAAK+8B,MAAM,GAAK9wB,EAChBjM,KAAK+8B,MAAM,GAAK9/B,EAChB+C,KAAK+8B,MAAM,GAAKnpB,EAChB5T,KAAK+8B,MAAM,IAAMtgC,EACjBuD,KAAK+8B,MAAM,IAAM1nB,EACjBrV,KAAK+8B,MAAM,IAAMl/B,EACjBmC,KAAK+8B,MAAM,IAAMnvB,EACjB5N,KAAK+8B,MAAM,IAAMvzB,EACjBxJ,KAAK+8B,MAAM,IAAMyO,EACVxrC,KAGX,SAASq4B,EAAUiX,EAAIC,EAAIC,GAEvB,OADAA,EAAKA,GAAM,EACD,IAAPF,GAAmB,IAAPC,GAAmB,IAAPC,EAChBxvC,KAAKwiC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE8M,EAAGC,EAAGC,EAAG,GAE7CxvC,KAGX,SAASyvC,EAAUC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAI7nC,GAE3E,IAAI8nC,EAAKzwC,KAAK+8B,MAEd,GAAU,IAAP2S,GAAmB,IAAPC,GAAmB,IAAPC,GAAmB,IAAPC,GAAmB,IAAPC,GAAmB,IAAPC,GAAmB,IAAPC,GAAmB,IAAPC,GAAmB,IAAPC,GAAmB,IAAPC,GAAmB,IAAPC,GAAmB,IAAPC,EASnI,OANII,EAAG,IAAMA,EAAG,IAAMf,EAAKe,EAAG,IAAMH,EAChCG,EAAG,IAAMA,EAAG,IAAMV,EAAKU,EAAG,IAAMF,EAChCE,EAAG,IAAMA,EAAG,IAAML,EAAKK,EAAG,IAAMD,EAChCC,EAAG,IAAMA,EAAG,IAAM9nC,EAEtB3I,KAAK0wC,qBAAsB,EACpB1wC,KAGX,IAAI2wC,EAAKF,EAAG,GACRG,EAAKH,EAAG,GACRI,EAAKJ,EAAG,GACRK,EAAKL,EAAG,GACRM,EAAKN,EAAG,GACRO,EAAKP,EAAG,GACRQ,EAAKR,EAAG,GACRS,EAAKT,EAAG,GACRU,EAAKV,EAAG,GACRW,EAAKX,EAAG,GACRY,EAAKZ,EAAG,IACRa,EAAKb,EAAG,IACRc,EAAKd,EAAG,IACRe,EAAKf,EAAG,IACRgB,EAAKhB,EAAG,IACR/nC,EAAK+nC,EAAG,IA4BZ,OArBAA,EAAG,GAAKE,EAAKjB,EAAKkB,EAAKd,EAAKe,EAAKX,EAAKY,EAAKR,EAC3CG,EAAG,GAAKE,EAAKhB,EAAKiB,EAAKb,EAAKc,EAAKV,EAAKW,EAAKP,EAC3CE,EAAG,GAAKE,EAAKf,EAAKgB,EAAKZ,EAAKa,EAAKT,EAAKU,EAAKN,EAC3CC,EAAG,GAAKE,EAAKd,EAAKe,EAAKX,EAAKY,EAAKR,EAAKS,EAAKnoC,EAE3C8nC,EAAG,GAAKM,EAAKrB,EAAKsB,EAAKlB,EAAKmB,EAAKf,EAAKgB,EAAKZ,EAC3CG,EAAG,GAAKM,EAAKpB,EAAKqB,EAAKjB,EAAKkB,EAAKd,EAAKe,EAAKX,EAC3CE,EAAG,GAAKM,EAAKnB,EAAKoB,EAAKhB,EAAKiB,EAAKb,EAAKc,EAAKV,EAC3CC,EAAG,GAAKM,EAAKlB,EAAKmB,EAAKf,EAAKgB,EAAKZ,EAAKa,EAAKvoC,EAE3C8nC,EAAG,GAAKU,EAAKzB,EAAK0B,EAAKtB,EAAKuB,EAAKnB,EAAKoB,EAAKhB,EAC3CG,EAAG,GAAKU,EAAKxB,EAAKyB,EAAKrB,EAAKsB,EAAKlB,EAAKmB,EAAKf,EAC3CE,EAAG,IAAMU,EAAKvB,EAAKwB,EAAKpB,EAAKqB,EAAKjB,EAAKkB,EAAKd,EAC5CC,EAAG,IAAMU,EAAKtB,EAAKuB,EAAKnB,EAAKoB,EAAKhB,EAAKiB,EAAK3oC,EAE5C8nC,EAAG,IAAMc,EAAK7B,EAAK8B,EAAK1B,EAAK2B,EAAKvB,EAAKxnC,EAAK4nC,EAC5CG,EAAG,IAAMc,EAAK5B,EAAK6B,EAAKzB,EAAK0B,EAAKtB,EAAKznC,EAAK6nC,EAC5CE,EAAG,IAAMc,EAAK3B,EAAK4B,EAAKxB,EAAKyB,EAAKrB,EAAK1nC,EAAK8nC,EAC5CC,EAAG,IAAMc,EAAK1B,EAAK2B,EAAKvB,EAAKwB,EAAKpB,EAAK3nC,EAAKC,EAE5C3I,KAAK0wC,qBAAsB,EACpB1wC,KAGX,SAAS0xC,IAKL,OAJI1xC,KAAK0wC,sBACL1wC,KAAK2xC,YAAgC,IAAlB3xC,KAAK+8B,MAAM,IAA8B,IAAlB/8B,KAAK+8B,MAAM,IAA8B,IAAlB/8B,KAAK+8B,MAAM,IAA8B,IAAlB/8B,KAAK+8B,MAAM,IAA8B,IAAlB/8B,KAAK+8B,MAAM,IAA8B,IAAlB/8B,KAAK+8B,MAAM,IAA8B,IAAlB/8B,KAAK+8B,MAAM,IAA8B,IAAlB/8B,KAAK+8B,MAAM,IAA8B,IAAlB/8B,KAAK+8B,MAAM,IAA8B,IAAlB/8B,KAAK+8B,MAAM,IAA+B,IAAnB/8B,KAAK+8B,MAAM,KAAgC,IAAnB/8B,KAAK+8B,MAAM,KAAgC,IAAnB/8B,KAAK+8B,MAAM,KAAgC,IAAnB/8B,KAAK+8B,MAAM,KAAgC,IAAnB/8B,KAAK+8B,MAAM,KAAgC,IAAnB/8B,KAAK+8B,MAAM,KAC5X/8B,KAAK0wC,qBAAsB,GAExB1wC,KAAK2xC,UAGhB,SAASC,EAAOC,GAEZ,IADA,IAAI50C,EAAI,EACDA,EAAI,IAAI,CACX,GAAG40C,EAAK9U,MAAM9/B,KAAO+C,KAAK+8B,MAAM9/B,GAC5B,OAAO,EAEXA,GAAG,EAEP,OAAO,EAGX,SAASggB,EAAM40B,GACX,IAAI50C,EACJ,IAAIA,EAAE,EAAEA,EAAE,GAAGA,GAAG,EACZ40C,EAAK9U,MAAM9/B,GAAK+C,KAAK+8B,MAAM9/B,GAInC,SAAS60C,EAAe/U,GACpB,IAAI9/B,EACJ,IAAIA,EAAE,EAAEA,EAAE,GAAGA,GAAG,EACZ+C,KAAK+8B,MAAM9/B,GAAK8/B,EAAM9/B,GAI9B,SAAS80C,EAAazoC,EAAGqC,EAAGqmC,GAExB,MAAO,CACH1oC,EAAGA,EAAItJ,KAAK+8B,MAAM,GAAKpxB,EAAI3L,KAAK+8B,MAAM,GAAKiV,EAAIhyC,KAAK+8B,MAAM,GAAK/8B,KAAK+8B,MAAM,IAC1EpxB,EAAGrC,EAAItJ,KAAK+8B,MAAM,GAAKpxB,EAAI3L,KAAK+8B,MAAM,GAAKiV,EAAIhyC,KAAK+8B,MAAM,GAAK/8B,KAAK+8B,MAAM,IAC1EiV,EAAG1oC,EAAItJ,KAAK+8B,MAAM,GAAKpxB,EAAI3L,KAAK+8B,MAAM,GAAKiV,EAAIhyC,KAAK+8B,MAAM,IAAM/8B,KAAK+8B,MAAM,KAOnF,SAASkV,EAAS3oC,EAAGqC,EAAGqmC,GACpB,OAAO1oC,EAAItJ,KAAK+8B,MAAM,GAAKpxB,EAAI3L,KAAK+8B,MAAM,GAAKiV,EAAIhyC,KAAK+8B,MAAM,GAAK/8B,KAAK+8B,MAAM,IAElF,SAASmV,EAAS5oC,EAAGqC,EAAGqmC,GACpB,OAAO1oC,EAAItJ,KAAK+8B,MAAM,GAAKpxB,EAAI3L,KAAK+8B,MAAM,GAAKiV,EAAIhyC,KAAK+8B,MAAM,GAAK/8B,KAAK+8B,MAAM,IAElF,SAASoV,EAAS7oC,EAAGqC,EAAGqmC,GACpB,OAAO1oC,EAAItJ,KAAK+8B,MAAM,GAAKpxB,EAAI3L,KAAK+8B,MAAM,GAAKiV,EAAIhyC,KAAK+8B,MAAM,IAAM/8B,KAAK+8B,MAAM,IAGnF,SAASqV,IACL,IAAIC,EAAcryC,KAAK+8B,MAAM,GAAK/8B,KAAK+8B,MAAM,GAAK/8B,KAAK+8B,MAAM,GAAK/8B,KAAK+8B,MAAM,GACzE7gC,EAAI8D,KAAK+8B,MAAM,GAAGsV,EAClBl2C,GAAM6D,KAAK+8B,MAAM,GAAGsV,EACpBl7B,GAAMnX,KAAK+8B,MAAM,GAAGsV,EACpBrmC,EAAIhM,KAAK+8B,MAAM,GAAGsV,EAClBn/B,GAAKlT,KAAK+8B,MAAM,GAAK/8B,KAAK+8B,MAAM,IAAM/8B,KAAK+8B,MAAM,GAAK/8B,KAAK+8B,MAAM,KAAKsV,EACtE/iB,IAAOtvB,KAAK+8B,MAAM,GAAK/8B,KAAK+8B,MAAM,IAAM/8B,KAAK+8B,MAAM,GAAK/8B,KAAK+8B,MAAM,KAAKsV,EACxEC,EAAgB,IAAI1E,OAOxB,OANA0E,EAAcvV,MAAM,GAAK7gC,EACzBo2C,EAAcvV,MAAM,GAAK5gC,EACzBm2C,EAAcvV,MAAM,GAAK5lB,EACzBm7B,EAAcvV,MAAM,GAAK/wB,EACzBsmC,EAAcvV,MAAM,IAAM7pB,EAC1Bo/B,EAAcvV,MAAM,IAAMzN,EACnBgjB,EAGX,SAASC,EAAaC,GAElB,OADoBxyC,KAAKoyC,mBACJK,kBAAkBD,EAAG,GAAIA,EAAG,GAAIA,EAAG,IAAM,GAGlE,SAASE,EAAcC,GACnB,IAAI11C,EAAGgD,EAAM0yC,EAAIn2C,OAAQo2C,EAAS,GAClC,IAAI31C,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb21C,EAAO31C,GAAKs1C,EAAaI,EAAI11C,IAEjC,OAAO21C,EAGX,SAASC,EAAoBC,EAAKC,EAAKC,GACnC,IAAIj2C,EAAMyvC,iBAAiB,UAAW,GACtC,GAAGxsC,KAAK0xC,aACJ30C,EAAI,GAAK+1C,EAAI,GACb/1C,EAAI,GAAK+1C,EAAI,GACb/1C,EAAI,GAAKg2C,EAAI,GACbh2C,EAAI,GAAKg2C,EAAI,GACbh2C,EAAI,GAAKi2C,EAAI,GACbj2C,EAAI,GAAKi2C,EAAI,OACV,CACH,IAAIC,EAAKjzC,KAAK+8B,MAAM,GAAIr0B,EAAK1I,KAAK+8B,MAAM,GAAIl0B,EAAK7I,KAAK+8B,MAAM,GAAImW,EAAKlzC,KAAK+8B,MAAM,GAAIoW,EAAMnzC,KAAK+8B,MAAM,IAAKqW,EAAMpzC,KAAK+8B,MAAM,IAC3HhgC,EAAI,GAAK+1C,EAAI,GAAKG,EAAKH,EAAI,GAAKjqC,EAAKsqC,EACrCp2C,EAAI,GAAK+1C,EAAI,GAAKpqC,EAAKoqC,EAAI,GAAKI,EAAKE,EACrCr2C,EAAI,GAAKg2C,EAAI,GAAKE,EAAKF,EAAI,GAAKlqC,EAAKsqC,EACrCp2C,EAAI,GAAKg2C,EAAI,GAAKrqC,EAAKqqC,EAAI,GAAKG,EAAKE,EACrCr2C,EAAI,GAAKi2C,EAAI,GAAKC,EAAKD,EAAI,GAAKnqC,EAAKsqC,EACrCp2C,EAAI,GAAKi2C,EAAI,GAAKtqC,EAAKsqC,EAAI,GAAKE,EAAKE,EAEzC,OAAOr2C,EAGX,SAAS01C,EAAkBnpC,EAAEqC,EAAEqmC,GAW3B,OATGhyC,KAAK0xC,aACE,CAACpoC,EAAEqC,EAAEqmC,GAEL,CACF1oC,EAAItJ,KAAK+8B,MAAM,GAAKpxB,EAAI3L,KAAK+8B,MAAM,GAAKiV,EAAIhyC,KAAK+8B,MAAM,GAAK/8B,KAAK+8B,MAAM,IACvEzzB,EAAItJ,KAAK+8B,MAAM,GAAKpxB,EAAI3L,KAAK+8B,MAAM,GAAKiV,EAAIhyC,KAAK+8B,MAAM,GAAK/8B,KAAK+8B,MAAM,IACvEzzB,EAAItJ,KAAK+8B,MAAM,GAAKpxB,EAAI3L,KAAK+8B,MAAM,GAAKiV,EAAIhyC,KAAK+8B,MAAM,IAAM/8B,KAAK+8B,MAAM,KAMpF,SAASsW,EAAwB/pC,EAAGqC,GAChC,GAAG3L,KAAK0xC,aACJ,OAAOpoC,EAAI,IAAMqC,EAErB,IAAI8kC,EAAKzwC,KAAK+8B,MACd,OAAO55B,KAAKiZ,MAAyC,KAAlC9S,EAAImnC,EAAG,GAAK9kC,EAAI8kC,EAAG,GAAKA,EAAG,MAAc,IAAI,IAAKttC,KAAKiZ,MAAyC,KAAlC9S,EAAImnC,EAAG,GAAK9kC,EAAI8kC,EAAG,GAAKA,EAAG,MAAc,IAG9H,SAAS6C,IASL,IAJA,IAAIr2C,EAAI,EACJ8/B,EAAQ/8B,KAAK+8B,MACbwW,EAAW,YAETt2C,EAAE,IACJs2C,GAAYpF,EAFR,IAEapR,EAAM9/B,IAFnB,IAGJs2C,GAAkB,KAANt2C,EAAW,IAAI,IAC3BA,GAAK,EAET,OAAOs2C,EAGX,SAASC,EAAoBhzC,GAEzB,OAAIA,EAAM,MAAYA,EAAM,GAAOA,GAAO,MAAYA,EAAM,EACjD2tC,EAFH,IAEQ3tC,GAFR,IAIDA,EAGX,SAASizC,IAKL,IAAI1W,EAAQ/8B,KAAK+8B,MAOjB,MAAO,UANEyW,EAAoBzW,EAAM,IAMX,IALfyW,EAAoBzW,EAAM,IAKA,IAJ1ByW,EAAoBzW,EAAM,IAIW,IAHrCyW,EAAoBzW,EAAM,IAGsB,IAFhDyW,EAAoBzW,EAAM,KAEiC,IAD3DyW,EAAoBzW,EAAM,KAC4C,IAGnF,OAAO,WACH/8B,KAAKouC,MAAQA,EACbpuC,KAAKquC,OAASA,EACdruC,KAAKyuC,QAAUA,EACfzuC,KAAK0uC,QAAUA,EACf1uC,KAAK2uC,QAAUA,EACf3uC,KAAK+uC,KAAOA,EACZ/uC,KAAKkvC,aAAeA,EACpBlvC,KAAK4uC,MAAQA,EACb5uC,KAAKmvC,MAAQA,EACbnvC,KAAKqvC,aAAeA,EACpBrvC,KAAKq4B,UAAYA,EACjBr4B,KAAKyvC,UAAYA,EACjBzvC,KAAK+xC,aAAeA,EACpB/xC,KAAKiyC,SAAWA,EAChBjyC,KAAKkyC,SAAWA,EAChBlyC,KAAKmyC,SAAWA,EAChBnyC,KAAKyyC,kBAAoBA,EACzBzyC,KAAK6yC,oBAAsBA,EAC3B7yC,KAAKqzC,wBAA0BA,EAC/BrzC,KAAKszC,MAAQA,EACbtzC,KAAKyzC,QAAUA,EACfzzC,KAAKid,MAAQA,EACbjd,KAAK8xC,eAAiBA,EACtB9xC,KAAK4xC,OAASA,EACd5xC,KAAK0yC,cAAgBA,EACrB1yC,KAAKuyC,aAAeA,EACpBvyC,KAAKoyC,iBAAmBA,EACxBpyC,KAAKwiC,GAAKxiC,KAAKyvC,UACfzvC,KAAK0xC,WAAaA,EAClB1xC,KAAK2xC,WAAY,EACjB3xC,KAAK0wC,qBAAsB,EAE3B1wC,KAAK+8B,MAAQyP,iBAAiB,UAAW,IACzCxsC,KAAKouC,SA/XA,IA2Zb,SAAWsF,EAAMC,GAIb,IAAIrmB,EAASttB,KAKT4zC,EAAaD,EAAKrwC,IAJV,IACC,GAITuwC,EAAeF,EAAKrwC,IAAI,EAHf,IAITpF,EAA0B,EAAf21C,EAiFf,SAASC,EAAKjyC,GACV,IAAI9B,EAAGg0C,EAASlyC,EAAIrF,OAChBw3C,EAAKh0C,KAAM/C,EAAI,EAAG2W,EAAIogC,EAAG/2C,EAAI+2C,EAAGpgC,EAAI,EAAG9K,EAAIkrC,EAAG1lB,EAAI,GAMtD,IAHKylB,IAAUlyC,EAAM,CAACkyC,MAGf92C,EA/FC,KAgGJ6L,EAAE7L,GAAKA,IAEX,IAAKA,EAAI,EAAGA,EAlGJ,IAkGeA,IACnB6L,EAAE7L,GAAK6L,EAAE8K,EA5FNirB,IA4FkBjrB,EAAI/R,EAAI5E,EAAI82C,IAAWh0C,EAAI+I,EAAE7L,KAClD6L,EAAE8K,GAAK7T,EAIXi0C,EAAGzI,EAAI,SAAS0I,GAIZ,IAFA,IAAIl0C,EAAGurC,EAAI,EACPruC,EAAI+2C,EAAG/2C,EAAG2W,EAAIogC,EAAGpgC,EAAG9K,EAAIkrC,EAAG1lB,EACxB2lB,KACHl0C,EAAI+I,EAAE7L,EAtGP4hC,IAsGmB5hC,EAAI,GACtBquC,EA9GA,IA8GIA,EAAYxiC,EAvGjB+1B,KAuG4B/1B,EAAE7L,GAAK6L,EAAE8K,EAvGrCirB,IAuGiDjrB,EAAI7T,KAAQ+I,EAAE8K,GAAK7T,IAGvE,OADAi0C,EAAG/2C,EAAIA,EAAG+2C,EAAGpgC,EAAIA,EACV03B,GAWf,SAAS4I,EAAK5kB,EAAGvvB,GAIb,OAHAA,EAAE9C,EAAIqyB,EAAEryB,EACR8C,EAAE6T,EAAI0b,EAAE1b,EACR7T,EAAEuuB,EAAIgB,EAAEhB,EAAEvsB,QACHhC,EAsBX,SAASo0C,EAAOC,EAAMvyC,GAElB,IADA,IAA4BwyC,EAAxBC,EAAaF,EAAO,GAAWxgC,EAAI,EAChCA,EAAI0gC,EAAW93C,QAClBqF,EAlJGg9B,IAkJQjrB,GAlJRirB,KAmJUwV,GAAyB,GAAhBxyC,EAnJnBg9B,IAmJ8BjrB,IAAW0gC,EAAW1R,WAAWhvB,KAEtE,OAAO2gC,EAAS1yC,GAyBpB,SAAS0yC,EAASr4C,GACd,OAAOyiB,OAAO61B,aAAaj5C,MAAM,EAAGW,GA3GxCy3C,EAAqB,WA7DrB,SAAoBS,EAAMpX,EAAS/4B,GAC/B,IAAIpC,EAAM,GAIN4yC,EAAYN,EAoHpB,SAASO,EAAQp4C,EAAKq4C,GAClB,IAAqCp0C,EAAjC+V,EAAS,GAAIs+B,SAAct4C,EAC/B,GAAIq4C,GAAgB,UAAPC,EACT,IAAKr0C,KAAQjE,EACT,IAAMga,EAAOnZ,KAAKu3C,EAAQp4C,EAAIiE,GAAOo0C,EAAQ,IAAO,MAAOzhC,IAGnE,OAAQoD,EAAO9Z,OAAS8Z,EAAgB,UAAPs+B,EAAkBt4C,EAAMA,EAAM,KA3HxCo4C,EAHvB1X,GAAuB,IAAZA,EAAoB,CAAE6X,SAAS,GAAU7X,GAAW,IAInD6X,QAAU,CAACT,EAAMG,EAASb,IACpB,OAATU,EA+Ib,WACI,SA7JAU,EA+JI,IAAIjtB,EAAM,IAAIktB,WAvKV,KAyKJ,OADCznB,EAAO0nB,QAAU1nB,EAAO2nB,UAAUC,gBAAgBrtB,GAC5C0sB,EAAS1sB,GAClB,MAAO3U,GACL,IAAIiiC,EAAU7nB,EAAOwa,UACjBsN,EAAUD,GAAWA,EAAQC,QACjC,MAAO,EAAE,IAAIv4C,KAAQywB,EAAQ8nB,EAAS9nB,EAAO+nB,OAAQd,EAASb,KAxJxC4B,GAAalB,EAAM,GAAIvyC,GAG7C0zC,EAAO,IAAIzB,EAAKjyC,GAIhB2zC,EAAO,WAIP,IAHA,IAAI5nC,EAAI2nC,EAAKhK,EA5BR,GA6BDv/B,EAAI4nC,EACJtqC,EAAI,EACDsE,EAAIimC,GACPjmC,EAjCA,KAiCKA,EAAItE,GACT0C,GAlCA,IAmCA1C,EAAIisC,EAAKhK,EAAE,GAEf,KAAO39B,GAAK1P,GACR0P,GAAK,EACL5B,GAAK,EACL1C,KAAO,EAEX,OAAQsE,EAAItE,GAAK0C,GAWrB,OARAwpC,EAAKC,MAAQ,WAAa,OAAmB,EAAZF,EAAKhK,EAAE,IACxCiK,EAAKE,MAAQ,WAAa,OAAOH,EAAKhK,EAAE,GAAK,YAC7CiK,EAAKG,OAASH,EAGdrB,EAAOI,EAASgB,EAAKjnB,GAAIolB,IAGjB1W,EAAQ4Y,MAAQ3xC,GACxB,SAASuxC,EAAMpB,EAAMyB,EAAcC,GAU/B,OATIA,IAEIA,EAAMxnB,GAAK4lB,EAAK4B,EAAOP,GAE3BC,EAAKM,MAAQ,WAAa,OAAO5B,EAAKqB,EAAM,MAK5CM,GAAgBlC,EAAY,OAAI6B,EAAapB,GAIrCoB,IAEZA,EACAf,EACA,WAAYzX,EAAUA,EAAQ1P,OAAUttB,MAAQ2zC,EAChD3W,EAAQ8Y,QAuHhB3B,EAAOR,EAAKjjB,SAAUgjB,GArM1B,CA8MI,GACA/K,QAEJ,IAAIoN,cAAiB,WAYb,IAAIC,EAAK,CACb,gBAGA,SAAyB95C,EAAEC,EAAEgb,EAAEnL,EAAEiqC,GAC7B,IAAI7f,EAAM6f,IAAO,OAAS/5C,EAAE,IAAIC,EAAE,IAAIgb,EAAE,IAAInL,GAAGxH,QAAQ,MAAO,KAC9D,GAAG0xC,EAAQ9f,GACP,OAAO8f,EAAQ9f,GAEnB,IAAI+f,EAAY,IAAIC,EAAa,CAACl6C,EAAEC,EAAEgb,EAAEnL,IAExC,OADAkqC,EAAQ9f,GAAO+f,EACRA,IATPD,EAAU,GAad,IAQIG,EAAgD,mBAAjB3J,aAEnC,SAAShM,EAAG4V,EAAKC,GAAO,OAAO,EAAM,EAAMA,EAAM,EAAMD,EACvD,SAAS5nB,EAAG4nB,EAAKC,GAAO,OAAO,EAAMA,EAAM,EAAMD,EACjD,SAASxnB,EAAGwnB,GAAY,OAAO,EAAMA,EAGrC,SAASE,EAAYC,EAAIH,EAAKC,GAC1B,QAAS7V,EAAE4V,EAAKC,GAAKE,EAAK/nB,EAAE4nB,EAAKC,IAAME,EAAK3nB,EAAEwnB,IAAMG,EAIxD,SAASC,EAAUD,EAAIH,EAAKC,GACxB,OAAO,EAAM7V,EAAE4V,EAAKC,GAAKE,EAAGA,EAAK,EAAM/nB,EAAE4nB,EAAKC,GAAOE,EAAK3nB,EAAEwnB,GA8BhE,SAASF,EAAcO,GACnB32C,KAAKywC,GAAKkG,EACV32C,KAAK42C,eAAiBP,EAAwB,IAAI3J,aAhD/B,IAgDgE,IAAI/wC,MAhDpE,IAiDnBqE,KAAK62C,cAAe,EAEpB72C,KAAK6G,IAAM7G,KAAK6G,IAAIylC,KAAKtsC,MAsE7B,OAnEAo2C,EAAav6C,UAAY,CAErBgL,IAAK,SAAUyC,GACX,IAAIwtC,EAAM92C,KAAKywC,GAAG,GACdsG,EAAM/2C,KAAKywC,GAAG,GACduG,EAAMh3C,KAAKywC,GAAG,GACdwG,EAAMj3C,KAAKywC,GAAG,GAElB,OADKzwC,KAAK62C,cAAc72C,KAAKk3C,cACzBJ,IAAQC,GAAOC,IAAQC,EAAY3tC,EAE7B,IAANA,EAAgB,EACV,IAANA,EAAgB,EACbktC,EAAWx2C,KAAKm3C,UAAU7tC,GAAIytC,EAAKE,IAK9CC,YAAa,WACT,IAAIJ,EAAM92C,KAAKywC,GAAG,GACdsG,EAAM/2C,KAAKywC,GAAG,GACduG,EAAMh3C,KAAKywC,GAAG,GACdwG,EAAMj3C,KAAKywC,GAAG,GAClBzwC,KAAK62C,cAAe,EAChBC,IAAQC,GAAOC,IAAQC,GACvBj3C,KAAKo3C,qBAGbA,kBAAmB,WAGf,IAFA,IAAIN,EAAM92C,KAAKywC,GAAG,GACduG,EAAMh3C,KAAKywC,GAAG,GACTxzC,EAAI,EAAGA,EApFD,KAoFyBA,EACpC+C,KAAK42C,eAAe35C,GAAKu5C,EApFf,GAoF0Bv5C,EAAqB65C,EAAKE,IAOtEG,UAAW,SAAUE,GASjB,IARA,IAAIP,EAAM92C,KAAKywC,GAAG,GACduG,EAAMh3C,KAAKywC,GAAG,GACd6G,EAAgBt3C,KAAK42C,eAErBW,EAAgB,EAChBC,EAAgB,EACHC,KAEVD,GAAgCF,EAAcE,IAAkBH,IAAMG,EACzED,GArGU,GA0Gd,IACIG,EAAYH,EA3GF,KA0GFF,EAAKC,IAHfE,KAGgDF,EAAcE,EAAc,GAAKF,EAAcE,KAG7FG,EAAejB,EAASgB,EAAWZ,EAAKE,GAC5C,OAAIW,GAnHW,KAqCvB,SAA+BN,EAAIO,EAASd,EAAKE,GAC7C,IAAK,IAAI/5C,EAAI,EAAGA,EAvCI,IAuCqBA,EAAG,CACxC,IAAI46C,EAAenB,EAASkB,EAASd,EAAKE,GAC1C,GAAqB,IAAjBa,EAAsB,OAAOD,EAEjCA,IADepB,EAAWoB,EAASd,EAAKE,GAAOK,GACzBQ,EAE1B,OAAOD,EAwEQE,CAAqBT,EAAIK,EAAWZ,EAAKE,GACxB,IAAjBW,EACAD,EA/FnB,SAA0BL,EAAIU,EAAIC,EAAIlB,EAAKE,GACvC,IAAIiB,EAAUC,EAAUj7C,EAAI,EAC5B,IAEIg7C,EAAWzB,EADX0B,EAAWH,GAAMC,EAAKD,GAAM,EACIjB,EAAKE,GAAOK,GAC7B,EACXW,EAAKE,EAELH,EAAKG,QAEJ/0C,KAAKC,IAAI60C,GAhCM,QAgCiCh7C,EA/B5B,IAgC7B,OAAOi7C,EAsFQC,CAAgBd,EAAIE,EAAeA,EAnHhC,GAmHiET,EAAKE,KAKrFhB,EAzJS,GAoLpB,SAASoC,gBAAgBC,EAAQC,GAC7B,IAAIr7C,EAAyBs7C,EAAtBt4C,EAAMo4C,EAAQ77C,OACrB,IAAKS,EAAI,EAAEA,EAAIgD,EAAIhD,GAAK,EAEpB,IAAK,IAAIu7C,KADTD,EAAkBF,EAAQp7C,GAAGpB,UAErB08C,EAAgBn8C,eAAeo8C,KAAOF,EAAYz8C,UAAU28C,GAAQD,EAAgBC,IAKpG,SAASC,cAAc7oB,EAAQrvB,GAC3B,OAAO3E,OAAOu5B,yBAAyBvF,EAAQrvB,GAGnD,SAASm4C,oBAAoB78C,GAC5B,SAAS88C,KAET,OADAA,EAAc98C,UAAYA,EACnB88C,EAER,SAASC,cAGMz1C,KAEX,SAAS01C,EAAcC,EAAGC,EAAIC,EAAGC,EAAIC,EAAGC,GACpC,IAAIC,EAAQN,EAAGG,EAAOF,EAAGG,EAAOF,EAAGG,EAAOD,EAAGD,EAAOE,EAAGL,EAAOE,EAAGD,EACjE,OAAOK,GAAQ,MAASA,EAAO,KAyBnC,IAAIC,EAEO,SAASvG,EAAIC,EAAIC,EAAIsG,GACxB,IACI78C,EACAQ,EAAGgD,EACHs5C,EAAQC,EACRC,EAJAC,EAAgB1Q,qBAGH2Q,EAAc,EAE3BlX,EAAQ,GAAGmX,EAAY,GACvBC,EAAaC,mBAAmBC,aAEpC,IADA95C,EAAM+yC,EAAIx2C,OACNC,EAAE,EAAEA,EAAEi9C,EAAcj9C,GAAG,EAAE,CAGzB,IAFA+8C,EAAO/8C,GAAGi9C,EAAc,GACxBD,EAAa,EACTx8C,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbs8C,EAAUpR,OAAO,EAAEqR,EAAK,GAAG1G,EAAI71C,GAAG,EAAEkrC,OAAO,EAAEqR,EAAK,GAAGA,EAAKxG,EAAI/1C,GAAG,GAAG,EAAEu8C,GAAMrR,OAAOqR,EAAK,GAAGF,EAAIr8C,GAAGkrC,OAAOqR,EAAK,GAAGzG,EAAI91C,GACrHwlC,EAAMxlC,GAAKs8C,EACS,OAAjBK,EAAU38C,KACTw8C,GAActR,OAAO1F,EAAMxlC,GAAK28C,EAAU38C,GAAG,IAEjD28C,EAAU38C,GAAKwlC,EAAMxlC,GAEtBw8C,IAECE,GADAF,EAAarR,QAAQqR,IAGzBI,EAAWG,SAASv9C,GAAK+8C,EACzBK,EAAWI,QAAQx9C,GAAKk9C,EAG5B,OADAE,EAAWF,YAAcA,EAClBE,GAyBf,SAASK,EAAW19C,GAChBwD,KAAKm6C,cAAgB,EACrBn6C,KAAK22C,OAAS,IAAIh7C,MAAMa,GAG5B,SAAS49C,EAAUC,EAAQ5X,GACvBziC,KAAKs6C,cAAgBD,EACrBr6C,KAAKyiC,MAAQA,EAGjB,IAEQ8X,EAFJC,GAEID,EAAa,GAEV,SAAUzH,EAAKC,EAAKC,EAAKsG,GAC5B,IAAImB,GAAc3H,EAAI,GAAG,IAAIA,EAAI,GAAG,IAAIC,EAAI,GAAG,IAAIA,EAAI,GAAG,IAAIC,EAAI,GAAG,IAAIA,EAAI,GAAG,IAAIsG,EAAI,GAAG,IAAIA,EAAI,IAAI90C,QAAQ,MAAO,KACtH,IAAI+1C,EAAWE,GAAY,CACvB,IACIh+C,EAAGQ,EAAGgD,EACNs5C,EAAQC,EACRC,EACAhX,EAJAiX,EAAgB1Q,qBAEH2Q,EAAc,EAErBC,EAAY,KACH,IAAf9G,EAAIt2C,SAAiBs2C,EAAI,IAAMC,EAAI,IAAMD,EAAI,IAAMC,EAAI,KAAO8F,EAAc/F,EAAI,GAAGA,EAAI,GAAGC,EAAI,GAAGA,EAAI,GAAGD,EAAI,GAAGE,EAAI,GAAGF,EAAI,GAAGE,EAAI,KAAO6F,EAAc/F,EAAI,GAAGA,EAAI,GAAGC,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAGuG,EAAI,GAAGvG,EAAI,GAAGuG,EAAI,MAC3MI,EAAgB,GAEpB,IAAIgB,EAAa,IAAIR,EAAWR,GAEhC,IADAz5C,EAAM+yC,EAAIx2C,OACLC,EAAI,EAAGA,EAAIi9C,EAAej9C,GAAK,EAAG,CAInC,IAHAgmC,EAAQsG,iBAAiB9oC,GACzBu5C,EAAO/8C,GAAKi9C,EAAgB,GAC5BD,EAAa,EACRx8C,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACtBs8C,EAAUpR,OAAO,EAAEqR,EAAK,GAAG1G,EAAI71C,GAAG,EAAEkrC,OAAO,EAAEqR,EAAK,GAAGA,GAAM1G,EAAI71C,GAAK+1C,EAAI/1C,IAAI,GAAG,EAAEu8C,GAAMrR,OAAOqR,EAAK,IAAIzG,EAAI91C,GAAKq8C,EAAIr8C,IAAIkrC,OAAOqR,EAAK,GAAGzG,EAAI91C,GAC3IwlC,EAAMxlC,GAAKs8C,EACM,OAAdK,IACCH,GAActR,OAAO1F,EAAMxlC,GAAK28C,EAAU38C,GAAG,IAIrD08C,GADAF,EAAarR,QAAQqR,GAErBiB,EAAW/D,OAAOl6C,GAAK,IAAI29C,EAAUX,EAAYhX,GACjDmX,EAAYnX,EAEhBiY,EAAWP,cAAgBR,EAC3BY,EAAWE,GAAcC,EAE7B,OAAOH,EAAWE,KAI1B,SAASE,EAAgBnB,EAAKkB,GAC1B,IAAIV,EAAWU,EAAWV,SACtBC,EAAUS,EAAWT,QACrBh6C,EAAM+5C,EAASx9C,OACfo+C,EAAUrS,UAAUtoC,EAAI,GAAGu5C,GAC3BqB,EAAYrB,EAAKkB,EAAWf,YAC5BmB,EAAQ,EACZ,GAAGF,IAAY36C,EAAM,GAAiB,IAAZ26C,GAAiBC,IAAcZ,EAAQW,GAC7D,OAAOZ,EAASY,GAIhB,IAFA,IAAIj1B,EAAMs0B,EAAQW,GAAWC,GAAa,EAAI,EAC1CxR,GAAO,EACLA,GAOF,GANG4Q,EAAQW,IAAYC,GAAaZ,EAAQW,EAAQ,GAAKC,GACrDC,GAASD,EAAYZ,EAAQW,KAAaX,EAAQW,EAAQ,GAAKX,EAAQW,IACvEvR,GAAO,GAEPuR,GAAWj1B,EAEZi1B,EAAU,GAAKA,GAAW36C,EAAM,EAAE,CAEjC,GAAG26C,IAAY36C,EAAM,EACjB,OAAO+5C,EAASY,GAEpBvR,GAAO,EAGf,OAAO2Q,EAASY,IAAYZ,EAASY,EAAQ,GAAKZ,EAASY,IAAUE,EAiB7E,IAAIC,EAAwBvO,iBAAiB,UAAW,GAwCxD,MAAO,CACHwO,kBA5JJ,SAA2BC,GACvB,IAKIh+C,EALAi+C,EAAiBC,qBAAqBpB,aACtCqB,EAASH,EAAU9jC,EACnBkkC,EAAQJ,EAAU5P,EAClBiQ,EAAQL,EAAUzxC,EAClB+xC,EAAQN,EAAUh+C,EACfgD,EAAMg7C,EAAUO,QACnBvB,EAAUiB,EAAejB,QACzBwB,EAAc,EAClB,IAAIx+C,EAAE,EAAEA,EAAEgD,EAAI,EAAEhD,GAAG,EACfg9C,EAAQh9C,GAAKo8C,EAAgBgC,EAAMp+C,GAAGo+C,EAAMp+C,EAAE,GAAGq+C,EAAMr+C,GAAGs+C,EAAMt+C,EAAE,IAClEw+C,GAAexB,EAAQh9C,GAAG08C,YAO9B,OALGyB,GAAUn7C,IACTg6C,EAAQh9C,GAAKo8C,EAAgBgC,EAAMp+C,GAAGo+C,EAAM,GAAGC,EAAMr+C,GAAGs+C,EAAM,IAC9DE,GAAexB,EAAQh9C,GAAG08C,aAE9BuB,EAAeO,YAAcA,EACtBP,GA2IPQ,cAxCJ,SAAuB5I,EAAIC,EAAIC,EAAIsG,EAAIqC,EAAUC,EAASlB,GAGtD,IAGIz9C,EAHA4+C,EAAKlB,EADTgB,EAAYA,EAAY,EAAI,EAAIA,EAAY,EAAI,EAAIA,EACjBjB,GAE/BoB,EAAKnB,EADTiB,EAAUA,EAAU,EAAI,EAAIA,EACKlB,GAC1Bz6C,EAAM6yC,EAAIt2C,OACbu/C,EAAK,EAAIF,EACTG,EAAK,EAAIF,EACTG,EAASF,EAAGA,EAAGA,EACfG,EAAWL,EAAGE,EAAGA,EAAG,EACpBI,EAAWN,EAAGA,EAAGE,EAAG,EACpBK,EAASP,EAAGA,EAAGA,EAEfQ,EAASN,EAAGA,EAAGC,EACfM,EAAWT,EAAGE,EAAGC,EAAKD,EAAGF,EAAGG,EAAKD,EAAGA,EAAGD,EACvCS,EAAWV,EAAGA,EAAGG,EAAKD,EAAGF,EAAGC,EAAKD,EAAGE,EAAGD,EACvCU,EAASX,EAAGA,EAAGC,EAEfW,EAASV,EAAGC,EAAGA,EACfU,EAAWb,EAAGG,EAAGA,EAAKD,EAAGD,EAAGE,EAAKD,EAAGC,EAAGF,EACvCa,EAAWd,EAAGC,EAAGE,EAAKD,EAAGD,EAAGA,EAAKD,EAAGG,EAAGF,EACvCc,EAASf,EAAGC,EAAGA,EAEfe,EAASb,EAAGA,EAAGA,EACfc,EAAWhB,EAAGE,EAAGA,EAAKA,EAAGF,EAAGE,EAAKA,EAAGA,EAAGF,EACvCiB,EAAWjB,EAAGA,EAAGE,EAAKA,EAAGF,EAAGA,EAAKA,EAAGE,EAAGF,EACvCkB,EAASlB,EAAGA,EAAGA,EACnB,IAAI7+C,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb89C,EAA0B,EAAJ99C,GAASkG,KAAKiZ,MAAoF,KAA7E6/B,EAASnJ,EAAI71C,GAAKi/C,EAAWlJ,EAAI/1C,GAAKk/C,EAAW7C,EAAIr8C,GAAKm/C,EAASrJ,EAAI91C,KAAc,IAChI89C,EAA0B,EAAJ99C,EAAQ,GAAKkG,KAAKiZ,MAAoF,KAA7EigC,EAASvJ,EAAI71C,GAAKq/C,EAAWtJ,EAAI/1C,GAAKs/C,EAAWjD,EAAIr8C,GAAKu/C,EAASzJ,EAAI91C,KAAc,IACpI89C,EAA0B,EAAJ99C,EAAQ,GAAKkG,KAAKiZ,MAAoF,KAA7EqgC,EAAS3J,EAAI71C,GAAKy/C,EAAW1J,EAAI/1C,GAAK0/C,EAAWrD,EAAIr8C,GAAK2/C,EAAS7J,EAAI91C,KAAc,IACpI89C,EAA0B,EAAJ99C,EAAQ,GAAKkG,KAAKiZ,MAAoF,KAA7EygC,EAAS/J,EAAI71C,GAAK6/C,EAAW9J,EAAI/1C,GAAK8/C,EAAWzD,EAAIr8C,GAAK+/C,EAASjK,EAAI91C,KAAc,IAGxI,OAAO89C,GAMPkC,kBAxDJ,SAA2BnK,EAAKC,EAAKC,EAAKsG,EAAK4D,EAASxC,GACpD,IAAIoB,EAAKnB,EAAgBuC,EAAQxC,GAE7BsB,EAAK,EAAIF,EAGb,MAAO,CAFG34C,KAAKiZ,MAAkI,KAA3H4/B,EAAGA,EAAGA,EAAIlJ,EAAI,IAAMgJ,EAAGE,EAAGA,EAAKA,EAAGF,EAAGE,EAAKA,EAAGA,EAAGF,GAAK9I,EAAI,IAAM8I,EAAGA,EAAGE,EAAKA,EAAGF,EAAGA,EAAKA,EAAGE,EAAGF,GAAIxC,EAAI,GAAKwC,EAAGA,EAAGA,EAAI/I,EAAI,KAAa,IAC/I5vC,KAAKiZ,MAAkI,KAA3H4/B,EAAGA,EAAGA,EAAIlJ,EAAI,IAAMgJ,EAAGE,EAAGA,EAAKA,EAAGF,EAAGE,EAAKA,EAAGA,EAAGF,GAAK9I,EAAI,IAAM8I,EAAGA,EAAGE,EAAKA,EAAGF,EAAGA,EAAKA,EAAGE,EAAGF,GAAIxC,EAAI,GAAKwC,EAAGA,EAAGA,EAAI/I,EAAI,KAAa,MAoDzJyH,gBAAkBA,EAClB3B,cAAgBA,EAChBsE,cAzNJ,SAAuBrE,EAAGC,EAAGqE,EAAIpE,EAAGC,EAAGoE,EAAInE,EAAGC,EAAGmE,GAC7C,GAAU,IAAPF,GAAmB,IAAPC,GAAmB,IAAPC,EACvB,OAAOzE,EAAcC,EAAGC,EAAIC,EAAGC,EAAIC,EAAGC,GAE1C,IAGIoE,EAHAC,EAAQr6C,KAAKklC,KAAKllC,KAAKG,IAAI01C,EAAKF,EAAI,GAAK31C,KAAKG,IAAI21C,EAAKF,EAAI,GAAK51C,KAAKG,IAAI+5C,EAAKD,EAAI,IAClFK,EAAQt6C,KAAKklC,KAAKllC,KAAKG,IAAI41C,EAAKJ,EAAI,GAAK31C,KAAKG,IAAI61C,EAAKJ,EAAI,GAAK51C,KAAKG,IAAIg6C,EAAKF,EAAI,IAClFM,EAAQv6C,KAAKklC,KAAKllC,KAAKG,IAAI41C,EAAKF,EAAI,GAAK71C,KAAKG,IAAI61C,EAAKF,EAAI,GAAK91C,KAAKG,IAAIg6C,EAAKD,EAAI,IAatF,OATQE,EAFLC,EAAQC,EACJD,EAAQE,EACIF,EAAQC,EAAQC,EAEhBA,EAAQD,EAAQD,EAEzBE,EAAQD,EACHC,EAAQD,EAAQD,EAEhBC,EAAQD,EAAQE,IAEZ,MAAUH,EAAW,QAxE/C,WAGG,IAFA,IAAII,EAAW,EACXC,EAAU,CAAC,KAAM,MAAO,SAAU,KAC9Bt0C,EAAI,EAAGA,EAAIs0C,EAAQphD,SAAW+wB,OAAOswB,wBAAyBv0C,EAClEikB,OAAOswB,sBAAwBtwB,OAAOqwB,EAAQt0C,GAAK,yBACnDikB,OAAOuwB,qBAAuBvwB,OAAOqwB,EAAQt0C,GAAK,yBAA2BikB,OAAOqwB,EAAQt0C,GAAK,+BAEjGikB,OAAOswB,wBACPtwB,OAAOswB,sBAAwB,SAAU55C,EAAUslC,GAC/C,IAAIwU,GAAW,IAAIlhD,MAAOyC,UACtB0+C,EAAa76C,KAAKI,IAAI,EAAG,IAAMw6C,EAAWJ,IAC1CntB,EAAKytB,YAAW,WACZh6C,EAAS85C,EAAWC,KAExBA,GAEJ,OADAL,EAAWI,EAAWC,EACfxtB,IAEXjD,OAAOuwB,uBACPvwB,OAAOuwB,qBAAuB,SAAUttB,GACpC0tB,aAAa1tB,KApBzB,GAkRA,IAAI2tB,IAAMvF,cACV,SAASwF,sBAIL,SAASC,EAAeC,EAAQC,EAAOC,GACnC,IAAIC,EAEAxhD,EACA2W,EAAG8qC,EAAMjiD,EAAGkiD,EADT1+C,EAAMq+C,EAAO9hD,OAEpB,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EAEb,GAAK,OADLwhD,EAAYH,EAAOrhD,MACQwhD,EAAUG,UAArC,CASA,GANAH,EAAUG,WAAY,EACnBH,EAAUI,KACTP,EAAOrhD,EAAE,GAAG6hD,GAAKL,EAAUI,IAEnB,IACC,EACVJ,EAAUM,QAAQ,CACjB,IAAIC,EAAYP,EAAUQ,gBAE1B,IADAP,EAAOM,EAAUxiD,OACboX,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EACd,GAAGorC,EAAUprC,GAAG4+B,GAAG/1C,EAAEQ,EACjBiiD,EAA6BF,EAAUprC,GAAG4+B,GAAG/1C,QAG7C,IADAkiD,EAAOK,EAAUprC,GAAG4+B,GAAG/1C,EAAED,OACrBC,EAAE,EAAEA,EAAEkiD,EAAKliD,GAAG,EACXuiD,EAAUprC,GAAG4+B,GAAG/1C,EAAEA,GAAGqM,GACpBo2C,EAA6BF,EAAUprC,GAAG4+B,GAAG/1C,EAAEA,GAAGqM,EAAE,IAErDk2C,EAAUprC,GAAG4+B,GAAG/1C,EAAEA,GAAGyW,GACpBgsC,EAA6BF,EAAUprC,GAAG4+B,GAAG/1C,EAAEA,GAAGyW,EAAE,IAMtD,IAAfurC,EAAUlP,IACTkP,EAAUH,OAASa,EAAeV,EAAUW,MAAOb,GACnDF,EAAeI,EAAUH,OAAOC,EAAOC,IACjB,IAAjBC,EAAUlP,GACf8P,EAAeZ,EAAUa,QACJ,GAAhBb,EAAUlP,IACfgQ,EAAad,EAAWD,IAKpC,SAASW,EAAe3uB,EAAG+tB,GAEvB,IADA,IAAIthD,EAAI,EAAGgD,EAAMs+C,EAAM/hD,OACjBS,EAAEgD,GAAI,CACR,GAAGs+C,EAAMthD,GAAGuzB,KAAOA,EACf,OAAI+tB,EAAMthD,GAAGqhD,OAAOkB,OAIbvb,KAAKwb,MAAMxb,KAAKE,UAAUoa,EAAMthD,GAAGqhD,UAHtCC,EAAMthD,GAAGqhD,OAAOkB,QAAS,EAClBjB,EAAMthD,GAAGqhD,QAIxBrhD,GAAK,GAIb,SAASoiD,EAAetiD,GACpB,IAAIE,EACA2W,EAAG8qC,EAEP,IAAIzhD,EAHSF,EAAIP,OAGP,EAAES,GAAG,EAAEA,GAAG,EAChB,GAAgB,MAAbF,EAAIE,GAAGsyC,GAAW,CACjB,GAAGxyC,EAAIE,GAAGyiD,GAAGjjD,EAAEQ,EACXiiD,EAA6BniD,EAAIE,GAAGyiD,GAAGjjD,QAGvC,IADAiiD,EAAO3hD,EAAIE,GAAGyiD,GAAGjjD,EAAED,OACfoX,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EACX7W,EAAIE,GAAGyiD,GAAGjjD,EAAEmX,GAAG9K,GACdo2C,EAA6BniD,EAAIE,GAAGyiD,GAAGjjD,EAAEmX,GAAG9K,EAAE,IAE/C/L,EAAIE,GAAGyiD,GAAGjjD,EAAEmX,GAAGV,GACdgsC,EAA6BniD,EAAIE,GAAGyiD,GAAGjjD,EAAEmX,GAAGV,EAAE,KAI/C,MACO,MAAbnW,EAAIE,GAAGsyC,IACZ8P,EAAetiD,EAAIE,GAAGyyB,IAiBlC,SAASwvB,EAA6BS,GAClC,IAAI1iD,EAAGgD,EAAM0/C,EAAK1iD,EAAET,OACpB,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb0iD,EAAK1iD,EAAEA,GAAG,IAAM0iD,EAAKtU,EAAEpuC,GAAG,GAC1B0iD,EAAK1iD,EAAEA,GAAG,IAAM0iD,EAAKtU,EAAEpuC,GAAG,GAC1B0iD,EAAKn2C,EAAEvM,GAAG,IAAM0iD,EAAKtU,EAAEpuC,GAAG,GAC1B0iD,EAAKn2C,EAAEvM,GAAG,IAAM0iD,EAAKtU,EAAEpuC,GAAG,GAIlC,SAAS2iD,EAAaC,EAAQC,GAC1B,IAAIC,EAAcD,EAAoBA,EAAkB/1C,MAAM,KAAO,CAAC,IAAI,IAAI,KAC9E,OAAG81C,EAAQ,GAAGE,EAAY,MAEhBA,EAAY,GAAKF,EAAQ,MAGhCA,EAAQ,GAAGE,EAAY,MAEhBA,EAAY,GAAKF,EAAQ,MAGhCA,EAAQ,GAAGE,EAAY,MAEhBA,EAAY,GAAKF,EAAQ,UAA5B,IAKX,IAyCQG,EAzCJC,EAAa,WACb,IAAID,EAAiB,CAAC,EAAE,EAAE,IAc1B,SAASE,EAAc5B,GACnB,IAAIrhD,EAbiBkjD,EACjBC,EAYGngD,EAAMq+C,EAAO9hD,OACpB,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACO,IAAjBqhD,EAAOrhD,GAAGsyC,KAfI4Q,EAgBG7B,EAAOrhD,GAf3BmjD,WAAeD,EAAUpgD,EAAEiM,EAC/Bm0C,EAAUpgD,EAAEiM,EAAI,CACZvP,EAAG,CACC,CACIqM,EAAEs3C,EACFrgD,EAAE,MAelB,OAAO,SAAUq9B,GACb,GAAGwiB,EAAaI,EAAe5iB,EAAciO,KACzC6U,EAAc9iB,EAAckhB,QACzBlhB,EAAcijB,QAAO,CACpB,IAAIpjD,EAAGgD,EAAMm9B,EAAcijB,OAAO7jD,OAClC,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACVmgC,EAAcijB,OAAOpjD,GAAGqhD,QACvB4B,EAAc9iB,EAAcijB,OAAOpjD,GAAGqhD,UA/B9C,GAwCZgC,GACIN,EAAiB,CAAC,EAAE,EAAE,IACnB,SAAU5iB,GACb,GAAGA,EAAcmjB,QAAUX,EAAaI,EAAe5iB,EAAciO,GAAG,CACpE,IAAIpuC,EAAqC2W,EAAG8qC,EACxC8B,EAAUC,EADPxgD,EAAMm9B,EAAcmjB,MAAM/jD,OAEjC,IAAIS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACrB,GAAGmgC,EAAcmjB,MAAMtjD,GAAGmW,MAAQgqB,EAAcmjB,MAAMtjD,GAAGmW,KAAKksC,OAI1D,IAFAZ,GADA+B,EAAQrjB,EAAcmjB,MAAMtjD,GAAGmW,KAAKksC,OAAO,GAAG5vB,IACjClzB,OAEToX,EAAI,EAAGA,EAAI8qC,EAAM9qC,GAAK,GACtB4sC,EAAWC,EAAM7sC,GAAG8rC,GAAGjjD,GACVikD,cACTxB,EAA6BuB,EAAM7sC,GAAG8rC,GAAGjjD,GACzC+jD,EAASE,aAAc,MAS/CC,EAAe,WACf,IAAIX,EAAiB,CAAC,EAAE,EAAE,GAE1B,SAASY,EAActB,GACnB,IAAIriD,EACA2W,EAAG8qC,EADAz+C,EAAMq/C,EAAO9iD,OAEpB,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb,GAAoB,OAAjBqiD,EAAOriD,GAAGsyC,GACTqR,EAActB,EAAOriD,GAAGyyB,SACtB,GAAoB,OAAjB4vB,EAAOriD,GAAGsyC,IAAgC,OAAjB+P,EAAOriD,GAAGsyC,GACxC,GAAG+P,EAAOriD,GAAGka,EAAE1a,GAAK6iD,EAAOriD,GAAGka,EAAE1a,EAAE,GAAGQ,EAEjC,IADAyhD,EAAOY,EAAOriD,GAAGka,EAAE1a,EAAED,OACjBoX,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EACX0rC,EAAOriD,GAAGka,EAAE1a,EAAEmX,GAAG9K,IAChBw2C,EAAOriD,GAAGka,EAAE1a,EAAEmX,GAAG9K,EAAE,IAAM,IACzBw2C,EAAOriD,GAAGka,EAAE1a,EAAEmX,GAAG9K,EAAE,IAAM,IACzBw2C,EAAOriD,GAAGka,EAAE1a,EAAEmX,GAAG9K,EAAE,IAAM,IACzBw2C,EAAOriD,GAAGka,EAAE1a,EAAEmX,GAAG9K,EAAE,IAAM,KAE1Bw2C,EAAOriD,GAAGka,EAAE1a,EAAEmX,GAAGV,IAChBosC,EAAOriD,GAAGka,EAAE1a,EAAEmX,GAAGV,EAAE,IAAM,IACzBosC,EAAOriD,GAAGka,EAAE1a,EAAEmX,GAAGV,EAAE,IAAM,IACzBosC,EAAOriD,GAAGka,EAAE1a,EAAEmX,GAAGV,EAAE,IAAM,IACzBosC,EAAOriD,GAAGka,EAAE1a,EAAEmX,GAAGV,EAAE,IAAM,UAIjCosC,EAAOriD,GAAGka,EAAE1a,EAAE,IAAM,IACpB6iD,EAAOriD,GAAGka,EAAE1a,EAAE,IAAM,IACpB6iD,EAAOriD,GAAGka,EAAE1a,EAAE,IAAM,IACpB6iD,EAAOriD,GAAGka,EAAE1a,EAAE,IAAM,IAMpC,SAASyjD,EAAc5B,GACnB,IAAIrhD,EAAGgD,EAAMq+C,EAAO9hD,OACpB,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACO,IAAjBqhD,EAAOrhD,GAAGsyC,IACTqR,EAActC,EAAOrhD,GAAGqiD,QAKpC,OAAO,SAAUliB,GACb,GAAGwiB,EAAaI,EAAe5iB,EAAciO,KACzC6U,EAAc9iB,EAAckhB,QACzBlhB,EAAcijB,QAAO,CACpB,IAAIpjD,EAAGgD,EAAMm9B,EAAcijB,OAAO7jD,OAClC,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACVmgC,EAAcijB,OAAOpjD,GAAGqhD,QACvB4B,EAAc9iB,EAAcijB,OAAOpjD,GAAGqhD,UApD5C,GA6DduC,EAAe,WACf,IAAIb,EAAiB,CAAC,EAAE,EAAE,IAI1B,SAASX,EAAetiD,GACpB,IAAIE,EACA2W,EAAG8qC,EAEP,IAAIzhD,EAHSF,EAAIP,OAGP,EAAES,GAAG,EAAEA,GAAG,EAChB,GAAgB,MAAbF,EAAIE,GAAGsyC,GAAW,CACjB,GAAGxyC,EAAIE,GAAGyiD,GAAGjjD,EAAEQ,EACXF,EAAIE,GAAGyiD,GAAGjjD,EAAE0a,EAAIpa,EAAIE,GAAGm+C,YAGvB,IADAsD,EAAO3hD,EAAIE,GAAGyiD,GAAGjjD,EAAED,OACfoX,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EACX7W,EAAIE,GAAGyiD,GAAGjjD,EAAEmX,GAAG9K,IACd/L,EAAIE,GAAGyiD,GAAGjjD,EAAEmX,GAAG9K,EAAE,GAAGqO,EAAIpa,EAAIE,GAAGm+C,QAEhCr+C,EAAIE,GAAGyiD,GAAGjjD,EAAEmX,GAAGV,IACdnW,EAAIE,GAAGyiD,GAAGjjD,EAAEmX,GAAGV,EAAE,GAAGiE,EAAIpa,EAAIE,GAAGm+C,SAIhC,MACO,MAAbr+C,EAAIE,GAAGsyC,IACZ8P,EAAetiD,EAAIE,GAAGyyB,IAKlC,SAASwwB,EAAc5B,GACnB,IAAIG,EACAxhD,EACA2W,EAAG8qC,EAAMjiD,EAAGkiD,EADT1+C,EAAMq+C,EAAO9hD,OAEpB,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EAAE,CAEf,IADAwhD,EAAYH,EAAOrhD,IACN8hD,QAAQ,CACjB,IAAIC,EAAYP,EAAUQ,gBAE1B,IADAP,EAAOM,EAAUxiD,OACboX,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EACd,GAAGorC,EAAUprC,GAAG4+B,GAAG/1C,EAAEQ,EACjB+hD,EAAUprC,GAAG4+B,GAAG/1C,EAAE0a,EAAI6nC,EAAUprC,GAAGktC,QAGnC,IADAnC,EAAOK,EAAUprC,GAAG4+B,GAAG/1C,EAAED,OACrBC,EAAE,EAAEA,EAAEkiD,EAAKliD,GAAG,EACXuiD,EAAUprC,GAAG4+B,GAAG/1C,EAAEA,GAAGqM,IACpBk2C,EAAUprC,GAAG4+B,GAAG/1C,EAAEA,GAAGqM,EAAE,GAAGqO,EAAI6nC,EAAUprC,GAAGktC,IAE5C9B,EAAUprC,GAAG4+B,GAAG/1C,EAAEA,GAAGyW,IACpB8rC,EAAUprC,GAAG4+B,GAAG/1C,EAAEA,GAAGyW,EAAE,GAAGiE,EAAI6nC,EAAUprC,GAAGktC,IAM3C,IAAjBrC,EAAUlP,IACT8P,EAAeZ,EAAUa,SAKrC,OAAO,SAAUliB,GACb,GAAGwiB,EAAaI,EAAe5iB,EAAciO,KACzC6U,EAAc9iB,EAAckhB,QACzBlhB,EAAcijB,QAAO,CACpB,IAAIpjD,EAAGgD,EAAMm9B,EAAcijB,OAAO7jD,OAClC,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACVmgC,EAAcijB,OAAOpjD,GAAGqhD,QACvB4B,EAAc9iB,EAAcijB,OAAOpjD,GAAGqhD,UArE5C,GA2FlB,SAASiB,EAAansC,EAAMorC,GACD,IAApBprC,EAAKrT,EAAE7D,EAAEM,QAAkB,MAAO4W,EAAKrT,EAAEyrC,IACxCp4B,EAAK2tC,aAAc,GAI3B,IAAIC,EAAW,CACf,aApBA,SAAsB5jB,EAAeohB,GAC9BphB,EAAc6jB,aAGjBN,EAAYvjB,GACZ6iB,EAAU7iB,GACVkjB,EAAWljB,GACXyjB,EAAYzjB,GACZihB,EAAejhB,EAAckhB,OAAQlhB,EAAcijB,OAAQ7B,GAC3DphB,EAAc6jB,YAAa,KAiB/B,OALAD,EAASL,YAAcA,EACvBK,EAASV,WAAaA,EACtBU,EAASH,YAAcA,EACvBG,EAAS3C,eAAiBA,EAEnB2C,EAGX,IAAIE,YAAc9C,sBAEd+C,YAAe,WAEf,IACIC,EAAY,CACZlvC,EAAG,EACHmvC,KAAK,EACL/B,OAAO,IAEPgC,EAAqB,GAkBzB,SAASC,EAAUC,EAAMC,GACrB,IAAIC,EAAa5U,UAAU,QAC3B4U,EAAWpwB,MAAMqwB,WAAgBF,EACjC,IAAIG,EAAO9U,UAAU,QAErB8U,EAAKC,UAAY,iBAEjBH,EAAWpwB,MAAMkY,SAAgB,WACjCkY,EAAWpwB,MAAMoY,KAAgB,WACjCgY,EAAWpwB,MAAMmY,IAAgB,WAEjCiY,EAAWpwB,MAAMwwB,SAAgB,QAEjCJ,EAAWpwB,MAAMywB,YAAgB,SACjCL,EAAWpwB,MAAM0wB,UAAgB,SACjCN,EAAWpwB,MAAM2wB,WAAgB,SACjCP,EAAWpwB,MAAM4wB,cAAgB,IACjCR,EAAWlwB,YAAYowB,GACvBjwB,SAASwwB,KAAK3wB,YAAYkwB,GAG1B,IAAI7iB,EAAQ+iB,EAAKQ,YAEjB,OADAR,EAAKtwB,MAAMqwB,WAlCf,SAAyBH,GACrB,IACIvkD,EADAolD,EAAcb,EAAKz3C,MAAM,KACtB9J,EAAMoiD,EAAY7lD,OACrB8lD,EAAkB,GACtB,IAAKrlD,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACC,eAAnBolD,EAAYplD,IAA0C,cAAnBolD,EAAYplD,IAC/CqlD,EAAgBnlD,KAAKklD,EAAYplD,IAGzC,OAAOqlD,EAAgBtgD,KAAK,KAyBJugD,CAAgBf,GAAQ,KAAOC,EAChD,CAACG,KAAKA,EAAM1vC,EAAE2sB,EAAO2jB,OAAOd,GA2CvC,SAASe,EAAavwB,EAAKwwB,GACvB,IAAIC,EAAU/V,SAAS,QAiBvB,OAhBA+V,EAAQrxB,MAAMwwB,SAAW,QAEzBa,EAAQC,aAAa,cAAeF,EAASG,SAC7CF,EAAQC,aAAa,aAAcF,EAASI,QAC5CH,EAAQC,aAAa,cAAeF,EAASK,SAC7CJ,EAAQK,YAAc,IACnBN,EAASO,QACRN,EAAQrxB,MAAMqwB,WAAa,UAC3BgB,EAAQC,aAAa,QAASF,EAASO,SAEvCN,EAAQrxB,MAAMqwB,WAAae,EAASG,QAExC3wB,EAAIV,YAAYmxB,GACI7V,UAAU,UAAUoW,WAAW,MACrC1B,KAAOkB,EAASK,QAAU,IAAML,EAASI,OAAS,UAAWJ,EAASG,QAE7EF,EApGXrB,EAAqBA,EAAmBzzC,OAAO,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC9F,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAmR9D,IAAIs1C,EAAO,WACPnjD,KAAKojD,MAAQ,GACbpjD,KAAKugD,MAAQ,KACbvgD,KAAKqjD,cAAgB,EACrBrjD,KAAKsjD,UAAW,EAChBtjD,KAAKujD,SAAW1mD,KAAK4a,MACrBzX,KAAKwjD,kBAAoBxjD,KAAKyjD,YAAYnX,KAAKtsC,MAC/CA,KAAK0jD,uBAAyB1jD,KAAK2jD,iBAAiBrX,KAAKtsC,OAiB7D,OAdAmjD,EAAKS,0BAlBL,WACI,OAAOtC,GA6BX6B,EAAKtnD,UAVe,CAChBgoD,SA/FJ,SAAkBtD,GACd,GAAIA,EAAJ,CAGIvgD,KAAKugD,QACLvgD,KAAKugD,MAAQ,IAEjB,IAAItjD,EACA2W,EAA6BkwC,EAD1B7jD,EAAMsgD,EAAM/jD,OACZkiD,EAAO1+C,KAAKugD,MAAM/jD,OACzB,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EAAE,CAGf,IAFA2W,EAAI,EACJkwC,GAAQ,EACFlwC,EAAE8qC,GACD1+C,KAAKugD,MAAM3sC,GAAG0d,QAAUivB,EAAMtjD,GAAGq0B,OAAStxB,KAAKugD,MAAM3sC,GAAGivC,UAAYtC,EAAMtjD,GAAG4lD,SAAW7iD,KAAKugD,MAAM3sC,GAAGmwC,KAAOxD,EAAMtjD,GAAG8mD,KACrHD,GAAQ,GAEZlwC,GAAK,EAELkwC,IACA9jD,KAAKugD,MAAMpjD,KAAKojD,EAAMtjD,IACtByhD,GAAQ,MA4EhBsF,SA5LJ,SAAkBtB,EAAUuB,GACxB,GAAIvB,EAAJ,CAIA,GAAG1iD,KAAKugD,MAGJ,OAFAvgD,KAAKsjD,UAAW,OAChBtjD,KAAKojD,MAAQV,EAASwB,MAK1B,IACIjnD,EADAknD,EAAUzB,EAASwB,KAChBjkD,EAAMkkD,EAAQ3nD,OACjB4nD,EAAgBnkD,EACpB,IAAIhD,EAAE,EAAGA,EAAEgD,EAAKhD,GAAI,EAAE,CAClB,IACIonD,EACAzwC,EAFA0wC,GAAiB,EAMrB,GAHAH,EAAQlnD,GAAGsnD,QAAS,EACpBJ,EAAQlnD,GAAGunD,SAAWjD,EAAU4C,EAAQlnD,GAAG4lD,QAAQ,aACnDsB,EAAQlnD,GAAGwnD,SAAWlD,EAAU4C,EAAQlnD,GAAG4lD,QAAQ,cAC/CsB,EAAQlnD,GAAGynD,OAGT,GAA0B,MAAvBP,EAAQlnD,GAAG0nD,SAAyC,IAAtBR,EAAQlnD,GAAG2nD,QAO9C,IANAP,EAAiB1yB,SAASkzB,iBAAiB,kCAAmCV,EAAQlnD,GAAG4lD,QAAS,qCAAsCsB,EAAQlnD,GAAG4lD,QAAS,OAEzIrmD,OAAS,IACxB8nD,GAAiB,GAGjBA,EAAgB,CAChB,IAAIx7C,EAAIgkC,UAAU,SAClBhkC,EAAE85C,aAAa,YAAauB,EAAQlnD,GAAG0nD,SACvC77C,EAAE85C,aAAa,WAAYuB,EAAQlnD,GAAG2nD,QACtC97C,EAAE85C,aAAa,WAAYuB,EAAQlnD,GAAG4lD,SACtC/5C,EAAEilB,KAAO,WACTjlB,EAAE+4C,UAAY,4BAAiCsC,EAAQlnD,GAAG4lD,QAAQ,mCAAmCsB,EAAQlnD,GAAGynD,MAAM,OACtHT,EAAKzyB,YAAY1oB,SAElB,GAA0B,MAAvBq7C,EAAQlnD,GAAG0nD,SAAyC,IAAtBR,EAAQlnD,GAAG2nD,OAAa,CAG5D,IAFAP,EAAiB1yB,SAASkzB,iBAAiB,2CAEtCjxC,EAAI,EAAGA,EAAIywC,EAAe7nD,OAAQoX,KACuB,IAAtDywC,EAAezwC,GAAGkxC,KAAK/7C,QAAQo7C,EAAQlnD,GAAGynD,SAE1CJ,GAAiB,GAIzB,GAAIA,EAAgB,CAChB,IAAIjvC,EAAIy3B,UAAU,QAClBz3B,EAAEutC,aAAa,YAAauB,EAAQlnD,GAAG0nD,SACvCtvC,EAAEutC,aAAa,WAAYuB,EAAQlnD,GAAG2nD,QACtCvvC,EAAE0Y,KAAO,WACT1Y,EAAE0vC,IAAM,aACR1vC,EAAEyvC,KAAOX,EAAQlnD,GAAGynD,MACpB/yB,SAASwwB,KAAK3wB,YAAYnc,SAE3B,GAA0B,MAAvB8uC,EAAQlnD,GAAG0nD,SAAyC,IAAtBR,EAAQlnD,GAAG2nD,OAAa,CAG5D,IAFAP,EAAiB1yB,SAASkzB,iBAAiB,+CAEtCjxC,EAAI,EAAGA,EAAIywC,EAAe7nD,OAAQoX,IAC/BuwC,EAAQlnD,GAAGynD,QAAUL,EAAezwC,GAAG6d,MAEvC6yB,GAAiB,GAIzB,GAAIA,EAAgB,CAChB,IAAIU,EAAKlY,UAAU,QACnBkY,EAAGpC,aAAa,YAAauB,EAAQlnD,GAAG0nD,SACxCK,EAAGpC,aAAa,WAAYuB,EAAQlnD,GAAG2nD,QACvCI,EAAGpC,aAAa,MAAM,cACtBoC,EAAGpC,aAAa,OAAOuB,EAAQlnD,GAAGynD,OAClCT,EAAKzyB,YAAYwzB,UArDrBb,EAAQlnD,GAAGsnD,QAAS,EACpBH,GAAiB,EAuDrBD,EAAQlnD,GAAGgoD,OAASxC,EAAawB,EAAKE,EAAQlnD,IAC9CknD,EAAQlnD,GAAGioD,MAAQ,GACnBllD,KAAKojD,MAAMjmD,KAAKgnD,EAAQlnD,IAEN,IAAlBmnD,EACApkD,KAAKsjD,UAAW,EAIjBrF,WAAWj+C,KAAK2jD,iBAAiBrX,KAAKtsC,MAAO,UAtF5CA,KAAKsjD,UAAW,GA2LpB6B,YAxEJ,SAAqBC,EAAM9zB,EAAOkwB,GAE9B,IADA,IAAIvkD,EAAI,EAAGgD,EAAMD,KAAKugD,MAAM/jD,OACrBS,EAAIgD,GAAK,CACZ,GAAGD,KAAKugD,MAAMtjD,GAAG8mD,KAAOqB,GAAQplD,KAAKugD,MAAMtjD,GAAGq0B,QAAUA,GAAStxB,KAAKugD,MAAMtjD,GAAG4lD,UAAYrB,EAEvF,OAAOxhD,KAAKugD,MAAMtjD,GAEtBA,GAAI,EAKR,OAHoB,iBAATmoD,GAA4C,KAAvBA,EAAKxiB,WAAW,KAAcwiB,IAAS5jD,SAAWA,QAAQH,MACtFG,QAAQH,KAAK,oDAAqD+jD,EAAM9zB,EAAOkwB,GAE5EJ,GA6DPiE,cAnCJ,SAAuB/iD,GAEnB,IADA,IAAIrF,EAAI,EAAGgD,EAAMD,KAAKojD,MAAM5mD,OACtBS,EAAEgD,GAAI,CACR,GAAGD,KAAKojD,MAAMnmD,GAAGqoD,QAAUhjD,EACvB,OAAOtC,KAAKojD,MAAMnmD,GAEtBA,GAAK,EAET,OAAO+C,KAAKojD,MAAM,IA4BlBmC,YA3DJ,SAAqBH,EAAMI,EAAUnE,GACjC,IAAIqB,EAAW1iD,KAAKqlD,cAAcG,GAC9B/9B,EAAQ29B,EAAKxiB,WAAW,GAC5B,IAAI8f,EAASwC,MAAMz9B,EAAQ,GAAI,CAC3B,IAAIk7B,EAAUD,EAASuC,OAKvB,GAAa,MAATG,EAAc,CACdzC,EAAQK,YAAc,IAAMoC,EAAO,IACnC,IAAIK,EAAa9C,EAAQ+C,wBACzB/C,EAAQK,YAAc,KACtB,IAAI2C,EAAahD,EAAQ+C,wBACzBhD,EAASwC,MAAMz9B,EAAQ,IAAMg+B,EAAaE,GAAY,SAEtDhD,EAAQK,YAAcoC,EACtB1C,EAASwC,MAAMz9B,EAAQ,GAAMk7B,EAAQ+C,wBAAyB,IAGtE,OAAOhD,EAASwC,MAAMz9B,EAAQ,GAAK45B,GAwCnCsC,iBA7PJ,WACI,IAAI1mD,EACA2kD,EAAM1vC,EADHjS,EAAMD,KAAKojD,MAAM5mD,OAEpBopD,EAAc3lD,EAClB,IAAIhD,EAAE,EAAEA,EAAEgD,EAAKhD,GAAI,EACZ+C,KAAKojD,MAAMnmD,GAAGsnD,OACbqB,GAAe,EAGU,MAA1B5lD,KAAKojD,MAAMnmD,GAAG0nD,SAA4C,IAAzB3kD,KAAKojD,MAAMnmD,GAAG2nD,OAC9C5kD,KAAKojD,MAAMnmD,GAAGsnD,QAAS,GAEvB3C,EAAO5hD,KAAKojD,MAAMnmD,GAAGunD,SAAS5C,KAC9B1vC,EAAIlS,KAAKojD,MAAMnmD,GAAGunD,SAAStyC,EACxB0vC,EAAKQ,cAAgBlwC,GACpB0zC,GAAe,EACf5lD,KAAKojD,MAAMnmD,GAAGsnD,QAAS,IAEvB3C,EAAO5hD,KAAKojD,MAAMnmD,GAAGwnD,SAAS7C,KAC9B1vC,EAAIlS,KAAKojD,MAAMnmD,GAAGwnD,SAASvyC,EACxB0vC,EAAKQ,cAAgBlwC,IACpB0zC,GAAe,EACf5lD,KAAKojD,MAAMnmD,GAAGsnD,QAAS,IAG5BvkD,KAAKojD,MAAMnmD,GAAGsnD,SACbvkD,KAAKojD,MAAMnmD,GAAGwnD,SAASjC,OAAOd,WAAWmE,YAAY7lD,KAAKojD,MAAMnmD,GAAGwnD,SAASjC,QAC5ExiD,KAAKojD,MAAMnmD,GAAGunD,SAAShC,OAAOd,WAAWmE,YAAY7lD,KAAKojD,MAAMnmD,GAAGunD,SAAShC,UAKrE,IAAhBoD,GAAqB/oD,KAAK4a,MAAQzX,KAAKujD,SAlFzB,IAmFbtF,WAAWj+C,KAAK0jD,uBAAwB,IAExCzF,WAAWj+C,KAAKwjD,kBAAmB,KA2NvCC,YAvBJ,WACIzjD,KAAKsjD,UAAW,IA2BbH,EAvTO,GA2Td2C,gBAAmB,WAEnB,IAAIC,EAAYre,oBACZse,EAAW7iD,KAAKC,IAEpB,SAAS6iD,EAAiBC,EAAUC,GAChC,IACIC,EADAC,EAAarmD,KAAKqmD,WAEA,qBAAlBrmD,KAAKsmD,WACLF,EAAW5Z,iBAAiB,UAAWxsC,KAAKumD,GAAG/pD,SAOnD,IALA,IAGIgqD,EAASC,EAwBThqD,EAAGkiD,EAAMnF,EAAMkF,EAAM9qC,EAAG8yC,EA3BxBC,EAAiBR,EAAQphD,UACzB9H,EAAI0pD,EACJ1mD,EAAMD,KAAK4mD,UAAUpqD,OAAS,EAAG6sC,GAAO,EAGrCA,GAAM,CAGT,GAFAmd,EAAUxmD,KAAK4mD,UAAU3pD,GACzBwpD,EAAczmD,KAAK4mD,UAAU3pD,EAAI,GAC7BA,IAAMgD,EAAM,GAAKimD,GAAYO,EAAY1mD,EAAIsmD,EAAW,CACrDG,EAAQv6C,IACPu6C,EAAUC,GAEdE,EAAiB,EACjB,MAEJ,GAAKF,EAAY1mD,EAAIsmD,EAAcH,EAAS,CACxCS,EAAiB1pD,EACjB,MAEAA,EAAIgD,EAAM,EACVhD,GAAK,GAEL0pD,EAAiB,EACjBtd,GAAO,GAKf,IAEIwd,EAFAC,EAAcL,EAAY1mD,EAAIsmD,EAC9BU,EAAUP,EAAQzmD,EAAIsmD,EAE1B,GAAIG,EAAQnmD,GAAI,CACPmmD,EAAQ9L,aACT8L,EAAQ9L,WAAayD,IAAI3D,gBAAgBgM,EAAQ19C,EAAG29C,EAAY39C,GAAK09C,EAAQtzC,EAAGszC,EAAQnmD,GAAImmD,EAAQQ,KAExG,IAAItM,EAAa8L,EAAQ9L,WACzB,GAAIwL,GAAYY,GAAeZ,EAAWa,EAAS,CAC/C,IAAIE,EAAMf,GAAYY,EAAcpM,EAAW/D,OAAOn6C,OAAS,EAAI,EAEnE,IADAmiD,EAAOjE,EAAW/D,OAAOsQ,GAAKxkB,MAAMjmC,OAC/BC,EAAI,EAAGA,EAAIkiD,EAAMliD,GAAK,EACvB2pD,EAAS3pD,GAAKi+C,EAAW/D,OAAOsQ,GAAKxkB,MAAMhmC,OAG5C,CACC+pD,EAAQU,OACRR,EAAMF,EAAQU,QAEdR,EAAM3Q,cAAcoR,gBAAgBX,EAAQh9C,EAAEF,EAAGk9C,EAAQh9C,EAAEmC,EAAG66C,EAAQvpD,EAAEqM,EAAGk9C,EAAQvpD,EAAE0O,EAAG66C,EAAQ54C,GAAG/G,IACnG2/C,EAAQU,OAASR,GAErBlN,EAAOkN,GAAKR,EAAWa,IAAYD,EAAcC,IACjD,IAEIK,EAFAC,EAAiB3M,EAAWP,cAAcX,EAG1CG,EAAgBwM,EAAQmB,UAAYpB,GAAYC,EAAQoB,qBAAuBtqD,EAAKkpD,EAAQqB,iBAAmB,EAInH,IAHA5zC,EAAMuyC,EAAQmB,UAAYpB,GAAYC,EAAQoB,qBAAuBtqD,EAAKkpD,EAAQsB,WAAa,EAC/Fpe,GAAO,EACPqV,EAAOhE,EAAW/D,OAAOn6C,OAClB6sC,GAAM,CAET,GADAsQ,GAAee,EAAW/D,OAAO/iC,GAAG0mC,cACb,IAAnB+M,GAAiC,IAAT7N,GAAc5lC,IAAM8mC,EAAW/D,OAAOn6C,OAAS,EAAG,CAE1E,IADAmiD,EAAOjE,EAAW/D,OAAO/iC,GAAG6uB,MAAMjmC,OAC7BC,EAAI,EAAGA,EAAIkiD,EAAMliD,GAAK,EACvB2pD,EAAS3pD,GAAKi+C,EAAW/D,OAAO/iC,GAAG6uB,MAAMhmC,GAE7C,MACG,GAAI4qD,GAAkB1N,GAAe0N,EAAiB1N,EAAce,EAAW/D,OAAO/iC,EAAI,GAAG0mC,cAAe,CAG/G,IAFA8M,GAAeC,EAAiB1N,GAAee,EAAW/D,OAAO/iC,EAAI,GAAG0mC,cACxEqE,EAAOjE,EAAW/D,OAAO/iC,GAAG6uB,MAAMjmC,OAC7BC,EAAI,EAAGA,EAAIkiD,EAAMliD,GAAK,EACvB2pD,EAAS3pD,GAAKi+C,EAAW/D,OAAO/iC,GAAG6uB,MAAMhmC,IAAMi+C,EAAW/D,OAAO/iC,EAAI,GAAG6uB,MAAMhmC,GAAKi+C,EAAW/D,OAAO/iC,GAAG6uB,MAAMhmC,IAAM2qD,EAExH,MAEAxzC,EAAI8qC,EAAO,EACX9qC,GAAK,EAELy1B,GAAO,EAGf8c,EAAQsB,WAAa7zC,EACrBuyC,EAAQqB,iBAAmB7N,EAAce,EAAW/D,OAAO/iC,GAAG0mC,cAC9D6L,EAAQoB,mBAAqBtqD,OAE9B,CACH,IAAIyqD,EAAMC,EAAMC,EAAKC,EAAKC,EAG1B,GAFA7nD,EAAMumD,EAAQ19C,EAAEtM,OAChBqqD,EAAWJ,EAAY39C,GAAK09C,EAAQtzC,EAChClT,KAAK+nD,IAAoB,IAAdvB,EAAQv6C,EACnB,GAAIi6C,GAAYY,EACZV,EAAS,GAAKS,EAAS,GACvBT,EAAS,GAAKS,EAAS,GACvBT,EAAS,GAAKS,EAAS,QACpB,GAAIX,GAAYa,EACnBX,EAAS,GAAKI,EAAQ19C,EAAE,GACxBs9C,EAAS,GAAKI,EAAQ19C,EAAE,GACxBs9C,EAAS,GAAKI,EAAQ19C,EAAE,OACrB,EA6FnB,SAA2B+e,EAAKmgC,GAC5B,IAAIC,EAAKD,EAAK,GACVE,EAAKF,EAAK,GACVG,EAAKH,EAAK,GACVI,EAAKJ,EAAK,GACVK,EAAUllD,KAAKmlD,MAAM,EAAEJ,EAAGE,EAAG,EAAEH,EAAGE,EAAK,EAAI,EAAED,EAAGA,EAAK,EAAEC,EAAGA,GAC1DI,EAAWplD,KAAKqlD,KAAK,EAAEP,EAAGC,EAAK,EAAEC,EAAGC,GACpCK,EAAOtlD,KAAKmlD,MAAM,EAAEL,EAAGG,EAAG,EAAEF,EAAGC,EAAK,EAAI,EAAEF,EAAGA,EAAK,EAAEE,EAAGA,GAC3DtgC,EAAI,GAAKwgC,EAAQpf,UACjBphB,EAAI,GAAK0gC,EAAStf,UAClBphB,EAAI,GAAK4gC,EAAKxf,UAnGFyf,CAAkBtC,EAyDlC,SAAelqD,EAAGC,EAAG4D,GACjB,IAII4oD,EAAOC,EAAOC,EAAOC,EAAQC,EAJ7BlhC,EAAM,GACNmnB,EAAK9yC,EAAE,GAAI+yC,EAAK/yC,EAAE,GAAI8sD,EAAK9sD,EAAE,GAAI+sD,EAAK/sD,EAAE,GAC5CgtD,EAAK/sD,EAAE,GAAIgtD,EAAKhtD,EAAE,GAAIitD,EAAKjtD,EAAE,GAAIktD,EAAKltD,EAAE,IAIxCysD,EAAQ5Z,EAAKka,EAAKja,EAAKka,EAAKH,EAAKI,EAAKH,EAAKI,GAC/B,IACRT,GAASA,EACTM,GAAMA,EACNC,GAAMA,EACNC,GAAMA,EACNC,GAAMA,GAEL,EAAMT,EAAS,MAChBD,EAAQxlD,KAAKmmD,KAAKV,GAClBC,EAAQ1lD,KAAK6qC,IAAI2a,GACjBG,EAAS3lD,KAAK6qC,KAAK,EAAMjuC,GAAK4oD,GAASE,EACvCE,EAAS5lD,KAAK6qC,IAAIjuC,EAAI4oD,GAASE,IAE/BC,EAAS,EAAM/oD,EACfgpD,EAAShpD,GAOb,OALA8nB,EAAI,GAAKihC,EAAS9Z,EAAK+Z,EAASG,EAChCrhC,EAAI,GAAKihC,EAAS7Z,EAAK8Z,EAASI,EAChCthC,EAAI,GAAKihC,EAASE,EAAKD,EAASK,EAChCvhC,EAAI,GAAKihC,EAASG,EAAKF,EAASM,EAEzBxhC,EAtFiC0hC,CAHZC,EAAiBhD,EAAQ19C,GAC3B0gD,EAAiB3C,IACnBX,EAAWa,IAAYD,EAAcC,UAKrD,IAAI9pD,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACH,IAAdupD,EAAQv6C,IACJi6C,GAAYY,EACZtN,EAAO,EACD0M,EAAWa,EACjBvN,EAAO,GAEJgN,EAAQh9C,EAAEF,EAAE2pB,cAAgBt3B,OACtB6qD,EAAQU,SACTV,EAAQU,OAAS,IAEhBV,EAAQU,OAAOjqD,GAQhBypD,EAAMF,EAAQU,OAAOjqD,IAPrByqD,OAAkC,IAAnBlB,EAAQh9C,EAAEF,EAAErM,GAAsBupD,EAAQh9C,EAAEF,EAAE,GAAKk9C,EAAQh9C,EAAEF,EAAErM,GAC9E0qD,OAAkC,IAAnBnB,EAAQh9C,EAAEmC,EAAE1O,GAAsBupD,EAAQh9C,EAAEmC,EAAE,GAAK66C,EAAQh9C,EAAEmC,EAAE1O,GAC9E2qD,OAAiC,IAAnBpB,EAAQvpD,EAAEqM,EAAErM,GAAsBupD,EAAQvpD,EAAEqM,EAAE,GAAKk9C,EAAQvpD,EAAEqM,EAAErM,GAC7E4qD,OAAiC,IAAnBrB,EAAQvpD,EAAE0O,EAAE1O,GAAsBupD,EAAQvpD,EAAE0O,EAAE,GAAK66C,EAAQvpD,EAAE0O,EAAE1O,GAC7EypD,EAAM3Q,cAAcoR,gBAAgBO,EAAMC,EAAMC,EAAKC,GAAKhhD,IAC1D2/C,EAAQU,OAAOjqD,GAAKypD,IAKnBF,EAAQU,OAQTR,EAAMF,EAAQU,QAPdQ,EAAOlB,EAAQh9C,EAAEF,EACjBq+C,EAAOnB,EAAQh9C,EAAEmC,EACjBi8C,EAAMpB,EAAQvpD,EAAEqM,EAChBu+C,EAAMrB,EAAQvpD,EAAE0O,EAChB+6C,EAAM3Q,cAAcoR,gBAAgBO,EAAMC,EAAMC,EAAKC,GAAKhhD,IAC1D2/C,EAAQU,OAASR,GAKzBlN,EAAOkN,GAAKR,EAAWa,IAAYD,EAAcC,MAIzDF,EAAWJ,EAAY39C,GAAK09C,EAAQtzC,EACpC40C,EAAyB,IAAdtB,EAAQv6C,EAAUu6C,EAAQ19C,EAAE7L,GAAKupD,EAAQ19C,EAAE7L,IAAM4pD,EAAS5pD,GAAKupD,EAAQ19C,EAAE7L,IAAMu8C,EAEpE,qBAAlBx5C,KAAKsmD,SACLF,EAASnpD,GAAK6qD,EAEd1B,EAAW0B,EAM3B,OADA3B,EAAQphD,UAAY4hD,EACbP,EAiDX,SAASoD,EAAiBr2C,GACtB,IAAIk1C,EAAUl1C,EAAO,GAAK81B,UACtBsf,EAAWp1C,EAAO,GAAK81B,UACvBwf,EAAOt1C,EAAO,GAAK81B,UACnB4H,EAAK1tC,KAAK2qC,IAAIua,EAAU,GACxBzY,EAAKzsC,KAAK2qC,IAAIya,EAAW,GACzBkB,EAAKtmD,KAAK2qC,IAAI2a,EAAO,GACrBiB,EAAKvmD,KAAK6qC,IAAIqa,EAAU,GACxBsB,EAAKxmD,KAAK6qC,IAAIua,EAAW,GACzBqB,EAAKzmD,KAAK6qC,IAAIya,EAAO,GAMzB,MAAO,CAJCiB,EAAKC,EAAKF,EAAK5Y,EAAKjB,EAAKga,EACzBF,EAAK9Z,EAAK6Z,EAAK5Y,EAAK8Y,EAAKC,EACzB/Y,EAAK8Y,EAAKF,EAAKC,EAAK9Z,EAAKga,EAHzB/Y,EAAKjB,EAAK6Z,EAAKC,EAAKC,EAAKC,GAQrC,SAASC,IACL,IAAI3D,EAAWlmD,KAAK8pD,KAAKC,cAAgB/pD,KAAKqmD,WAC1C9C,EAAWvjD,KAAK4mD,UAAU,GAAG7mD,EAAIC,KAAKqmD,WACtC2D,EAAUhqD,KAAK4mD,UAAU5mD,KAAK4mD,UAAUpqD,OAAQ,GAAGuD,EAAEC,KAAKqmD,WAC9D,KAAKH,IAAalmD,KAAKiqD,SAAS3C,WAActnD,KAAKiqD,SAAS3C,YAAcvB,IAAe/lD,KAAKiqD,SAAS3C,WAAa0C,GAAW9D,GAAY8D,GAAahqD,KAAKiqD,SAAS3C,UAAY/D,GAAY2C,EAAW3C,IAAa,CAC/MvjD,KAAKiqD,SAAS3C,WAAapB,IAC1BlmD,KAAKiqD,SAAS1C,oBAAsB,EACpCvnD,KAAKiqD,SAASllD,UAAY,GAG9B,IAAImlD,EAAelqD,KAAKimD,iBAAiBC,EAAUlmD,KAAKiqD,UACxDjqD,KAAKumD,GAAK2D,EAGd,OADAlqD,KAAKiqD,SAAS3C,UAAYpB,EACnBlmD,KAAKumD,GAGhB,SAAS4D,EAAU3pD,GACf,IAAI4pD,EACJ,GAAqB,mBAAlBpqD,KAAKsmD,SACJ8D,EAAkB5pD,EAAMR,KAAKqqD,KAC1BrE,EAAShmD,KAAKqrC,EAAI+e,GAAmB,OACpCpqD,KAAKqrC,EAAI+e,EACTpqD,KAAKotC,MAAO,QAIhB,IADA,IAAInwC,EAAI,EAAGgD,EAAMD,KAAKqrC,EAAE7uC,OACjBS,EAAIgD,GACPmqD,EAAkB5pD,EAAIvD,GAAK+C,KAAKqqD,KAC5BrE,EAAShmD,KAAKqrC,EAAEpuC,GAAKmtD,GAAmB,OACxCpqD,KAAKqrC,EAAEpuC,GAAKmtD,EACZpqD,KAAKotC,MAAO,GAEhBnwC,GAAK,EAKjB,SAASqtD,IACL,GAAItqD,KAAKuqD,KAAKC,WAAWC,UAAYzqD,KAAKyqD,SAAYzqD,KAAK0qD,gBAAgBluD,OAG3E,GAAGwD,KAAK2qD,KACJ3qD,KAAKmqD,UAAUnqD,KAAKumD,QADxB,CAIAvmD,KAAK2qD,MAAO,EACZ3qD,KAAKotC,KAAOptC,KAAK4qD,cAEjB,IAAI3tD,EAAGgD,EAAMD,KAAK0qD,gBAAgBluD,OAC9BquD,EAAa7qD,KAAK8qD,GAAK9qD,KAAKumD,GAAKvmD,KAAKoT,KAAK3W,EAC/C,IAAIQ,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACrB4tD,EAAa7qD,KAAK0qD,gBAAgBztD,GAAG4tD,GAEzC7qD,KAAKmqD,UAAUU,GACf7qD,KAAK4qD,eAAgB,EACrB5qD,KAAK2qD,MAAO,EACZ3qD,KAAKyqD,QAAUzqD,KAAKuqD,KAAKC,WAAWC,SAGxC,SAASM,EAAUC,GACfhrD,KAAK0qD,gBAAgBvtD,KAAK6tD,GAC1BhrD,KAAKu9B,UAAUyP,mBAAmBhtC,MAGtC,SAASirD,EAAcV,EAAMn3C,EAAMi3C,EAAM9sB,GACrCv9B,KAAKsmD,SAAW,iBAChBtmD,KAAKqqD,KAAOA,GAAQ,EACpBrqD,KAAKoT,KAAOA,EACZpT,KAAKqrC,EAAIgf,EAAOj3C,EAAK3W,EAAI4tD,EAAOj3C,EAAK3W,EACrCuD,KAAKumD,GAAKnzC,EAAK3W,EACfuD,KAAKotC,MAAO,EACZptC,KAAKuqD,KAAOA,EACZvqD,KAAKu9B,UAAYA,EACjBv9B,KAAK8pD,KAAOS,EAAKT,KACjB9pD,KAAKvD,GAAI,EACTuD,KAAK8qD,IAAK,EACV9qD,KAAKkrD,IAAM,EACXlrD,KAAK0qD,gBAAkB,GACvB1qD,KAAK4qD,eAAgB,EACrB5qD,KAAKqtC,SAAWid,EAChBtqD,KAAKmqD,UAAYA,EACjBnqD,KAAK+qD,UAAYA,EAGrB,SAASI,EAAyBZ,EAAMn3C,EAAMi3C,EAAM9sB,GAChDv9B,KAAKsmD,SAAW,mBAChBtmD,KAAKqqD,KAAOA,GAAQ,EACpBrqD,KAAKoT,KAAOA,EACZpT,KAAKotC,MAAO,EACZptC,KAAKuqD,KAAOA,EACZvqD,KAAKu9B,UAAYA,EACjBv9B,KAAK8pD,KAAOS,EAAKT,KACjB9pD,KAAKvD,GAAI,EACTuD,KAAK8qD,IAAK,EACV9qD,KAAKyqD,SAAW,EAChB,IAAIxtD,EAAGgD,EAAMmT,EAAK3W,EAAED,OACpBwD,KAAKqrC,EAAImB,iBAAiB,UAAWvsC,GACrCD,KAAKumD,GAAK/Z,iBAAiB,UAAWvsC,GAC5BusC,iBAAiB,UAAWvsC,GAEtC,IADAD,KAAKkrD,IAAM1e,iBAAiB,UAAWvsC,GAClChD,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACtB+C,KAAKqrC,EAAEpuC,GAAKmW,EAAK3W,EAAEQ,GAAK+C,KAAKqqD,KAC7BrqD,KAAKumD,GAAGtpD,GAAKmW,EAAK3W,EAAEQ,GAExB+C,KAAK4qD,eAAgB,EACrB5qD,KAAK0qD,gBAAkB,GACvB1qD,KAAKqtC,SAAWid,EAChBtqD,KAAKmqD,UAAYA,EACjBnqD,KAAK+qD,UAAYA,EAGrB,SAASK,EAAuBb,EAAMn3C,EAAMi3C,EAAM9sB,GAC9Cv9B,KAAKsmD,SAAW,iBAChBtmD,KAAK4mD,UAAYxzC,EAAK3W,EACtBuD,KAAKqmD,WAAakE,EAAKn3C,KAAKi4C,GAC5BrrD,KAAKyqD,SAAW,EAChBzqD,KAAKiqD,SAAW,CAAC3C,UAAWvB,EAAWhhD,UAAW,EAAGyB,MAAO,EAAG+gD,oBAAqB,GACpFvnD,KAAKvD,GAAI,EACTuD,KAAK8qD,IAAK,EACV9qD,KAAKoT,KAAOA,EACZpT,KAAKqqD,KAAOA,GAAQ,EACpBrqD,KAAKuqD,KAAOA,EACZvqD,KAAKu9B,UAAYA,EACjBv9B,KAAK8pD,KAAOS,EAAKT,KACjB9pD,KAAKqrC,EAAI0a,EACT/lD,KAAKumD,GAAKR,EACV/lD,KAAK4qD,eAAgB,EACrB5qD,KAAKqtC,SAAWid,EAChBtqD,KAAKmqD,UAAYA,EACjBnqD,KAAKimD,iBAAmBA,EACxBjmD,KAAK0qD,gBAAkB,CAACb,EAAsBvd,KAAKtsC,OACnDA,KAAK+qD,UAAYA,EAGrB,SAASO,EAAkCf,EAAMn3C,EAAMi3C,EAAM9sB,GACzDv9B,KAAKsmD,SAAW,mBAChB,IAAIrpD,EACA6L,EAAGoK,EAAE7S,EAAG2mD,EADL/mD,EAAMmT,EAAK3W,EAAED,OAEpB,IAAKS,EAAI,EAAGA,EAAIgD,EAAM,EAAGhD,GAAK,EACtBmW,EAAK3W,EAAEQ,GAAGoD,IAAM+S,EAAK3W,EAAEQ,GAAG6L,GAAKsK,EAAK3W,EAAEQ,EAAI,IAAMmW,EAAK3W,EAAEQ,EAAI,GAAG6L,IAC9DA,EAAIsK,EAAK3W,EAAEQ,GAAG6L,EACdoK,EAAIE,EAAK3W,EAAEQ,EAAI,GAAG6L,EAClBzI,EAAK+S,EAAK3W,EAAEQ,GAAGoD,GACf2mD,EAAK5zC,EAAK3W,EAAEQ,GAAG+pD,IACE,IAAbl+C,EAAEtM,SAAkBsM,EAAE,KAAOoK,EAAE,IAAMpK,EAAE,KAAOoK,EAAE,KAAOirC,IAAItF,cAAc/vC,EAAE,GAAGA,EAAE,GAAGoK,EAAE,GAAGA,EAAE,GAAGpK,EAAE,GAAKzI,EAAG,GAAGyI,EAAE,GAAKzI,EAAG,KAAO89C,IAAItF,cAAc/vC,EAAE,GAAGA,EAAE,GAAGoK,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAK8zC,EAAG,GAAG9zC,EAAE,GAAK8zC,EAAG,KAAsB,IAAbl+C,EAAEtM,SAAkBsM,EAAE,KAAOoK,EAAE,IAAMpK,EAAE,KAAOoK,EAAE,IAAMpK,EAAE,KAAOoK,EAAE,KAAOirC,IAAIhB,cAAcr0C,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGoK,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGpK,EAAE,GAAKzI,EAAG,GAAGyI,EAAE,GAAKzI,EAAG,GAAGyI,EAAE,GAAKzI,EAAG,KAAO89C,IAAIhB,cAAcr0C,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGoK,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAK8zC,EAAG,GAAG9zC,EAAE,GAAK8zC,EAAG,GAAG9zC,EAAE,GAAK8zC,EAAG,OACxb5zC,EAAK3W,EAAEQ,GAAGoD,GAAK,KACf+S,EAAK3W,EAAEQ,GAAG+pD,GAAK,MAEhBl+C,EAAE,KAAOoK,EAAE,IAAMpK,EAAE,KAAOoK,EAAE,IAAgB,IAAV7S,EAAG,IAAsB,IAAVA,EAAG,IAAsB,IAAV2mD,EAAG,IAAsB,IAAVA,EAAG,KACjE,IAAbl+C,EAAEtM,QAAiBsM,EAAE,KAAOoK,EAAE,IAAgB,IAAV7S,EAAG,IAAsB,IAAV2mD,EAAG,MACrD5zC,EAAK3W,EAAEQ,GAAGoD,GAAK,KACf+S,EAAK3W,EAAEQ,GAAG+pD,GAAK,OAK/BhnD,KAAK0qD,gBAAkB,CAACb,EAAsBvd,KAAKtsC,OACnDA,KAAK4mD,UAAYxzC,EAAK3W,EACtBuD,KAAKqmD,WAAakE,EAAKn3C,KAAKi4C,GAC5BrrD,KAAKvD,GAAI,EACTuD,KAAK8qD,IAAK,EACV9qD,KAAK4qD,eAAgB,EACrB5qD,KAAKqqD,KAAOA,GAAQ,EACpBrqD,KAAKuqD,KAAOA,EACZvqD,KAAKu9B,UAAYA,EACjBv9B,KAAK8pD,KAAOS,EAAKT,KACjB9pD,KAAKqtC,SAAWid,EAChBtqD,KAAKmqD,UAAYA,EACjBnqD,KAAKimD,iBAAmBA,EACxBjmD,KAAKyqD,SAAW,EAChB,IAAIc,EAASn4C,EAAK3W,EAAE,GAAGqM,EAAEtM,OAGzB,IAFAwD,KAAKqrC,EAAImB,iBAAiB,UAAW+e,GACrCvrD,KAAKumD,GAAK/Z,iBAAiB,UAAW+e,GACjCtuD,EAAI,EAAGA,EAAIsuD,EAAQtuD,GAAK,EACzB+C,KAAKqrC,EAAEpuC,GAAK8oD,EACZ/lD,KAAKumD,GAAGtpD,GAAK8oD,EAEjB/lD,KAAKiqD,SAAS,CAAC3C,UAAUvB,EAAUhhD,UAAU,EAAEyB,MAAMgmC,iBAAiB,UAAW+e,IACjFvrD,KAAK+qD,UAAYA,EA4BrB,MAHS,CACLS,QAvBJ,SAAiBjB,EAAKn3C,EAAK2a,EAAMs8B,EAAM9sB,GACnC,IAAIiO,EACJ,GAAIp4B,EAAK3W,EAAED,OAEL,GAAyB,iBAAf4W,EAAK3W,EAAE,GACnB+uC,EAAI,IAAI2f,EAAyBZ,EAAKn3C,EAAMi3C,EAAM9sB,QAElD,OAAOxP,GACH,KAAK,EACDyd,EAAI,IAAI4f,EAAuBb,EAAKn3C,EAAKi3C,EAAM9sB,GAC/C,MACJ,KAAK,EACDiO,EAAI,IAAI8f,EAAkCf,EAAKn3C,EAAKi3C,EAAM9sB,QATlEiO,EAAI,IAAIyf,EAAcV,EAAKn3C,EAAMi3C,EAAM9sB,GAgB3C,OAHGiO,EAAEkf,gBAAgBluD,QACjB+gC,EAAUyP,mBAAmBxB,GAE1BA,IAjbO,GAyblBigB,yBAA4B,WAE5B,IAAIC,EAAgB,CAAC,EAAE,GAwJvB,SAASC,EAAkBpB,EAAKn3C,EAAKmqB,GAmBjC,GAlBAv9B,KAAKuqD,KAAOA,EACZvqD,KAAKyqD,SAAW,EAChBzqD,KAAKsmD,SAAW,YAChBtmD,KAAKoT,KAAOA,EACZpT,KAAKqrC,EAAI,IAAIuC,OAEb5tC,KAAK4rD,IAAM,IAAIhe,OACf5tC,KAAK6rD,uBAAyB,EAC9B7rD,KAAKstC,6BAA6B/P,GAAagtB,GAC5Cn3C,EAAKo4B,GAAKp4B,EAAKo4B,EAAE1iC,GAChB9I,KAAKywB,GAAKq1B,gBAAgB0F,QAAQjB,EAAKn3C,EAAKo4B,EAAEliC,EAAE,EAAE,EAAEtJ,MACpDA,KAAK8rD,GAAKhG,gBAAgB0F,QAAQjB,EAAKn3C,EAAKo4B,EAAE7/B,EAAE,EAAE,EAAE3L,MACjDoT,EAAKo4B,EAAEwG,IACNhyC,KAAK+rD,GAAKjG,gBAAgB0F,QAAQjB,EAAKn3C,EAAKo4B,EAAEwG,EAAE,EAAE,EAAEhyC,QAGxDA,KAAKwrC,EAAIsa,gBAAgB0F,QAAQjB,EAAKn3C,EAAKo4B,GAAK,CAAC/uC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAEuD,MAEjEoT,EAAK44C,GAAI,CAIR,GAHAhsD,KAAKgsD,GAAKlG,gBAAgB0F,QAAQjB,EAAMn3C,EAAK44C,GAAI,EAAG/iB,UAAWjpC,MAC/DA,KAAKisD,GAAKnG,gBAAgB0F,QAAQjB,EAAMn3C,EAAK64C,GAAI,EAAGhjB,UAAWjpC,MAC/DA,KAAKksD,GAAKpG,gBAAgB0F,QAAQjB,EAAMn3C,EAAK84C,GAAI,EAAGjjB,UAAWjpC,MAC5DoT,EAAK+4C,GAAG1vD,EAAE,GAAGuqD,GAAI,CAChB,IAAI/pD,EAAGgD,EAAMmT,EAAK+4C,GAAG1vD,EAAED,OACvB,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbmW,EAAK+4C,GAAG1vD,EAAEQ,GAAGoD,GAAK+S,EAAK+4C,GAAG1vD,EAAEQ,GAAG+pD,GAAK,KAG5ChnD,KAAKmsD,GAAKrG,gBAAgB0F,QAAQjB,EAAMn3C,EAAK+4C,GAAI,EAAGljB,UAAWjpC,MAE/DA,KAAKmsD,GAAGpE,IAAK,OAEb/nD,KAAKsrC,EAAIwa,gBAAgB0F,QAAQjB,EAAMn3C,EAAKk4B,GAAK,CAAC7uC,EAAG,GAAI,EAAGwsC,UAAWjpC,MAExEoT,EAAKg5C,KACJpsD,KAAKosD,GAAKtG,gBAAgB0F,QAAQjB,EAAMn3C,EAAKg5C,GAAI,EAAGnjB,UAAWjpC,MAC/DA,KAAKqsD,GAAKvG,gBAAgB0F,QAAQjB,EAAMn3C,EAAKi5C,GAAI,EAAGpjB,UAAWjpC,OAEnEA,KAAK9D,EAAI4pD,gBAAgB0F,QAAQjB,EAAKn3C,EAAKlX,GAAK,CAACO,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAEuD,MAChEA,KAAK8I,EAAIg9C,gBAAgB0F,QAAQjB,EAAKn3C,EAAKtK,GAAK,CAACrM,EAAE,CAAC,IAAI,IAAI,MAAM,EAAE,IAAKuD,MAEtEoT,EAAK5J,EACJxJ,KAAKwJ,EAAIs8C,gBAAgB0F,QAAQjB,EAAKn3C,EAAK5J,EAAE,EAAE,IAAK+gD,GAEpDvqD,KAAKwJ,EAAI,CAAC4jC,MAAK,EAAM/B,EAAE,GAE3BrrC,KAAKssD,UAAW,EACZtsD,KAAKitC,kBAAkBzwC,QACvBwD,KAAKqtC,UAAS,GAmBtB,OAfAse,EAAkB9vD,UAAY,CAC1B0wD,cA5MJ,SAAuBC,GACnB,IAAIpf,EAAOptC,KAAKotC,KAChBptC,KAAKmtC,2BACLntC,KAAKotC,KAAOptC,KAAKotC,MAAQA,EACrBptC,KAAK9D,GACLswD,EAAIn0B,WAAWr4B,KAAK9D,EAAEmvC,EAAE,IAAKrrC,KAAK9D,EAAEmvC,EAAE,GAAIrrC,KAAK9D,EAAEmvC,EAAE,IAEnDrrC,KAAK8I,GACL0jD,EAAIrd,MAAMnvC,KAAK8I,EAAEuiC,EAAE,GAAIrrC,KAAK8I,EAAEuiC,EAAE,GAAIrrC,KAAK8I,EAAEuiC,EAAE,IAE7CrrC,KAAKosD,IACLI,EAAItd,cAAclvC,KAAKosD,GAAG/gB,EAAGrrC,KAAKqsD,GAAGhhB,GAErCrrC,KAAKsrC,EACLkhB,EAAIne,QAAQruC,KAAKsrC,EAAED,GAEnBmhB,EAAI7d,SAAS3uC,KAAKksD,GAAG7gB,GAAGqD,QAAQ1uC,KAAKisD,GAAG5gB,GAAGoD,QAAQzuC,KAAKgsD,GAAG3gB,GAAGsD,SAAS3uC,KAAKmsD,GAAG9gB,EAAE,IAAIqD,QAAQ1uC,KAAKmsD,GAAG9gB,EAAE,IAAIoD,QAAQzuC,KAAKmsD,GAAG9gB,EAAE,IAE7HrrC,KAAKoT,KAAKo4B,EAAE1iC,EACR9I,KAAKoT,KAAKo4B,EAAEwG,EACZwa,EAAIn0B,UAAUr4B,KAAKywB,GAAG4a,EAAGrrC,KAAK8rD,GAAGzgB,GAAIrrC,KAAK+rD,GAAG1gB,GAE7CmhB,EAAIn0B,UAAUr4B,KAAKywB,GAAG4a,EAAGrrC,KAAK8rD,GAAGzgB,EAAG,GAGxCmhB,EAAIn0B,UAAUr4B,KAAKwrC,EAAEH,EAAE,GAAIrrC,KAAKwrC,EAAEH,EAAE,IAAKrrC,KAAKwrC,EAAEH,EAAE,KAoLtDgC,SAjLJ,SAAqBof,GACjB,GAAIzsD,KAAKuqD,KAAKC,WAAWC,UAAYzqD,KAAKyqD,QAA1C,CAUA,GAPGzqD,KAAKssD,WACJtsD,KAAK0sD,qBACL1sD,KAAKssD,UAAW,GAGpBtsD,KAAKmtC,2BAEDntC,KAAKotC,MAAQqf,EAAa,CAgB1B,GAfAzsD,KAAKqrC,EAAEyG,eAAe9xC,KAAK4rD,IAAI7uB,OAC3B/8B,KAAK6rD,uBAAyB,GAC9B7rD,KAAKqrC,EAAEhT,WAAWr4B,KAAK9D,EAAEmvC,EAAE,IAAKrrC,KAAK9D,EAAEmvC,EAAE,GAAIrrC,KAAK9D,EAAEmvC,EAAE,IAEvDrrC,KAAK6rD,uBAAyB,GAC7B7rD,KAAKqrC,EAAE8D,MAAMnvC,KAAK8I,EAAEuiC,EAAE,GAAIrrC,KAAK8I,EAAEuiC,EAAE,GAAIrrC,KAAK8I,EAAEuiC,EAAE,IAEhDrrC,KAAKosD,IAAMpsD,KAAK6rD,uBAAyB,GACzC7rD,KAAKqrC,EAAE6D,cAAclvC,KAAKosD,GAAG/gB,EAAGrrC,KAAKqsD,GAAGhhB,GAExCrrC,KAAKsrC,GAAKtrC,KAAK6rD,uBAAyB,EACxC7rD,KAAKqrC,EAAEgD,QAAQruC,KAAKsrC,EAAED,IACdrrC,KAAKsrC,GAAKtrC,KAAK6rD,uBAAyB,GAChD7rD,KAAKqrC,EAAEsD,SAAS3uC,KAAKksD,GAAG7gB,GAAGqD,QAAQ1uC,KAAKisD,GAAG5gB,GAAGoD,QAAQzuC,KAAKgsD,GAAG3gB,GAAGsD,SAAS3uC,KAAKmsD,GAAG9gB,EAAE,IAAIqD,QAAQ1uC,KAAKmsD,GAAG9gB,EAAE,IAAIoD,QAAQzuC,KAAKmsD,GAAG9gB,EAAE,IAEhIrrC,KAAK2sD,aAAc,CACnB,IAAIC,EAAGC,EAAIC,EAAY9sD,KAAKuqD,KAAKC,WAAWsC,UAC5C,GAAG9sD,KAAKwrC,GAAKxrC,KAAKwrC,EAAEob,WAAa5mD,KAAKwrC,EAAEuhB,eAChC/sD,KAAKwrC,EAAEye,SAAS3C,UAAUtnD,KAAKwrC,EAAE6a,YAAcrmD,KAAKwrC,EAAEob,UAAU,GAAG7mD,GACnE6sD,EAAK5sD,KAAKwrC,EAAEuhB,gBAAgB/sD,KAAKwrC,EAAEob,UAAU,GAAG7mD,EAAI,KAAQ+sD,EAAU,GACtED,EAAK7sD,KAAKwrC,EAAEuhB,eAAe/sD,KAAKwrC,EAAEob,UAAU,GAAG7mD,EAAI+sD,EAAW,IACxD9sD,KAAKwrC,EAAEye,SAAS3C,UAAUtnD,KAAKwrC,EAAE6a,YAAcrmD,KAAKwrC,EAAEob,UAAU5mD,KAAKwrC,EAAEob,UAAUpqD,OAAS,GAAGuD,GACnG6sD,EAAK5sD,KAAKwrC,EAAEuhB,eAAgB/sD,KAAKwrC,EAAEob,UAAU5mD,KAAKwrC,EAAEob,UAAUpqD,OAAS,GAAGuD,EAAI+sD,EAAY,GAC1FD,EAAK7sD,KAAKwrC,EAAEuhB,gBAAgB/sD,KAAKwrC,EAAEob,UAAU5mD,KAAKwrC,EAAEob,UAAUpqD,OAAS,GAAGuD,EAAI,KAAQ+sD,EAAW,KAEjGF,EAAK5sD,KAAKwrC,EAAE+a,GACZsG,EAAK7sD,KAAKwrC,EAAEuhB,gBAAgB/sD,KAAKwrC,EAAEye,SAAS3C,UAAUtnD,KAAKwrC,EAAE6a,WAAa,KAAQyG,EAAW9sD,KAAKwrC,EAAE6a,kBAErG,GAAGrmD,KAAKywB,IAAMzwB,KAAKywB,GAAGm2B,WAAa5mD,KAAK8rD,GAAGlF,WAAa5mD,KAAKywB,GAAGs8B,gBAAkB/sD,KAAK8rD,GAAGiB,eAAgB,CAC7GH,EAAK,GACLC,EAAK,GACL,IAAIp8B,EAAKzwB,KAAKywB,GAAIq7B,EAAK9rD,KAAK8rD,GACxBr7B,EAAGw5B,SAAS3C,UAAU72B,EAAG41B,YAAc51B,EAAGm2B,UAAU,GAAG7mD,GACvD6sD,EAAG,GAAKn8B,EAAGs8B,gBAAgBt8B,EAAGm2B,UAAU,GAAG7mD,EAAI,KAAQ+sD,EAAU,GACjEF,EAAG,GAAKd,EAAGiB,gBAAgBjB,EAAGlF,UAAU,GAAG7mD,EAAI,KAAQ+sD,EAAU,GACjED,EAAG,GAAKp8B,EAAGs8B,eAAgBt8B,EAAGm2B,UAAU,GAAI,EAAIkG,EAAU,GAC1DD,EAAG,GAAKf,EAAGiB,eAAgBjB,EAAGlF,UAAU,GAAI,EAAIkG,EAAU,IACpDr8B,EAAGw5B,SAAS3C,UAAU72B,EAAG41B,YAAc51B,EAAGm2B,UAAUn2B,EAAGm2B,UAAUpqD,OAAS,GAAGuD,GACnF6sD,EAAG,GAAKn8B,EAAGs8B,eAAgBt8B,EAAGm2B,UAAUn2B,EAAGm2B,UAAUpqD,OAAS,GAAGuD,EAAI+sD,EAAW,GAChFF,EAAG,GAAKd,EAAGiB,eAAgBjB,EAAGlF,UAAUkF,EAAGlF,UAAUpqD,OAAS,GAAGuD,EAAI+sD,EAAW,GAChFD,EAAG,GAAKp8B,EAAGs8B,gBAAgBt8B,EAAGm2B,UAAUn2B,EAAGm2B,UAAUpqD,OAAS,GAAGuD,EAAI,KAAQ+sD,EAAU,GACvFD,EAAG,GAAKf,EAAGiB,gBAAgBjB,EAAGlF,UAAUkF,EAAGlF,UAAUpqD,OAAS,GAAGuD,EAAI,KAAQ+sD,EAAU,KAEvFF,EAAK,CAACn8B,EAAG81B,GAAIuF,EAAGvF,IAChBsG,EAAG,GAAKp8B,EAAGs8B,gBAAgBt8B,EAAGw5B,SAAS3C,UAAU72B,EAAG41B,WAAa,KAAQyG,EAAUr8B,EAAG41B,YACtFwG,EAAG,GAAKf,EAAGiB,gBAAgBjB,EAAG7B,SAAS3C,UAAUwE,EAAGzF,WAAa,KAAQyG,EAAUhB,EAAGzF,kBAG1FuG,EAAKC,EAAKnB,EAEd1rD,KAAKqrC,EAAEgD,QAAQlrC,KAAKmlD,MAAMsE,EAAG,GAAKC,EAAG,GAAID,EAAG,GAAKC,EAAG,KAErD7sD,KAAKoT,KAAKo4B,GAAKxrC,KAAKoT,KAAKo4B,EAAE1iC,EACvB9I,KAAKoT,KAAKo4B,EAAEwG,EACXhyC,KAAKqrC,EAAEhT,UAAUr4B,KAAKywB,GAAG4a,EAAGrrC,KAAK8rD,GAAGzgB,GAAIrrC,KAAK+rD,GAAG1gB,GAEhDrrC,KAAKqrC,EAAEhT,UAAUr4B,KAAKywB,GAAG4a,EAAGrrC,KAAK8rD,GAAGzgB,EAAG,GAG3CrrC,KAAKqrC,EAAEhT,UAAUr4B,KAAKwrC,EAAEH,EAAE,GAAGrrC,KAAKwrC,EAAEH,EAAE,IAAIrrC,KAAKwrC,EAAEH,EAAE,IAG3DrrC,KAAKyqD,QAAUzqD,KAAKuqD,KAAKC,WAAWC,UAwGpCiC,mBArGJ,WACI,IAAI1sD,KAAK9D,EAAEO,IACPuD,KAAK4rD,IAAIvzB,WAAWr4B,KAAK9D,EAAEmvC,EAAE,IAAKrrC,KAAK9D,EAAEmvC,EAAE,GAAIrrC,KAAK9D,EAAEmvC,EAAE,IACxDrrC,KAAK6rD,uBAAyB,GAI9B7rD,KAAK8I,EAAE4hD,gBAAgBluD,QAA3B,CAMA,GALIwD,KAAK4rD,IAAIzc,MAAMnvC,KAAK8I,EAAEuiC,EAAE,GAAIrrC,KAAK8I,EAAEuiC,EAAE,GAAIrrC,KAAK8I,EAAEuiC,EAAE,IAClDrrC,KAAK6rD,uBAAyB,EAI/B7rD,KAAKosD,GAAI,CACR,GAAIpsD,KAAKosD,GAAG1B,gBAAgBluD,QAAWwD,KAAKqsD,GAAG3B,gBAAgBluD,OAI3D,OAHAwD,KAAK4rD,IAAI1c,cAAclvC,KAAKosD,GAAG/gB,EAAGrrC,KAAKqsD,GAAGhhB,GAC9CrrC,KAAK6rD,uBAAyB,EAKlC,GAAI7rD,KAAKsrC,EAAG,CACR,GAAItrC,KAAKsrC,EAAEof,gBAAgBluD,OAIvB,OAHAwD,KAAK4rD,IAAIvd,QAAQruC,KAAKsrC,EAAED,GACxBrrC,KAAK6rD,uBAAyB,OAI3B7rD,KAAKksD,GAAGxB,gBAAgBluD,QAAWwD,KAAKisD,GAAGvB,gBAAgBluD,QAAWwD,KAAKgsD,GAAGtB,gBAAgBluD,QAAWwD,KAAKmsD,GAAGzB,gBAAgBluD,SACxIwD,KAAK4rD,IAAIjd,SAAS3uC,KAAKksD,GAAG7gB,GAAGqD,QAAQ1uC,KAAKisD,GAAG5gB,GAAGoD,QAAQzuC,KAAKgsD,GAAG3gB,GAAGsD,SAAS3uC,KAAKmsD,GAAG9gB,EAAE,IAAIqD,QAAQ1uC,KAAKmsD,GAAG9gB,EAAE,IAAIoD,QAAQzuC,KAAKmsD,GAAG9gB,EAAE,IAClIrrC,KAAK6rD,uBAAyB,KAwElCmB,WApEJ,cAuEA5U,gBAAgB,CAACrL,0BAA2B4e,GAC5CA,EAAkB9vD,UAAUmxC,mBAnE5B,SAA4BzsC,GACxBP,KAAKitD,oBAAoB1sD,GACzBP,KAAKuqD,KAAKvd,mBAAmBzsC,GAC7BP,KAAKssD,UAAW,GAiEpBX,EAAkB9vD,UAAUoxD,oBAAsBlgB,yBAAyBlxC,UAAUmxC,mBAM9E,CACHkgB,qBALJ,SAA8B3C,EAAKn3C,EAAKmqB,GACpC,OAAO,IAAIouB,EAAkBpB,EAAKn3C,EAAKmqB,KA3NhB,GAmO/B,SAAS4vB,YACRntD,KAAKmX,GAAI,EACTnX,KAAKw7C,QAAU,EACfx7C,KAAKotD,WAAa,EAClBptD,KAAKqrC,EAAItC,iBAAiB/oC,KAAKotD,YAC/BptD,KAAKwJ,EAAIu/B,iBAAiB/oC,KAAKotD,YAC/BptD,KAAK/C,EAAI8rC,iBAAiB/oC,KAAKotD,YAGhCD,UAAUtxD,UAAUwxD,YAAc,SAASjS,EAAQn7C,GAClDD,KAAKmX,EAAIikC,EACTp7C,KAAKstD,UAAUrtD,GAEf,IADA,IAAIhD,EAAI,EACFA,EAAIgD,GACTD,KAAKqrC,EAAEpuC,GAAKswD,WAAWxT,aACvB/5C,KAAKwJ,EAAEvM,GAAKswD,WAAWxT,aACvB/5C,KAAK/C,EAAEA,GAAKswD,WAAWxT,aACvB98C,GAAK,GAIPkwD,UAAUtxD,UAAUyxD,UAAY,SAASrtD,GACxC,KAAMD,KAAKotD,WAAantD,GACvBD,KAAKwtD,oBAENxtD,KAAKw7C,QAAUv7C,GAGhBktD,UAAUtxD,UAAU2xD,kBAAoB,WACvCxtD,KAAKqrC,EAAIrrC,KAAKqrC,EAAEx9B,OAAOk7B,iBAAiB/oC,KAAKotD,aAC7CptD,KAAK/C,EAAI+C,KAAK/C,EAAE4Q,OAAOk7B,iBAAiB/oC,KAAKotD,aAC7CptD,KAAKwJ,EAAIxJ,KAAKwJ,EAAEqE,OAAOk7B,iBAAiB/oC,KAAKotD,aAC7CptD,KAAKotD,YAAc,GAGpBD,UAAUtxD,UAAU4xD,QAAU,SAASnkD,EAAGqC,EAAGoiB,EAAMxd,EAAK/L,GACvD,IAAIzH,EAKJ,OAJAiD,KAAKw7C,QAAUr4C,KAAKI,IAAIvD,KAAKw7C,QAASjrC,EAAM,GACzCvQ,KAAKw7C,SAAWx7C,KAAKotD,YACvBptD,KAAKwtD,oBAECz/B,GACN,IAAK,IACJhxB,EAAMiD,KAAKqrC,EACX,MACD,IAAK,IACJtuC,EAAMiD,KAAK/C,EACX,MACD,IAAK,IACJF,EAAMiD,KAAKwJ,IAGTzM,EAAIwT,IAASxT,EAAIwT,KAAS/L,KAC7BzH,EAAIwT,GAAOg9C,WAAWxT,cAEvBh9C,EAAIwT,GAAK,GAAKjH,EACdvM,EAAIwT,GAAK,GAAK5E,GAGfwhD,UAAUtxD,UAAU6xD,YAAc,SAASC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGz9C,EAAK/L,GACjExE,KAAKytD,QAAQE,EAAGC,EAAG,IAAIr9C,EAAK/L,GAC5BxE,KAAKytD,QAAQI,EAAGC,EAAG,IAAIv9C,EAAK/L,GAC5BxE,KAAKytD,QAAQM,EAAGC,EAAG,IAAIz9C,EAAK/L,IAG7B2oD,UAAUtxD,UAAUoyD,QAAU,WAC7B,IAAIC,EAAU,IAAIf,UAClBe,EAAQb,YAAYrtD,KAAKmX,EAAGnX,KAAKw7C,SACjC,IAAI2S,EAAWnuD,KAAKqrC,EAAG+iB,EAAYpuD,KAAKwJ,EAAG6kD,EAAWruD,KAAK/C,EACvDqxD,EAAO,EACPtuD,KAAKmX,IACR+2C,EAAQR,YAAYS,EAAS,GAAG,GAAIA,EAAS,GAAG,GAAIE,EAAS,GAAG,GAAIA,EAAS,GAAG,GAAID,EAAU,GAAG,GAAIA,EAAU,GAAG,GAAI,GAAG,GACnHE,EAAO,GAEX,IAGIrxD,EAHAsxD,EAAMvuD,KAAKw7C,QAAU,EACrBv7C,EAAMD,KAAKw7C,QAGf,IAAKv+C,EAAIqxD,EAAMrxD,EAAIgD,EAAKhD,GAAK,EAC5BixD,EAAQR,YAAYS,EAASI,GAAK,GAAIJ,EAASI,GAAK,GAAIF,EAASE,GAAK,GAAIF,EAASE,GAAK,GAAIH,EAAUG,GAAK,GAAIH,EAAUG,GAAK,GAAItxD,GAAG,GAClIsxD,GAAO,EAEX,OAAOL,GAEX,IAAIM,qBAAwB,WAIxB,SAASC,EAAiBvI,EAAUwI,EAAevI,GAC/C,IACIwI,EAASC,EAASC,EAAQj7C,EAAGnX,EAAGiiD,EAAMC,EAAMnF,EAAMsV,EADlDnI,EAAiBR,EAAQphD,UAEzB+lD,EAAK9qD,KAAK4mD,UACd,GAAGV,EAAW4E,EAAG,GAAG/qD,EAAEC,KAAKqmD,WACvBsI,EAAW7D,EAAG,GAAGhiD,EAAE,GACnB+lD,GAAS,EACTlI,EAAiB,OACf,GAAGT,GAAY4E,EAAGA,EAAGtuD,OAAS,GAAGuD,EAAEC,KAAKqmD,WAC1CsI,EAAW7D,EAAGA,EAAGtuD,OAAS,GAAGsM,EAAIgiD,EAAGA,EAAGtuD,OAAS,GAAGsM,EAAE,GAAKgiD,EAAGA,EAAGtuD,OAAS,GAAG0W,EAAE,GAM9E27C,GAAS,MACR,CAGD,IAFA,IACmCrI,EAAQC,EADvCxpD,EAAI0pD,EACJ1mD,EAAM6qD,EAAGtuD,OAAQ,EAAE6sC,GAAO,EACxBA,IACFmd,EAAUsE,EAAG7tD,MACbwpD,EAAcqE,EAAG7tD,EAAE,IACH8C,EAAIC,KAAKqmD,WAAcH,KAGpCjpD,EAAIgD,EAAM,EACThD,GAAK,EAELosC,GAAO,EAKf,GADAsd,EAAiB1pD,IADjB4xD,EAAuB,IAAdrI,EAAQv6C,GAEN,CACP,GAAGi6C,GAAYO,EAAY1mD,EAAEC,KAAKqmD,WAC9B7M,EAAO,OACL,GAAG0M,EAAWM,EAAQzmD,EAAEC,KAAKqmD,WAC/B7M,EAAO,MACN,CACD,IAAIkN,EACDF,EAAQU,OACPR,EAAMF,EAAQU,QAEdR,EAAM3Q,cAAcoR,gBAAgBX,EAAQh9C,EAAEF,EAAEk9C,EAAQh9C,EAAEmC,EAAE66C,EAAQvpD,EAAEqM,EAAEk9C,EAAQvpD,EAAE0O,GAAG9E,IACrF2/C,EAAQU,OAASR,GAErBlN,EAAOkN,GAAKR,GAAUM,EAAQzmD,EAAEC,KAAKqmD,cAAeI,EAAY1mD,EAAEC,KAAKqmD,YAAaG,EAAQzmD,EAAEC,KAAKqmD,cAEvGuI,EAAWnI,EAAY39C,EAAI29C,EAAY39C,EAAE,GAAK09C,EAAQtzC,EAAE,GAE5Dy7C,EAAWnI,EAAQ19C,EAAE,GAMzB,IAJA41C,EAAOgQ,EAAclT,QACrBmD,EAAOgQ,EAAS1xD,EAAE,GAAGT,OACrB2pD,EAAQphD,UAAY4hD,EAEhB/yC,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EACd,IAAInX,EAAE,EAAEA,EAAEkiD,EAAKliD,GAAG,EACdqyD,EAAcD,EAASF,EAAS1xD,EAAE2W,GAAGnX,GAAMkyD,EAAS1xD,EAAE2W,GAAGnX,IAAImyD,EAAS3xD,EAAE2W,GAAGnX,GAAGkyD,EAAS1xD,EAAE2W,GAAGnX,IAAI+8C,EAChGkV,EAAczxD,EAAE2W,GAAGnX,GAAKqyD,EACxBA,EAAcD,EAASF,EAASnlD,EAAEoK,GAAGnX,GAAMkyD,EAASnlD,EAAEoK,GAAGnX,IAAImyD,EAASplD,EAAEoK,GAAGnX,GAAGkyD,EAASnlD,EAAEoK,GAAGnX,IAAI+8C,EAChGkV,EAAcllD,EAAEoK,GAAGnX,GAAKqyD,EACxBA,EAAcD,EAASF,EAAStjB,EAAEz3B,GAAGnX,GAAMkyD,EAAStjB,EAAEz3B,GAAGnX,IAAImyD,EAASvjB,EAAEz3B,GAAGnX,GAAGkyD,EAAStjB,EAAEz3B,GAAGnX,IAAI+8C,EAChGkV,EAAcrjB,EAAEz3B,GAAGnX,GAAKqyD,EAKpC,SAASC,IACL,IAAI7I,EAAWlmD,KAAK8pD,KAAKC,cAAgB/pD,KAAKqmD,WAC1C9C,EAAWvjD,KAAK4mD,UAAU,GAAG7mD,EAAIC,KAAKqmD,WACtC2D,EAAUhqD,KAAK4mD,UAAU5mD,KAAK4mD,UAAUpqD,OAAS,GAAGuD,EAAIC,KAAKqmD,WAC7DiB,EAAYtnD,KAAKiqD,SAAS3C,UAQ9B,OAlFY,SA2EPA,IAA6BA,EAAY/D,GAAY2C,EAAW3C,GAAc+D,EAAY0C,GAAW9D,EAAW8D,KAEjHhqD,KAAKiqD,SAASllD,UAAYuiD,EAAYpB,EAAWlmD,KAAKiqD,SAASllD,UAAY,EAC3E/E,KAAKyuD,iBAAiBvI,EAAUlmD,KAAKumD,GAAIvmD,KAAKiqD,WAGlDjqD,KAAKiqD,SAAS3C,UAAYpB,EACnBlmD,KAAKumD,GAGhB,SAASyI,IACLhvD,KAAKygD,MAAQzgD,KAAKivD,qBAqBtB,SAAS9E,EAAU+D,IAlBnB,SAAqBgB,EAAQC,GACzB,GAAGD,EAAO1T,UAAY2T,EAAO3T,SAAW0T,EAAO/3C,IAAMg4C,EAAOh4C,EACxD,OAAO,EAEX,IAAIla,EAAGgD,EAAMivD,EAAO1T,QACpB,IAAIv+C,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACrB,GAAGiyD,EAAO7jB,EAAEpuC,GAAG,KAAOkyD,EAAO9jB,EAAEpuC,GAAG,IAC/BiyD,EAAO7jB,EAAEpuC,GAAG,KAAOkyD,EAAO9jB,EAAEpuC,GAAG,IAC/BiyD,EAAO1lD,EAAEvM,GAAG,KAAOkyD,EAAO3lD,EAAEvM,GAAG,IAC/BiyD,EAAO1lD,EAAEvM,GAAG,KAAOkyD,EAAO3lD,EAAEvM,GAAG,IAC/BiyD,EAAOjyD,EAAEA,GAAG,KAAOkyD,EAAOlyD,EAAEA,GAAG,IAC/BiyD,EAAOjyD,EAAEA,GAAG,KAAOkyD,EAAOlyD,EAAEA,GAAG,GAC9B,OAAO,EAGf,OAAO,GAIHmyD,CAAYpvD,KAAKqrC,EAAG6iB,KACpBluD,KAAKqrC,EAAIgkB,WAAWpyC,MAAMixC,GAC1BluD,KAAKivD,qBAAqBK,gBAC1BtvD,KAAKivD,qBAAqBM,SAASvvD,KAAKqrC,GACxCrrC,KAAKotC,MAAO,EACZptC,KAAKygD,MAAQzgD,KAAKivD,sBAI1B,SAAS3E,IACL,GAAItqD,KAAKuqD,KAAKC,WAAWC,UAAYzqD,KAAKyqD,QAEnC,GAAKzqD,KAAK0qD,gBAAgBluD,OAIjC,GAAIwD,KAAK2qD,KACL3qD,KAAKmqD,UAAUnqD,KAAKumD,QADxB,CAIAvmD,KAAK2qD,MAAO,EACZ3qD,KAAKotC,MAAO,EACZ,IACInwC,EADA4tD,EAAa7qD,KAAK8qD,GAAK9qD,KAAKumD,GAAKvmD,KAAKoT,KAAKssC,GAAK1/C,KAAKoT,KAAKssC,GAAGjjD,EAAIuD,KAAKoT,KAAKo/B,GAAG/1C,EAC3EwD,EAAMD,KAAK0qD,gBAAgBluD,OAClC,IAAIS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACrB4tD,EAAa7qD,KAAK0qD,gBAAgBztD,GAAG4tD,GAEzC7qD,KAAKmqD,UAAUU,GACf7qD,KAAK2qD,MAAO,EACZ3qD,KAAKyqD,QAAUzqD,KAAKuqD,KAAKC,WAAWC,aAhBhCzqD,KAAKotC,MAAO,EAmBpB,SAASoiB,EAAcjF,EAAMn3C,EAAM2a,GAC/B/tB,KAAKsmD,SAAW,QAChBtmD,KAAK8pD,KAAOS,EAAKT,KACjB9pD,KAAKu9B,UAAYgtB,EACjBvqD,KAAKuqD,KAAOA,EACZvqD,KAAKoT,KAAOA,EACZpT,KAAKvD,GAAI,EACTuD,KAAK8qD,IAAK,EACV9qD,KAAKotC,MAAO,EACZ,IAAIoT,EAAoB,IAATzyB,EAAa3a,EAAKo/B,GAAG/1C,EAAI2W,EAAKssC,GAAGjjD,EAChDuD,KAAKqrC,EAAIgkB,WAAWpyC,MAAMujC,GAC1BxgD,KAAKumD,GAAK8I,WAAWpyC,MAAMjd,KAAKqrC,GAChCrrC,KAAKivD,qBAAuBQ,qBAAqBC,qBACjD1vD,KAAKygD,MAAQzgD,KAAKivD,qBAClBjvD,KAAKygD,MAAM8O,SAASvvD,KAAKqrC,GACzBrrC,KAAKouC,MAAQ4gB,EACbhvD,KAAK0qD,gBAAkB,GAG3B,SAASK,EAAUC,GACfhrD,KAAK0qD,gBAAgBvtD,KAAK6tD,GAC1BhrD,KAAKu9B,UAAUyP,mBAAmBhtC,MAQtC,SAAS2vD,EAAuBpF,EAAKn3C,EAAK2a,GACtC/tB,KAAKsmD,SAAW,QAChBtmD,KAAK8pD,KAAOS,EAAKT,KACjB9pD,KAAKuqD,KAAOA,EACZvqD,KAAKu9B,UAAYgtB,EACjBvqD,KAAKqmD,WAAakE,EAAKn3C,KAAKi4C,GAC5BrrD,KAAK4mD,UAAqB,IAAT74B,EAAa3a,EAAKo/B,GAAG/1C,EAAI2W,EAAKssC,GAAGjjD,EAClDuD,KAAKvD,GAAI,EACTuD,KAAK8qD,IAAK,EACV,IAAO7qD,EAAMD,KAAK4mD,UAAU,GAAG99C,EAAE,GAAG7L,EAAET,OAC3BwD,KAAK4mD,UAAU,GAAG99C,EAAE,GAAG7L,EAAE,GAAGT,OACvCwD,KAAKqrC,EAAIgkB,WAAWtV,aACpB/5C,KAAKqrC,EAAEgiB,YAAYrtD,KAAK4mD,UAAU,GAAG99C,EAAE,GAAGqO,EAAGlX,GAC7CD,KAAKumD,GAAK8I,WAAWpyC,MAAMjd,KAAKqrC,GAChCrrC,KAAKivD,qBAAuBQ,qBAAqBC,qBACjD1vD,KAAKygD,MAAQzgD,KAAKivD,qBAClBjvD,KAAKygD,MAAM8O,SAASvvD,KAAKqrC,GACzBrrC,KAAKsnD,WA1LO,OA2LZtnD,KAAKouC,MAAQ4gB,EACbhvD,KAAKiqD,SAAW,CAAC3C,WA5LL,OA4L2BviD,UAAW,GAClD/E,KAAK0qD,gBAAkB,CAACqE,EAA4BziB,KAAKtsC,OAzB7DwvD,EAAc3zD,UAAU4yD,iBAAmBA,EAC3Ce,EAAc3zD,UAAUwxC,SAAWid,EACnCkF,EAAc3zD,UAAUsuD,UAAYA,EACpCqF,EAAc3zD,UAAUkvD,UAAYA,EAwBpC4E,EAAuB9zD,UAAUwxC,SAAWid,EAC5CqF,EAAuB9zD,UAAU4yD,iBAAmBA,EACpDkB,EAAuB9zD,UAAUsuD,UAAYA,EAC7CwF,EAAuB9zD,UAAUkvD,UAAYA,EAE7C,IAAI6E,EAAoB,WAEpB,IAAIC,EAAS1mB,YAEb,SAASymB,EAAiBrF,EAAKn3C,GAO3BpT,KAAKqrC,EAAIgkB,WAAWtV,aACpB/5C,KAAKqrC,EAAEgiB,aAAY,EAAM,GACzBrtD,KAAKivD,qBAAuBQ,qBAAqBC,qBACjD1vD,KAAKygD,MAAQzgD,KAAKivD,qBAClBjvD,KAAKivD,qBAAqBM,SAASvvD,KAAKqrC,GACxCrrC,KAAKgM,EAAIoH,EAAKpH,EACdhM,KAAKuqD,KAAOA,EACZvqD,KAAK8pD,KAAOS,EAAKT,KACjB9pD,KAAKyqD,SAAW,EAChBzqD,KAAKstC,6BAA6Bid,GAClCvqD,KAAKwrC,EAAIsa,gBAAgB0F,QAAQjB,EAAKn3C,EAAKo4B,EAAE,EAAE,EAAExrC,MACjDA,KAAK8I,EAAIg9C,gBAAgB0F,QAAQjB,EAAKn3C,EAAKtK,EAAE,EAAE,EAAE9I,MAC9CA,KAAKitC,kBAAkBzwC,OACtBwD,KAAKvD,GAAI,GAETuD,KAAKvD,GAAI,EACTuD,KAAK8vD,oBAkDb,OA9CAF,EAAiB/zD,UAAY,CACzBuyC,MAAO4gB,EACP3hB,SAAU,WACHrtC,KAAKuqD,KAAKC,WAAWC,UAAYzqD,KAAKyqD,UAGzCzqD,KAAKyqD,QAAUzqD,KAAKuqD,KAAKC,WAAWC,QACpCzqD,KAAKmtC,2BAEFntC,KAAKotC,MACJptC,KAAK8vD,qBAGbA,iBAAkB,WACd,IAAI7c,EAAKjzC,KAAKwrC,EAAEH,EAAE,GAAI3iC,EAAK1I,KAAKwrC,EAAEH,EAAE,GAAI0kB,EAAK/vD,KAAK8I,EAAEuiC,EAAE,GAAG,EAAGqe,EAAK1pD,KAAK8I,EAAEuiC,EAAE,GAAG,EACzE2kB,EAAiB,IAAXhwD,KAAKgM,EACXikD,EAAKjwD,KAAKqrC,EACd4kB,EAAG5kB,EAAE,GAAG,GAAK4H,EACbgd,EAAG5kB,EAAE,GAAG,GAAK3iC,EAAKghD,EAClBuG,EAAG5kB,EAAE,GAAG,GAAK2kB,EAAM/c,EAAK8c,EAAK9c,EAAK8c,EAClCE,EAAG5kB,EAAE,GAAG,GAAK3iC,EACbunD,EAAG5kB,EAAE,GAAG,GAAK4H,EACbgd,EAAG5kB,EAAE,GAAG,GAAK3iC,EAAKghD,EAClBuG,EAAG5kB,EAAE,GAAG,GAAK2kB,EAAM/c,EAAK8c,EAAK9c,EAAK8c,EAClCE,EAAG5kB,EAAE,GAAG,GAAK3iC,EACbunD,EAAGhzD,EAAE,GAAG,GAAK+yD,EAAM/c,EAAK8c,EAAKF,EAAS5c,EAAK8c,EAAKF,EAChDI,EAAGhzD,EAAE,GAAG,GAAKyL,EAAKghD,EAClBuG,EAAGhzD,EAAE,GAAG,GAAK+yD,EAAM/c,EAAK8c,EAAK9c,EAAK8c,EAClCE,EAAGhzD,EAAE,GAAG,GAAKyL,EAAKghD,EAAKmG,EACvBI,EAAGhzD,EAAE,GAAG,GAAK+yD,EAAM/c,EAAK8c,EAAKF,EAAS5c,EAAK8c,EAAKF,EAChDI,EAAGhzD,EAAE,GAAG,GAAKyL,EAAKghD,EAClBuG,EAAGhzD,EAAE,GAAG,GAAK+yD,EAAM/c,EAAK8c,EAAK9c,EAAK8c,EAClCE,EAAGhzD,EAAE,GAAG,GAAKyL,EAAKghD,EAAKmG,EACvBI,EAAGzmD,EAAE,GAAG,GAAKwmD,EAAM/c,EAAK8c,EAAKF,EAAS5c,EAAK8c,EAAKF,EAChDI,EAAGzmD,EAAE,GAAG,GAAKd,EAAKghD,EAClBuG,EAAGzmD,EAAE,GAAG,GAAKwmD,EAAM/c,EAAK8c,EAAK9c,EAAK8c,EAClCE,EAAGzmD,EAAE,GAAG,GAAKd,EAAKghD,EAAKmG,EACvBI,EAAGzmD,EAAE,GAAG,GAAKwmD,EAAM/c,EAAK8c,EAAKF,EAAS5c,EAAK8c,EAAKF,EAChDI,EAAGzmD,EAAE,GAAG,GAAKd,EAAKghD,EAClBuG,EAAGzmD,EAAE,GAAG,GAAKwmD,EAAM/c,EAAK8c,EAAK9c,EAAK8c,EAClCE,EAAGzmD,EAAE,GAAG,GAAKd,EAAKghD,EAAKmG,IAI/BzX,gBAAgB,CAACrL,0BAA2B6iB,GAErCA,EA7EY,GAgFnBM,EAAqB,WAErB,SAASA,EAAkB3F,EAAKn3C,GAC5BpT,KAAKqrC,EAAIgkB,WAAWtV,aACpB/5C,KAAKqrC,EAAEgiB,aAAY,EAAM,GACzBrtD,KAAKuqD,KAAOA,EACZvqD,KAAK8pD,KAAOS,EAAKT,KACjB9pD,KAAKoT,KAAOA,EACZpT,KAAKyqD,SAAW,EAChBzqD,KAAKgM,EAAIoH,EAAKpH,EACdhM,KAAKstC,6BAA6Bid,GACnB,IAAZn3C,EAAK07B,IACJ9uC,KAAKmwD,GAAKrK,gBAAgB0F,QAAQjB,EAAKn3C,EAAK+8C,GAAG,EAAE,EAAEnwD,MACnDA,KAAK0yB,GAAKozB,gBAAgB0F,QAAQjB,EAAKn3C,EAAKsf,GAAG,EAAE,IAAK1yB,MACtDA,KAAKowD,cAAgBpwD,KAAKqwD,mBAE1BrwD,KAAKowD,cAAgBpwD,KAAKswD,qBAE9BtwD,KAAKwyC,GAAKsT,gBAAgB0F,QAAQjB,EAAKn3C,EAAKo/B,GAAG,EAAE,EAAExyC,MACnDA,KAAKwrC,EAAIsa,gBAAgB0F,QAAQjB,EAAKn3C,EAAKo4B,EAAE,EAAE,EAAExrC,MACjDA,KAAKsrC,EAAIwa,gBAAgB0F,QAAQjB,EAAKn3C,EAAKk4B,EAAE,EAAErC,UAAUjpC,MACzDA,KAAKmsD,GAAKrG,gBAAgB0F,QAAQjB,EAAKn3C,EAAK+4C,GAAG,EAAE,EAAEnsD,MACnDA,KAAKuwD,GAAKzK,gBAAgB0F,QAAQjB,EAAKn3C,EAAKm9C,GAAG,EAAE,IAAKvwD,MACtDA,KAAKivD,qBAAuBQ,qBAAqBC,qBACjD1vD,KAAKivD,qBAAqBM,SAASvvD,KAAKqrC,GACxCrrC,KAAKygD,MAAQzgD,KAAKivD,qBACfjvD,KAAKitC,kBAAkBzwC,OACtBwD,KAAKvD,GAAI,GAETuD,KAAKvD,GAAI,EACTuD,KAAKowD,iBAgFb,OA5EAF,EAAkBr0D,UAAY,CAC1BuyC,MAAO4gB,EACP3hB,SAAU,WACHrtC,KAAKuqD,KAAKC,WAAWC,UAAYzqD,KAAKyqD,UAGzCzqD,KAAKyqD,QAAUzqD,KAAKuqD,KAAKC,WAAWC,QACpCzqD,KAAKmtC,2BACFntC,KAAKotC,MACJptC,KAAKowD,kBAGbC,kBAAmB,WACf,IAYIpzD,EAAGuzD,EAAIC,EAAUC,EAZjBC,EAA+B,EAAtBxtD,KAAKiD,MAAMpG,KAAKwyC,GAAGnH,GAC5BiD,EAAgB,EAARnrC,KAAK+lC,GAAKynB,EAIlBC,GAAW,EACXC,EAAU7wD,KAAKmsD,GAAG9gB,EAClBylB,EAAW9wD,KAAKmwD,GAAG9kB,EACnB0lB,EAAY/wD,KAAKuwD,GAAGllB,EACpB2lB,EAAahxD,KAAK0yB,GAAG2Y,EACrB4lB,EAAmB,EAAE9tD,KAAK+lC,GAAG2nB,GAAgB,EAAPF,GACtCO,EAAoB,EAAE/tD,KAAK+lC,GAAG4nB,GAAiB,EAAPH,GACTQ,GAAchuD,KAAK+lC,GAAI,EAC1DioB,GAAcnxD,KAAKsrC,EAAED,EACrB,IAAI1lB,EAAsB,IAAhB3lB,KAAKoT,KAAKpH,GAAW,EAAI,EAEnC,IADAhM,KAAKqrC,EAAEmQ,QAAU,EACbv+C,EAAE,EAAEA,EAAE0zD,EAAO1zD,GAAG,EAAE,CAElBwzD,EAAYG,EAAWG,EAAYC,EACnCN,EAAeE,EAAWK,EAAmBC,EAC7C,IAAI5nD,GAHJknD,EAAMI,EAAWC,EAAUC,GAGb3tD,KAAK2qC,IAAIqjB,GACnBxlD,EAAI6kD,EAAMrtD,KAAK6qC,IAAImjB,GACnBC,EAAW,IAAN9nD,GAAiB,IAANqC,EAAU,EAAIA,EAAExI,KAAKklC,KAAK/+B,EAAEA,EAAIqC,EAAEA,GAClD0lD,EAAW,IAAN/nD,GAAiB,IAANqC,EAAU,GAAKrC,EAAEnG,KAAKklC,KAAK/+B,EAAEA,EAAIqC,EAAEA,GACvDrC,IAAQtJ,KAAKwrC,EAAEH,EAAE,GACjB1/B,IAAQ3L,KAAKwrC,EAAEH,EAAE,GACjBrrC,KAAKqrC,EAAEqiB,YAAYpkD,EAAEqC,EAAErC,EAAE8nD,EAAGV,EAAaD,EAAU9qC,EAAIha,EAAE0lD,EAAGX,EAAaD,EAAU9qC,EAAIrc,EAAE8nD,EAAGV,EAAaD,EAAU9qC,EAAIha,EAAE0lD,EAAGX,EAAaD,EAAU9qC,EAAK1oB,GAAG,GAM3J2zD,GAAYA,EACZO,GAAc7iB,EAAM3oB,IAG5B2qC,qBAAsB,WAClB,IAKIrzD,EALA0zD,EAASxtD,KAAKiD,MAAMpG,KAAKwyC,GAAGnH,GAC5BiD,EAAgB,EAARnrC,KAAK+lC,GAAKynB,EAClBH,EAAMxwD,KAAKmsD,GAAG9gB,EACdolB,EAAYzwD,KAAKuwD,GAAGllB,EACpBqlB,EAAe,EAAEvtD,KAAK+lC,GAAGsnB,GAAY,EAAPG,GAC3BQ,GAAchuD,KAAK+lC,GAAI,EAC1BvjB,EAAsB,IAAhB3lB,KAAKoT,KAAKpH,GAAW,EAAI,EAGnC,IAFAmlD,GAAcnxD,KAAKsrC,EAAED,EACrBrrC,KAAKqrC,EAAEmQ,QAAU,EACbv+C,EAAE,EAAEA,EAAE0zD,EAAO1zD,GAAG,EAAE,CAClB,IAAIqM,EAAIknD,EAAMrtD,KAAK2qC,IAAIqjB,GACnBxlD,EAAI6kD,EAAMrtD,KAAK6qC,IAAImjB,GACnBC,EAAW,IAAN9nD,GAAiB,IAANqC,EAAU,EAAIA,EAAExI,KAAKklC,KAAK/+B,EAAEA,EAAIqC,EAAEA,GAClD0lD,EAAW,IAAN/nD,GAAiB,IAANqC,EAAU,GAAKrC,EAAEnG,KAAKklC,KAAK/+B,EAAEA,EAAIqC,EAAEA,GACvDrC,IAAQtJ,KAAKwrC,EAAEH,EAAE,GACjB1/B,IAAQ3L,KAAKwrC,EAAEH,EAAE,GACjBrrC,KAAKqrC,EAAEqiB,YAAYpkD,EAAEqC,EAAErC,EAAE8nD,EAAGV,EAAaD,EAAU9qC,EAAIha,EAAE0lD,EAAGX,EAAaD,EAAU9qC,EAAIrc,EAAE8nD,EAAGV,EAAaD,EAAU9qC,EAAIha,EAAE0lD,EAAGX,EAAaD,EAAU9qC,EAAK1oB,GAAG,GAC3Jk0D,GAAc7iB,EAAM3oB,EAExB3lB,KAAKygD,MAAMjkD,OAAS,EACpBwD,KAAKygD,MAAM,GAAKzgD,KAAKqrC,IAI7B+M,gBAAgB,CAACrL,0BAA2BmjB,GAErCA,EA9Ga,GAiHpBoB,EAAqB,WAEpB,SAASA,EAAkB/G,EAAKn3C,GAC7BpT,KAAKqrC,EAAIgkB,WAAWtV,aACpB/5C,KAAKqrC,EAAEl0B,GAAI,EACXnX,KAAKivD,qBAAuBQ,qBAAqBC,qBACjD1vD,KAAKivD,qBAAqBM,SAASvvD,KAAKqrC,GACxCrrC,KAAKygD,MAAQzgD,KAAKivD,qBAClBjvD,KAAKuqD,KAAOA,EACZvqD,KAAK8pD,KAAOS,EAAKT,KACjB9pD,KAAKyqD,SAAW,EAChBzqD,KAAKgM,EAAIoH,EAAKpH,EACdhM,KAAKstC,6BAA6Bid,GAClCvqD,KAAKwrC,EAAIsa,gBAAgB0F,QAAQjB,EAAKn3C,EAAKo4B,EAAE,EAAE,EAAExrC,MACjDA,KAAK8I,EAAIg9C,gBAAgB0F,QAAQjB,EAAKn3C,EAAKtK,EAAE,EAAE,EAAE9I,MACjDA,KAAKsrC,EAAIwa,gBAAgB0F,QAAQjB,EAAKn3C,EAAKk4B,EAAE,EAAE,EAAEtrC,MAC9CA,KAAKitC,kBAAkBzwC,OACtBwD,KAAKvD,GAAI,GAETuD,KAAKvD,GAAI,EACTuD,KAAKuxD,qBA0Db,OAtDAD,EAAkBz1D,UAAY,CAC1B01D,kBAAmB,WACf,IAAIte,EAAKjzC,KAAKwrC,EAAEH,EAAE,GAAI3iC,EAAK1I,KAAKwrC,EAAEH,EAAE,GAAImmB,EAAKxxD,KAAK8I,EAAEuiC,EAAE,GAAG,EAAGuhB,EAAK5sD,KAAK8I,EAAEuiC,EAAE,GAAG,EACzEjvB,EAAQqsB,OAAO+oB,EAAG5E,EAAG5sD,KAAKsrC,EAAED,GAC5BwkB,EAASzzC,GAAO,EAAE+sB,aACtBnpC,KAAKqrC,EAAEmQ,QAAU,EAEH,IAAXx7C,KAAKgM,GAAsB,IAAXhM,KAAKgM,GACpBhM,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAI9oD,EAAGkkD,EAAGxwC,EAAM62B,EAAGue,EAAI9oD,EAAGkkD,EAAGxwC,EAAM62B,EAAGue,EAAG9oD,EAAGkkD,EAAGiD,EAAO,GAAG,GAC/E7vD,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAI9oD,EAAGkkD,EAAGxwC,EAAM62B,EAAGue,EAAI9oD,EAAGkkD,EAAGiD,EAAO5c,EAAGue,EAAI9oD,EAAGkkD,EAAGxwC,EAAM,GAAG,GACpE,IAATA,GACCpc,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAGp1C,EAAO1T,EAAGkkD,EAAG3Z,EAAGue,EAAGp1C,EAAM1T,EAAGkkD,EAAG3Z,EAAGue,EAAG3B,EAAOnnD,EAAGkkD,EAAG,GAAG,GAC9E5sD,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAGp1C,EAAM1T,EAAGkkD,EAAG3Z,EAAGue,EAAG3B,EAAOnnD,EAAGkkD,EAAG3Z,EAAGue,EAAGp1C,EAAM1T,EAAGkkD,EAAG,GAAG,GAC7E5sD,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAG9oD,EAAGkkD,EAAGxwC,EAAM62B,EAAGue,EAAG9oD,EAAGkkD,EAAGxwC,EAAM62B,EAAGue,EAAG9oD,EAAGkkD,EAAGiD,EAAO,GAAG,GAC7E7vD,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAG9oD,EAAGkkD,EAAGxwC,EAAM62B,EAAGue,EAAG9oD,EAAGkkD,EAAGiD,EAAO5c,EAAGue,EAAG9oD,EAAGkkD,EAAGxwC,EAAM,GAAG,GAC7Epc,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAGp1C,EAAM1T,EAAGkkD,EAAG3Z,EAAGue,EAAGp1C,EAAM1T,EAAGkkD,EAAG3Z,EAAGue,EAAG3B,EAAOnnD,EAAGkkD,EAAG,GAAG,GAC7E5sD,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAGp1C,EAAM1T,EAAGkkD,EAAG3Z,EAAGue,EAAG3B,EAAOnnD,EAAGkkD,EAAG3Z,EAAGue,EAAGp1C,EAAM1T,EAAGkkD,EAAG,GAAG,KAE7E5sD,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAG9oD,EAAGkkD,EAAG3Z,EAAGue,EAAG3B,EAAOnnD,EAAGkkD,EAAG3Z,EAAGue,EAAG9oD,EAAGkkD,EAAG,GAC9D5sD,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAG9oD,EAAGkkD,EAAG3Z,EAAGue,EAAG9oD,EAAGkkD,EAAGiD,EAAO5c,EAAGue,EAAG9oD,EAAGkkD,EAAG,MAGlE5sD,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAG9oD,EAAGkkD,EAAGxwC,EAAM62B,EAAGue,EAAG9oD,EAAGkkD,EAAGiD,EAAO5c,EAAGue,EAAG9oD,EAAGkkD,EAAGxwC,EAAM,GAAG,GACjE,IAATA,GACCpc,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAGp1C,EAAM1T,EAAGkkD,EAAG3Z,EAAGue,EAAGp1C,EAAM1T,EAAGkkD,EAAG3Z,EAAGue,EAAG3B,EAAOnnD,EAAGkkD,EAAG,GAAG,GAC7E5sD,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAGp1C,EAAM1T,EAAGkkD,EAAG3Z,EAAGue,EAAG3B,EAAOnnD,EAAGkkD,EAAG3Z,EAAGue,EAAGp1C,EAAM1T,EAAGkkD,EAAG,GAAG,GAC7E5sD,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAG9oD,EAAGkkD,EAAGxwC,EAAM62B,EAAGue,EAAG9oD,EAAGkkD,EAAGxwC,EAAM62B,EAAGue,EAAG9oD,EAAGkkD,EAAGiD,EAAO,GAAG,GAC7E7vD,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAG9oD,EAAGkkD,EAAGxwC,EAAM62B,EAAGue,EAAG9oD,EAAGkkD,EAAGiD,EAAO5c,EAAGue,EAAG9oD,EAAGkkD,EAAGxwC,EAAM,GAAG,GAC7Epc,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAGp1C,EAAM1T,EAAGkkD,EAAG3Z,EAAGue,EAAGp1C,EAAM1T,EAAGkkD,EAAG3Z,EAAGue,EAAG3B,EAAOnnD,EAAGkkD,EAAG,GAAG,GAC7E5sD,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAGp1C,EAAM1T,EAAGkkD,EAAG3Z,EAAGue,EAAG3B,EAAOnnD,EAAGkkD,EAAG3Z,EAAGue,EAAGp1C,EAAM1T,EAAGkkD,EAAG,GAAG,GAC7E5sD,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAG9oD,EAAGkkD,EAAGxwC,EAAM62B,EAAGue,EAAG9oD,EAAGkkD,EAAGxwC,EAAM62B,EAAGue,EAAG9oD,EAAGkkD,EAAGiD,EAAO,GAAG,KAE7E7vD,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAG9oD,EAAGkkD,EAAG3Z,EAAGue,EAAG3B,EAAOnnD,EAAGkkD,EAAG3Z,EAAGue,EAAG9oD,EAAGkkD,EAAG,GAAG,GACjE5sD,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAG9oD,EAAGkkD,EAAG3Z,EAAGue,EAAG9oD,EAAGkkD,EAAGiD,EAAO5c,EAAGue,EAAG9oD,EAAGkkD,EAAG,GAAG,GACjE5sD,KAAKqrC,EAAEqiB,YAAYza,EAAGue,EAAG9oD,EAAGkkD,EAAG3Z,EAAGue,EAAG3B,EAAOnnD,EAAGkkD,EAAG3Z,EAAGue,EAAG9oD,EAAGkkD,EAAG,GAAG,MAK7Evf,SAAU,SAAS6Y,GACZlmD,KAAKuqD,KAAKC,WAAWC,UAAYzqD,KAAKyqD,UAGzCzqD,KAAKyqD,QAAUzqD,KAAKuqD,KAAKC,WAAWC,QACpCzqD,KAAKmtC,2BACFntC,KAAKotC,MACJptC,KAAKuxD,sBAIbnjB,MAAO4gB,GAEX5W,gBAAgB,CAACrL,0BAA2BukB,GAErCA,EA9Ea,GAgHxB,IAAItb,EAAK,CACT,aAhCA,SAAsBuU,EAAKn3C,EAAK2a,GAC5B,IAAIxtB,EAmBJ,OAlBY,IAATwtB,GAAuB,IAATA,EAITxtB,GAHoB,IAATwtB,EAAa3a,EAAKo/B,GAAKp/B,EAAKssC,IACvBjjD,EACZD,OACG,IAAImzD,EAAuBpF,EAAMn3C,EAAM2a,GAEvC,IAAIyhC,EAAcjF,EAAMn3C,EAAM2a,GAE3B,IAATA,EACLxtB,EAAO,IAAI+wD,EAAkB/G,EAAMn3C,GACrB,IAAT2a,EACLxtB,EAAO,IAAIqvD,EAAiBrF,EAAMn3C,GACpB,IAAT2a,IACLxtB,EAAO,IAAI2vD,EAAkB3F,EAAMn3C,IAEpC7S,EAAK9D,GACJ8tD,EAAKvd,mBAAmBzsC,GAErBA,GAaX,uBAVA,WACI,OAAOivD,GAUX,gCAPA,WACI,OAAOG,IAOX,OAAO3Z,EA3fgB,GA6fvByb,gBACIzb,GAAK,GACL0b,UAAY,GAChB1b,GAAG2b,iBAGH,SAA0B1b,EAAG9oB,GACrBukC,UAAUzb,KACVyb,UAAUzb,GAAM9oB,IAJxB6oB,GAAG4b,YAQH,SAAqB3b,EAAGsU,EAAMn3C,GAC1B,OAAO,IAAIs+C,UAAUzb,GAAIsU,EAAMn3C,IAG5B4iC,IAfHA,GACA0b,UAiBR,SAASG,iBAsCT,SAASC,gBAiUT,SAASC,wBA6FT,SAASC,0BA8DT,SAASC,oBA0MT,SAASC,kBACRlyD,KAAKw7C,QAAU,EACfx7C,KAAKotD,WAAa,EAClBptD,KAAKs/C,OAASvW,iBAAiB/oC,KAAKotD,YAmBrC,SAAS+E,aAAa5H,EAAMn3C,EAAMqqB,EAAUF,GACxCv9B,KAAKuqD,KAAOA,EACZvqD,KAAKyqD,SAAW,EAChBzqD,KAAKoyD,UAAYrpB,iBAAiB31B,EAAK5W,QACvCwD,KAAKy9B,SAAWA,EAChBz9B,KAAKvD,GAAI,EACTuD,KAAKqyD,QAAU,GACfryD,KAAKsyD,UAAY9lB,iBAAiB,UAAYp5B,EAAK5W,OAAS4W,EAAK5W,OAAS,EAAI,GAC9EwD,KAAKuyD,WAAa/lB,iBAAiB,UAAY,GAC/CxsC,KAAKstC,6BAA6B/P,GAClC,IAAItgC,EAA2BsD,EAAxBN,EAAMmT,EAAK5W,QAAU,EAC5B,IAAIS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACrBsD,EAAOulD,gBAAgB0F,QAAQjB,EAAKn3C,EAAKnW,GAAGouC,EAAE,EAAG,EAAGrrC,MACpDA,KAAKvD,EAAI8D,EAAK9D,GAAKuD,KAAKvD,EACxBuD,KAAKoyD,UAAUn1D,GAAK,CAAC2Q,EAAEwF,EAAKnW,GAAG2Q,EAAE49B,EAAEjrC,GAEnCP,KAAKvD,GACLuD,KAAKqtC,UAAS,GAElBrtC,KAAKktC,YAAcltC,KAAKvD,EA6B5B,SAAS+1D,iBAAiBjI,EAAKn3C,EAAKmqB,GAChCv9B,KAAKoT,KAAOA,EACZpT,KAAKmX,EAAIq1B,iBAAiB,SAAiB,EAAPp5B,EAAKo4B,GACzC,IAAIinB,EAAUr/C,EAAK3W,EAAEA,EAAE,GAAGqM,EAAKsK,EAAK3W,EAAEA,EAAE,GAAGqM,EAAEtM,OAAgB,EAAP4W,EAAKo4B,EAAOp4B,EAAK3W,EAAEA,EAAED,OAAgB,EAAP4W,EAAKo4B,EACzFxrC,KAAKwJ,EAAIgjC,iBAAiB,UAAWimB,GACrCzyD,KAAK0yD,OAAQ,EACb1yD,KAAK2yD,OAAQ,EACb3yD,KAAK4yD,aAAe5yD,KAAK6yD,mBACzB7yD,KAAK8yD,YAAcL,EACnBzyD,KAAKstC,6BAA6B/P,GAClCv9B,KAAKO,KAAOulD,gBAAgB0F,QAAQjB,EAAKn3C,EAAK3W,EAAE,EAAE,KAAKuD,MACvDA,KAAKvD,EAAIuD,KAAKO,KAAK9D,EACnBuD,KAAKqtC,UAAS,GA7xBlBwkB,cAAch2D,UAAUk3D,uBAAyB,aACjDlB,cAAch2D,UAAUm3D,mBAAqB,aAC7CnB,cAAch2D,UAAU0zD,SAAW,SAASn8C,GACxC,IAAKpT,KAAKo7C,OAAQ,CAEdhoC,EAAK20C,GAAGxqB,UAAUyP,mBAAmB55B,EAAK20C,IAC1C,IAAI9M,EAAY,CAACgY,MAAM7/C,EAAK20C,GAAI30C,KAAMA,EAAM67C,qBAAqBQ,qBAAqBC,sBACtF1vD,KAAKs/C,OAAOniD,KAAK89C,GACjBj7C,KAAKgzD,mBAAmB/X,GACpBj7C,KAAKktC,aACL95B,EAAK8/C,kBAIjBrB,cAAch2D,UAAUyyD,KAAO,SAAS/D,EAAKn3C,GACzCpT,KAAKs/C,OAAS,GACdt/C,KAAKuqD,KAAOA,EACZvqD,KAAKstC,6BAA6Bid,GAClCvqD,KAAK+yD,uBAAuBxI,EAAKn3C,GACjCpT,KAAKyqD,QAAU/iB,oBACf1nC,KAAKo7C,QAAS,EACdp7C,KAAKvD,GAAI,EACNuD,KAAKitC,kBAAkBzwC,OACtBwD,KAAKvD,GAAI,EAETuD,KAAKqtC,UAAS,IAGtBwkB,cAAch2D,UAAUs3D,YAAc,WAC/BnzD,KAAKuqD,KAAKC,WAAWC,UAAYzqD,KAAKyqD,UAGzCzqD,KAAKyqD,QAAUzqD,KAAKuqD,KAAKC,WAAWC,QACpCzqD,KAAKmtC,6BAGTiL,gBAAgB,CAACrL,0BAA2B8kB,eAG5CzZ,gBAAgB,CAACyZ,eAAgBC,cACjCA,aAAaj2D,UAAUk3D,uBAAyB,SAASxI,EAAMn3C,GAC3DpT,KAAK8I,EAAIg9C,gBAAgB0F,QAAQjB,EAAMn3C,EAAKtK,EAAG,EAAG,IAAM9I,MACxDA,KAAKkT,EAAI4yC,gBAAgB0F,QAAQjB,EAAMn3C,EAAKF,EAAG,EAAG,IAAMlT,MACxDA,KAAKwJ,EAAIs8C,gBAAgB0F,QAAQjB,EAAMn3C,EAAK5J,EAAG,EAAG,EAAGxJ,MACrDA,KAAKozD,OAAS,EACdpzD,KAAKqzD,OAAS,EACdrzD,KAAKqtC,SAAWrtC,KAAKmzD,YACrBnzD,KAAKnC,EAAIuV,EAAKvV,EACdmC,KAAKktC,cAAgBltC,KAAK8I,EAAE4hD,gBAAgBluD,UAAYwD,KAAKkT,EAAEw3C,gBAAgBluD,UAAYwD,KAAKwJ,EAAEkhD,gBAAgBluD,QAGtHs1D,aAAaj2D,UAAUm3D,mBAAqB,SAAS/X,GACjDA,EAAUqY,UAAY,IAG1BxB,aAAaj2D,UAAU03D,oBAAsB,SAASzqD,EAAGoK,EAAGsgD,EAAa7Z,EAAa8Z,GAClF,IAAIn2B,EAAW,GACXpqB,GAAK,EACLoqB,EAASngC,KAAK,CACV2L,EAAGA,EACHoK,EAAGA,IAEApK,GAAK,EACZw0B,EAASngC,KAAK,CACV2L,EAAGA,EAAI,EACPoK,EAAGA,EAAI,KAGXoqB,EAASngC,KAAK,CACV2L,EAAGA,EACHoK,EAAG,IAEPoqB,EAASngC,KAAK,CACV2L,EAAG,EACHoK,EAAGA,EAAI,KAGf,IACIjW,EAA0By2D,EAD1BC,EAAgB,GACb1zD,EAAMq9B,EAAS9gC,OACtB,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EAAG,CAKrB,IAAI22D,EAAQC,EAHhB,IADAH,EAAYp2B,EAASrgC,IACPiW,EAAIugD,EAAsB9Z,GAAe+Z,EAAU5qD,EAAI2qD,EAAsB9Z,EAAc6Z,QAKjGI,EADAF,EAAU5qD,EAAI2qD,GAAuB9Z,EAC5B,GAEC+Z,EAAU5qD,EAAI2qD,EAAsB9Z,GAAe6Z,EAG7DK,EADDH,EAAUxgD,EAAIugD,GAAuB9Z,EAAc6Z,EACzC,GAEEE,EAAUxgD,EAAIugD,EAAsB9Z,GAAe6Z,EAElEG,EAAcx2D,KAAK,CAACy2D,EAAQC,IAMpC,OAHKF,EAAcn3D,QACfm3D,EAAcx2D,KAAK,CAAC,EAAG,IAEpBw2D,GAGX7B,aAAaj2D,UAAUi4D,iBAAmB,SAASR,GAC/C,IAAIr2D,EAAGgD,EAAMqzD,EAAU92D,OACvB,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACtBk+C,qBAAqB4Y,QAAQT,EAAUr2D,IAG3C,OADAq2D,EAAU92D,OAAS,EACZ82D,GAGXxB,aAAaj2D,UAAUm4D,cAAgB,SAASpJ,GAC5C,IAAI9hD,EAAGoK,EAwBH+gD,EAvBJ,GAAIj0D,KAAKotC,MAAQwd,EAAe,CAC5B,IAAIphD,EAAKxJ,KAAKwJ,EAAE6hC,EAAI,IAAO,IAS3B,GARI7hC,EAAI,IACJA,GAAK,IAETV,GAAK9I,KAAK8I,EAAEuiC,EAAI,EAAI,EAAIrrC,KAAK8I,EAAEuiC,EAAI,EAAI,EAAIrrC,KAAK8I,EAAEuiC,GAAK7hC,IACvD0J,GAAKlT,KAAKkT,EAAEm4B,EAAI,EAAI,EAAIrrC,KAAKkT,EAAEm4B,EAAI,EAAI,EAAIrrC,KAAKkT,EAAEm4B,GAAK7hC,GAI5C,CACP,IAAI0qD,EAAKprD,EACTA,EAAIoK,EACJA,EAAIghD,EAERprD,EAA4B,KAAxB3F,KAAKiZ,MAAU,IAAJtT,GACfoK,EAA4B,KAAxB/P,KAAKiZ,MAAU,IAAJlJ,GACflT,KAAKozD,OAAStqD,EACd9I,KAAKqzD,OAASngD,OAEdpK,EAAI9I,KAAKozD,OACTlgD,EAAIlT,KAAKqzD,OAGb,IAAIp2D,EAA6B2W,EAAG8qC,EAChC4U,EAAW9S,EAAU2T,EADlBl0D,EAAMD,KAAKs/C,OAAO9iD,OACkBi3D,EAAsB,EAEjE,GAAIvgD,IAAMpK,EACN,IAAK7L,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACtB+C,KAAKs/C,OAAOriD,GAAGgyD,qBAAqBK,gBACpCtvD,KAAKs/C,OAAOriD,GAAGg2D,MAAM7lB,MAAO,EAC5BptC,KAAKs/C,OAAOriD,GAAGg2D,MAAMxS,MAAQzgD,KAAKs/C,OAAOriD,GAAGgyD,qBACxCjvD,KAAKotC,OACLptC,KAAKs/C,OAAOriD,GAAGq2D,UAAU92D,OAAS,QAGvC,GAAa,IAAN0W,GAAiB,IAANpK,GAAiB,IAAJoK,GAAe,IAANpK,GAsFxC,GAAI9I,KAAKotC,KACZ,IAAKnwC,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EAGtB+C,KAAKs/C,OAAOriD,GAAGq2D,UAAU92D,OAAS,EAClCwD,KAAKs/C,OAAOriD,GAAGg2D,MAAM7lB,MAAO,MA3FqB,CACrD,IAAmB6N,EAAWgU,EAA1B3xB,EAAW,GACf,IAAKrgC,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EAGtB,IAFAg+C,EAAYj7C,KAAKs/C,OAAOriD,IAETg2D,MAAM7lB,MAASptC,KAAKotC,MAASwd,GAA4B,IAAX5qD,KAAKnC,EAE3D,CAIH,GAFA6gD,GADAuV,EAAahZ,EAAUgY,MAAMxS,OACXjF,QAClB2Y,EAAmB,GACdlZ,EAAUgY,MAAM7lB,MAAQ6N,EAAUqY,UAAU92D,OAC7C23D,EAAmBlZ,EAAUkZ,qBAC1B,CAEH,IADAb,EAAYtzD,KAAK8zD,iBAAiB7Y,EAAUqY,WACvC1/C,EAAI,EAAGA,EAAI8qC,EAAM9qC,GAAK,EACvB4sC,EAAWrC,IAAInD,kBAAkBiZ,EAAW3U,OAAO1rC,IACnD0/C,EAAUn2D,KAAKqjD,GACf2T,GAAoB3T,EAAS/E,YAEjCR,EAAUkZ,iBAAmBA,EAC7BlZ,EAAUqY,UAAYA,EAG1BG,GAAuBU,EACvBlZ,EAAUgY,MAAM7lB,MAAO,OAnBvB6N,EAAUgY,MAAMxS,MAAQxF,EAAUgU,qBAsB1C,IAA6CmF,EAAzCR,EAAS9qD,EAAG+qD,EAAS3gD,EAAGymC,EAAc,EAC1C,IAAK18C,EAAIgD,EAAM,EAAGhD,GAAK,EAAGA,GAAK,EAE3B,IADAg+C,EAAYj7C,KAAKs/C,OAAOriD,IACVg2D,MAAM7lB,KAAM,CAWtB,KAVA6hB,EAAuBhU,EAAUgU,sBACZK,gBAEN,IAAXtvD,KAAKnC,GAAWoC,EAAM,GACtBm0D,EAAQp0D,KAAKuzD,oBAAoBzqD,EAAGoK,EAAG+nC,EAAUkZ,iBAAkBxa,EAAa8Z,GAChF9Z,GAAesB,EAAUkZ,kBAEzBC,EAAQ,CAAC,CAACR,EAAQC,IAEtBnV,EAAO0V,EAAM53D,OACRoX,EAAI,EAAGA,EAAI8qC,EAAM9qC,GAAK,EAAG,CAC1BggD,EAASQ,EAAMxgD,GAAG,GAClBigD,EAASO,EAAMxgD,GAAG,GAClB0pB,EAAS9gC,OAAS,EACdq3D,GAAU,EACVv2B,EAASngC,KAAK,CACV2L,EAAEmyC,EAAUkZ,iBAAmBP,EAC/B1gD,EAAE+nC,EAAUkZ,iBAAmBN,IAE5BD,GAAU,EACjBt2B,EAASngC,KAAK,CACV2L,EAAEmyC,EAAUkZ,kBAAoBP,EAAS,GACzC1gD,EAAE+nC,EAAUkZ,kBAAoBN,EAAS,MAG7Cv2B,EAASngC,KAAK,CACV2L,EAAEmyC,EAAUkZ,iBAAmBP,EAC/B1gD,EAAE+nC,EAAUkZ,mBAEhB72B,EAASngC,KAAK,CACV2L,EAAE,EACFoK,EAAE+nC,EAAUkZ,kBAAoBN,EAAS,MAGjD,IAAIQ,EAAgBr0D,KAAKs0D,UAAUrZ,EAAU3d,EAAS,IACtD,GAAIA,EAAS,GAAGx0B,IAAMw0B,EAAS,GAAGpqB,EAAG,CACjC,GAAIoqB,EAAS9gC,OAAS,EAElB,GAD4By+C,EAAUgY,MAAMxS,MAAMnB,OAAOrE,EAAUgY,MAAMxS,MAAMjF,QAAU,GAC/DrkC,EAAG,CACzB,IAAIo9C,EAAYF,EAAcG,MAC9Bx0D,KAAKy0D,SAASJ,EAAepF,GAC7BoF,EAAgBr0D,KAAKs0D,UAAUrZ,EAAW3d,EAAS,GAAIi3B,QAEvDv0D,KAAKy0D,SAASJ,EAAepF,GAC7BoF,EAAgBr0D,KAAKs0D,UAAUrZ,EAAW3d,EAAS,IAG3Dt9B,KAAKy0D,SAASJ,EAAepF,IAIrChU,EAAUgY,MAAMxS,MAAQwO,KAaxC6C,aAAaj2D,UAAU44D,SAAW,SAASC,EAAUzF,GACjD,IAAIhyD,EAAGgD,EAAMy0D,EAASl4D,OACtB,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACtBgyD,EAAqBM,SAASmF,EAASz3D,KAI/C60D,aAAaj2D,UAAU84D,WAAa,SAAS7hB,EAAKC,EAAKC,EAAKsG,EAAKsb,EAAWrkD,EAAKskD,GAC7ED,EAAUnH,QAAQ1a,EAAI,GAAIA,EAAI,GAAI,IAAKxiC,GACvCqkD,EAAUnH,QAAQza,EAAI,GAAIA,EAAI,GAAI,IAAKziC,EAAM,GAC1CskD,GACCD,EAAUnH,QAAQ3a,EAAI,GAAIA,EAAI,GAAI,IAAKviC,GAE3CqkD,EAAUnH,QAAQnU,EAAI,GAAIA,EAAI,GAAI,IAAK/oC,EAAM,IAGjDuhD,aAAaj2D,UAAUi5D,oBAAsB,SAASne,EAAQie,EAAWrkD,EAAKskD,GAC1ED,EAAUnH,QAAQ9W,EAAO,GAAIA,EAAO,GAAI,IAAKpmC,GAC7CqkD,EAAUnH,QAAQ9W,EAAO,GAAIA,EAAO,GAAI,IAAKpmC,EAAM,GAChDskD,GACCD,EAAUnH,QAAQ9W,EAAO,GAAIA,EAAO,GAAI,IAAKpmC,GAEjDqkD,EAAUnH,QAAQ9W,EAAO,GAAIA,EAAO,GAAI,IAAKpmC,EAAM,IAGvDuhD,aAAaj2D,UAAUy4D,UAAY,SAASrZ,EAAW8Z,EAAcH,GACjE,IAEI33D,EAAwC2W,EAAG8qC,EAE3CsW,EAAkBC,EAClBhb,EACAib,EAEAta,EARA0Y,EAAYrY,EAAUqY,UACtBW,EAAahZ,EAAUgY,MAAMxS,MAAMnB,OAChCr/C,EAAMg7C,EAAUgY,MAAMxS,MAAMjF,QAC/B7B,EAAc,EAId2F,EAAS,GAETuV,GAAW,EAUf,IATKD,GAKDK,EAAeL,EAAUpZ,QACzBZ,EAAUga,EAAUpZ,UALpBoZ,EAAYvF,WAAWtV,aACvBkb,EAAe,EACfra,EAAU,GAKd0E,EAAOniD,KAAKy3D,GACP33D,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EAAG,CAIzB,IAHAg9C,EAAUqZ,EAAUr2D,GAAGg9C,QACvB2a,EAAUz9C,EAAI88C,EAAWh3D,GAAGka,EAC5BunC,EAAOuV,EAAWh3D,GAAGka,EAAI8iC,EAAQz9C,OAASy9C,EAAQz9C,OAAS,EACtDoX,EAAI,EAAGA,EAAI8qC,EAAM9qC,GAAI,EAEtB,GAAI+lC,GADJqb,EAAoB/a,EAAQrmC,EAAE,IACM+lC,YAAcob,EAAajsD,EAC3D6wC,GAAeqb,EAAkBrb,YACjCib,EAAUz9C,GAAI,MACX,IAAGwiC,EAAcob,EAAa7hD,EAAG,CACpC0hD,EAAUz9C,GAAI,EACd,MAEI49C,EAAajsD,GAAK6wC,GAAeob,EAAa7hD,GAAKymC,EAAcqb,EAAkBrb,aACnF35C,KAAK20D,WAAWV,EAAWh3D,GAAGouC,EAAEz3B,EAAI,GAAIqgD,EAAWh3D,GAAGuM,EAAEoK,EAAI,GAAIqgD,EAAWh3D,GAAGA,EAAE2W,GAAIqgD,EAAWh3D,GAAGouC,EAAEz3B,GAAIghD,EAAWK,EAAcJ,GACjIA,GAAW,IAEXK,EAAU/W,IAAIzC,cAAcuY,EAAWh3D,GAAGouC,EAAEz3B,EAAI,GAAIqgD,EAAWh3D,GAAGouC,EAAEz3B,GAAIqgD,EAAWh3D,GAAGuM,EAAEoK,EAAI,GAAIqgD,EAAWh3D,GAAGA,EAAE2W,IAAKmhD,EAAajsD,EAAI6wC,GAAaqb,EAAkBrb,aAAaob,EAAa7hD,EAAIymC,GAAaqb,EAAkBrb,YAAaM,EAAQrmC,EAAE,IACzP5T,KAAK80D,oBAAoBI,EAASN,EAAWK,EAAcJ,GAE3DA,GAAW,EACXD,EAAUz9C,GAAI,GAElBwiC,GAAeqb,EAAkBrb,YACjCsb,GAAgB,EAGxB,GAAIhB,EAAWh3D,GAAGka,GAAK8iC,EAAQz9C,OAAQ,CAEnC,GADAw4D,EAAoB/a,EAAQrmC,EAAI,GAC5B+lC,GAAeob,EAAa7hD,EAAG,CAC/B,IAAIinC,EAAgBF,EAAQrmC,EAAI,GAAG+lC,YAC/Bob,EAAajsD,GAAK6wC,GAAeob,EAAa7hD,GAAKymC,EAAcQ,GACjEn6C,KAAK20D,WAAWV,EAAWh3D,GAAGouC,EAAEz3B,EAAI,GAAIqgD,EAAWh3D,GAAGuM,EAAEoK,EAAI,GAAIqgD,EAAWh3D,GAAGA,EAAE,GAAIg3D,EAAWh3D,GAAGouC,EAAE,GAAIupB,EAAWK,EAAcJ,GACjIA,GAAW,IAEXK,EAAU/W,IAAIzC,cAAcuY,EAAWh3D,GAAGouC,EAAEz3B,EAAI,GAAIqgD,EAAWh3D,GAAGouC,EAAE,GAAI4oB,EAAWh3D,GAAGuM,EAAEoK,EAAI,GAAIqgD,EAAWh3D,GAAGA,EAAE,IAAK83D,EAAajsD,EAAI6wC,GAAeQ,GAAgB4a,EAAa7hD,EAAIymC,GAAeQ,EAAeF,EAAQrmC,EAAI,IAChO5T,KAAK80D,oBAAoBI,EAASN,EAAWK,EAAcJ,GAE3DA,GAAW,EACXD,EAAUz9C,GAAI,QAGlBy9C,EAAUz9C,GAAI,EAElBwiC,GAAeqb,EAAkBrb,YACjCsb,GAAgB,EAMpB,GAJIL,EAAUpZ,UACVoZ,EAAUnH,QAAQmH,EAAUvpB,EAAEuP,GAAS,GAAIga,EAAUvpB,EAAEuP,GAAS,GAAI,IAAKA,GACzEga,EAAUnH,QAAQmH,EAAUvpB,EAAEupB,EAAUpZ,QAAU,GAAG,GAAIoZ,EAAUvpB,EAAEupB,EAAUpZ,QAAU,GAAG,GAAG,IAAKoZ,EAAUpZ,QAAU,IAExH7B,EAAcob,EAAa7hD,EAC3B,MAEAjW,EAAIgD,EAAM,IACV20D,EAAYvF,WAAWtV,aACvB8a,GAAW,EACXvV,EAAOniD,KAAKy3D,GACZK,EAAe,GAGvB,OAAO3V,GAIXmS,eAAeE,iBAAiB,KAAMG,cAEtC1Z,gBAAgB,CAACyZ,eAAeE,sBAChCA,qBAAqBl2D,UAAUk3D,uBAAyB,SAASxI,EAAKn3C,GAClEpT,KAAKqtC,SAAWrtC,KAAKmzD,YACrBnzD,KAAKm1D,GAAKrP,gBAAgB0F,QAAQjB,EAAKn3C,EAAKk4B,EAAE,EAAE,KAAKtrC,MACrDA,KAAKktC,cAAgBltC,KAAKm1D,GAAGzK,gBAAgBluD,QAGjDu1D,qBAAqBl2D,UAAUu5D,YAAc,SAASzV,EAAMvjC,GACxD,IAAIi5C,EAAchG,WAAWtV,aAC7Bsb,EAAYl+C,EAAIwoC,EAAKxoC,EACrB,IAAIla,EACAq4D,EAASC,EAASC,EAASC,EAAwBC,EAASC,EAC5DhI,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAFZ/tD,EAAM0/C,EAAKnE,QACyD/zB,EAAQ,EAEnF,IAAIxqB,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbq4D,EAAW3V,EAAKtU,EAAEpuC,GAClBu4D,EAAW7V,EAAKn2C,EAAEvM,GAClBs4D,EAAW5V,EAAK1iD,EAAEA,GACfq4D,EAAS,KAAKE,EAAS,IAAMF,EAAS,KAAKE,EAAS,IAAMF,EAAS,KAAKC,EAAS,IAAMD,EAAS,KAAKC,EAAS,GACrG,IAAJt4D,GAASA,IAAMgD,EAAM,GAAO0/C,EAAKxoC,GAQ7Bs+C,EADG,IAAJx4D,EACW0iD,EAAKtU,EAAEprC,EAAI,GAEX0/C,EAAKtU,EAAEpuC,EAAE,GAGvB04D,GADAD,EAAWvyD,KAAKklC,KAAKllC,KAAKG,IAAIgyD,EAAS,GAAGG,EAAQ,GAAG,GAAGtyD,KAAKG,IAAIgyD,EAAS,GAAGG,EAAQ,GAAG,KAChEtyD,KAAK2H,IAAI4qD,EAAS,EAAEt5C,GAAOs5C,EAAW,EAC9D/H,EAAKI,EAAKuH,EAAS,IAAIG,EAAQ,GAAGH,EAAS,IAAIK,EAC/C/H,EAAKI,EAAKsH,EAAS,IAAIA,EAAS,GAAGG,EAAQ,IAAIE,EAC/C9H,EAAKF,GAAIA,EAAG2H,EAAS,IAAInsB,YACzB2kB,EAAKF,GAAIA,EAAG0H,EAAS,IAAInsB,YACzBksB,EAAY3H,YAAYC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGvmC,GAC1CA,GAAS,EAGLguC,EADDx4D,IAAMgD,EAAM,EACD0/C,EAAKtU,EAAE,GAEPsU,EAAKtU,EAAEpuC,EAAE,GAGvB04D,GADAD,EAAWvyD,KAAKklC,KAAKllC,KAAKG,IAAIgyD,EAAS,GAAGG,EAAQ,GAAG,GAAGtyD,KAAKG,IAAIgyD,EAAS,GAAGG,EAAQ,GAAG,KAChEtyD,KAAK2H,IAAI4qD,EAAS,EAAEt5C,GAAOs5C,EAAW,EAC9D/H,EAAKE,EAAKyH,EAAS,IAAIG,EAAQ,GAAGH,EAAS,IAAIK,EAC/C/H,EAAKE,EAAKwH,EAAS,IAAIG,EAAQ,GAAGH,EAAS,IAAIK,EAC/C5H,EAAKJ,GAAIA,EAAG2H,EAAS,IAAInsB,YACzB6kB,EAAKJ,GAAIA,EAAG0H,EAAS,IAAInsB,YACzBksB,EAAY3H,YAAYC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGvmC,GAC1CA,GAAS,IAhCT4tC,EAAY3H,YAAY4H,EAAS,GAAGA,EAAS,GAAGE,EAAS,GAAGA,EAAS,GAAGD,EAAS,GAAGA,EAAS,GAAG9tC,GAIhGA,GAAS,IA+Bb4tC,EAAY3H,YAAY/N,EAAKtU,EAAEpuC,GAAG,GAAG0iD,EAAKtU,EAAEpuC,GAAG,GAAG0iD,EAAKn2C,EAAEvM,GAAG,GAAG0iD,EAAKn2C,EAAEvM,GAAG,GAAG0iD,EAAK1iD,EAAEA,GAAG,GAAG0iD,EAAK1iD,EAAEA,GAAG,GAAGwqB,GACtGA,GAAS,GAGjB,OAAO4tC,GAGXtD,qBAAqBl2D,UAAUm4D,cAAgB,SAASpJ,GACpD,IAAIqJ,EACAh3D,EACA2W,EAAG8qC,EAICzD,EAAqBgU,EALtBhvD,EAAMD,KAAKs/C,OAAO9iD,OAErB24D,EAAKn1D,KAAKm1D,GAAG9pB,EAEjB,GAAU,IAAP8pB,EAEC,IAAIl4D,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EAAE,CAIf,IAHAg+C,EAAYj7C,KAAKs/C,OAAOriD,IACHg2D,MAAMxS,MAC3BwO,EAAuBhU,EAAUgU,qBAC3BhU,EAAUgY,MAAM7lB,MAASptC,KAAKotC,MAASwd,EAKzC,IAJAqE,EAAqBK,gBACrBrU,EAAUgY,MAAM7lB,MAAO,EACvB6mB,EAAahZ,EAAUgY,MAAMxS,MAAMnB,OACnCZ,EAAOzD,EAAUgY,MAAMxS,MAAMjF,QACzB5nC,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EACdq7C,EAAqBM,SAASvvD,KAAKo1D,YAAYnB,EAAWrgD,GAAGuhD,IAGrEla,EAAUgY,MAAMxS,MAAQxF,EAAUgU,qBAItCjvD,KAAKitC,kBAAkBzwC,SACvBwD,KAAKotC,MAAO,IAIpBqkB,eAAeE,iBAAiB,KAAKI,sBAErC3Z,gBAAgB,CAACyZ,eAAeG,wBAChCA,uBAAuBn2D,UAAUk3D,uBAAyB,SAASxI,EAAKn3C,GACpEpT,KAAKqtC,SAAWrtC,KAAKmzD,YACrBnzD,KAAK41D,OAAS9P,gBAAgB0F,QAAQjB,EAAKn3C,EAAKlX,EAAE,EAAE,KAAK8D,MACzDA,KAAKktC,cAAgBltC,KAAK41D,OAAOlL,gBAAgBluD,QAGrDw1D,uBAAuBn2D,UAAUu5D,YAAc,SAASzV,EAAMiW,GAC1D,IAAI1Y,EAAU0Y,EAAS,IACnBC,EAAc,CAAC,EAAG,GAClBC,EAAanW,EAAKnE,QAASv+C,EAAI,EACnC,IAAKA,EAAI,EAAGA,EAAI64D,EAAY74D,GAAK,EAC7B44D,EAAY,IAAMlW,EAAKtU,EAAEpuC,GAAG,GAC5B44D,EAAY,IAAMlW,EAAKtU,EAAEpuC,GAAG,GAEhC44D,EAAY,IAAMC,EAClBD,EAAY,IAAMC,EAClB,IAEInI,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAFpBqH,EAAchG,WAAWtV,aAG7B,IAFAsb,EAAYl+C,EAAIwoC,EAAKxoC,EAEjBla,EAAI,EAAGA,EAAI64D,EAAY74D,GAAK,EAC5B0wD,EAAKhO,EAAKtU,EAAEpuC,GAAG,IAAM44D,EAAY,GAAKlW,EAAKtU,EAAEpuC,GAAG,IAAMigD,EACtD0Q,EAAKjO,EAAKtU,EAAEpuC,GAAG,IAAM44D,EAAY,GAAKlW,EAAKtU,EAAEpuC,GAAG,IAAMigD,EACtD2Q,EAAKlO,EAAKn2C,EAAEvM,GAAG,IAAM44D,EAAY,GAAKlW,EAAKn2C,EAAEvM,GAAG,KAAOigD,EACvD4Q,EAAKnO,EAAKn2C,EAAEvM,GAAG,IAAM44D,EAAY,GAAKlW,EAAKn2C,EAAEvM,GAAG,KAAOigD,EACvD6Q,EAAKpO,EAAK1iD,EAAEA,GAAG,IAAM44D,EAAY,GAAKlW,EAAK1iD,EAAEA,GAAG,KAAOigD,EACvD8Q,EAAKrO,EAAK1iD,EAAEA,GAAG,IAAM44D,EAAY,GAAKlW,EAAK1iD,EAAEA,GAAG,KAAOigD,EACvDmY,EAAY3H,YAAYC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAI/wD,GAEpD,OAAOo4D,GAGXrD,uBAAuBn2D,UAAUm4D,cAAgB,SAASpJ,GACtD,IAAIqJ,EACAh3D,EACA2W,EAAG8qC,EAICzD,EAAqBgU,EALtBhvD,EAAMD,KAAKs/C,OAAO9iD,OAErBo5D,EAAS51D,KAAK41D,OAAOvqB,EAEzB,GAAc,IAAXuqB,EAEC,IAAI34D,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EAAE,CAIf,IAHAg+C,EAAYj7C,KAAKs/C,OAAOriD,IACHg2D,MAAMxS,MAC3BwO,EAAuBhU,EAAUgU,qBAC3BhU,EAAUgY,MAAM7lB,MAASptC,KAAKotC,MAASwd,EAKzC,IAJAqE,EAAqBK,gBACrBrU,EAAUgY,MAAM7lB,MAAO,EACvB6mB,EAAahZ,EAAUgY,MAAMxS,MAAMnB,OACnCZ,EAAOzD,EAAUgY,MAAMxS,MAAMjF,QACzB5nC,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EACdq7C,EAAqBM,SAASvvD,KAAKo1D,YAAYnB,EAAWrgD,GAAIgiD,IAGtE3a,EAAUgY,MAAMxS,MAAQxF,EAAUgU,qBAGtCjvD,KAAKitC,kBAAkBzwC,SACvBwD,KAAKotC,MAAO,IAGpBqkB,eAAeE,iBAAiB,KAAKK,wBAErC5Z,gBAAgB,CAACyZ,eAAgBI,kBAEjCA,iBAAiBp2D,UAAUk3D,uBAAyB,SAASxI,EAAKn3C,GAC9DpT,KAAKqtC,SAAWrtC,KAAKmzD,YACrBnzD,KAAKmX,EAAI2uC,gBAAgB0F,QAAQjB,EAAKn3C,EAAK+D,EAAE,EAAE,KAAKnX,MACpDA,KAAKwJ,EAAIs8C,gBAAgB0F,QAAQjB,EAAKn3C,EAAK5J,EAAE,EAAE,KAAKxJ,MACpDA,KAAK+1D,GAAKtK,yBAAyByB,qBAAqB3C,EAAKn3C,EAAK2iD,GAAG/1D,MACrEA,KAAKg2D,GAAKlQ,gBAAgB0F,QAAQjB,EAAKn3C,EAAK2iD,GAAGC,GAAG,EAAE,IAAKh2D,MACzDA,KAAKi2D,GAAKnQ,gBAAgB0F,QAAQjB,EAAKn3C,EAAK2iD,GAAGE,GAAG,EAAE,IAAKj2D,MACzDA,KAAKoT,KAAOA,EACRpT,KAAKitC,kBAAkBzwC,QACvBwD,KAAKqtC,UAAS,GAElBrtC,KAAKktC,cAAgBltC,KAAKitC,kBAAkBzwC,OAC5CwD,KAAKk2D,QAAU,IAAItoB,OACnB5tC,KAAKm2D,QAAU,IAAIvoB,OACnB5tC,KAAKo2D,QAAU,IAAIxoB,OACnB5tC,KAAKq2D,QAAU,IAAIzoB,OACnB5tC,KAAKs2D,OAAS,IAAI1oB,QAGtBqkB,iBAAiBp2D,UAAU06D,gBAAkB,SAASL,EAASC,EAASC,EAAS3mB,EAAW+J,EAAMgd,GAC9F,IAAI7wC,EAAM6wC,GAAO,EAAI,EACjBC,EAAShnB,EAAU3mC,EAAEuiC,EAAE,IAAM,EAAIoE,EAAU3mC,EAAEuiC,EAAE,KAAO,EAAImO,GAC1Dkd,EAASjnB,EAAU3mC,EAAEuiC,EAAE,IAAM,EAAIoE,EAAU3mC,EAAEuiC,EAAE,KAAO,EAAImO,GAC9D0c,EAAQ79B,UAAUoX,EAAUjE,EAAEH,EAAE,GAAK1lB,EAAM6zB,EAAM/J,EAAUjE,EAAEH,EAAE,GAAK1lB,EAAM6zB,EAAM/J,EAAUjE,EAAEH,EAAE,IAC9F8qB,EAAQ99B,WAAWoX,EAAUvzC,EAAEmvC,EAAE,IAAKoE,EAAUvzC,EAAEmvC,EAAE,GAAIoE,EAAUvzC,EAAEmvC,EAAE,IACtE8qB,EAAQ9nB,QAAQoB,EAAUnE,EAAED,EAAI1lB,EAAM6zB,GACtC2c,EAAQ99B,UAAUoX,EAAUvzC,EAAEmvC,EAAE,GAAIoE,EAAUvzC,EAAEmvC,EAAE,GAAIoE,EAAUvzC,EAAEmvC,EAAE,IACpE+qB,EAAQ/9B,WAAWoX,EAAUvzC,EAAEmvC,EAAE,IAAKoE,EAAUvzC,EAAEmvC,EAAE,GAAIoE,EAAUvzC,EAAEmvC,EAAE,IACtE+qB,EAAQjnB,MAAMqnB,EAAM,EAAEC,EAASA,EAAQD,EAAM,EAAEE,EAASA,GACxDN,EAAQ/9B,UAAUoX,EAAUvzC,EAAEmvC,EAAE,GAAIoE,EAAUvzC,EAAEmvC,EAAE,GAAIoE,EAAUvzC,EAAEmvC,EAAE,KAGxE4mB,iBAAiBp2D,UAAUyyD,KAAO,SAAS/D,EAAMxtD,EAAKwT,EAAKomD,GACvD32D,KAAKuqD,KAAOA,EACZvqD,KAAKjD,IAAMA,EACXiD,KAAKuQ,IAAMA,EACXvQ,KAAK22D,UAAYA,EACjB32D,KAAK42D,eAAiB,EACtB52D,KAAK62D,UAAY,GACjB72D,KAAK82D,QAAU,GACf92D,KAAKyqD,SAAW,EAChBzqD,KAAKstC,6BAA6Bid,GAClCvqD,KAAK+yD,uBAAuBxI,EAAKxtD,EAAIwT,IAErC,KAAMA,EAAI,GACNA,GAAO,EAEPvQ,KAAK62D,UAAUE,QAAQh6D,EAAIwT,IACnB,EAETvQ,KAAKitC,kBAAkBzwC,OACtBwD,KAAKvD,GAAI,EAETuD,KAAKqtC,UAAS,IAItB4kB,iBAAiBp2D,UAAUm7D,cAAgB,SAASC,GAChD,IAAIh6D,EAAGgD,EAAMg3D,EAASz6D,OACtB,IAAIS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACrBg6D,EAASh6D,GAAGi6D,YAAa,EACH,OAAnBD,EAASh6D,GAAGsyC,IACXvvC,KAAKg3D,cAAcC,EAASh6D,GAAGyyB,KAK3CuiC,iBAAiBp2D,UAAUs7D,cAAgB,SAASF,GACnCA,EAASz6D,OAAtB,IACI46D,EAAcnzB,KAAKwb,MAAMxb,KAAKE,UAAU8yB,IAE5C,OADAj3D,KAAKg3D,cAAcI,GACZA,GAGXnF,iBAAiBp2D,UAAUw7D,kBAAoB,SAASJ,EAAUK,GAC9D,IAAIr6D,EAAGgD,EAAMg3D,EAASz6D,OACtB,IAAIS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACrBg6D,EAASh6D,GAAGs6D,QAAUD,EACA,OAAnBL,EAASh6D,GAAGsyC,IACXvvC,KAAKq3D,kBAAkBJ,EAASh6D,GAAGyyB,GAAI4nC,IAKnDrF,iBAAiBp2D,UAAUm4D,cAAgB,SAASpJ,GAChD,IAAI4M,EAAOC,EAAgBx6D,EAAG0oB,EAAK+xC,EACnC,GAAG13D,KAAKotC,MAAQwd,EAAc,CAC1B,IAgBI0M,EAhBAK,EAASx0D,KAAKgD,KAAKnG,KAAKmX,EAAEk0B,GAC9B,GAAGrrC,KAAK82D,QAAQt6D,OAASm7D,EAAO,CAC5B,KAAM33D,KAAK82D,QAAQt6D,OAASm7D,GAAO,CAC/B,IAAIC,EAAQ,CACRloC,GAAG1vB,KAAKm3D,cAAcn3D,KAAK62D,WAC3BtnB,GAAG,MAEPqoB,EAAMloC,GAAGvyB,KAAK,CAAC,EAAI,CAAC,EAAI,EAAE,GAAK,EAAE,EAAI,CAAC,EAAE,IAAI,GAAK,YAAY,EAAI,CAAC,EAAI,EAAE,GAAK,EAAE,EAAI,KAAK,EAAI,CAAC,EAAI,EAAE,GAAK,EAAE,EAAI,CAAC,EAAE,IAAI,EAAI,CAAC,EAAI,EAAE,GAAK,EAAE,EAAI,CAAC,CAAC2L,EAAE,EAAEoK,EAAE,EAAEnT,EAAE,GAAG,CAAC+I,EAAE,EAAEoK,EAAE,EAAEnT,EAAE,KAAK,EAAI,CAAC,EAAI,EAAE,GAAK,EAAE,EAAI,CAAC,IAAI,MAAM,GAAK,CAAC,EAAI,EAAE,GAAK,EAAE,EAAI,GAAG,GAAK,CAAC,EAAI,EAAE,GAAK,EAAE,EAAI,GAAG,GAAK,OAEpQC,KAAKjD,IAAIwvC,OAAO,EAAE,EAAEqrB,GACpB53D,KAAK82D,QAAQvqB,OAAO,EAAE,EAAEqrB,GACxB53D,KAAK42D,gBAAkB,EAE3B52D,KAAKuqD,KAAKsN,eAId,IAFAH,EAAO,EAEHz6D,EAAI,EAAGA,GAAM+C,KAAK82D,QAAQt6D,OAAS,EAAGS,GAAK,EAC3Cq6D,EAAaI,EAAOC,EACpB33D,KAAK82D,QAAQ75D,GAAGs6D,QAAUD,EAC1Bt3D,KAAKq3D,kBAAkBr3D,KAAK82D,QAAQ75D,GAAGyyB,GAAI4nC,GAC3CI,GAAQ,EAGZ13D,KAAK42D,eAAiBe,EAGtB,IAAIt7C,EAASrc,KAAKwJ,EAAE6hC,EAChBysB,EAAez7C,EAAO,EACtB07C,EAAc17C,EAAS,EAAIlZ,KAAKiD,MAAMiW,GAAUlZ,KAAKgD,KAAKkW,GAG1D27C,GADOh4D,KAAK+1D,GAAG1qB,EAAEtO,MACR/8B,KAAKk2D,QAAQn5B,OACtBk7B,EAASj4D,KAAKm2D,QAAQp5B,MACtBm7B,EAASl4D,KAAKo2D,QAAQr5B,MAC1B/8B,KAAKk2D,QAAQ9nB,QACbpuC,KAAKm2D,QAAQ/nB,QACbpuC,KAAKo2D,QAAQhoB,QACbpuC,KAAKq2D,QAAQjoB,QACbpuC,KAAKs2D,OAAOloB,QACZ,IAwBIx6B,EAAG8qC,EAxBHyZ,EAAY,EAEhB,GAAG97C,EAAS,EAAG,CACX,KAAM87C,EAAUJ,GACZ/3D,KAAKu2D,gBAAgBv2D,KAAKk2D,QAASl2D,KAAKm2D,QAASn2D,KAAKo2D,QAASp2D,KAAK+1D,GAAI,GAAG,GAC3EoC,GAAa,EAEdL,IACC93D,KAAKu2D,gBAAgBv2D,KAAKk2D,QAASl2D,KAAKm2D,QAASn2D,KAAKo2D,QAASp2D,KAAK+1D,GAAI+B,GAAc,GACtFK,GAAaL,QAEd,GAAGz7C,EAAS,EAAG,CAClB,KAAM87C,EAAUJ,GACZ/3D,KAAKu2D,gBAAgBv2D,KAAKk2D,QAASl2D,KAAKm2D,QAASn2D,KAAKo2D,QAASp2D,KAAK+1D,GAAI,GAAG,GAC3EoC,GAAa,EAEdL,IACC93D,KAAKu2D,gBAAgBv2D,KAAKk2D,QAASl2D,KAAKm2D,QAASn2D,KAAKo2D,QAASp2D,KAAK+1D,IAAM+B,GAAc,GACxFK,GAAaL,GAOrB,IAJA76D,EAAoB,IAAhB+C,KAAKoT,KAAKvV,EAAU,EAAImC,KAAK42D,eAAiB,EAClDjxC,EAAsB,IAAhB3lB,KAAKoT,KAAKvV,EAAU,GAAK,EAC/B65D,EAAO13D,KAAK42D,eAENc,GAAK,CAOP,GAJAhZ,GADA+Y,GADAD,EAAQx3D,KAAK22D,UAAU15D,GAAGyyB,IACH8nC,EAAMh7D,OAAS,GAAGizC,UAAU2oB,OAAO/sB,EAAEtO,OACtCvgC,OACtBg7D,EAAMA,EAAMh7D,OAAS,GAAGizC,UAAU2oB,OAAOhrB,MAAO,EAChDoqB,EAAMA,EAAMh7D,OAAS,GAAGizC,UAAU4oB,GAAGjrB,MAAO,EAC5CoqB,EAAMA,EAAMh7D,OAAS,GAAGizC,UAAU4oB,GAAGhtB,EAAIrrC,KAAKg2D,GAAG3qB,GAAKrrC,KAAKi2D,GAAG5qB,EAAIrrC,KAAKg2D,GAAG3qB,IAAMpuC,GAAK+C,KAAK42D,eAAiB,IAC1F,IAAduB,EAAgB,CAQf,KAPU,IAANl7D,GAAmB,IAAR0oB,GAAe1oB,IAAM+C,KAAK42D,eAAiB,IAAc,IAATjxC,IAC3D3lB,KAAKu2D,gBAAgBv2D,KAAKk2D,QAASl2D,KAAKm2D,QAASn2D,KAAKo2D,QAASp2D,KAAK+1D,GAAI,GAAG,GAE/E/1D,KAAKs2D,OAAO7mB,UAAUwoB,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,IAAIA,EAAO,IAAIA,EAAO,IAAIA,EAAO,IAAIA,EAAO,IAAIA,EAAO,KACxLj4D,KAAKs2D,OAAO7mB,UAAUyoB,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,IAAIA,EAAO,IAAIA,EAAO,IAAIA,EAAO,IAAIA,EAAO,IAAIA,EAAO,KACxLl4D,KAAKs2D,OAAO7mB,UAAUuoB,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,IAAIA,EAAO,IAAIA,EAAO,IAAIA,EAAO,IAAIA,EAAO,IAAIA,EAAO,KAEpLpkD,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EACd6jD,EAAe7jD,GAAK5T,KAAKs2D,OAAOv5B,MAAMnpB,GAE1C5T,KAAKs2D,OAAOloB,aAGZ,IADApuC,KAAKs2D,OAAOloB,QACRx6B,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EACd6jD,EAAe7jD,GAAK5T,KAAKs2D,OAAOv5B,MAAMnpB,GAG9CukD,GAAa,EACbT,GAAQ,EACRz6D,GAAK0oB,QAMT,IAHA+xC,EAAO13D,KAAK42D,eACZ35D,EAAI,EACJ0oB,EAAM,EACA+xC,GAEFD,GADAD,EAAQx3D,KAAK22D,UAAU15D,GAAGyyB,IACH8nC,EAAMh7D,OAAS,GAAGizC,UAAU2oB,OAAO/sB,EAAEtO,MAC5Dy6B,EAAMA,EAAMh7D,OAAS,GAAGizC,UAAU2oB,OAAOhrB,MAAO,EAChDoqB,EAAMA,EAAMh7D,OAAS,GAAGizC,UAAU4oB,GAAGjrB,MAAO,EAC5CsqB,GAAQ,EACRz6D,GAAK0oB,GAKjBssC,iBAAiBp2D,UAAU0zD,SAAW,aAEtCkC,eAAeE,iBAAiB,KAAKM,kBAOrCC,gBAAgBr2D,UAAU0zD,SAAW,SAAStU,GAC1Cj7C,KAAKw7C,UAAYx7C,KAAKotD,aACxBptD,KAAKs/C,OAASt/C,KAAKs/C,OAAOzxC,OAAOk7B,iBAAiB/oC,KAAKotD,aACvDptD,KAAKotD,YAAc,GAEpBptD,KAAKs/C,OAAOt/C,KAAKw7C,SAAWP,EAC5Bj7C,KAAKw7C,SAAW,GAGjB0W,gBAAgBr2D,UAAUyzD,cAAgB,WACzC,IAAIryD,EACJ,IAAIA,EAAI,EAAGA,EAAI+C,KAAKw7C,QAASv+C,GAAK,EACjCoyD,WAAW0E,QAAQ/zD,KAAKs/C,OAAOriD,IAEhC+C,KAAKw7C,QAAU,GAwBhB2W,aAAat2D,UAAUwxC,SAAW,SAASof,GACvC,IAAGzsD,KAAKuqD,KAAKC,WAAWC,UAAYzqD,KAAKyqD,SAAYgC,KAGrDzsD,KAAKyqD,QAAUzqD,KAAKuqD,KAAKC,WAAWC,QACpCzqD,KAAKmtC,2BACLntC,KAAKotC,KAAOptC,KAAKotC,MAAQqf,EACrBzsD,KAAKotC,MAAM,CACX,IAAInwC,EAAI,EAAGgD,EAAMD,KAAKoyD,UAAU51D,OAIhC,IAHqB,QAAlBwD,KAAKy9B,WACJz9B,KAAKqyD,QAAU,IAEfp1D,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACa,KAAvB+C,KAAKoyD,UAAUn1D,GAAG2Q,EACI,QAAlB5N,KAAKy9B,SACJz9B,KAAKqyD,SAAW,IAAMryD,KAAKoyD,UAAUn1D,GAAGuuC,EAAEH,EAE1CrrC,KAAKsyD,UAAUr1D,GAAK+C,KAAKoyD,UAAUn1D,GAAGuuC,EAAEH,EAG5CrrC,KAAKuyD,WAAW,GAAKvyD,KAAKoyD,UAAUn1D,GAAGuuC,EAAEH,IAKzD+M,gBAAgB,CAACrL,0BAA2BolB,cAgB5CK,iBAAiB32D,UAAUy8D,cAAgB,SAASnlD,EAAQwjC,GAExD,IADA,IAAI15C,EAAI,EAAGgD,EAAMD,KAAKwJ,EAAEhN,OAAO,EACzBS,EAAIgD,GAAK,CAEX,GADOkD,KAAKC,IAAI+P,EAAS,EAAFlW,GAAOkW,EAAc,EAAPwjC,EAAa,EAAF15C,IACtC,IACN,OAAO,EAEXA,GAAK,EAET,OAAO,GAGXu1D,iBAAiB32D,UAAUg3D,iBAAmB,WAC1C,GAAI7yD,KAAKwJ,EAAEhN,OAAO,GAAMwD,KAAKmX,EAAE3a,OAAO,EAClC,OAAO,EAEX,GAAIwD,KAAKoT,KAAK3W,EAAEA,EAAE,GAAGqM,EAEjB,IADA,IAAI7L,EAAI,EAAGgD,EAAMD,KAAKoT,KAAK3W,EAAEA,EAAED,OACxBS,EAAIgD,GAAK,CACZ,IAAKD,KAAKs4D,cAAct4D,KAAKoT,KAAK3W,EAAEA,EAAEQ,GAAG6L,EAAG9I,KAAKoT,KAAKo4B,GAClD,OAAO,EAEXvuC,GAAK,OAEN,IAAI+C,KAAKs4D,cAAct4D,KAAKoT,KAAK3W,EAAEA,EAAGuD,KAAKoT,KAAKo4B,GACnD,OAAO,EAEX,OAAO,GAGXgnB,iBAAiB32D,UAAUwxC,SAAW,SAASof,GAK3C,GAJAzsD,KAAKO,KAAK8sC,WACVrtC,KAAKotC,MAAO,EACZptC,KAAK0yD,OAAQ,EACb1yD,KAAK2yD,OAAQ,EACV3yD,KAAKO,KAAK6sC,MAAQqf,EAAY,CAC7B,IAAIxvD,EACAotD,EAAM7pD,EADHP,EAAkB,EAAZD,KAAKoT,KAAKo4B,EAEvB,IAAIvuC,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbotD,EAAOptD,EAAE,GAAM,EAAI,IAAM,IACzBuD,EAAM2C,KAAKiZ,MAAMpc,KAAKO,KAAK8qC,EAAEpuC,GAAGotD,GAC7BrqD,KAAKmX,EAAEla,KAAOuD,IACbR,KAAKmX,EAAEla,GAAKuD,EACZR,KAAK0yD,OAASjG,GAGtB,GAAGzsD,KAAKwJ,EAAEhN,OAEN,IADAyD,EAAMD,KAAKO,KAAK8qC,EAAE7uC,OACdS,EAAc,EAAZ+C,KAAKoT,KAAKo4B,EAAIvuC,EAAEgD,EAAIhD,GAAG,EACzBotD,EAAOptD,EAAE,GAAM,EAAI,IAAM,EACzBuD,EAAMvD,EAAE,GAAM,EAAKkG,KAAKiZ,MAAqB,IAAfpc,KAAKO,KAAK8qC,EAAEpuC,IAAQ+C,KAAKO,KAAK8qC,EAAEpuC,GAC3D+C,KAAKwJ,EAAEvM,EAAc,EAAZ+C,KAAKoT,KAAKo4B,KAAShrC,IAC3BR,KAAKwJ,EAAEvM,EAAc,EAAZ+C,KAAKoT,KAAKo4B,GAAOhrC,EAC1BR,KAAK2yD,OAASlG,GAI1BzsD,KAAKotC,MAAQqf,IAIrBrU,gBAAgB,CAACrL,0BAA2BylB,kBAC5C,IAAI+F,iBAAmB,SAASC,EAAWh8D,EAAQ4+C,EAAQoR,GAC1D,GAAc,IAAXhwD,EACQ,MAAO,GAEX,IAGIS,EAHAw7D,EAAKD,EAAUhvD,EACf9I,EAAK83D,EAAUv7D,EACfgzD,EAAKuI,EAAUntB,EACZqtB,EAAc,KAAOlM,EAAInZ,wBAAwB4c,EAAG,GAAG,GAAIA,EAAG,GAAG,IACxE,IAAIhzD,EAAI,EAAGA,EAAIT,EAAQS,GAAK,EACxBy7D,GAAe,KAAOlM,EAAInZ,wBAAwBolB,EAAGx7D,EAAI,GAAG,GAAIw7D,EAAGx7D,EAAI,GAAG,IAAM,IAAMuvD,EAAInZ,wBAAwB3yC,EAAGzD,GAAG,GAAIyD,EAAGzD,GAAG,IAAM,IAAMuvD,EAAInZ,wBAAwB4c,EAAGhzD,GAAG,GAAIgzD,EAAGhzD,GAAG,IAM9L,OAJIm+C,GAAU5+C,IACVk8D,GAAe,KAAOlM,EAAInZ,wBAAwBolB,EAAGx7D,EAAI,GAAG,GAAIw7D,EAAGx7D,EAAI,GAAG,IAAM,IAAMuvD,EAAInZ,wBAAwB3yC,EAAG,GAAG,GAAIA,EAAG,GAAG,IAAM,IAAM8rD,EAAInZ,wBAAwB4c,EAAG,GAAG,GAAIA,EAAG,GAAG,IAC1LyI,GAAe,KAEZA,GAEXC,uBAA0B,WAE7B,SAASC,EAAgBC,GACxB74D,KAAK84D,OAAS,GACd94D,KAAK64D,aAAeA,EACpB74D,KAAK+4D,QAAU,EACf/4D,KAAKg5D,UAAW,EAqEjB,OAlEAJ,EAAgB/8D,UAAY,CAC3Bo9D,SAAU,SAASC,GAClBl5D,KAAK84D,OAAO37D,KAAK+7D,IAElBr8B,MAAO,WACN,IAAI5/B,EAAGgD,EAAMD,KAAK84D,OAAOt8D,OACzB,IAAIS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACxB+C,KAAK84D,OAAO77D,GAAG4/B,SAGjBs8B,OAAQ,WACP,IAAIl8D,EAAGgD,EAAMD,KAAK84D,OAAOt8D,OACzB,IAAIS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACxB+C,KAAK84D,OAAO77D,GAAGk8D,UAGjBC,QAAS,SAASC,GACjB,IAAIp8D,EAAGgD,EAAMD,KAAK84D,OAAOt8D,OACzB,IAAIS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACxB+C,KAAK84D,OAAO77D,GAAGm8D,QAAQC,IAGzBC,YAAa,SAASC,GACrB,OAAIv5D,KAAK64D,aACD74D,KAAK64D,aAAaU,GACfC,KACH,IAAIA,KAAK,CACf/nC,IAAK,CAAC8nC,KAGA,CACNE,WAAW,EACX78B,KAAM,WAAW58B,KAAKy5D,WAAY,GAClCC,KAAM,WAAW15D,KAAKy5D,WAAY,GAClCE,QAAS,aACTC,KAAM,aACNC,UAAW,eAIdC,gBAAiB,SAASjB,GACzB74D,KAAK64D,aAAeA,GAErBgB,UAAW,SAASrzD,GACnBxG,KAAK+4D,QAAUvyD,EACfxG,KAAK+5D,iBAENC,KAAM,WACLh6D,KAAKg5D,UAAW,EAChBh5D,KAAK+5D,iBAENE,OAAQ,WACPj6D,KAAKg5D,UAAW,EAChBh5D,KAAK+5D,iBAENG,UAAW,SAAS1zD,GACnB,OAAOxG,KAAK+4D,SAEbgB,cAAe,WACd,IAAI98D,EAAGgD,EAAMD,KAAK84D,OAAOt8D,OACzB,IAAIS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACxB+C,KAAK84D,OAAO77D,GAAGk9D,OAAOn6D,KAAK+4D,SAAW/4D,KAAKg5D,SAAW,EAAI,MAKtD,WACN,OAAO,IAAIJ,GA5EgB,GAgFzBwB,eAAkB,WAElB,IAAIC,EAAc,WACd,IAAIC,EAASxtB,UAAU,UACvBwtB,EAAOz7B,MAAQ,EACfy7B,EAAOx7B,OAAS,EAChB,IAAInR,EAAM2sC,EAAOpX,WAAW,MAG5B,OAFAv1B,EAAI4sC,UAAY,gBAChB5sC,EAAI6sC,SAAS,EAAG,EAAG,EAAG,GACfF,EAPM,GAUjB,SAASG,IACLz6D,KAAK06D,cAAgB,EAClB16D,KAAK06D,eAAiB16D,KAAK26D,aACvB36D,KAAK46D,gBACJ56D,KAAK46D,eAAe,MAKhC,SAASC,EAAcC,EAAWC,EAAYC,GAC1C,IAAIrb,EAAO,GACX,GAAImb,EAAU5nD,EACVysC,EAAOmb,EAAUtvB,OACd,GAAGuvB,EAAY,CAClB,IAAIE,EAAYH,EAAUtvB,GACY,IAAlCyvB,EAAUlyD,QAAQ,aAClBkyD,EAAYA,EAAUlxD,MAAM,KAAK,IAErC41C,EAAOob,EAAaE,OAEpBtb,EAAOqb,EACPrb,GAAQmb,EAAU12C,EAAI02C,EAAU12C,EAAI,GACpCu7B,GAAQmb,EAAUtvB,EAEtB,OAAOmU,EAkFX,SAASya,EAAersC,GACpB/tB,KAAKk7D,aAAeT,EAAYnuB,KAAKtsC,MACrCA,KAAK+6D,WAAa,GAClB/6D,KAAK2/C,KAAO,GACZ3/C,KAAK26D,YAAc,EACnB36D,KAAK06D,aAAe,EACpB16D,KAAK46D,eAAiB,KACtB56D,KAAKm7D,OAAS,GAgBlB,OAbAf,EAAev+D,UAAY,CACvBu/D,WAzDJ,SAAoB/a,EAAQgb,GACxBr7D,KAAK46D,eAAiBS,EACtB,IAAIp+D,EAAGgD,EAAMogD,EAAO7jD,OACpB,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EAClBojD,EAAOpjD,GAAGqhD,SACVt+C,KAAK26D,aAAe,EACpB36D,KAAKm7D,OAAOh+D,KAAK6C,KAAKs7D,iBAAiBjb,EAAOpjD,OAoDtDs+D,cA3CJ,SAAuB5b,GACnB3/C,KAAK+6D,WAAapb,GAAQ,IA2C1B6b,QAhDJ,SAAiB7b,GACb3/C,KAAK2/C,KAAOA,GAAQ,IAgDpB4E,OA1BJ,WACI,OAAOvkD,KAAK26D,cAAgB36D,KAAK06D,cA0BjC58B,QAhCJ,WACI99B,KAAK46D,eAAiB,KACtB56D,KAAKm7D,OAAO3+D,OAAS,GA+BrBi/D,SA3CJ,SAAkBX,GAEd,IADA,IAAI79D,EAAI,EAAGgD,EAAMD,KAAKm7D,OAAO3+D,OACtBS,EAAIgD,GAAK,CACZ,GAAID,KAAKm7D,OAAOl+D,GAAG69D,YAAcA,EAC7B,OAAO96D,KAAKm7D,OAAOl+D,GAAGy+D,IAE1Bz+D,GAAK,IAsCT0+D,cAhFJ,SAAuBb,GACnB,IAAInb,EAAOkb,EAAcC,EAAW96D,KAAK+6D,WAAY/6D,KAAK2/C,MACtD+b,EAAM5uB,UAAU,OACpB4uB,EAAIE,YAAc,YAClBF,EAAIn9B,iBAAiB,OAAQv+B,KAAKk7D,cAAc,GAChDQ,EAAIn9B,iBAAiB,QAAS,WAC1ByX,EAAG0lB,IAAMrB,EACTr6D,KAAKk7D,gBACP5uB,KAAKtsC,OAAO,GACd07D,EAAIjqC,IAAMkuB,EACV,IAAI3J,EAAK,CACL0lB,IAAKA,EACLZ,UAAWA,GAEf,OAAO9kB,GAmEP6lB,gBAjGJ,SAAyBf,GACrB,IAAInb,EAAOkb,EAAcC,EAAW96D,KAAK+6D,WAAY/6D,KAAK2/C,MACtD+b,EAAM9uB,SAAS,SACnB8uB,EAAIn9B,iBAAiB,OAAQv+B,KAAKk7D,cAAc,GAChDQ,EAAIn9B,iBAAiB,QAAS,WAC1ByX,EAAG0lB,IAAMrB,EACTr6D,KAAKk7D,gBACP5uB,KAAKtsC,OAAO,GACd07D,EAAII,eAAe,+BAA+B,OAAQnc,GAC1D,IAAI3J,EAAK,CACL0lB,IAAKA,EACLZ,UAAWA,GAEf,OAAO9kB,GAqFPykB,YAAaA,EACbsB,aA5BJ,SAAsBhuC,GAEd/tB,KAAKs7D,iBADI,QAATvtC,EACwB/tB,KAAK67D,gBAAgBvvB,KAAKtsC,MAE1BA,KAAK27D,cAAcrvB,KAAKtsC,QA2BjDo6D,EA7IU,GA+IjB4B,eAAkB,WACrB,IAAIhmB,EAAK,CACRimB,UAAU,GAKX,OAHI,WAAWj3D,KAAK8iC,UAAUC,YAAc,UAAU/iC,KAAK8iC,UAAUC,YAAc,WAAW/iC,KAAK8iC,UAAUC,YAAc,aAAa/iC,KAAK8iC,UAAUC,cACpJiO,EAAGimB,UAAW,GAEVjmB,EAPa,GASjBkmB,eAAkB,WACrB,IAAIlmB,EAAK,GAuBT,OAtBAA,EAAGmmB,aAGH,SAAsBC,GACd,IAAIC,EAAMzvB,SAAS,UAOZ,OANPyvB,EAAIzZ,aAAa,KAAKwZ,GACfC,EAAIzZ,aAAa,cAAc,qBAC/ByZ,EAAIzZ,aAAa,IAAI,MACrByZ,EAAIzZ,aAAa,IAAI,MACrByZ,EAAIzZ,aAAa,QAAQ,QACzByZ,EAAIzZ,aAAa,SAAS,QACnByZ,GAVtBrmB,EAAGsmB,6BAaH,WACe,IAAIC,EAAgB3vB,SAAS,iBAI7B,OAHA2vB,EAAc3Z,aAAa,OAAO,UAClC2Z,EAAc3Z,aAAa,8BAA8B,QACzD2Z,EAAc3Z,aAAa,SAAS,8CAC7B2Z,GAGfvmB,EAxBa,GA0BjBwmB,YAAe,WAElB,SAASC,EAAeC,GACvB,OAAGA,EAAIC,UAAoC,iBAAjBD,EAAIC,SACtBD,EAAIC,SACFD,EAAIC,UAAoC,iBAAjBD,EAAIC,SAC7B14B,KAAKwb,MAAMid,EAAIC,UACbD,EAAIE,aACN34B,KAAKwb,MAAMid,EAAIE,mBADhB,EAiCR,MAAO,CACNC,KA7BD,SAAmBld,EAAM17C,EAAU64D,GAClC,IAAIH,EACAD,EAAM,IAAIK,eACdL,EAAI9qC,KAAK,MAAO+tB,GAAM,GAEtB,IAEI+c,EAAIM,aAAe,OACrB,MAAOC,IACNP,EAAIQ,OACJR,EAAIS,mBAAqB,WACrB,GAAsB,GAAlBT,EAAIU,WACJ,GAAiB,KAAdV,EAAIW,OACNV,EAAWF,EAAeC,GAC1Bz4D,EAAS04D,QAEN,IACFA,EAAWF,EAAeC,GAC1Bz4D,EAAS04D,GACN,MAAMM,GACHH,GACFA,EAAcG,OAjCf,GA6ClB,SAASK,qBAAqBC,EAAUC,EAAYjT,GAChDvqD,KAAK4qD,eAAgB,EACxB5qD,KAAKy9D,gBAAiB,EACtBz9D,KAAK09D,UAAY,EACjB19D,KAAK29D,UAAYJ,EACjBv9D,KAAK49D,YAAcJ,EAChBx9D,KAAK69D,MAAQtT,EAChBvqD,KAAK89D,eAAiB/0B,iBAAiB/oC,KAAK29D,UAAUzhE,EAAEM,QACxDwD,KAAK+9D,UAAY,GACjB/9D,KAAKg+D,aAAe,CACnBC,UAAW,IAEZj+D,KAAKk+D,gBAAkB,GACpBl+D,KAAKm+D,oBAAqB,EAC1Bn+D,KAAKstC,6BAA6Bid,GAiiBtC,SAAS6T,yBAAyB7T,EAAM8T,EAAe9gC,GACtD,IAAI+gC,EAAc,CAAChY,UAAS,GACxBkF,EAAU1F,gBAAgB0F,QAC1B+S,EAA2BF,EAAcniE,EAC7C8D,KAAK9D,EAAI,CACRovC,EAAGizB,EAAyBjzB,EAAIkgB,EAAQjB,EAAMgU,EAAyBjzB,EAAG,EAAGrC,UAAW1L,GAAa+gC,EACrGtS,GAAIuS,EAAyBvS,GAAKR,EAAQjB,EAAMgU,EAAyBvS,GAAI,EAAG/iB,UAAW1L,GAAa+gC,EACxGrS,GAAIsS,EAAyBtS,GAAKT,EAAQjB,EAAMgU,EAAyBtS,GAAI,EAAGhjB,UAAW1L,GAAa+gC,EACxGlS,GAAImS,EAAyBnS,GAAKZ,EAAQjB,EAAMgU,EAAyBnS,GAAI,EAAGnjB,UAAW1L,GAAa+gC,EACxGjS,GAAIkS,EAAyBlS,GAAKb,EAAQjB,EAAMgU,EAAyBlS,GAAI,EAAGpjB,UAAW1L,GAAa+gC,EACxGx1D,EAAGy1D,EAAyBz1D,EAAI0iD,EAAQjB,EAAMgU,EAAyBz1D,EAAG,EAAG,IAAMy0B,GAAa+gC,EAChGpiE,EAAGqiE,EAAyBriE,EAAIsvD,EAAQjB,EAAMgU,EAAyBriE,EAAG,EAAG,EAAGqhC,GAAa+gC,EAC7F90D,EAAG+0D,EAAyB/0D,EAAIgiD,EAAQjB,EAAMgU,EAAyB/0D,EAAG,EAAG,IAAM+zB,GAAa+gC,EAChG9yB,EAAG+yB,EAAyB/yB,EAAIggB,EAAQjB,EAAKgU,EAAyB/yB,EAAG,EAAG,EAAGjO,GAAa+gC,EAC5FE,GAAID,EAAyBC,GAAKhT,EAAQjB,EAAMgU,EAAyBC,GAAI,EAAG,EAAGjhC,GAAa+gC,EAChGtZ,GAAIuZ,EAAyBvZ,GAAKwG,EAAQjB,EAAMgU,EAAyBvZ,GAAI,EAAG,EAAGznB,GAAa+gC,EAChGG,GAAIF,EAAyBE,GAAKjT,EAAQjB,EAAMgU,EAAyBE,GAAI,EAAG,EAAGlhC,GAAa+gC,EAChGI,GAAIH,EAAyBG,GAAKlT,EAAQjB,EAAMgU,EAAyBG,GAAI,EAAG,EAAGnhC,GAAa+gC,EAChGK,GAAIJ,EAAyBI,GAAKnT,EAAQjB,EAAMgU,EAAyBI,GAAI,EAAG,IAAMphC,GAAa+gC,EACnGM,GAAIL,EAAyBK,GAAKpT,EAAQjB,EAAMgU,EAAyBK,GAAI,EAAG,IAAMrhC,GAAa+gC,EACnGv+D,EAAGw+D,EAAyBx+D,EAAIyrD,EAAQjB,EAAMgU,EAAyBx+D,EAAG,EAAG,EAAGw9B,GAAa+gC,GAG9Ft+D,KAAK8I,EAAI+1D,iBAAiBC,oBAAoBvU,EAAK8T,EAAcv1D,EAAGy0B,GACjEv9B,KAAK8I,EAAE/I,EAAIs+D,EAAcv1D,EAAE/I,EAE/B,SAASg/D,YAAYv1D,EAAGg1D,EAAIxZ,EAAIyZ,EAAI5gE,EAAG2tC,GACnCxrC,KAAKwJ,EAAIA,EACTxJ,KAAKw+D,GAAKA,EACVx+D,KAAKglD,GAAKA,EACVhlD,KAAKy+D,GAAKA,EACVz+D,KAAKnC,EAAIA,EACTmC,KAAKwrC,EAAIA,EACTxrC,KAAKotC,KAAO,CACX5jC,GAAG,EACHg1D,KAAMA,EACNxZ,KAAMA,EACNyZ,KAAMA,EACN5gE,GAAG,EACH2tC,GAAG,GA6CR,SAASwzB,aAAazU,EAAMn3C,GAC3BpT,KAAK09D,SAAWh2B,oBAChB1nC,KAAKumD,GAAK,GACVvmD,KAAKqrC,EAAI,GACTrrC,KAAK8qD,IAAK,EACV9qD,KAAK4qD,eAAgB,EACrB5qD,KAAKotC,MAAO,EACTptC,KAAKoT,KAAOA,EACfpT,KAAKuqD,KAAOA,EACTvqD,KAAK8pD,KAAO9pD,KAAKuqD,KAAKT,KACzB9pD,KAAKi/D,UAAY,EACdj/D,KAAKk/D,WAAY,EACjBl/D,KAAKm/D,gBAAkB,EACvBn/D,KAAK0qD,gBAAkB,GAC1B1qD,KAAKo/D,YAAc,CAClBC,OAAQ,EACFC,SAAUt/D,KAAKu/D,gBACfjwC,EAAG,GACHwzB,OAAQ,GACRC,QAAS,GACT0b,GAAI,GACJ7qD,EAAG,GACH4rD,cAAe,GACfnqD,EAAG,GACHoqD,GAAI,EACJC,WAAY,GACZC,GAAI,GACJC,GAAI,GACJ92D,EAAG,GACHk8C,GAAI,GACJwZ,GAAI,EACJz+D,EAAG,EACHg2D,GAAI,EACJ3mB,GAAG,EACHywB,GAAG,KACHC,eAAe,EACfC,iBAAiB,EACjBC,iBAAiB,EACjBC,QAAS,EACTC,UAAU,EACVC,UAAU,GACVC,gBAAiB,EACjBnf,YAAY,GAGhBjhD,KAAKqgE,SAASrgE,KAAKo/D,YAAap/D,KAAKoT,KAAKpH,EAAEvP,EAAE,GAAGqM,GAE7C9I,KAAKsgE,kBACLtgE,KAAKugE,iBAAiBvgE,KAAKo/D,aAjqBnC9B,qBAAqBzhE,UAAU2kE,iBAAmB,WAC9C,IAAIvjE,EAAkCohE,EAA/Bp+D,EAAMD,KAAK29D,UAAUzhE,EAAEM,OAC1BgvD,EAAU1F,gBAAgB0F,QAC9B,IAAIvuD,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbohE,EAAgBr+D,KAAK29D,UAAUzhE,EAAEe,GACjC+C,KAAK89D,eAAe7gE,GAAK,IAAImhE,yBAAyBp+D,KAAK69D,MAAOQ,EAAer+D,MAElFA,KAAK29D,UAAUnyB,GAAK,MAAOxrC,KAAK29D,UAAUnyB,GACzCxrC,KAAK+9D,UAAY,CACbzuC,EAAGk8B,EAAQxrD,KAAK69D,MAAM79D,KAAK29D,UAAUnyB,EAAElc,EAAE,EAAE,EAAEtvB,MAC7CqV,EAAGm2C,EAAQxrD,KAAK69D,MAAM79D,KAAK29D,UAAUnyB,EAAEn2B,EAAE,EAAE,EAAErV,MAC7CsrC,EAAGtrC,KAAK29D,UAAUnyB,EAAEF,EACpBztC,EAAGmC,KAAK69D,MAAM4C,YAAYC,gBAAgB1gE,KAAK29D,UAAUnyB,EAAE3tC,IAE/DmC,KAAKy9D,gBAAiB,GAEtBz9D,KAAKy9D,gBAAiB,EAE1Bz9D,KAAKg+D,aAAaC,UAAYzS,EAAQxrD,KAAK69D,MAAM79D,KAAK29D,UAAU9/D,EAAE3B,EAAE,EAAE,EAAE8D,OAG5Es9D,qBAAqBzhE,UAAU8kE,YAAc,SAASvgB,EAAc+d,GAEhE,GADAn+D,KAAKm+D,mBAAqBA,EACtBn+D,KAAKotC,MAASptC,KAAK4qD,eAAkBuT,GAAwBn+D,KAAKy9D,gBAAmBz9D,KAAK+9D,UAAUlgE,EAAEuvC,KAA1G,CAGAptC,KAAK4qD,eAAgB,EACrB,IAOIgW,EAAKC,EACL5jE,EAAGgD,EACuB6gE,EAAUC,EAAeC,EAAc7mB,EAAe9Q,EAAM43B,EAAUC,EAAYC,EAAWxqB,EAAQrZ,EAAUgd,EAAemB,EAAajC,EAAM4nB,EAAUC,EATrLpD,EAAYj+D,KAAKg+D,aAAaC,UAAU5yB,EACxCi2B,EAAYthE,KAAK89D,eACjBP,EAAWv9D,KAAK29D,UAChB4D,EAAevhE,KAAKwhE,QACpBhE,EAAax9D,KAAK49D,YAClB6D,EAAuBzhE,KAAKk+D,gBAAgB1hE,OAI5CklE,GAHO1hE,KAAKoT,KAGFgtC,EAAa/qC,GAC3B,GAAGrV,KAAKy9D,eAAgB,CAEpB,GADA4D,EAAOrhE,KAAK+9D,UAAUlgE,GAClBmC,KAAK+9D,UAAUnwD,GAAK5N,KAAK+9D,UAAU3wB,KAAK,CACxC,IAUIsN,EAVA+F,EAAQ4gB,EAAKh2B,EAYjB,IAXGrrC,KAAK+9D,UAAUzyB,IACdmV,EAAQA,EAAMwN,WAGlB6S,EAAW,CACPa,QAAS,EACTrkC,SAAU,IAEdr9B,EAAMwgD,EAAMjF,QAAU,EAEtBC,EAAc,EACTx+C,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACtBy9C,EAAayD,IAAI3D,gBAAgBiG,EAAMpV,EAAEpuC,GACnCwjD,EAAMpV,EAAEpuC,EAAI,GACZ,CAACwjD,EAAMj3C,EAAEvM,GAAG,GAAKwjD,EAAMpV,EAAEpuC,GAAG,GAAIwjD,EAAMj3C,EAAEvM,GAAG,GAAKwjD,EAAMpV,EAAEpuC,GAAG,IAC3D,CAACwjD,EAAMxjD,EAAEA,EAAI,GAAG,GAAKwjD,EAAMpV,EAAEpuC,EAAI,GAAG,GAAIwjD,EAAMxjD,EAAEA,EAAI,GAAG,GAAKwjD,EAAMpV,EAAEpuC,EAAI,GAAG,KACjF6jE,EAASa,SAAWjnB,EAAWP,cAC/B2mB,EAASxjC,SAASngC,KAAKu9C,GACvBe,GAAef,EAAWP,cAE9Bl9C,EAAIgD,EACAohE,EAAKh2B,EAAEl0B,IACPujC,EAAayD,IAAI3D,gBAAgBiG,EAAMpV,EAAEpuC,GACnCwjD,EAAMpV,EAAE,GACR,CAACoV,EAAMj3C,EAAEvM,GAAG,GAAKwjD,EAAMpV,EAAEpuC,GAAG,GAAIwjD,EAAMj3C,EAAEvM,GAAG,GAAKwjD,EAAMpV,EAAEpuC,GAAG,IAC3D,CAACwjD,EAAMxjD,EAAE,GAAG,GAAKwjD,EAAMpV,EAAE,GAAG,GAAIoV,EAAMxjD,EAAE,GAAG,GAAKwjD,EAAMpV,EAAE,GAAG,KACjEy1B,EAASa,SAAWjnB,EAAWP,cAC/B2mB,EAASxjC,SAASngC,KAAKu9C,GACvBe,GAAef,EAAWP,eAE9Bn6C,KAAK+9D,UAAU6D,GAAKd,EAUxB,GARAA,EAAW9gE,KAAK+9D,UAAU6D,GAE1Bb,EAAgB/gE,KAAK+9D,UAAUzuC,EAAE+b,EACjC61B,EAAa,EACbD,EAAW,EACX9mB,EAAgB,EAChB9Q,GAAO,EACP/L,EAAWwjC,EAASxjC,SAChByjC,EAAgB,GAAKM,EAAKh2B,EAAEl0B,EAO5B,IANI2pD,EAASa,QAAUx+D,KAAKC,IAAI29D,KAC5BA,GAAiB59D,KAAKC,IAAI29D,GAAiBD,EAASa,SAIxDV,GADAtqB,EAASrZ,EADT4jC,EAAa5jC,EAAS9gC,OAAS,GACDm6C,QACZn6C,OAAS,EACpBukE,EAAgB,GACnBA,GAAiBpqB,EAAOsqB,GAAU3mB,eAClC2mB,GAAY,GACG,IAGXA,GADAtqB,EAASrZ,EADT4jC,GAAc,GACgBvqB,QACZn6C,OAAS,GAMvC2kE,GADAxqB,EAASrZ,EAAS4jC,GAAYvqB,QACXsqB,EAAW,GAE9B3mB,GADA0mB,EAAerqB,EAAOsqB,IACO3mB,cAIjCr6C,EAAMyhE,EAAQllE,OACdokE,EAAO,EACPC,EAAO,EACP,IAEIxC,EACAzqD,EAAG8qC,EACHmjB,EAJAC,EAAgC,IAAzB1hB,EAAa8f,UAAkB,KACtC6B,GAAY,EAKhBrjB,EAAO4iB,EAAU9kE,OAGjB,IAAI6tD,EAAgB2X,EAAMC,EAAUC,EAEhCC,EACAnd,EAAGwZ,EAAGC,EAAGhiE,EAET2lE,EAAUC,EAAUC,EAA0DC,EALxEtb,GAAO,EACbub,EAAczB,EAAc0B,EAAiBvB,EAAYwB,EAAezB,EAAU0B,GAAe,EAInEC,GAAU,GAAIC,GAAU7iE,KAAK8iE,kBAG/D,GAAsB,IAAnB1iB,EAAaxsC,GAA8B,IAAnBwsC,EAAaxsC,EAAS,CAC7C,IAAImvD,GAAwB,EACxBC,GAA0B,EAC1BC,GAAuC,IAAnB7iB,EAAaxsC,GAAW,IAAO,EACnD7O,GAAY,EACZm+D,IAAY,EAEhB,IAAKjmE,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACtB,GAAIykE,EAAQzkE,GAAG2Q,EAAG,CAId,IAHGm1D,KACCA,IAAyBC,IAEtBj+D,GAAY9H,GACfykE,EAAQ38D,IAAWg+D,sBAAwBA,GAC3Ch+D,IAAa,EAEjBg+D,GAAwB,EACxBG,IAAY,MACT,CACH,IAAKtvD,EAAI,EAAGA,EAAI8qC,EAAM9qC,GAAK,GACvByqD,EAAgBiD,EAAU1tD,GAAG1X,GACX6D,EAAEumD,WACZ4c,IAAgC,IAAnB9iB,EAAaxsC,IAC1BovD,IAA2B3E,EAAct+D,EAAEsrC,EAAI43B,KAGnD5Y,EADmBiX,EAAU1tD,GAAG9K,EACRq6D,QAAQzB,EAAQzkE,GAAGmmE,UAAUxvD,GAAI2pD,EAASrhE,EAAE0X,GAAG9K,EAAEu6D,aAChE7mE,OACLumE,IAAyB1E,EAAct+D,EAAEsrC,EAAEgf,EAAK,GAAK4Y,GAErDF,IAAyB1E,EAAct+D,EAAEsrC,EAAEgf,EAAO4Y,IAI9DC,IAAY,EAMpB,IAHGH,KACCA,IAAyBC,IAEvBj+D,GAAY9H,GACdykE,EAAQ38D,IAAWg+D,sBAAwBA,GAC3Ch+D,IAAa,EAKrB,IAAK9H,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EAAG,CAIzB,GAFAskE,EAAanzB,QACb+zB,EAAc,EACXT,EAAQzkE,GAAG2Q,EACVgzD,EAAO,EACPC,GAAQzgB,EAAa6f,QACrBY,GAAQkB,EAAY,EAAI,EACxBhB,EAAgByB,EAChBT,GAAY,EACC,EACV/hE,KAAKy9D,iBAEJwD,EAAWyB,EAEXvB,GADAxqB,EAASrZ,EAFT4jC,EAAauB,GAEiB9rB,QACXsqB,EAAW,GAE9B3mB,GADA0mB,EAAerqB,EAAOsqB,IACO3mB,cAC7BH,EAAgB,GAEpBooB,EAAUH,EAAWE,EAAWM,GAAU,GAC1CC,GAAU7iE,KAAK8iE,sBACd,CACD,GAAG9iE,KAAKy9D,eAAgB,CACpB,GAAGkF,IAAgBjB,EAAQzkE,GAAGqmE,KAAK,CAC/B,OAAOljB,EAAaxsC,GAChB,KAAK,EACDmtD,GAAiBtlB,EAAc2E,EAAasf,WAAWgC,EAAQzkE,GAAGqmE,MAClE,MACJ,KAAK,EACDvC,IAAkBtlB,EAAc2E,EAAasf,WAAWgC,EAAQzkE,GAAGqmE,OAAO,EAGlFX,EAAcjB,EAAQzkE,GAAGqmE,KAEzBrc,IAAQya,EAAQzkE,GAAGgqD,MACfya,EAAQza,KACR8Z,GAAiBW,EAAQza,GAAKsc,OAElCxC,GAAiBW,EAAQzkE,GAAGumE,GAAK,EACjCvc,EAAMya,EAAQzkE,GAAGgqD,KAErB8Z,GAAiB9C,EAAU,GAAKyD,EAAQzkE,GAAGumE,GAAK,IAChD,IAAIC,GAAiB,EACrB,IAAK7vD,EAAI,EAAGA,EAAI8qC,EAAM9qC,GAAK,GACvByqD,EAAgBiD,EAAU1tD,GAAG1X,GACXsvC,EAAE8a,YAEhB+D,EADmBiX,EAAU1tD,GAAG9K,EACRq6D,QAAQzB,EAAQzkE,GAAGmmE,UAAUxvD,GAAG2pD,EAASrhE,EAAE0X,GAAG9K,EAAEu6D,aAChE7mE,OACJinE,IAAkBpF,EAAc7yB,EAAEH,EAAE,GAAKgf,EAAK,GAE9CoZ,IAAkBpF,EAAc7yB,EAAEH,EAAE,GAAKgf,GAI7CgU,EAAcniE,EAAEoqD,YAEhB+D,EADmBiX,EAAU1tD,GAAG9K,EACRq6D,QAAQzB,EAAQzkE,GAAGmmE,UAAUxvD,GAAG2pD,EAASrhE,EAAE0X,GAAG9K,EAAEu6D,aAChE7mE,OACJinE,IAAkBpF,EAAcniE,EAAEmvC,EAAE,GAAKgf,EAAK,GAE9CoZ,IAAkBpF,EAAcniE,EAAEmvC,EAAE,GAAKgf,GAMrD,IADAhhB,GAAO,EACAA,GACC8Q,EAAgBG,GAAiBymB,EAAgB0C,KAAmB9sB,GACpE6C,GAAQunB,EAAgB0C,GAAiBtpB,GAAiB6mB,EAAa1mB,cACvE2nB,EAAWd,EAAU1+B,MAAM,IAAMu+B,EAAav+B,MAAM,GAAK0+B,EAAU1+B,MAAM,IAAM+W,EAC/E0oB,EAAWf,EAAU1+B,MAAM,IAAMu+B,EAAav+B,MAAM,GAAK0+B,EAAU1+B,MAAM,IAAM+W,EAC/E+nB,EAAalpC,WAAW4lC,EAAU,GAAGyD,EAAQzkE,GAAGumE,GAAG,KAAOvF,EAAU,GAAK6D,EAAO,KAChFz4B,GAAO,GACAsN,IACPwD,GAAiB6mB,EAAa1mB,eAC9B2mB,GAAY,IACItqB,EAAOn6C,SACnBykE,EAAW,EAEN3jC,EADL4jC,GAAc,GAWVvqB,EAASrZ,EAAS4jC,GAAYvqB,OAT1B0qB,EAAKh2B,EAAEl0B,GACP8pD,EAAW,EAEXtqB,EAASrZ,EADT4jC,EAAa,GACiBvqB,SAE9BwD,GAAiB6mB,EAAa1mB,cAC9B3D,EAAS,OAMjBA,IACAwqB,EAAYH,EAEZ1mB,GADA0mB,EAAerqB,EAAOsqB,IACO3mB,gBAIzC0nB,EAAON,EAAQzkE,GAAGumE,GAAK,EAAI9B,EAAQzkE,GAAGyd,IACtC6mD,EAAalpC,WAAW2pC,EAAM,EAAG,QAEjCA,EAAON,EAAQzkE,GAAGumE,GAAG,EAAI9B,EAAQzkE,GAAGyd,IACpC6mD,EAAalpC,WAAW2pC,EAAK,EAAE,GAG/BT,EAAalpC,WAAW4lC,EAAU,GAAGyD,EAAQzkE,GAAGumE,GAAG,KAAMvF,EAAU,GAAG6D,EAAK,IAAK,GAIpF,IADcJ,EAAQzkE,GAAGoY,EAAE,EACvBzB,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,GACdyqD,EAAgBiD,EAAU1tD,GAAG1X,GACX6D,EAAEumD,WAEhB+D,EADmBiX,EAAU1tD,GAAG9K,EACRq6D,QAAQzB,EAAQzkE,GAAGmmE,UAAUxvD,GAAG2pD,EAASrhE,EAAE0X,GAAG9K,EAAEu6D,YAE5D,IAATzC,GAAiC,IAAnBxgB,EAAaxsC,IACvB5T,KAAKy9D,eACDpT,EAAK7tD,OACJukE,GAAiB1C,EAAct+D,EAAEsrC,EAAEgf,EAAK,GAExC0W,GAAiB1C,EAAct+D,EAAEsrC,EAAEgf,EAGpCA,EAAK7tD,OACJokE,GAAQvC,EAAct+D,EAAEsrC,EAAEgf,EAAK,GAE/BuW,GAAQvC,EAAct+D,EAAEsrC,EAAEgf,IAoB9C,IAdcqX,EAAQzkE,GAAGoY,EAAE,EACxB+qC,EAAa4f,kBACZxB,EAAKpe,EAAaoe,IAAM,GAEzBpe,EAAa2f,kBAER/a,EADD5E,EAAa4E,GACP,CAAC5E,EAAa4E,GAAG,GAAI5E,EAAa4E,GAAG,GAAI5E,EAAa4E,GAAG,IAEzD,CAAC,EAAE,EAAE,IAGf5E,EAAa0f,eAAiB1f,EAAaqe,KAC1CA,EAAK,CAACre,EAAaqe,GAAG,GAAIre,EAAaqe,GAAG,GAAIre,EAAaqe,GAAG,KAE9D7qD,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,GACdyqD,EAAgBiD,EAAU1tD,GAAG1X,GACXA,EAAEoqD,YAEhB+D,EADmBiX,EAAU1tD,GAAG9K,EACRq6D,QAAQzB,EAAQzkE,GAAGmmE,UAAUxvD,GAAG2pD,EAASrhE,EAAE0X,GAAG9K,EAAEu6D,aAEhE7mE,OACJ+kE,EAAalpC,WAAWgmC,EAAcniE,EAAEmvC,EAAE,GAAGgf,EAAK,IAAKgU,EAAcniE,EAAEmvC,EAAE,GAAGgf,EAAK,GAAIgU,EAAcniE,EAAEmvC,EAAE,GAAGgf,EAAK,IAE/GkX,EAAalpC,WAAWgmC,EAAcniE,EAAEmvC,EAAE,GAAGgf,GAAOgU,EAAcniE,EAAEmvC,EAAE,GAAGgf,EAAMgU,EAAcniE,EAAEmvC,EAAE,GAAGgf,IAIhH,IAAIz2C,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,GACdyqD,EAAgBiD,EAAU1tD,GAAG1X,GACX4M,EAAEw9C,YAEhB+D,EADmBiX,EAAU1tD,GAAG9K,EACRq6D,QAAQzB,EAAQzkE,GAAGmmE,UAAUxvD,GAAG2pD,EAASrhE,EAAE0X,GAAG9K,EAAEu6D,aAChE7mE,OACJ+kE,EAAapyB,MAAM,GAAIkvB,EAAcv1D,EAAEuiC,EAAE,GAAG,GAAGgf,EAAK,GAAI,GAAIgU,EAAcv1D,EAAEuiC,EAAE,GAAG,GAAGgf,EAAK,GAAI,GAE7FkX,EAAapyB,MAAM,GAAIkvB,EAAcv1D,EAAEuiC,EAAE,GAAG,GAAGgf,EAAM,GAAIgU,EAAcv1D,EAAEuiC,EAAE,GAAG,GAAGgf,EAAM,IAInG,IAAIz2C,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EAAG,CA+CjB,GA9CAyqD,EAAgBiD,EAAU1tD,GAAG1X,EAE7BmuD,EADmBiX,EAAU1tD,GAAG9K,EACRq6D,QAAQzB,EAAQzkE,GAAGmmE,UAAUxvD,GAAG2pD,EAASrhE,EAAE0X,GAAG9K,EAAEu6D,YACpEhF,EAAcjS,GAAG9F,WACd+D,EAAK7tD,OACJ+kE,EAAaryB,cAAcmvB,EAAcjS,GAAG/gB,EAAIgf,EAAK,GAAIgU,EAAchS,GAAGhhB,EAAIgf,EAAK,IAEnFkX,EAAaryB,cAAcmvB,EAAcjS,GAAG/gB,EAAIgf,EAAMgU,EAAchS,GAAGhhB,EAAIgf,IAG/EgU,EAAc/yB,EAAEgb,WACb+D,EAAK7tD,OACJ+kE,EAAa5yB,SAAS0vB,EAAc/yB,EAAED,EAAIgf,EAAK,IAE/CkX,EAAa5yB,SAAS0vB,EAAc/yB,EAAED,EAAIgf,IAG9CgU,EAAcpS,GAAG3F,WAEd+D,EAAK7tD,OACJ+kE,EAAa7yB,QAAQ2vB,EAAcpS,GAAG5gB,EAAEgf,EAAK,IAE7CkX,EAAa7yB,QAAQ2vB,EAAcpS,GAAG5gB,EAAEgf,IAG5CgU,EAAcrS,GAAG1F,WACd+D,EAAK7tD,OACJ+kE,EAAa9yB,QAAQ4vB,EAAcrS,GAAG3gB,EAAEgf,EAAK,IAE7CkX,EAAa9yB,QAAQ4vB,EAAcrS,GAAG3gB,EAAEgf,IAG5CgU,EAAc70D,EAAE88C,WACb+D,EAAK7tD,OACJ2lE,IAAiB9D,EAAc70D,EAAG,EAAE6gD,EAAK,GAAK8X,GAAa9X,EAAK,GAEhE8X,IAAiB9D,EAAc70D,EAAG,EAAE6gD,EAAO8X,GAAa9X,GAG5DjK,EAAa4f,iBAAmB3B,EAAcG,GAAGlY,WAC9C+D,EAAK7tD,OACJgiE,GAAMH,EAAcG,GAAGnzB,EAAEgf,EAAK,GAE9BmU,GAAMH,EAAcG,GAAGnzB,EAAEgf,GAG7BjK,EAAa2f,iBAAmB1B,EAAcrZ,GAAGsB,SACjD,IAAI7pD,EAAE,EAAEA,EAAE,EAAEA,GAAG,EACR4tD,EAAK7tD,OACJwoD,EAAGvoD,GAAKuoD,EAAGvoD,IAAM4hE,EAAcrZ,GAAG3Z,EAAE5uC,GAAKuoD,EAAGvoD,IAAI4tD,EAAK,GAErDrF,EAAGvoD,GAAKuoD,EAAGvoD,IAAM4hE,EAAcrZ,GAAG3Z,EAAE5uC,GAAKuoD,EAAGvoD,IAAI4tD,EAI5D,GAAIjK,EAAa0f,eAAiB1f,EAAaqe,GAAI,CAC/C,GAAGJ,EAAcI,GAAGnY,SAChB,IAAI7pD,EAAE,EAAEA,EAAE,EAAEA,GAAG,EACR4tD,EAAK7tD,OACJiiE,EAAGhiE,GAAKgiE,EAAGhiE,IAAM4hE,EAAcI,GAAGpzB,EAAE5uC,GAAKgiE,EAAGhiE,IAAI4tD,EAAK,GAErDoU,EAAGhiE,GAAKgiE,EAAGhiE,IAAM4hE,EAAcI,GAAGpzB,EAAE5uC,GAAKgiE,EAAGhiE,IAAI4tD,EAIzDgU,EAAcK,GAAGpY,WAEZmY,EADDpU,EAAK7tD,OACCuvC,YAAY0yB,EAAGJ,EAAcK,GAAGrzB,EAAEgf,EAAK,IAEvCte,YAAY0yB,EAAGJ,EAAcK,GAAGrzB,EAAEgf,IAG5CgU,EAAcM,GAAGrY,WAEZmY,EADDpU,EAAK7tD,OACCmvC,mBAAmB8yB,EAAGJ,EAAcM,GAAGtzB,EAAEgf,EAAK,IAE9C1e,mBAAmB8yB,EAAGJ,EAAcM,GAAGtzB,EAAEgf,IAGnDgU,EAAcO,GAAGtY,WAEZmY,EADDpU,EAAK7tD,OACCsvC,mBAAmB2yB,EAAGJ,EAAcO,GAAGvzB,EAAEgf,EAAK,IAE9Cve,mBAAmB2yB,EAAGJ,EAAcO,GAAGvzB,EAAEgf,KAM9D,IAAIz2C,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,GACdyqD,EAAgBiD,EAAU1tD,GAAG1X,GAEXsvC,EAAE8a,WAEhB+D,EADmBiX,EAAU1tD,GAAG9K,EACRq6D,QAAQzB,EAAQzkE,GAAGmmE,UAAUxvD,GAAG2pD,EAASrhE,EAAE0X,GAAG9K,EAAEu6D,YACrErjE,KAAKy9D,eACDpT,EAAK7tD,OACJ+kE,EAAalpC,UAAU,EAAGgmC,EAAc7yB,EAAEH,EAAE,GAAKgf,EAAK,IAAKgU,EAAc7yB,EAAEH,EAAE,GAAKgf,EAAK,IAEvFkX,EAAalpC,UAAU,EAAGgmC,EAAc7yB,EAAEH,EAAE,GAAKgf,GAAOgU,EAAc7yB,EAAEH,EAAE,GAAKgf,GAGhFA,EAAK7tD,OACJ+kE,EAAalpC,UAAUgmC,EAAc7yB,EAAEH,EAAE,GAAKgf,EAAK,GAAIgU,EAAc7yB,EAAEH,EAAE,GAAKgf,EAAK,IAAKgU,EAAc7yB,EAAEH,EAAE,GAAKgf,EAAK,IAEpHkX,EAAalpC,UAAUgmC,EAAc7yB,EAAEH,EAAE,GAAKgf,EAAMgU,EAAc7yB,EAAEH,EAAE,GAAKgf,GAAOgU,EAAc7yB,EAAEH,EAAE,GAAKgf,IAgBzH,GAVGjK,EAAa4f,kBACZoC,EAAW5D,EAAK,EAAI,EAAIA,GAEzBpe,EAAa2f,kBACZsC,EAAW,OAAOl/D,KAAKiZ,MAAY,IAAN4oC,EAAG,IAAQ,IAAI7hD,KAAKiZ,MAAY,IAAN4oC,EAAG,IAAQ,IAAI7hD,KAAKiZ,MAAY,IAAN4oC,EAAG,IAAQ,KAE7F5E,EAAa0f,eAAiB1f,EAAaqe,KAC1C6D,EAAW,OAAOn/D,KAAKiZ,MAAY,IAANqiD,EAAG,IAAQ,IAAIt7D,KAAKiZ,MAAY,IAANqiD,EAAG,IAAQ,IAAIt7D,KAAKiZ,MAAY,IAANqiD,EAAG,IAAQ,KAG7Fz+D,KAAKy9D,eAAgB,CAIpB,GAHA8D,EAAalpC,UAAU,GAAG+nB,EAAauf,IAEvC4B,EAAalpC,UAAU,EAAG4lC,EAAU,GAAG6D,EAAK,IAAMjB,EAAK,GACnDtD,EAAS/xB,EAAEA,EAAG,CACd41B,GAAYJ,EAAav+B,MAAM,GAAK0+B,EAAU1+B,MAAM,KAAOu+B,EAAav+B,MAAM,GAAK0+B,EAAU1+B,MAAM,IACnG,IAAIihC,GAA4B,IAAtBvgE,KAAKwgE,KAAKvC,GAAkBj+D,KAAK+lC,GACvC83B,EAAav+B,MAAM,GAAK0+B,EAAU1+B,MAAM,KACxCihC,IAAO,KAEXnC,EAAalzB,QAAQq1B,GAAMvgE,KAAK+lC,GAAK,KAEzCq4B,EAAalpC,UAAU4pC,EAAUC,EAAU,GAC3CnB,GAAiB9C,EAAU,GAAGyD,EAAQzkE,GAAGumE,GAAG,IACzC9B,EAAQzkE,EAAE,IAAMgqD,IAAQya,EAAQzkE,EAAE,GAAGgqD,MACpC8Z,GAAiBW,EAAQzkE,GAAGumE,GAAK,EACjCzC,GAAiB3gB,EAAa2V,GAAG,IAAK3V,EAAa8f,eAEtD,CAQD,OANAqB,EAAalpC,UAAUuoC,EAAKC,EAAK,GAE9BzgB,EAAayf,IAEZ0B,EAAalpC,UAAU+nB,EAAayf,GAAG,GAAGzf,EAAayf,GAAG,GAAKzf,EAAaif,OAAO,GAEhFjf,EAAaxsC,GAChB,KAAK,EACD2tD,EAAalpC,UAAUqpC,EAAQzkE,GAAG8lE,sBAAwB3iB,EAAaof,eAAiBpf,EAAakf,SAAWlf,EAAasf,WAAWgC,EAAQzkE,GAAGqmE,OAAO,EAAE,GAC5J,MACJ,KAAK,EACD/B,EAAalpC,UAAUqpC,EAAQzkE,GAAG8lE,sBAAwB3iB,EAAaof,eAAiBpf,EAAakf,SAAWlf,EAAasf,WAAWgC,EAAQzkE,GAAGqmE,OAAO,EAAE,EAAE,GAGtK/B,EAAalpC,UAAU,GAAG+nB,EAAauf,IACvC4B,EAAalpC,UAAU2pC,EAAK,EAAE,GAC9BT,EAAalpC,UAAU4lC,EAAU,GAAGyD,EAAQzkE,GAAGumE,GAAG,IAAIvF,EAAU,GAAG6D,EAAK,IAAI,GAC5ElB,GAAQc,EAAQzkE,GAAGoY,EAAI+qC,EAAa2V,GAAG,IAAK3V,EAAa8f,UAE3C,SAAf1C,EACCoF,GAAUrB,EAAajuB,QACH,QAAfkqB,EACLoF,GAAUrB,EAAa9tB,UAEvBovB,GAAU,CAACtB,EAAaxkC,MAAM,GAAGwkC,EAAaxkC,MAAM,GAAGwkC,EAAaxkC,MAAM,GAAGwkC,EAAaxkC,MAAM,GAAGwkC,EAAaxkC,MAAM,GAAGwkC,EAAaxkC,MAAM,GAAGwkC,EAAaxkC,MAAM,GAAGwkC,EAAaxkC,MAAM,GAAGwkC,EAAaxkC,MAAM,GAAGwkC,EAAaxkC,MAAM,GAAGwkC,EAAaxkC,MAAM,IAAIwkC,EAAaxkC,MAAM,IAAIwkC,EAAaxkC,MAAM,IAAIwkC,EAAaxkC,MAAM,IAAIwkC,EAAaxkC,MAAM,IAAIwkC,EAAaxkC,MAAM,KAEjXwlC,EAAUJ,EAGXV,GAAwBxkE,GACvB4kE,EAAc,IAAI9C,YAAYwD,EAAQH,EAASC,EAASC,EAASM,GAAQC,IACzE7iE,KAAKk+D,gBAAgB/gE,KAAK0kE,GAC1BJ,GAAwB,EACxBzhE,KAAKm+D,oBAAqB,IAE1B0D,EAAc7hE,KAAKk+D,gBAAgBjhE,GACnC+C,KAAKm+D,mBAAqB0D,EAAY+B,OAAOrB,EAASH,EAAUC,EAAUC,EAAUM,GAASC,KAAY7iE,KAAKm+D,uBAK1Hb,qBAAqBzhE,UAAUwxC,SAAW,WACtCrtC,KAAK69D,MAAMrT,WAAWC,UAAYzqD,KAAK09D,WAGvC19D,KAAK09D,SAAW19D,KAAK69D,MAAMrT,WAAWC,QACtCzqD,KAAKmtC,6BAGTmwB,qBAAqBzhE,UAAU2lE,QAAU,IAAI5zB,OAC7C0vB,qBAAqBzhE,UAAUinE,kBAAoB,GACnD1qB,gBAAgB,CAACrL,0BAA2BuwB,sBA4C5CyB,YAAYljE,UAAU+nE,OAAS,SAASp6D,EAAGg1D,EAAIxZ,EAAIyZ,EAAI5gE,EAAG2tC,GACzDxrC,KAAKotC,KAAK5jC,GAAI,EACdxJ,KAAKotC,KAAKoxB,IAAK,EACfx+D,KAAKotC,KAAK4X,IAAK,EACfhlD,KAAKotC,KAAKqxB,IAAK,EACfz+D,KAAKotC,KAAKvvC,GAAI,EACdmC,KAAKotC,KAAK5B,GAAI,EACd,IAAIq4B,GAAU,EAgCd,OA9BG7jE,KAAKwJ,IAAMA,IACbxJ,KAAKwJ,EAAIA,EACTxJ,KAAKotC,KAAK5jC,GAAI,EACdq6D,GAAU,GAER7jE,KAAKw+D,KAAOA,IACdx+D,KAAKw+D,GAAKA,EACVx+D,KAAKotC,KAAKoxB,IAAK,EACfqF,GAAU,GAER7jE,KAAKglD,KAAOA,IACdhlD,KAAKglD,GAAKA,EACVhlD,KAAKotC,KAAK4X,IAAK,EACf6e,GAAU,GAER7jE,KAAKy+D,KAAOA,IACdz+D,KAAKy+D,GAAKA,EACVz+D,KAAKotC,KAAKqxB,IAAK,EACfoF,GAAU,GAER7jE,KAAKnC,IAAMA,IACbmC,KAAKnC,EAAIA,EACTmC,KAAKotC,KAAKvvC,GAAI,EACdgmE,GAAU,IAERr4B,EAAEhvC,QAAWwD,KAAKwrC,EAAE,KAAOA,EAAE,IAAMxrC,KAAKwrC,EAAE,KAAOA,EAAE,IAAMxrC,KAAKwrC,EAAE,KAAOA,EAAE,IAAMxrC,KAAKwrC,EAAE,KAAOA,EAAE,IAAMxrC,KAAKwrC,EAAE,MAAQA,EAAE,KAAOxrC,KAAKwrC,EAAE,MAAQA,EAAE,MAChJxrC,KAAKwrC,EAAIA,EACTxrC,KAAKotC,KAAK5B,GAAI,EACdq4B,GAAU,GAEJA,GAsDR7E,aAAanjE,UAAU0jE,gBAAkB,CAAC,EAAE,GAE5CP,aAAanjE,UAAUwkE,SAAW,SAAS/jE,EAAK8W,GAC5C,IAAI,IAAItK,KAAKsK,EACNA,EAAKhX,eAAe0M,KACnBxM,EAAIwM,GAAKsK,EAAKtK,IAGtB,OAAOxM,GAGX0iE,aAAanjE,UAAUioE,eAAiB,SAAS1wD,GACzCA,EAAK6tC,YACLjhD,KAAKugE,iBAAiBntD,GAE1BpT,KAAKo/D,YAAchsD,EACnBpT,KAAKo/D,YAAYE,SAAWt/D,KAAKo/D,YAAYE,UAAYt/D,KAAKu/D,gBAC9Dv/D,KAAKotC,MAAO,GAGhB4xB,aAAanjE,UAAUykE,eAAiB,WACpC,OAAOtgE,KAAK+jE,mBAGhB/E,aAAanjE,UAAUkoE,gBAAkB,WAKrC,OAJA/jE,KAAK8qD,GAAK9qD,KAAKoT,KAAKpH,EAAEvP,EAAED,OAAS,EAC9BwD,KAAK8qD,IACJ9qD,KAAK+qD,UAAU/qD,KAAKgkE,iBAAiB13B,KAAKtsC,OAEvCA,KAAK8qD,IAGhBkU,aAAanjE,UAAUkvD,UAAY,SAASC,GAC3ChrD,KAAK0qD,gBAAgBvtD,KAAK6tD,GACvBhrD,KAAKuqD,KAAKvd,mBAAmBhtC,OAGjCg/D,aAAanjE,UAAUwxC,SAAW,SAAS42B,GACvC,GAAIjkE,KAAKuqD,KAAKC,WAAWC,UAAYzqD,KAAKyqD,SAAYzqD,KAAK0qD,gBAAgBluD,QAAYynE,EAAvF,CAGAjkE,KAAKo/D,YAAYr/D,EAAIC,KAAKoT,KAAKpH,EAAEvP,EAAEuD,KAAKi/D,WAAWn2D,EAAE/I,EACrD,IAAImkE,EAAelkE,KAAKo/D,YACpB+E,EAAenkE,KAAKi/D,UACxB,GAAGj/D,KAAK2qD,KACJ3qD,KAAK8jE,eAAe9jE,KAAKo/D,iBAD7B,CAIAp/D,KAAK2qD,MAAO,EACZ3qD,KAAKotC,MAAO,EAEZ,IAAInwC,EAAGgD,EAAMD,KAAK0qD,gBAAgBluD,OAC9BquD,EAAaoZ,GAAejkE,KAAKoT,KAAKpH,EAAEvP,EAAEuD,KAAKi/D,WAAWn2D,EAC9D,IAAI7L,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EAGjB4tD,EADDsZ,IAAiBnkE,KAAKi/D,UACRj/D,KAAK0qD,gBAAgBztD,GAAG4tD,EAAYA,EAAW9qD,GAE/CC,KAAK0qD,gBAAgBztD,GAAG+C,KAAKo/D,YAAavU,EAAW9qD,GAGvEmkE,IAAiBrZ,GAChB7qD,KAAK8jE,eAAejZ,GAExB7qD,KAAKumD,GAAKvmD,KAAKqrC,EAAIrrC,KAAKo/D,YACxBp/D,KAAK2qD,MAAO,EACZ3qD,KAAKyqD,QAAUzqD,KAAKuqD,KAAKC,WAAWC,WAGxCuU,aAAanjE,UAAUmoE,iBAAmB,WAItC,IAHA,IAAII,EAAWpkE,KAAKoT,KAAKpH,EAAEvP,EACvBypD,EAAWlmD,KAAKuqD,KAAKT,KAAKC,cAC1B9sD,EAAI,EAAGgD,EAAMmkE,EAAS5nE,OACpBS,GAAKgD,EAAM,IACMmkE,EAASnnE,GAAG6L,IAC5B7L,IAAMgD,EAAM,GAAKmkE,EAASnnE,EAAE,GAAG8C,EAAImmD,KAGtCjpD,GAAK,EAKT,OAHG+C,KAAKi/D,YAAchiE,IAClB+C,KAAKi/D,UAAYhiE,GAEd+C,KAAKoT,KAAKpH,EAAEvP,EAAEuD,KAAKi/D,WAAWn2D,GAGzCk2D,aAAanjE,UAAUwoE,eAAiB,SAAS7sC,GAK7C,IAJA,IAGI8sC,EAHAhjB,EAAqBH,YAAYyC,4BACjC2gB,EAAkB,GAClBtnE,EAAI,EAAGgD,EAAMu3B,EAAKh7B,OAEfS,EAAIgD,GACPqkE,EAAW9sC,EAAKoL,WAAW3lC,IACmB,IAA1CqkD,EAAmBv4C,QAAQu7D,GAC3BC,EAAgBA,EAAgB/nE,OAAS,IAAMg7B,EAAKjO,OAAOtsB,GAEvDqnE,GAAY,OAAUA,GAAY,QAClCA,EAAW9sC,EAAKoL,WAAW3lC,EAAI,KACf,OAAUqnE,GAAY,OAClCC,EAAgBpnE,KAAKq6B,EAAKh0B,OAAOvG,EAAG,MAClCA,GAKNsnE,EAAgBpnE,KAAKq6B,EAAKjO,OAAOtsB,IAGzCA,GAAK,EAET,OAAOsnE,GAGXvF,aAAanjE,UAAU0kE,iBAAmB,SAASngB,GAC/CA,EAAaa,YAAa,EAC1B,IAGIhkD,EAAGgD,EACHukE,EAAwBhkE,EAKxBoT,EAAG8qC,EAEH+lB,EAXAjmB,EAAcx+C,KAAKuqD,KAAKC,WAAWhM,YACnCprC,EAAOpT,KAAKoT,KACZsuD,EAAU,GAEGj6C,EAAQ,EACrBi9C,EAAiBtxD,EAAKvV,EAAE0tC,EACxBo5B,EAAc,EAAGC,EAAa,EAAGjC,EAAc,EAAGjD,EAAa,GAC/DmF,EAAY,EACZC,EAAe,EAEfpiB,EAAWlE,EAAY6G,cAAcjF,EAAa9wB,GACxCmjC,EAAU,EACpBsS,EAASriB,EAASI,OAASJ,EAASI,OAAO/4C,MAAM,KAAO,GAExDg5C,EAAU,SAAUD,EAAS,SAGjC,IAFA7iD,EAAM8kE,EAAOvoE,OAETS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EAEb,OADY8nE,EAAO9nE,GAAGqI,eAElB,IAAK,SACLw9C,EAAS,SACT,MACA,IAAK,OACLC,EAAU,MACV,MACA,IAAK,QACLA,EAAU,MACV,MACA,IAAK,SACLA,EAAU,MACV,MACA,IAAK,UACL,IAAK,SACLA,EAAU,MACV,MACA,IAAK,QACL,IAAK,OACLA,EAAU,MAIlB3C,EAAa2C,QAAUL,EAASK,SAAWA,EAC3C3C,EAAa0C,OAASA,EACtB1C,EAAa8f,UAAY9f,EAAat3C,EACtCs3C,EAAa+f,UAAYngE,KAAKqkE,eAAejkB,EAAargD,GAC1DE,EAAMmgD,EAAa+f,UAAU3jE,OAC7B4jD,EAAaggB,gBAAkBhgB,EAAaqf,GAC5C,IACI6E,EADAU,EAAiB5kB,EAAa2V,GAAG,IAAK3V,EAAa8f,UAEvD,GAAG9f,EAAahR,GAKZ,IAJA,IAGI61B,EAAe9E,EAHf92B,GAAO,EACPi2B,EAAWlf,EAAahR,GAAG,GAC3B81B,EAAY9kB,EAAahR,GAAG,GAE1B/F,GAAM,CAER47B,EAAgB,EAChBJ,EAAY,EACZ5kE,GAHAkgE,EAAYngE,KAAKqkE,eAAejkB,EAAargD,IAG7BvD,OAChBwoE,EAAiB5kB,EAAa2V,GAAG,IAAK3V,EAAa8f,UACnD,IAAIiF,GAAkB,EACtB,IAAIloE,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbqnE,EAAWnE,EAAUljE,GAAG2lC,WAAW,GACnC4hC,GAAc,EACM,MAAjBrE,EAAUljE,GACTkoE,EAAiBloE,EACC,KAAbqnE,GAAgC,IAAbA,IACxBO,EAAY,EACZL,GAAc,EACdS,GAAiB7kB,EAAaggB,iBAA0C,IAAvBhgB,EAAa8f,WAE/D1hB,EAAY+B,OACXkkB,EAAWjmB,EAAY2G,YAAYgb,EAAUljE,GAAIylD,EAASI,OAAQJ,EAASG,SAC3E4P,EAAU+R,EAAc,EAAIC,EAASvyD,EAAEkuC,EAAa8f,UAAU,KAG9DzN,EAAUjU,EAAY+G,YAAY4a,EAAUljE,GAAImjD,EAAa9wB,EAAG8wB,EAAa8f,WAE9E2E,EAAYpS,EAAU6M,GAA6B,MAAjBa,EAAUljE,KACpB,IAApBkoE,EACCllE,GAAO,EAEPhD,EAAIkoE,EAERF,GAAiB7kB,EAAaggB,iBAA0C,IAAvBhgB,EAAa8f,UAC9DC,EAAU5zB,OAAOtvC,EAAGkoE,IAAmBloE,EAAI,EAAI,EAAE,MAEjDkoE,GAAkB,EAClBN,EAAY,IAEZA,GAAapS,EACboS,GAAaG,GAGrBC,GAAiBviB,EAAS2c,OAAOjf,EAAa8f,UAAU,IACrDlgE,KAAKk/D,WAAa9e,EAAa8f,UAAYlgE,KAAKm/D,iBAAmB+F,EAAYD,GAC9E7kB,EAAa8f,WAAa,EAC1B9f,EAAaggB,gBAAkBhgB,EAAa8f,UAAY9f,EAAaqf,GAAKrf,EAAat3C,IAEvFs3C,EAAa+f,UAAYA,EACzBlgE,EAAMmgD,EAAa+f,UAAU3jE,OAC7B6sC,GAAO,GAKnBw7B,GAAcG,EACdvS,EAAU,EACV,IACI2S,EADAC,EAAoB,EAExB,IAAKpoE,EAAI,EAAEA,EAAIgD,EAAKhD,GAAK,EAgCrB,GA/BAunE,GAAc,EAGG,MADjBF,GADAc,EAAchlB,EAAa+f,UAAUljE,IACd2lC,WAAW,KACE,IAAb0hC,GACnBe,EAAoB,EACpB3F,EAAWviE,KAAK0nE,GAChBC,EAAeD,EAAYC,EAAeD,EAAYC,EACtDD,GAAc,EAAIG,EAClBxkE,EAAM,GACNgkE,GAAc,EACd7B,GAAe,GAEfniE,EAAM4kE,EAEP5mB,EAAY+B,OACXkkB,EAAWjmB,EAAY2G,YAAYigB,EAAa1iB,EAASI,OAAQtE,EAAY6G,cAAcjF,EAAa9wB,GAAGuzB,SAC3G4P,EAAU+R,EAAc,EAAIC,EAASvyD,EAAEkuC,EAAa8f,UAAU,KAI9DzN,EAAUjU,EAAY+G,YAAY/kD,EAAK4/C,EAAa9wB,EAAG8wB,EAAa8f,WAIrD,MAAhBkF,EACCC,GAAqB5S,EAAUuS,GAE/BH,GAAapS,EAAUuS,EAAiBK,EACxCA,EAAoB,GAExB3D,EAAQvkE,KAAK,CAACkY,EAAEo9C,EAAQ+Q,GAAG/Q,EAAQ/3C,IAAIiqD,EAAY/2D,EAAE42D,EAAapB,UAAU,GAAI5iE,IAAKA,EAAK8iE,KAAMX,EAAaI,sBAAuB,IAC/G,GAAlB2B,GAEC,GADAC,GAAelS,EACJ,KAARjyD,GAAsB,MAARA,GAAevD,IAAMgD,EAAM,EAAE,CAI1C,IAHW,KAARO,GAAsB,MAARA,IACbmkE,GAAelS,GAEbmS,GAAY3nE,GACdykE,EAAQkD,GAAYpB,GAAKmB,EACzBjD,EAAQkD,GAAY3d,IAAMx/B,EAC1Bi6C,EAAQkD,GAAYrB,MAAQ9Q,EAC5BmS,GAAc,EAElBn9C,GAAS,EACTk9C,EAAc,QAEhB,GAAqB,GAAlBD,GAEL,GADAC,GAAelS,EACJ,KAARjyD,GAAcvD,IAAMgD,EAAM,EAAE,CAI3B,IAHW,KAARO,IACCmkE,GAAelS,GAEbmS,GAAY3nE,GACdykE,EAAQkD,GAAYpB,GAAKmB,EACzBjD,EAAQkD,GAAY3d,IAAMx/B,EAC1Bi6C,EAAQkD,GAAYrB,MAAQ9Q,EAC5BmS,GAAc,EAElBD,EAAc,EACdl9C,GAAS,QAGbi6C,EAAQj6C,GAAOw/B,IAAMx/B,EACrBi6C,EAAQj6C,GAAO87C,MAAQ,EACvB97C,GAAS,EAMjB,GAHA24B,EAAa/qC,EAAIqsD,EACjBoD,EAAeD,EAAYC,EAAeD,EAAYC,EACtDpF,EAAWviE,KAAK0nE,GACbzkB,EAAahR,GACZgR,EAAakf,SAAWlf,EAAahR,GAAG,GACxCgR,EAAaof,cAAgB,OAG7B,OADApf,EAAakf,SAAWwF,EACjB1kB,EAAaxsC,GAChB,KAAK,EACDwsC,EAAaof,eAAkBpf,EAAakf,SAC5C,MACJ,KAAK,EACDlf,EAAaof,eAAkBpf,EAAakf,SAAS,EACrD,MACJ,QACIlf,EAAaof,cAAgB,EAGzCpf,EAAasf,WAAaA,EAE1B,IAAwB4F,EAAcC,EAAlCjE,EAAYluD,EAAKlX,EACrBwiD,EAAO4iB,EAAU9kE,OACjB,IAAIgpE,EAAOve,EAAKwe,EAAU,GAC1B,IAAI7xD,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EAAE,CAahB,KAZA0xD,EAAehE,EAAU1tD,IACT1X,EAAE8oD,KACd5E,EAAa2f,iBAAkB,GAEhCuF,EAAappE,EAAEsiE,KACdpe,EAAa4f,iBAAkB,IAEhCsF,EAAappE,EAAEuiE,IAAM6G,EAAappE,EAAEwiE,IAAM4G,EAAappE,EAAEyiE,IAAM2G,EAAappE,EAAE0iE,MAC7Exe,EAAa0f,eAAgB,GAEjC7Y,EAAM,EACNue,EAAQF,EAAax8D,EAAE3M,EACnBc,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,GACbsoE,EAAa7D,EAAQzkE,IACVmmE,UAAUxvD,GAAKqzC,GACb,GAATue,GAAiC,KAAnBD,EAAW/kE,KAAyB,GAATglE,GAAiC,KAAnBD,EAAW/kE,KAAiC,MAAnB+kE,EAAW/kE,KAA0B,GAATglE,IAAeD,EAAW33D,GAAuB,KAAlB23D,EAAW/kE,KAAcvD,GAAKgD,EAAM,IAAiB,GAATulE,IAAeD,EAAW33D,GAAK3Q,GAAKgD,EAAM,MACxM,IAAtBqlE,EAAax8D,EAAE48D,IACdD,EAAQtoE,KAAK8pD,GAEjBA,GAAO,GAGf7zC,EAAKlX,EAAE0X,GAAG9K,EAAEu6D,WAAapc,EACzB,IAAqB0e,EAAjBC,GAAc,EAClB,GAAyB,IAAtBN,EAAax8D,EAAE48D,GACd,IAAIzoE,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EAElB2oE,IADHL,EAAa7D,EAAQzkE,IACOmmE,UAAUxvD,KAClCgyD,EAAaL,EAAWnC,UAAUxvD,GAClC+xD,EAASF,EAAQl5B,OAAOppC,KAAKiD,MAAMjD,KAAKutB,SAAS+0C,EAAQjpE,QAAQ,GAAG,IAExE+oE,EAAWnC,UAAUxvD,GAAK+xD,EAItCvlB,EAAa6f,QAAU7f,EAAaggB,iBAA0C,IAAvBhgB,EAAa8f,UACpE9f,EAAauf,GAAKvf,EAAauf,IAAM,EACrCvf,EAAaif,OAAS3c,EAAS2c,OAAOjf,EAAa8f,UAAU,KAGjElB,aAAanjE,UAAUgqE,mBAAqB,SAASC,EAASr+C,GAC7DA,OAAkBhoB,IAAVgoB,EAAsBznB,KAAKi/D,UAAYx3C,EAC5C,IAAIs+C,EAAQ/lE,KAAKqgE,SAAS,GAAIrgE,KAAKoT,KAAKpH,EAAEvP,EAAEgrB,GAAO3e,GACnDi9D,EAAQ/lE,KAAKqgE,SAAS0F,EAAOD,GAC7B9lE,KAAKoT,KAAKpH,EAAEvP,EAAEgrB,GAAO3e,EAAIi9D,EACzB/lE,KAAKgmE,YAAYv+C,GACjBznB,KAAKuqD,KAAKvd,mBAAmBhtC,OAGjCg/D,aAAanjE,UAAUmqE,YAAc,SAASv+C,GAC1C,IAAIs+C,EAAQ/lE,KAAKoT,KAAKpH,EAAEvP,EAAEgrB,GAAO3e,EACjCi9D,EAAM9kB,YAAa,EACnBjhD,KAAKi/D,UAAY,EACjBj/D,KAAK4qD,eAAgB,EACrB5qD,KAAKqtC,SAAS04B,IAGlB/G,aAAanjE,UAAUoqE,cAAgB,SAASC,GAC5ClmE,KAAKk/D,UAAYgH,EACjBlmE,KAAKgmE,YAAYhmE,KAAKi/D,WACtBj/D,KAAKuqD,KAAKvd,mBAAmBhtC,OAGjCg/D,aAAanjE,UAAUsqE,mBAAqB,SAASC,GACjDpmE,KAAKm/D,gBAAkBh8D,KAAKiD,MAAMggE,IAAe,EACjDpmE,KAAKgmE,YAAYhmE,KAAKi/D,WACtBj/D,KAAKuqD,KAAKvd,mBAAmBhtC,OAGjC,IAAI6+D,iBAAoB,WACpB,IAAIt7D,EAAMJ,KAAKI,IACXuH,EAAM3H,KAAK2H,IACX1E,EAAQjD,KAAKiD,MAEjB,SAASy4D,EAAiBtU,EAAKn3C,GAC3BpT,KAAKqmE,oBAAsB,EAC3BrmE,KAAKvD,GAAI,EACTuD,KAAKoT,KAAOA,EACZpT,KAAKuqD,KAAOA,EACZvqD,KAAK8pD,KAAOS,EAAKT,KACjB9pD,KAAKsmE,OAAS,EACdtmE,KAAKumE,OAAS,EACdvmE,KAAKstC,6BAA6Bid,GAClCvqD,KAAK8I,EAAIg9C,gBAAgB0F,QAAQjB,EAAKn3C,EAAKtK,GAAK,CAACrM,EAAE,GAAG,EAAE,EAAEuD,MAEtDA,KAAKkT,EADN,MAAOE,EACG0yC,gBAAgB0F,QAAQjB,EAAKn3C,EAAKF,EAAE,EAAE,EAAElT,MAExC,CAACqrC,EAAE,KAEhBrrC,KAAKwJ,EAAIs8C,gBAAgB0F,QAAQjB,EAAKn3C,EAAK5J,GAAK,CAAC/M,EAAE,GAAG,EAAE,EAAEuD,MAC1DA,KAAKwmE,GAAK1gB,gBAAgB0F,QAAQjB,EAAKn3C,EAAKozD,IAAM,CAAC/pE,EAAE,GAAG,EAAE,EAAEuD,MAC5DA,KAAKymE,GAAK3gB,gBAAgB0F,QAAQjB,EAAKn3C,EAAKqzD,IAAM,CAAChqE,EAAE,GAAG,EAAE,EAAEuD,MAC5DA,KAAK9D,EAAI4pD,gBAAgB0F,QAAQjB,EAAKn3C,EAAKlX,EAAE,EAAE,IAAK8D,MAChDA,KAAKitC,kBAAkBzwC,QACvBwD,KAAKqtC,WAsHb,OAlHAwxB,EAAiBhjE,UAAY,CACzBsnE,QAAS,SAASlc,GACXjnD,KAAKqmE,qBAAuBrmE,KAAKuqD,KAAKmc,aAAatH,YAAY/pD,EAAE7Y,QAChEwD,KAAKqtC,WAGT,IAAIyL,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EACNj5C,KAAKymE,GAAGp7B,EAAI,EACXyN,EAAK94C,KAAKymE,GAAGp7B,EAAI,IAGjB0N,GAAM/4C,KAAKymE,GAAGp7B,EAAI,IAEnBrrC,KAAKwmE,GAAGn7B,EAAI,EACX2N,EAAK,EAAMh5C,KAAKwmE,GAAGn7B,EAAI,IAGvB4N,EAAK,EAAMj5C,KAAKwmE,GAAGn7B,EAAI,IAE3B,IAAIs7B,EAAQ5wB,cAAcoR,gBAAgBrO,EAAIC,EAAIC,EAAIC,GAAIpyC,IAEtDwjD,EAAO,EACPvhD,EAAI9I,KAAKsmE,OACTpzD,EAAIlT,KAAKumE,OACTx4C,EAAO/tB,KAAKoT,KAAK20C,GACrB,GAAa,IAATh6B,EAMAs8B,EAAOsc,EAJHtc,EADAn3C,IAAMpK,EACCm+C,GAAO/zC,EAAI,EAAI,EAEf3P,EAAI,EAAGuH,EAAI,IAAOoI,EAAIpK,IAAMm+C,EAAMn+C,IAAMoK,EAAIpK,GAAI,UAGxD,GAAY,IAATilB,EAONs8B,EAAOsc,EALHtc,EADAn3C,IAAMpK,EACCm+C,GAAO/zC,EAAI,EAAI,EAEf,EAAI3P,EAAI,EAAGuH,EAAI,IAAOoI,EAAIpK,IAAMm+C,EAAMn+C,IAAMoK,EAAIpK,GAAG,UAI3D,GAAa,IAATilB,EACH7a,IAAMpK,EACNuhD,EAAO,GAEPA,EAAO9mD,EAAI,EAAGuH,EAAI,IAAOoI,EAAIpK,IAAMm+C,EAAMn+C,IAAMoK,EAAIpK,GAAI,KAC5C,GACPuhD,GAAQ,EAERA,EAAO,EAAI,GAAKA,EAAO,IAG/BA,EAAOsc,EAAMtc,QACV,GAAa,IAATt8B,EAAY,CACnB,GAAI7a,IAAMpK,EACNuhD,EAAO,MACJ,CACH,IAAIuc,EAAM1zD,EAAIpK,EAIVQ,GAAKs9D,EAAI,GADb3f,EAAMn8C,EAAIvH,EAAI,EAAG0jD,EAAM,GAAMn+C,GAAIoK,EAAIpK,IAEjC5M,EAAI0qE,EAAI,EACZvc,EAAOlnD,KAAKklC,KAAK,EAAK/+B,EAAIA,GAAMpN,EAAIA,IAExCmuD,EAAOsc,EAAMtc,QACG,IAATt8B,GACH7a,IAAMpK,EACNuhD,EAAO,GAEPpD,EAAMn8C,EAAIvH,EAAI,EAAG0jD,EAAM,GAAMn+C,GAAIoK,EAAIpK,GACrCuhD,GAAQ,EAAKlnD,KAAK2qC,IAAK3qC,KAAK+lC,GAAe,EAAV/lC,KAAK+lC,GAAS,GAASh2B,EAAIpK,KAAS,GAEzEuhD,EAAOsc,EAAMtc,KAETpD,GAAO7gD,EAAM0C,KAETuhD,EAAO9mD,EAAI,EAAGuH,EADdm8C,EAAMn+C,EAAI,EACQgC,EAAIoI,EAAG,IAAMpK,EAAIm+C,GAEjB/zC,EAAI+zC,EAFmB,KAKjDoD,EAAOsc,EAAMtc,IAEjB,OAAOA,EAAKrqD,KAAK9D,EAAEmvC,GAEvBgC,SAAU,SAASw5B,GACf7mE,KAAKmtC,2BACLntC,KAAKotC,KAAOy5B,GAAgB7mE,KAAKotC,KACjCptC,KAAKqmE,mBAAqBrmE,KAAKuqD,KAAKmc,aAAatH,YAAY/pD,EAAE7Y,QAAU,EACtEqqE,GAAgC,IAAhB7mE,KAAKoT,KAAKk4B,IACzBtrC,KAAKkT,EAAEm4B,EAAIrrC,KAAKqmE,oBAEpB,IAAIpmD,EAA0B,IAAhBjgB,KAAKoT,KAAKk4B,EAAU,EAAI,IAAMtrC,KAAKoT,KAAKiwD,WAClD75D,EAAIxJ,KAAKwJ,EAAE6hC,EAAEprB,EACbnX,EAAI9I,KAAK8I,EAAEuiC,EAAEprB,EAAUzW,EACvB0J,EAAKlT,KAAKkT,EAAEm4B,EAAEprB,EAAWzW,EAC7B,GAAGV,EAAEoK,EAAE,CACH,IAAIghD,EAAKprD,EACTA,EAAIoK,EACJA,EAAIghD,EAERl0D,KAAKsmE,OAASx9D,EACd9I,KAAKumE,OAASrzD,IAGtBklC,gBAAgB,CAACrL,0BAA2B8xB,GAMrC,CACHC,oBALJ,SAA6BvU,EAAMn3C,EAAKrW,GACpC,OAAO,IAAI8hE,EAAiBtU,EAAMn3C,EAAMrW,KA5IzB,GAqJnB+pE,aACI,SAASC,EAAerjC,EAASsjC,EAAUC,GAEjD,IAAIzrB,EAAU,EACV4R,EAAa2Z,EACbrzB,EAAO3K,iBAAiBqkB,GAO5B,SAASrT,IAQR,OANGyB,EAEQ9H,EADV8H,GAAW,GAGD9X,IAsBZ,MAjCS,CACRqW,WAAYA,EACZga,QAcD,SAAiBxqB,GACbiS,IAAY4R,IACd1Z,EAAOwzB,QAAQvxB,OAAOjC,GACtB0Z,GAAwB,GAErB4Z,GACHA,EAASz9B,GAEVmK,EAAK8H,GAAWjS,EAChBiS,GAAW,KAYV0rB,QAMI,CACNvxB,OALD,SAAgB54C,GACf,OAAOA,EAAI8Q,OAAOk7B,iBAAiBhsC,EAAIP,WAOrC+wD,WAKIuZ,aAAa,GAHpB,WACC,OAAOt6B,iBAAiB,UAAW,MAIjC6iB,YAiCCliC,QAAU25C,aAAa,GA/B3B,WACC,OAAO,IAAI3Z,aAGZ,SAAiByH,GAChB,IAA6B33D,EAAzBgD,EAAM20D,EAAUpZ,QACpB,IAAIv+C,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACxBswD,WAAWwG,QAAQa,EAAUvpB,EAAEpuC,IAC/BswD,WAAWwG,QAAQa,EAAU33D,EAAEA,IAC/BswD,WAAWwG,QAAQa,EAAUprD,EAAEvM,IAC/B23D,EAAUvpB,EAAEpuC,GAAK,KACjB23D,EAAU33D,EAAEA,GAAK,KACjB23D,EAAUprD,EAAEvM,GAAK,KAElB23D,EAAUpZ,QAAU,EACpBoZ,EAAUz9C,GAAI,KAiBfgW,QAAQlQ,MAdR,SAAeg2C,GACd,IACIh2D,EADAkqE,EAASh6C,QAAQ4sB,aACd95C,OAAwBR,IAAlBwzD,EAAMzX,QAAwByX,EAAM5nB,EAAE7uC,OAASy2D,EAAMzX,QAKlE,IAJA2rB,EAAO7Z,UAAUrtD,GACjBknE,EAAOhwD,EAAI87C,EAAM97C,EAGbla,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACxBkqE,EAAOzZ,YAAYuF,EAAM5nB,EAAEpuC,GAAG,GAAGg2D,EAAM5nB,EAAEpuC,GAAG,GAAGg2D,EAAMzpD,EAAEvM,GAAG,GAAGg2D,EAAMzpD,EAAEvM,GAAG,GAAGg2D,EAAMh2D,EAAEA,GAAG,GAAGg2D,EAAMh2D,EAAEA,GAAG,GAAIA,GAEzG,OAAOkqE,GAMDh6C,SAHHA,QAKDsiC,qBAAwB,WAC3B,IAAIzZ,EAAK,CACR0Z,mBAQD,WACC,IAAI0X,EAGHA,EAFE5rB,EAEgB9H,EADlB8H,GAAW,GAGO,IAAI0W,gBAEvB,OAAOkV,GAfPrT,QAkBD,SAAiBqT,GAChB,IAAInqE,EAAGgD,EAAMmnE,EAAgB5rB,QAC7B,IAAIv+C,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACxBoyD,WAAW0E,QAAQqT,EAAgB9nB,OAAOriD,IAE3CmqE,EAAgB5rB,QAAU,EAEvBA,IAAY4R,IACd1Z,EAAOwzB,QAAQvxB,OAAOjC,GACtB0Z,GAAwB,GAEzB1Z,EAAK8H,GAAW4rB,EAChB5rB,GAAW,IA3BRA,EAAU,EACV4R,EAAa,EACb1Z,EAAO3K,iBAAiBqkB,GA4B5B,OAAOpX,EApCmB,GAsCvBmF,qBAiBI2rB,aAAa,GAfpB,WACC,MAAO,CACN7sB,QAAS,GACTwB,YAAa,MAIf,SAAiBlS,GAChB,IAAItsC,EAAGgD,EAAMspC,EAAQ0Q,QAAQz9C,OAC7B,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EAChB68C,mBAAmBia,QAAQxqB,EAAQ0Q,QAAQh9C,IAE5CssC,EAAQ0Q,QAAQz9C,OAAS,KAKvBs9C,mBASIgtB,aAAa,GAPpB,WACC,MAAO,CACGntB,YAAa,EACbK,SAAUxN,iBAAiB,UAAWxD,sBACtCiR,QAASzN,iBAAiB,UAAWxD,0BAKjD,SAASq+B,gBAsIT,SAASC,YAAYC,EAAermE,GAChClB,KAAKunE,cAAgBA,EACrBvnE,KAAKs+C,OAAS,KACdt+C,KAAK+pD,eAAiB,EACtB/pD,KAAKwnE,WAAa56B,SAAS,OAC3B,IAAI5N,EAAY,GAChB,GAAI99B,GAAUA,EAAOg+B,MAAO,CACxB,IAAIuoC,EAAe76B,SAAS,SACxB86B,EAAUx8B,kBACdu8B,EAAa7kB,aAAa,KAAM8kB,GAChCD,EAAazkB,YAAc9hD,EAAOg+B,MAClCl/B,KAAKwnE,WAAWh2C,YAAYi2C,GAC5BzoC,GAAa0oC,EAEjB,GAAIxmE,GAAUA,EAAOymE,YAAa,CAC9B,IAAIC,EAAch7B,SAAS,QACvBi7B,EAAS38B,kBACb08B,EAAYhlB,aAAa,KAAMilB,GAC/BD,EAAY5kB,YAAc9hD,EAAOymE,YACjC3nE,KAAKwnE,WAAWh2C,YAAYo2C,GAC5B5oC,GAAa,IAAM6oC,EAEnB7oC,GACAh/B,KAAKwnE,WAAW5kB,aAAa,kBAAmB5jB,GAEpD,IAAIilB,EAAOrX,SAAU,QACrB5sC,KAAKwnE,WAAWh2C,YAAYyyB,GAC5B,IAAI6jB,EAAcl7B,SAAS,KAC3B5sC,KAAKwnE,WAAWh2C,YAAYs2C,GAC5B9nE,KAAK+nE,aAAeD,EACpB9nE,KAAKgoE,aAAe,CAChBC,oBAAsB/mE,GAAUA,EAAO+mE,qBAAwB,gBAC/DC,yBAA2BhnE,GAAUA,EAAOgnE,0BAA6B,iBACzEC,gBAAkBjnE,GAAUA,EAAOinE,kBAAoB,EACvDC,mBAAoBlnE,IAAuC,IAA7BA,EAAOknE,kBACrCC,YAAcnnE,GAAUA,EAAOmnE,cAAgB,EAC/CC,YAAcpnE,GAAUA,EAAOonE,cAAgB,EAC/CC,UAAYrnE,GAAUA,EAAOqnE,WAAc,GAC3C/3C,GAAKtvB,GAAUA,EAAOsvB,IAAO,GAC7Bg4C,UAAWtnE,GAAUA,EAAOsnE,UAC5BC,WAAY,CACR5pC,MAAO39B,GAAUA,EAAOunE,YAAcvnE,EAAOunE,WAAW5pC,OAAS,OACjEC,OAAQ59B,GAAUA,EAAOunE,YAAcvnE,EAAOunE,WAAW3pC,QAAU,OACnEx1B,EAAGpI,GAAUA,EAAOunE,YAAcvnE,EAAOunE,WAAWn/D,GAAK,KACzDqC,EAAGzK,GAAUA,EAAOunE,YAAcvnE,EAAOunE,WAAW98D,GAAK,OAIjE3L,KAAKwqD,WAAa,CACdpd,MAAM,EACN8Y,UAAW,EACXjC,KAAMA,EACN+jB,aAAchoE,KAAKgoE,cAEvBhoE,KAAKi3D,SAAW,GAChBj3D,KAAK0oE,gBAAkB,GACvB1oE,KAAK2oE,WAAY,EACjB3oE,KAAK4oE,aAAe,MA8MxB,SAASC,eAAetB,EAAermE,GACnClB,KAAKunE,cAAgBA,EACrBvnE,KAAKgoE,aAAe,CAChBc,aAAc5nE,QAAiCzB,IAAvByB,EAAO4nE,aAA6B5nE,EAAO4nE,YACnEC,QAAU7nE,GAAUA,EAAO6nE,SAAY,KACvCZ,gBAAkBjnE,GAAUA,EAAOinE,kBAAoB,EACvDF,oBAAsB/mE,GAAUA,EAAO+mE,qBAAwB,gBAC/DC,yBAA2BhnE,GAAUA,EAAOgnE,0BAA6B,iBACzEK,UAAYrnE,GAAUA,EAAOqnE,WAAc,GAC3C/3C,GAAKtvB,GAAUA,EAAOsvB,IAAO,IAEjCxwB,KAAKgoE,aAAagB,IAAO9nE,GAAUA,EAAO8nE,KAAQ,EAC9ChpE,KAAKunE,cAAc0B,UACnBjpE,KAAKgoE,aAAagB,IAAO9nE,GAAUA,EAAO8nE,KAAQz7C,OAAO27C,kBAAoB,GAEjFlpE,KAAK+pD,eAAiB,EACtB/pD,KAAKwqD,WAAa,CACdtE,UAAW,EACX9Y,MAAM,EACN46B,aAAchoE,KAAKgoE,aACnBmB,oBAAqB,GAEzBnpE,KAAKopE,YAAc,IAAIC,cACvBrpE,KAAKi3D,SAAW,GAChBj3D,KAAK0oE,gBAAkB,GACvB1oE,KAAKspE,aAAe,IAAI17B,OACxB5tC,KAAKq+C,gBAAiB,EACtBr+C,KAAK4oE,aAAe,SAiTxB,SAASW,eAAehC,EAAermE,GACnClB,KAAKunE,cAAgBA,EACrBvnE,KAAKs+C,OAAS,KACdt+C,KAAK+pD,eAAiB,EACtB/pD,KAAKgoE,aAAe,CAChBO,UAAYrnE,GAAUA,EAAOqnE,WAAc,GAC3CL,yBAA2BhnE,GAAUA,EAAOgnE,0BAA6B,iBACzEE,mBAAoBlnE,IAAuC,IAA7BA,EAAOknE,kBACrCK,WAAY,CACR5pC,MAAO39B,GAAUA,EAAOunE,YAAcvnE,EAAOunE,WAAW5pC,OAAS,OACjEC,OAAQ59B,GAAUA,EAAOunE,YAAcvnE,EAAOunE,WAAW3pC,QAAU,OACnEx1B,EAAGpI,GAAUA,EAAOunE,YAAcvnE,EAAOunE,WAAWn/D,GAAK,QACzDqC,EAAGzK,GAAUA,EAAOunE,YAAcvnE,EAAOunE,WAAW98D,GAAK,UAGjE3L,KAAKwqD,WAAa,CACdpd,MAAM,EACN8Y,UAAW,EACX8hB,aAAchoE,KAAKgoE,cAEvBhoE,KAAK0oE,gBAAkB,GACvB1oE,KAAKi3D,SAAW,GAChBj3D,KAAKwpE,eAAiB,GACtBxpE,KAAK2oE,WAAY,EACjB3oE,KAAKypE,OAAS,KACdzpE,KAAK0pE,YAAa,EAClB1pE,KAAK4oE,aAAe,OAqRxB,SAASe,YAAYv2D,EAAKm2B,EAAQihB,GAC9BxqD,KAAKoT,KAAOA,EACZpT,KAAKupC,QAAUA,EACfvpC,KAAKwqD,WAAaA,EAClBxqD,KAAKu6C,WAAa,GAClBv6C,KAAKi/C,gBAAkBj/C,KAAKoT,KAAK6rC,iBAAmB,GACpDj/C,KAAK8nE,YAAc,KACnB,IACI7qE,EADAgnD,EAAOjkD,KAAKwqD,WAAWvG,KACpBhkD,EAAMD,KAAKi/C,gBAAkBj/C,KAAKi/C,gBAAgBziD,OAAS,EAClEwD,KAAK4pE,SAAW7gC,iBAAiB9oC,GACjCD,KAAK6pE,UAAY,GAGjB,IAAIlqB,EAGA/rC,EAAG8qC,EAEHorB,EAAMC,EAAUC,EAAQ1gE,EALlB+V,EAAarf,KAAKi/C,gBACxBhL,EAAQ,EACRg2B,EAAe,GAEfC,EAAUh/B,kBAEV+wB,EAAW,WAAYkO,EAAU,YACrC,IAAKltE,EAAI,EAAGA,EAAIgD,EAAKhD,IAiBjB,IAhB2B,MAAvBoiB,EAAWpiB,GAAG4zB,MAAuC,MAAvBxR,EAAWpiB,GAAG4zB,MAAgBxR,EAAWpiB,GAAGu5D,KAA6B,MAAtBn3C,EAAWpiB,GAAGuM,EAAE/M,GAAa4iB,EAAWpiB,GAAGuM,EAAEF,KAC9H2yD,EAAW,OACXkO,EAAU,QAGY,KAAtB9qD,EAAWpiB,GAAG4zB,MAAqC,KAAtBxR,EAAWpiB,GAAG4zB,MAA0B,IAAVojB,EAO3D61B,EAAO,OANPA,EAAOl9B,SAAU,SACZgW,aAAa,OAAQ,WAC1BknB,EAAKlnB,aAAa,QAAS5iD,KAAKupC,QAAQugB,KAAK12C,KAAKlB,GAAK,GACvD43D,EAAKlnB,aAAa,SAAU5iD,KAAKupC,QAAQugB,KAAK12C,KAAKnH,GAAK,GACxDg+D,EAAa9sE,KAAK2sE,IAKtBnqB,EAAO/S,SAAU,QACQ,KAAtBvtB,EAAWpiB,GAAG4zB,KAAjB,CAeA,IAAIu5C,EA+BJ,GAnCAn2B,GAAS,EAET0L,EAAKiD,aAAa,OAA+B,MAAvBvjC,EAAWpiB,GAAG4zB,KAAe,UAAU,WACjE8uB,EAAKiD,aAAa,YAAY,WAGJ,IAAtBvjC,EAAWpiB,GAAGqM,EAAE7M,GAChBw/D,EAAW,OACXkO,EAAU,OACV7gE,EAAIw8C,gBAAgB0F,QAAQxrD,KAAKupC,QAAQlqB,EAAWpiB,GAAGqM,EAAE,EAAE,KAAKtJ,KAAKupC,SACrE6gC,EAAWl/B,mBACX6+B,EAAWn9B,SAAS,WACXgW,aAAa,KAAKwnB,IAC3BJ,EAAUp9B,SAAS,iBACXgW,aAAa,WAAW,SAChConB,EAAQpnB,aAAa,KAAK,iBAC1BonB,EAAQpnB,aAAa,SAAS,KAC9BmnB,EAASv4C,YAAYw4C,GACrB/lB,EAAKzyB,YAAYu4C,GACjBpqB,EAAKiD,aAAa,SAAiC,MAAvBvjC,EAAWpiB,GAAG4zB,KAAe,UAAU,aAEnEm5C,EAAU,KACV1gE,EAAI,MAIRtJ,KAAKu6C,WAAWt9C,GAAK,CAChBstD,KAAM5K,EACNr2C,EAAGA,EACH+gE,MAAOL,EACRM,SAAU,GACVC,aAAa,GACbC,SAASJ,EACTK,WAAW,GAEU,KAAtBprD,EAAWpiB,GAAG4zB,KAAY,CACzB6tB,EAAOurB,EAAaztE,OACpB,IAAI+uC,EAAIqB,SAAS,KACjB,IAAIh5B,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EACd23B,EAAE/Z,YAAYy4C,EAAar2D,IAE/B,IAAIytD,EAAOz0B,SAAS,QACpBy0B,EAAKze,aAAa,YAAY,SAC9Bye,EAAKze,aAAa,KAAKsnB,EAAQ,IAAIj2B,GACnCotB,EAAK7vC,YAAYmuB,GACjBsE,EAAKzyB,YAAY6vC,GACjB91B,EAAEqX,aAAa,OAAO,OAASnb,aAAe,IAAIyiC,EAAQ,IAAIj2B,EAAM,KAEpEg2B,EAAaztE,OAAS,EACtBytE,EAAa9sE,KAAKouC,QAElB0+B,EAAa9sE,KAAKwiD,GAEnBtgC,EAAWpiB,GAAGu5D,MAAQx2D,KAAK6pE,YAC1B7pE,KAAK6pE,UAAY7pE,KAAK0qE,wBAG1B1qE,KAAK4pE,SAAS3sE,GAAK,CACfstD,KAAM5K,EACN2qB,SAAU,GACVjS,GAAIvS,gBAAgB0F,QAAQxrD,KAAKupC,QAAQlqB,EAAWpiB,GAAGuM,EAAE,EAAE,IAAKxJ,KAAKupC,SACrEhpC,KAAKiuD,qBAAqBmc,aAAa3qE,KAAKupC,QAAQlqB,EAAWpiB,GAAG,GAClE2tE,QAASd,GAET9pE,KAAK4pE,SAAS3sE,GAAGsD,KAAK9D,GACtBuD,KAAK6qE,SAASxrD,EAAWpiB,GAAG+C,KAAK4pE,SAAS3sE,GAAGsD,KAAK8qC,EAAErrC,KAAK4pE,SAAS3sE,SA1ElE+C,KAAK4pE,SAAS3sE,GAAK,CACfo7D,GAAIvS,gBAAgB0F,QAAQxrD,KAAKupC,QAAQlqB,EAAWpiB,GAAGuM,EAAE,EAAE,IAAKxJ,KAAKupC,SACrEhpC,KAAMiuD,qBAAqBmc,aAAa3qE,KAAKupC,QAAQlqB,EAAWpiB,GAAG,GACnEstD,KAAM5K,EACN2qB,SAAU,IAEdrmB,EAAKzyB,YAAYmuB,GA2EzB,IAHA3/C,KAAK8nE,YAAcl7B,SAAUqvB,GAE7Bh8D,EAAMgqE,EAAaztE,OACfS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb+C,KAAK8nE,YAAYt2C,YAAYy4C,EAAahtE,IAG3Cg3C,EAAQ,IACPj0C,KAAK8nE,YAAYllB,aAAa,KAAMsnB,GACpClqE,KAAKupC,QAAQuhC,cAAcloB,aAAaunB,EAAS,OAAS1iC,aAAe,IAAMyiC,EAAU,KACzFjmB,EAAKzyB,YAAYxxB,KAAK8nE,cAEtB9nE,KAAK4pE,SAASptE,QACdwD,KAAKupC,QAAQwhC,uBAAuB/qE,MAiG5C,SAASgrE,oBAmDT,SAASC,gBA4CT,SAASC,oBA0ET,SAASC,qBAwFT,SAASC,wBA6DT,SAASC,iBAAiB9hC,EAASC,GAClCxpC,KAAKuqD,KAAOhhB,EACZvpC,KAAKuQ,IAAMi5B,EAEZ,SAAS8hC,aAAal4D,EAAMm4D,GAC3BvrE,KAAKoT,KAAOA,EACZpT,KAAK+tB,KAAO3a,EAAKm8B,GACjBvvC,KAAKgM,EAAI,GACThM,KAAKwrE,IAAMD,EACXvrE,KAAKotC,MAAO,EACZptC,KAAKo7C,QAAqB,IAAZhoC,EAAKq4D,GACnBzrE,KAAK0rE,MAAQ9+B,SAAS,QACtB5sC,KAAK2rE,OAAS,KAOf,SAASC,aAAaC,EAAcN,EAAOtY,GACvCjzD,KAAK8rE,OAAS,GACd9rE,KAAK+kE,OAAS,GACd/kE,KAAK6rE,aAAeA,EACpB7rE,KAAK+rE,KAAO,GACZ/rE,KAAK+nD,GAAKkL,EACVjzD,KAAKwrE,IAAMD,EAIXvrE,KAAKktC,cAAgB+lB,EAAMx2D,EAG3B,IADA,IAAIQ,EAAI,EAAGgD,EAAM4rE,EAAarvE,OACxBS,EAAIgD,GAAK,CACd,GAAG4rE,EAAa5uE,GAAGm7D,OAAOnrB,kBAAkBzwC,OAAQ,CACnDwD,KAAKktC,aAAc,EACnB,MAEDjwC,GAAK,GAOV,SAAS+uE,iBAAiB5T,EAAQC,EAAI96B,GACrCv9B,KAAKyvC,UAAY,CAChB2oB,OAAQA,EACRC,GAAIA,EACJ96B,UAAWA,GAEZv9B,KAAKi3D,SAAW,GACbj3D,KAAKktC,YAAcltC,KAAKyvC,UAAU2oB,OAAOnrB,kBAAkBzwC,QAAUwD,KAAKyvC,UAAU4oB,GAAG3N,gBAAgBluD,OAE3G,SAASyvE,mBAAmB1hB,EAAMn3C,EAAM84D,GACvClsE,KAAKstC,6BAA6Bid,GAClCvqD,KAAKqtC,SAAWrtC,KAAKmtC,yBACrBntC,KAAKwJ,EAAIs8C,gBAAgB0F,QAAQjB,EAAKn3C,EAAK5J,EAAE,EAAE,IAAKxJ,MACpDA,KAAKkS,EAAI4zC,gBAAgB0F,QAAQjB,EAAKn3C,EAAKlB,EAAE,EAAE,KAAKlS,MACpDA,KAAKgM,EAAI,IAAImmD,aAAa5H,EAAKn3C,EAAKpH,GAAG,GAAG,MAAMhM,MAChDA,KAAKmX,EAAI2uC,gBAAgB0F,QAAQjB,EAAKn3C,EAAK+D,EAAE,EAAE,IAAInX,MACnDA,KAAKsxB,MAAQ46C,EACVlsE,KAAKktC,cAAgBltC,KAAKktC,YAI9B,SAASi/B,iBAAiB5hB,EAAMn3C,EAAM84D,GACrClsE,KAAKstC,6BAA6Bid,GAClCvqD,KAAKqtC,SAAWrtC,KAAKmtC,yBACrBntC,KAAKwJ,EAAIs8C,gBAAgB0F,QAAQjB,EAAKn3C,EAAK5J,EAAE,EAAE,IAAKxJ,MACpDA,KAAKmX,EAAI2uC,gBAAgB0F,QAAQjB,EAAKn3C,EAAK+D,EAAE,EAAE,IAAInX,MACnDA,KAAKsxB,MAAQ46C,EAId,SAASE,yBAAyB7hB,EAAMn3C,EAAM84D,GAC1ClsE,KAAKstC,6BAA6Bid,GAClCvqD,KAAKqtC,SAAWrtC,KAAKmtC,yBACrBntC,KAAKqsE,iBAAiB9hB,EAAMn3C,EAAM84D,GAsEtC,SAASI,2BAA2B/hB,EAAMn3C,EAAM84D,GAC/ClsE,KAAKstC,6BAA6Bid,GAClCvqD,KAAKqtC,SAAWrtC,KAAKmtC,yBACrBntC,KAAKkS,EAAI4zC,gBAAgB0F,QAAQjB,EAAKn3C,EAAKlB,EAAE,EAAE,KAAKlS,MACpDA,KAAKgM,EAAI,IAAImmD,aAAa5H,EAAKn3C,EAAKpH,GAAG,GAAG,MAAMhM,MAC7CA,KAAKqsE,iBAAiB9hB,EAAMn3C,EAAM84D,GAClClsE,KAAKktC,cAAgBltC,KAAKktC,YAI9B,SAASq/B,iBACRvsE,KAAK0vB,GAAK,GACP1vB,KAAKwsE,aAAe,GACpBxsE,KAAKysE,GAAK7/B,SAAS,KAxsDvBy6B,aAAaxrE,UAAU6wE,YAAc,SAASz1C,GAC1C,IAAIh6B,EAA6BmW,EAA1BnT,EAAMD,KAAKs+C,OAAO9hD,OAEzB,IADAwD,KAAKq+C,gBAAiB,EACjBphD,EAAIgD,EAAM,EAAGhD,GAAK,EAAGA,IACjB+C,KAAKi3D,SAASh6D,KACfmW,EAAOpT,KAAKs+C,OAAOrhD,IACX0vE,GAAKv5D,EAAKi4C,IAAOp0B,EAAMj3B,KAAKs+C,OAAOrhD,GAAGouD,IAAOj4C,EAAKilD,GAAKjlD,EAAKi4C,GAAMp0B,EAAMj3B,KAAKs+C,OAAOrhD,GAAGouD,IAE3FrrD,KAAK4sE,UAAU3vE,GAGvB+C,KAAKq+C,iBAAiBr+C,KAAKi3D,SAASh6D,IAAK+C,KAAKq+C,eAElDr+C,KAAK6sE,wBAGTxF,aAAaxrE,UAAUixE,WAAa,SAASC,GACzC,OAAOA,EAAMx9B,IACT,KAAK,EACD,OAAOvvC,KAAKgtE,YAAYD,GAC5B,KAAK,EACD,OAAO/sE,KAAKitE,WAAWF,GAC3B,KAAK,EACD,OAAO/sE,KAAKktE,YAAYH,GAC5B,KAAK,EACD,OAAO/sE,KAAKmtE,WAAWJ,GAC3B,KAAK,EACD,OAAO/sE,KAAKotE,YAAYL,GAC5B,KAAK,EACD,OAAO/sE,KAAKqtE,WAAWN,GAC3B,KAAK,EACD,OAAO/sE,KAAKs5D,YAAYyT,GAC5B,KAAK,GACD,OAAO/sE,KAAKstE,aAAaP,GAEjC,OAAO/sE,KAAKmtE,WAAWJ,IAG3B1F,aAAaxrE,UAAUyxE,aAAe,WAClC,MAAM,IAAIrrE,MAAM,qDAGpBolE,aAAaxrE,UAAUy9D,YAAc,SAASlmD,GAC1C,OAAO,IAAIm6D,aAAan6D,EAAMpT,KAAKwqD,WAAYxqD,OAGnDqnE,aAAaxrE,UAAU2xE,cAAgB,WACnC,IAAIvwE,EAAGgD,EAAMD,KAAKs+C,OAAO9hD,OACzB,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb+C,KAAK4sE,UAAU3vE,GAEnB+C,KAAK6sE,wBAGTxF,aAAaxrE,UAAU4xE,cAAgB,SAASC,GAC5C1tE,KAAKq+C,gBAAiB,EACtB,IAAIphD,EACA2W,EADG3T,EAAMytE,EAAUlxE,OAChBkiD,EAAO1+C,KAAKs+C,OAAO9hD,OAC1B,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EAEb,IADA2W,EAAI,EACEA,EAAE8qC,GAAK,CACT,GAAG1+C,KAAKs+C,OAAO1qC,GAAG4c,IAAMk9C,EAAUzwE,GAAGuzB,GAAG,CACpCxwB,KAAKs+C,OAAO1qC,GAAK85D,EAAUzwE,GAC3B,MAEJ2W,GAAK,IAKjByzD,aAAaxrE,UAAU8xE,oBAAsB,SAASC,GAClD5tE,KAAKwqD,WAAWqjB,iBAAmBD,GAGvCvG,aAAaxrE,UAAUiyE,UAAY,WAC3B9tE,KAAKwqD,WAAW2d,iBAChBnoE,KAAKwtE,iBAGbnG,aAAaxrE,UAAUkyE,sBAAwB,SAASxkC,EAASykC,EAAYC,GAIzE,IAHA,IAAIhX,EAAWj3D,KAAKi3D,SAChB3Y,EAASt+C,KAAKs+C,OACdrhD,EAAE,EAAGgD,EAAMq+C,EAAO9hD,OACfS,EAAIgD,GACHq+C,EAAOrhD,GAAGgqD,KAAO+mB,IACZ/W,EAASh6D,KAAsB,IAAhBg6D,EAASh6D,IAIzBgxE,EAAU9wE,KAAK85D,EAASh6D,IACxBg6D,EAASh6D,GAAGixE,mBACYzuE,IAArB6+C,EAAOrhD,GAAGulD,OACTxiD,KAAK+tE,sBAAsBxkC,EAAS+U,EAAOrhD,GAAGulD,OAAQyrB,GAEtD1kC,EAAQ4kC,aAAaF,KARzBjuE,KAAK4sE,UAAU3vE,GACf+C,KAAKouE,kBAAkB7kC,KAW/BtsC,GAAK,GAIboqE,aAAaxrE,UAAUuyE,kBAAoB,SAAS7kC,GAChDvpC,KAAK0oE,gBAAgBvrE,KAAKosC,IAG9B89B,aAAaxrE,UAAUwyE,wBAA0B,SAAShuB,GACtD,IAAIpjD,EAAGgD,EAAMogD,EAAO7jD,OACpB,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb,GAAGojD,EAAOpjD,GAAGqxE,GAAG,CACZ,IAAIxkB,EAAO9pD,KAAKitE,WAAW5sB,EAAOpjD,IAClC6sD,EAAKykB,kBACLvuE,KAAKwqD,WAAWqjB,iBAAiBW,oBAAoB1kB,KAKjEud,aAAaxrE,UAAU4yE,gBAAkB,SAASC,EAAUC,GACxD3uE,KAAKwqD,WAAWhM,YAAc,IAAI2C,YAClCnhD,KAAKwqD,WAAWhM,YAAYqF,SAAS6qB,EAASnuB,OAC9CvgD,KAAKwqD,WAAWhM,YAAYwF,SAAS0qB,EAAStrB,MAAOurB,GACrD3uE,KAAKwqD,WAAWokB,aAAe5uE,KAAKunE,cAAcqH,aAAatiC,KAAKtsC,KAAKunE,eACzEvnE,KAAKwqD,WAAWqQ,cAAgB76D,KAAKunE,cAAc1M,cAAcvuB,KAAKtsC,KAAKunE,eAC3EvnE,KAAKwqD,WAAWqkB,YAAc7uE,KAAKunE,cAAcuH,eACjD9uE,KAAKwqD,WAAWukB,gBAAkB/uE,KAAKunE,cAAcwH,gBACrD/uE,KAAKwqD,WAAWC,QAAU,EAC1BzqD,KAAKwqD,WAAWsC,UAAY4hB,EAASM,GACrChvE,KAAKwqD,WAAWvU,GAAKy4B,EAASz4B,GAC9Bj2C,KAAKwqD,WAAWykB,SAAW,CACvB/8D,EAAGw8D,EAASx8D,EACZjG,EAAGyiE,EAASziE,IAgEpBmsC,gBAAgB,CAACivB,cAAcC,aAE/BA,YAAYzrE,UAAUsxE,WAAa,SAAU/5D,GACzC,OAAO,IAAI87D,YAAY97D,EAAKpT,KAAKwqD,WAAWxqD,OAGhDsnE,YAAYzrE,UAAUuxE,YAAc,SAAUh6D,GAC1C,OAAO,IAAI+7D,gBAAgB/7D,EAAKpT,KAAKwqD,WAAWxqD,OAGpDsnE,YAAYzrE,UAAUwxE,WAAa,SAAUj6D,GACzC,OAAO,IAAIg8D,eAAeh8D,EAAKpT,KAAKwqD,WAAWxqD,OAInDsnE,YAAYzrE,UAAUmxE,YAAc,SAAU55D,GAC1C,OAAO,IAAIi8D,cAAcj8D,EAAKpT,KAAKwqD,WAAWxqD,OAGlDsnE,YAAYzrE,UAAUoxE,WAAa,SAAU75D,GACzC,OAAO,IAAIk8D,eAAel8D,EAAKpT,KAAKwqD,WAAWxqD,OAInDsnE,YAAYzrE,UAAUqxE,YAAc,SAAU95D,GAC1C,OAAO,IAAIm8D,cAAcn8D,EAAKpT,KAAKwqD,WAAWxqD,OAGlDsnE,YAAYzrE,UAAU2zE,gBAAkB,SAASd,GAC7C1uE,KAAKwnE,WAAW5kB,aAAa,QAAQ,8BAClC5iD,KAAKgoE,aAAaM,YACjBtoE,KAAKwnE,WAAW5kB,aAAa,UAAU5iD,KAAKgoE,aAAaM,aAEzDtoE,KAAKwnE,WAAW5kB,aAAa,UAAU,OAAO8rB,EAASx8D,EAAE,IAAIw8D,EAASziE,GAGtEjM,KAAKgoE,aAAaK,cAClBroE,KAAKwnE,WAAW5kB,aAAa,QAAQ8rB,EAASx8D,GAC9ClS,KAAKwnE,WAAW5kB,aAAa,SAAS8rB,EAASziE,GAC/CjM,KAAKwnE,WAAWl2C,MAAMuN,MAAQ,OAC9B7+B,KAAKwnE,WAAWl2C,MAAMwN,OAAS,OAC/B9+B,KAAKwnE,WAAWl2C,MAAMme,UAAY,sBAElCzvC,KAAKgoE,aAAaO,WAClBvoE,KAAKwnE,WAAW5kB,aAAa,QAAS5iD,KAAKgoE,aAAaO,WAExDvoE,KAAKgoE,aAAax3C,IAClBxwB,KAAKwnE,WAAW5kB,aAAa,KAAM5iD,KAAKgoE,aAAax3C,SAErB/wB,IAAhCO,KAAKgoE,aAAaQ,WAClBxoE,KAAKwnE,WAAW5kB,aAAa,YAAa5iD,KAAKgoE,aAAaQ,WAEhExoE,KAAKwnE,WAAW5kB,aAAa,sBAAsB5iD,KAAKgoE,aAAaC,qBAGrEjoE,KAAKunE,cAAc0B,QAAQz3C,YAAYxxB,KAAKwnE,YAE5C,IAAIvjB,EAAOjkD,KAAKwqD,WAAWvG,KAE3BjkD,KAAKyuE,gBAAgBC,EAAUzqB,GAC/BjkD,KAAKwqD,WAAW2d,gBAAkBnoE,KAAKgoE,aAAaG,gBACpDnoE,KAAKoT,KAAOs7D,EAEZ,IAAI5G,EAAcl7B,SAAU,YACxBk9B,EAAOl9B,SAAS,QACpBk9B,EAAKlnB,aAAa,QAAQ8rB,EAASx8D,GACnC43D,EAAKlnB,aAAa,SAAS8rB,EAASziE,GACpC69D,EAAKlnB,aAAa,IAAI,GACtBknB,EAAKlnB,aAAa,IAAI,GACtB,IAAI6sB,EAASvkC,kBACb48B,EAAYllB,aAAa,KAAM6sB,GAC/B3H,EAAYt2C,YAAYs4C,GACxB9pE,KAAK+nE,aAAanlB,aAAa,YAAa,OAASnb,aAAe,IAAIgoC,EAAO,KAE/ExrB,EAAKzyB,YAAYs2C,GACjB9nE,KAAKs+C,OAASowB,EAASpwB,OACvBt+C,KAAKi3D,SAAWluB,iBAAiB2lC,EAASpwB,OAAO9hD,SAIrD8qE,YAAYzrE,UAAUiiC,QAAU,WAC5B99B,KAAKunE,cAAc0B,QAAQpnB,UAAY,GACvC7hD,KAAK+nE,aAAe,KACpB/nE,KAAKwqD,WAAWvG,KAAO,KACvB,IAAIhnD,EAAGgD,EAAMD,KAAKs+C,OAASt+C,KAAKs+C,OAAO9hD,OAAS,EAChD,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,IACd+C,KAAKi3D,SAASh6D,IACb+C,KAAKi3D,SAASh6D,GAAG6gC,UAGzB99B,KAAKi3D,SAASz6D,OAAS,EACvBwD,KAAK2oE,WAAY,EACjB3oE,KAAKunE,cAAgB,MAGzBD,YAAYzrE,UAAU6zE,oBAAsB,aAG5CpI,YAAYzrE,UAAU+wE,UAAa,SAASr8D,GACxC,IAAI0mD,EAAWj3D,KAAKi3D,SACpB,IAAGA,EAAS1mD,IAA+B,IAAvBvQ,KAAKs+C,OAAO/tC,GAAKg/B,GAArC,CAGA0nB,EAAS1mD,IAAO,EAChB,IAAIg5B,EAAUvpC,KAAK8sE,WAAW9sE,KAAKs+C,OAAO/tC,IAE1C0mD,EAAS1mD,GAAOg5B,EACb3B,oBAC4B,IAAxB5nC,KAAKs+C,OAAO/tC,GAAKg/B,IAChBvvC,KAAKwqD,WAAWqjB,iBAAiBW,oBAAoBjlC,GAEzDA,EAAQglC,mBAEZvuE,KAAK2vE,mBAAmBpmC,EAAQh5B,GAC7BvQ,KAAKs+C,OAAO/tC,GAAKsuC,KACZ7+C,KAAKi3D,SAAS1mD,EAAM,KAAiC,IAA3BvQ,KAAKi3D,SAAS1mD,EAAM,GAI9Cg5B,EAAQqmC,SAAS3Y,EAAS1mD,EAAM,GAAG25D,UAHnClqE,KAAK4sE,UAAUr8D,EAAM,GACrBvQ,KAAKouE,kBAAkB7kC,OAOnC+9B,YAAYzrE,UAAUgxE,qBAAwB,WAC1C,KAAM7sE,KAAK0oE,gBAAgBlsE,QAAO,CAC9B,IAAI+sC,EAAUvpC,KAAK0oE,gBAAgBlU,MAEnC,GADAjrB,EAAQsmC,iBACLtmC,EAAQn2B,KAAKyrC,GAEZ,IADA,IAAI5hD,EAAI,EAAGgD,EAAMD,KAAKi3D,SAASz6D,OACzBS,EAAEgD,GAAI,CACR,GAAGD,KAAKi3D,SAASh6D,KAAOssC,EAAQ,CAC5BA,EAAQqmC,SAAS5vE,KAAKi3D,SAASh6D,EAAI,GAAGitE,SACtC,MAEJjtE,GAAK,KAMrBqqE,YAAYzrE,UAAUi0E,YAAc,SAAS74C,GACzC,GAAGj3B,KAAK+pD,gBAAkB9yB,IAAOj3B,KAAK2oE,UAAtC,CAGW,OAAR1xC,EACCA,EAAMj3B,KAAK+pD,cAEX/pD,KAAK+pD,cAAgB9yB,EAIzBj3B,KAAKwqD,WAAWtE,SAAWjvB,EAC3Bj3B,KAAKwqD,WAAWC,SAAW,EAC3BzqD,KAAKwqD,WAAWqjB,iBAAiBkC,aAAe94C,EAChDj3B,KAAKwqD,WAAWpd,MAAO,EACvB,IAAInwC,EAAGgD,EAAMD,KAAKs+C,OAAO9hD,OAIzB,IAHIwD,KAAKq+C,gBACLr+C,KAAK0sE,YAAYz1C,GAEhBh6B,EAAIgD,EAAM,EAAGhD,GAAK,EAAGA,KACnB+C,KAAKq+C,gBAAkBr+C,KAAKi3D,SAASh6D,KACpC+C,KAAKi3D,SAASh6D,GAAG+yE,aAAa/4C,EAAMj3B,KAAKs+C,OAAOrhD,GAAGouD,IAG3D,GAAGrrD,KAAKwqD,WAAWpd,KACf,IAAKnwC,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,GACnB+C,KAAKq+C,gBAAkBr+C,KAAKi3D,SAASh6D,KACpC+C,KAAKi3D,SAASh6D,GAAG6yE,gBAMjCxI,YAAYzrE,UAAU8zE,mBAAqB,SAASpmC,EAASh5B,GACzD,IAAIwpC,EAAaxQ,EAAQ0mC,iBACzB,GAAIl2B,EAAJ,CAKA,IAFA,IACIm2B,EADAjzE,EAAI,EAEFA,EAAEsT,GACDvQ,KAAKi3D,SAASh6D,KAA0B,IAApB+C,KAAKi3D,SAASh6D,IAAc+C,KAAKi3D,SAASh6D,GAAGgzE,mBAChEC,EAAclwE,KAAKi3D,SAASh6D,GAAGgzE,kBAEnChzE,GAAK,EAENizE,EACClwE,KAAK+nE,aAAaoI,aAAap2B,EAAYm2B,GAE3ClwE,KAAK+nE,aAAav2C,YAAYuoB,KAItCutB,YAAYzrE,UAAU+xB,KAAO,WACzB5tB,KAAK+nE,aAAaz2C,MAAMC,QAAU,QAGtC+1C,YAAYzrE,UAAUu0E,KAAO,WACzBpwE,KAAK+nE,aAAaz2C,MAAMC,QAAU,SAgCtC6mB,gBAAgB,CAACivB,cAAcwB,gBAE/BA,eAAehtE,UAAUuxE,YAAc,SAAUh6D,GAC7C,OAAO,IAAIi9D,eAAej9D,EAAMpT,KAAKwqD,WAAYxqD,OAGrD6oE,eAAehtE,UAAUwxE,WAAa,SAAUj6D,GAC5C,OAAO,IAAIk9D,cAAcl9D,EAAMpT,KAAKwqD,WAAYxqD,OAGpD6oE,eAAehtE,UAAUmxE,YAAc,SAAU55D,GAC7C,OAAO,IAAIm9D,eAAen9D,EAAMpT,KAAKwqD,WAAYxqD,OAGrD6oE,eAAehtE,UAAUoxE,WAAa,SAAU75D,GAC5C,OAAO,IAAIo9D,cAAcp9D,EAAMpT,KAAKwqD,WAAYxqD,OAGpD6oE,eAAehtE,UAAUqxE,YAAc,SAAU95D,GAC7C,OAAO,IAAIq9D,eAAer9D,EAAMpT,KAAKwqD,WAAYxqD,OAGrD6oE,eAAehtE,UAAUsxE,WAAa7F,YAAYzrE,UAAUsxE,WAE5DtE,eAAehtE,UAAU60E,aAAe,SAAS3zC,GAC7C,GAAgB,IAAbA,EAAM,IAAyB,IAAbA,EAAM,IAAyB,IAAbA,EAAM,IAAyB,IAAbA,EAAM,IAA0B,IAAdA,EAAM,KAA2B,IAAdA,EAAM,IAGpG,GAAI/8B,KAAKgoE,aAAac,YAAtB,CAIA9oE,KAAKspE,aAAax3B,eAAe/U,GACjC,IAAI4zC,EAAS3wE,KAAKopE,YAAYwH,IAAI7zC,MAClC/8B,KAAKspE,aAAa75B,UAAUkhC,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,IAAIA,EAAO,IAAIA,EAAO,IAAIA,EAAO,IAAIA,EAAO,IAAIA,EAAO,KAE9L3wE,KAAKopE,YAAYwH,IAAI9+B,eAAe9xC,KAAKspE,aAAavsC,OACtD,IAAI8zC,EAAU7wE,KAAKopE,YAAYwH,IAAI7zC,MACnC/8B,KAAK8wE,cAAczhC,aAAawhC,EAAQ,GAAGA,EAAQ,GAAGA,EAAQ,GAAGA,EAAQ,GAAGA,EAAQ,IAAIA,EAAQ,UAT5F7wE,KAAK8wE,cAAcrhC,UAAU1S,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,IAAIA,EAAM,MAYzF8rC,eAAehtE,UAAUk1E,WAAa,SAAS1Y,GAI3C,IAAIr4D,KAAKgoE,aAAac,YAGlB,OAFA9oE,KAAK8wE,cAAcE,aAAe3Y,EAAK,EAAI,EAAIA,OAC/Cr4D,KAAKwqD,WAAW2e,mBAAqBnpE,KAAKopE,YAAY6H,IAG1DjxE,KAAKopE,YAAY6H,IAAM5Y,EAAK,EAAI,EAAIA,EACjCr4D,KAAKwqD,WAAW2e,qBAAuBnpE,KAAKopE,YAAY6H,KACvDjxE,KAAK8wE,cAAcE,YAAchxE,KAAKopE,YAAY6H,GAClDjxE,KAAKwqD,WAAW2e,mBAAqBnpE,KAAKopE,YAAY6H,KAI9DpI,eAAehtE,UAAUuyC,MAAQ,WACzBpuC,KAAKgoE,aAAac,YAItB9oE,KAAKopE,YAAYh7B,QAHbpuC,KAAK8wE,cAAcI,WAM3BrI,eAAehtE,UAAUs1E,KAAO,SAASC,GACrC,GAAIpxE,KAAKgoE,aAAac,YAAtB,CAIGsI,GACCpxE,KAAK8wE,cAAcK,OAEvB,IAAIp0C,EAAQ/8B,KAAKopE,YAAYwH,IAAI7zC,MAC9B/8B,KAAKopE,YAAY5tB,SAAWx7C,KAAKopE,YAAYiI,SAC5CrxE,KAAKopE,YAAYkI,YAErB,IAAIr0E,EAAGF,EAAMiD,KAAKopE,YAAYmI,MAAMvxE,KAAKopE,YAAYiI,SACrD,IAAKp0E,EAAI,EAAGA,EAAI,GAAIA,GAAK,EACrBF,EAAIE,GAAK8/B,EAAM9/B,GAEnB+C,KAAKopE,YAAYoI,QAAQxxE,KAAKopE,YAAYiI,SAAWrxE,KAAKopE,YAAY6H,GACtEjxE,KAAKopE,YAAYiI,SAAW,OAfxBrxE,KAAK8wE,cAAcK,QAkB3BtI,eAAehtE,UAAUq1E,QAAU,SAASE,GACxC,GAAIpxE,KAAKgoE,aAAac,YAAtB,CAIGsI,IACCpxE,KAAK8wE,cAAcI,UACnBlxE,KAAKwqD,WAAWinB,UAAY,eAEhCzxE,KAAKopE,YAAYiI,SAAW,EAC5B,IACIp0E,EADAy0E,EAAS1xE,KAAKopE,YAAYmI,MAAMvxE,KAAKopE,YAAYiI,SAC/Ct0E,EAAMiD,KAAKopE,YAAYwH,IAAI7zC,MACjC,IAAI9/B,EAAE,EAAEA,EAAE,GAAGA,GAAG,EACZF,EAAIE,GAAKy0E,EAAOz0E,GAEpB+C,KAAK8wE,cAAczhC,aAAaqiC,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,GAAGA,EAAO,IAAIA,EAAO,KAC1FA,EAAS1xE,KAAKopE,YAAYoI,QAAQxxE,KAAKopE,YAAYiI,SACnDrxE,KAAKopE,YAAY6H,GAAKS,EACnB1xE,KAAKwqD,WAAW2e,qBAAuBuI,IACtC1xE,KAAK8wE,cAAcE,YAAcU,EACjC1xE,KAAKwqD,WAAW2e,mBAAqBuI,QAlBrC1xE,KAAK8wE,cAAcI,WAsB3BrI,eAAehtE,UAAU2zE,gBAAkB,SAASd,GAC7C1uE,KAAKunE,cAAc0B,SAClBjpE,KAAKunE,cAAchqC,UAAYuP,UAAU,UACzC9sC,KAAKunE,cAAchqC,UAAUjM,MAAMuN,MAAQ,OAC3C7+B,KAAKunE,cAAchqC,UAAUjM,MAAMwN,OAAS,OAG5C9+B,KAAKunE,cAAchqC,UAAUjM,MAAMqY,gBAAkB3pC,KAAKunE,cAAchqC,UAAUjM,MAAMqgD,mBAAqB3xE,KAAKunE,cAAchqC,UAAUjM,MAAMsY,sBAAwB5pC,KAAKunE,cAAchqC,UAAUjM,MAAM,qBAAuB,cAClOtxB,KAAKunE,cAAc0B,QAAQz3C,YAAYxxB,KAAKunE,cAAchqC,WAC1Dv9B,KAAK8wE,cAAgB9wE,KAAKunE,cAAchqC,UAAU2lB,WAAW,MAC1DljD,KAAKgoE,aAAaO,WACjBvoE,KAAKunE,cAAchqC,UAAUqlB,aAAa,QAAS5iD,KAAKgoE,aAAaO,WAEtEvoE,KAAKgoE,aAAax3C,IACjBxwB,KAAKunE,cAAchqC,UAAUqlB,aAAa,KAAM5iD,KAAKgoE,aAAax3C,KAGtExwB,KAAK8wE,cAAgB9wE,KAAKgoE,aAAae,QAE3C/oE,KAAKoT,KAAOs7D,EACZ1uE,KAAKs+C,OAASowB,EAASpwB,OACvBt+C,KAAK4xE,gBAAkB,CACnB1/D,EAAGw8D,EAASx8D,EACZjG,EAAEyiE,EAASziE,EACX4iC,GAAG,EACHC,GAAG,EACHQ,GAAG,EACHC,GAAG,GAEPvvC,KAAKyuE,gBAAgBC,EAAU/8C,SAASwwB,MACxCniD,KAAKwqD,WAAWsmB,cAAgB9wE,KAAK8wE,cACrC9wE,KAAKwqD,WAAW/sB,SAAWz9B,KAC3BA,KAAKwqD,WAAWqnB,UAAW,EAC3B7xE,KAAKwqD,WAAW2d,gBAAkBnoE,KAAKgoE,aAAaG,gBACpDnoE,KAAKwqD,WAAWonB,gBAAkB5xE,KAAK4xE,gBACvC5xE,KAAKi3D,SAAWluB,iBAAiB2lC,EAASpwB,OAAO9hD,QAEjDwD,KAAK0vE,uBAGT7G,eAAehtE,UAAU6zE,oBAAsB,WAE3C,IAAIoC,EAAaC,EAUbC,EAAWC,EACf,GAZAjyE,KAAKouC,QAEFpuC,KAAKunE,cAAc0B,SAAWjpE,KAAKunE,cAAchqC,WAChDu0C,EAAe9xE,KAAKunE,cAAc0B,QAAQ7mB,YAC1C2vB,EAAgB/xE,KAAKunE,cAAc0B,QAAQiJ,aAC3ClyE,KAAKunE,cAAchqC,UAAUqlB,aAAa,QAAQkvB,EAAe9xE,KAAKgoE,aAAagB,KACnFhpE,KAAKunE,cAAchqC,UAAUqlB,aAAa,SAASmvB,EAAgB/xE,KAAKgoE,aAAagB,OAErF8I,EAAe9xE,KAAK8wE,cAAcxW,OAAOz7B,MAAQ7+B,KAAKgoE,aAAagB,IACnE+I,EAAgB/xE,KAAK8wE,cAAcxW,OAAOx7B,OAAS9+B,KAAKgoE,aAAagB,MAGX,IAA3DhpE,KAAKgoE,aAAaC,oBAAoBl/D,QAAQ,UAA8E,IAA5D/I,KAAKgoE,aAAaC,oBAAoBl/D,QAAQ,SAAgB,CAC7H,IAAIopE,EAAMnyE,KAAKgoE,aAAaC,oBAAoBl+D,MAAM,KAClDqoE,EAAWD,EAAI,IAAM,OACrB5hE,EAAM4hE,EAAI,IAAM,WAChBvR,EAAOrwD,EAAI/M,OAAO,EAAE,GACpBq9D,EAAOtwD,EAAI/M,OAAO,GACtBwuE,EAAaF,EAAaC,GAC1BE,EAAejyE,KAAK4xE,gBAAgB1/D,EAAElS,KAAK4xE,gBAAgB3lE,GAC3C+lE,GAA2B,SAAbI,GAAuBH,EAAaD,GAA2B,UAAbI,GAC5EpyE,KAAK4xE,gBAAgB/iC,GAAKijC,GAAc9xE,KAAK4xE,gBAAgB1/D,EAAElS,KAAKgoE,aAAagB,KACjFhpE,KAAK4xE,gBAAgB9iC,GAAKgjC,GAAc9xE,KAAK4xE,gBAAgB1/D,EAAElS,KAAKgoE,aAAagB,OAEjFhpE,KAAK4xE,gBAAgB/iC,GAAKkjC,GAAe/xE,KAAK4xE,gBAAgB3lE,EAAIjM,KAAKgoE,aAAagB,KACpFhpE,KAAK4xE,gBAAgB9iC,GAAKijC,GAAe/xE,KAAK4xE,gBAAgB3lE,EAAIjM,KAAKgoE,aAAagB,MAIpFhpE,KAAK4xE,gBAAgBtiC,GADb,SAATsxB,IAAqBqR,EAAaD,GAAyB,SAAXI,GAAuBH,EAAaD,GAA2B,UAAbI,IACtEN,EAAa9xE,KAAK4xE,gBAAgB1/D,GAAG6/D,EAAc/xE,KAAK4xE,gBAAgB3lE,IAAI,EAAEjM,KAAKgoE,aAAagB,IAC5G,SAATpI,IAAqBqR,EAAaD,GAAyB,SAAXI,GAAuBH,EAAaD,GAA2B,UAAbI,IAC7EN,EAAa9xE,KAAK4xE,gBAAgB1/D,GAAG6/D,EAAc/xE,KAAK4xE,gBAAgB3lE,IAAIjM,KAAKgoE,aAAagB,IAE/F,EAG1BhpE,KAAK4xE,gBAAgBriC,GADb,SAATsxB,IAAqBoR,EAAaD,GAAyB,SAAXI,GAAuBH,EAAaD,GAA2B,UAAbI,IACrEL,EAAc/xE,KAAK4xE,gBAAgB3lE,GAAG6lE,EAAa9xE,KAAK4xE,gBAAgB1/D,IAAI,EAAGlS,KAAKgoE,aAAagB,IAC9G,SAATnI,IAAqBoR,EAAaD,GAAyB,SAAXI,GAAuBH,EAAaD,GAA2B,UAAbI,IAC5EL,EAAc/xE,KAAK4xE,gBAAgB3lE,GAAG6lE,EAAa9xE,KAAK4xE,gBAAgB1/D,IAAKlS,KAAKgoE,aAAagB,IAEjG,MAGgB,QAAzChpE,KAAKgoE,aAAaC,qBACvBjoE,KAAK4xE,gBAAgB/iC,GAAKijC,GAAc9xE,KAAK4xE,gBAAgB1/D,EAAElS,KAAKgoE,aAAagB,KACjFhpE,KAAK4xE,gBAAgB9iC,GAAKijC,GAAe/xE,KAAK4xE,gBAAgB3lE,EAAEjM,KAAKgoE,aAAagB,KAClFhpE,KAAK4xE,gBAAgBtiC,GAAK,EAC1BtvC,KAAK4xE,gBAAgBriC,GAAK,IAE1BvvC,KAAK4xE,gBAAgB/iC,GAAK7uC,KAAKgoE,aAAagB,IAC5ChpE,KAAK4xE,gBAAgB9iC,GAAK9uC,KAAKgoE,aAAagB,IAC5ChpE,KAAK4xE,gBAAgBtiC,GAAK,EAC1BtvC,KAAK4xE,gBAAgBriC,GAAK,GAE9BvvC,KAAK4xE,gBAAgB70C,MAAQ,CAAC/8B,KAAK4xE,gBAAgB/iC,GAAG,EAAE,EAAE,EAAE,EAAE7uC,KAAK4xE,gBAAgB9iC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE9uC,KAAK4xE,gBAAgBtiC,GAAGtvC,KAAK4xE,gBAAgBriC,GAAG,EAAE,GAOpJvvC,KAAK0wE,aAAa1wE,KAAK4xE,gBAAgB70C,OACvC/8B,KAAK8wE,cAAcuB,YACnBryE,KAAK8wE,cAAchH,KAAK,EAAE,EAAE9pE,KAAK4xE,gBAAgB1/D,EAAElS,KAAK4xE,gBAAgB3lE,GACxEjM,KAAK8wE,cAAcwB,YACnBtyE,KAAK8wE,cAAcyB,OAEnBvyE,KAAK8vE,YAAY9vE,KAAK+pD,eAAe,IAGzC8e,eAAehtE,UAAUiiC,QAAU,WAI/B,IAAI7gC,EACJ,IAJG+C,KAAKgoE,aAAac,cACjB9oE,KAAKunE,cAAc0B,QAAQpnB,UAAY,IAGtC5kD,GADQ+C,KAAKs+C,OAASt+C,KAAKs+C,OAAO9hD,OAAS,GACjC,EAAGS,GAAK,EAAGA,GAAG,EACtB+C,KAAKi3D,SAASh6D,IACb+C,KAAKi3D,SAASh6D,GAAG6gC,UAGzB99B,KAAKi3D,SAASz6D,OAAS,EACvBwD,KAAKwqD,WAAWsmB,cAAgB,KAChC9wE,KAAKunE,cAAchqC,UAAY,KAC/Bv9B,KAAK2oE,WAAY,GAGrBE,eAAehtE,UAAUi0E,YAAc,SAAS74C,EAAKw1B,GACjD,IAAIzsD,KAAK+pD,gBAAkB9yB,IAAyC,IAAlCj3B,KAAKgoE,aAAac,aAAyBrc,KAAgBzsD,KAAK2oE,YAAsB,IAAT1xC,EAA/G,CAGAj3B,KAAK+pD,cAAgB9yB,EACrBj3B,KAAKwqD,WAAWtE,SAAWjvB,EAAMj3B,KAAKunE,cAAc3c,cACpD5qD,KAAKwqD,WAAWC,SAAW,EAC3BzqD,KAAKwqD,WAAWpd,MAAQptC,KAAKgoE,aAAac,aAAerc,EACzDzsD,KAAKwqD,WAAWqjB,iBAAiBkC,aAAe94C,EAIhD,IAAIh6B,EAAGgD,EAAMD,KAAKs+C,OAAO9hD,OAKzB,IAJIwD,KAAKq+C,gBACLr+C,KAAK0sE,YAAYz1C,GAGhBh6B,EAAI,EAAGA,EAAIgD,EAAKhD,KACd+C,KAAKq+C,gBAAkBr+C,KAAKi3D,SAASh6D,KACpC+C,KAAKi3D,SAASh6D,GAAG+yE,aAAa/4C,EAAMj3B,KAAKs+C,OAAOrhD,GAAGouD,IAG3D,GAAGrrD,KAAKwqD,WAAWpd,KAAM,CAMrB,KALqC,IAAlCptC,KAAKgoE,aAAac,YACjB9oE,KAAK8wE,cAAc0B,UAAU,EAAG,EAAGxyE,KAAK4xE,gBAAgB1/D,EAAGlS,KAAK4xE,gBAAgB3lE,GAEhFjM,KAAKmxE,OAEJl0E,EAAIgD,EAAM,EAAGhD,GAAK,EAAGA,GAAG,GACtB+C,KAAKq+C,gBAAkBr+C,KAAKi3D,SAASh6D,KACpC+C,KAAKi3D,SAASh6D,GAAG6yE,eAGY,IAAlC9vE,KAAKgoE,aAAac,aACjB9oE,KAAKkxE,aAKjBrI,eAAehtE,UAAU+wE,UAAY,SAASr8D,GAC1C,IAAI0mD,EAAWj3D,KAAKi3D,SACpB,IAAGA,EAAS1mD,IAA+B,IAAvBvQ,KAAKs+C,OAAO/tC,GAAKg/B,GAArC,CAGA,IAAIhG,EAAUvpC,KAAK8sE,WAAW9sE,KAAKs+C,OAAO/tC,GAAMvQ,KAAKA,KAAKwqD,YAC1DyM,EAAS1mD,GAAOg5B,EAChBA,EAAQglC,oBAMZ1F,eAAehtE,UAAUgxE,qBAAwB,WAC7C,KAAM7sE,KAAK0oE,gBAAgBlsE,QAAO,CAChBwD,KAAK0oE,gBAAgBlU,MAC3Bqb,mBAIhBhH,eAAehtE,UAAU+xB,KAAO,WAC5B5tB,KAAKunE,cAAchqC,UAAUjM,MAAMC,QAAU,QAGjDs3C,eAAehtE,UAAUu0E,KAAO,WAC5BpwE,KAAKunE,cAAchqC,UAAUjM,MAAMC,QAAU,SAiCjD6mB,gBAAgB,CAACivB,cAAckC,gBAE/BA,eAAe1tE,UAAU+wE,UAAYtF,YAAYzrE,UAAU+wE,UAE3DrD,eAAe1tE,UAAUgxE,qBAAwB,WAC7C,KAAM7sE,KAAK0oE,gBAAgBlsE,QAAO,CAChBwD,KAAK0oE,gBAAgBlU,MAC3Bqb,mBAIhBtG,eAAe1tE,UAAU8zE,mBAAqB,SAASpmC,EAASh5B,GAC5D,IAAIkiE,EAAgBlpC,EAAQ0mC,iBAC5B,GAAIwC,EAAJ,CAGA,IAAI1F,EAAQ/sE,KAAKs+C,OAAO/tC,GACxB,GAAIw8D,EAAM2F,KAAQ1yE,KAAK0pE,WA0BnB1pE,KAAK2yE,iBAAiBF,EAAcliE,QAzBpC,GAAGvQ,KAAKwpE,eACJxpE,KAAK2yE,iBAAiBF,EAAcliE,OACjC,CAGH,IAFA,IACIqiE,EAAgBC,EADhB51E,EAAI,EAEFA,EAAEsT,GACDvQ,KAAKi3D,SAASh6D,KAA0B,IAApB+C,KAAKi3D,SAASh6D,IAAc+C,KAAKi3D,SAASh6D,GAAGgzE,iBAChE4C,EAAY7yE,KAAKi3D,SAASh6D,GAE1B21E,GADgB5yE,KAAKs+C,OAAOrhD,GAAGy1E,IAAM1yE,KAAK8yE,wBAAwB71E,GAAK41E,EAAU5C,mBAC/C2C,GAEtC31E,GAAK,EAEN21E,EACK7F,EAAM2F,KAAQ1yE,KAAK0pE,YACnB1pE,KAAK+nE,aAAaoI,aAAasC,EAAeG,GAG9C7F,EAAM2F,KAAQ1yE,KAAK0pE,YACnB1pE,KAAK+nE,aAAav2C,YAAYihD,MAUlDlJ,eAAe1tE,UAAUuxE,YAAc,SAAUh6D,GAC7C,OAAIpT,KAAK0pE,WAGF,IAAIqJ,cAAc3/D,EAAMpT,KAAKwqD,WAAYxqD,MAFrC,IAAImvE,gBAAgB/7D,EAAMpT,KAAKwqD,WAAYxqD,OAK1DupE,eAAe1tE,UAAUwxE,WAAa,SAAUj6D,GAC5C,OAAIpT,KAAK0pE,WAGF,IAAIsJ,aAAa5/D,EAAMpT,KAAKwqD,WAAYxqD,MAFpC,IAAIovE,eAAeh8D,EAAMpT,KAAKwqD,WAAYxqD,OAKzDupE,eAAe1tE,UAAUyxE,aAAe,SAAUl6D,GAE9C,OADApT,KAAKypE,OAAS,IAAIwJ,eAAe7/D,EAAMpT,KAAKwqD,WAAYxqD,MACjDA,KAAKypE,QAGhBF,eAAe1tE,UAAUmxE,YAAc,SAAU55D,GAC7C,OAAIpT,KAAK0pE,WAGF,IAAIwJ,cAAc9/D,EAAMpT,KAAKwqD,WAAYxqD,MAFrC,IAAIqvE,cAAcj8D,EAAMpT,KAAKwqD,WAAYxqD,OAKxDupE,eAAe1tE,UAAUoxE,WAAa,SAAU75D,GAC5C,OAAIpT,KAAK0pE,WAGF,IAAIyJ,aAAa//D,EAAMpT,KAAKwqD,WAAYxqD,MAFpC,IAAIsvE,eAAel8D,EAAMpT,KAAKwqD,WAAYxqD,OAMzDupE,eAAe1tE,UAAUqxE,YAAc,SAAU95D,GAC7C,OAAIpT,KAAK0pE,WAGF,IAAI0J,cAAchgE,EAAMpT,KAAKwqD,WAAYxqD,MAFrC,IAAIuvE,cAAcn8D,EAAMpT,KAAKwqD,WAAYxqD,OAKxDupE,eAAe1tE,UAAUsxE,WAAa7F,YAAYzrE,UAAUsxE,WAE5D5D,eAAe1tE,UAAUi3E,wBAA0B,SAASviE,GAExD,IADA,IAAItT,EAAI,EAAGgD,EAAMD,KAAKwpE,eAAehtE,OAC/BS,EAAEgD,GAAK,CACT,GAAGD,KAAKwpE,eAAevsE,GAAGo2E,UAAY9iE,GAAOvQ,KAAKwpE,eAAevsE,GAAGq2E,QAAU/iE,EAC1E,OAAOvQ,KAAKwpE,eAAevsE,GAAGs2E,gBAElCt2E,GAAK,IAIbssE,eAAe1tE,UAAU23E,sBAAwB,SAASjjE,EAAKwd,GAC3D,IAAIwlD,EAAkBzmC,UAAU,OAChCxD,SAASiqC,GACT,IAAIh2C,EAAYuP,UAAU,OAC1BxD,SAAS/L,GACG,OAATxP,IACCwlD,EAAgBjiD,MAAMuN,MAAQ7+B,KAAKwqD,WAAWykB,SAAS/8D,EAAE,KACzDqhE,EAAgBjiD,MAAMwN,OAAS9+B,KAAKwqD,WAAWykB,SAAShjE,EAAE,KAC1DsnE,EAAgBjiD,MAAMqY,gBAAkB4pC,EAAgBjiD,MAAMqgD,mBAAqB4B,EAAgBjiD,MAAMsY,sBAAwB,UACjIrM,EAAUjM,MAAMme,UAAYlS,EAAUjM,MAAMmiD,gBAAkB,6CAGlEF,EAAgB/hD,YAAY+L,GAE5B,IAAIm2C,EAAsB,CACtBn2C,UAAUA,EACVg2C,gBAAgBA,EAChBF,SAAU9iE,EACV+iE,OAAQ/iE,EACRwd,KAAMA,GAGV,OADA/tB,KAAKwpE,eAAersE,KAAKu2E,GAClBA,GAGXnK,eAAe1tE,UAAU83E,kBAAoB,WACzC,IAAI12E,EACA22E,EADG3zE,EAAMD,KAAKs+C,OAAO9hD,OAErBq3E,EAAmB,GACvB,IAAI52E,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACV+C,KAAKs+C,OAAOrhD,GAAGy1E,KAA6B,IAAtB1yE,KAAKs+C,OAAOrhD,GAAGsyC,IACZ,OAArBskC,IACCA,EAAmB,KACnBD,EAA0B5zE,KAAKwzE,sBAAsBv2E,EAAE,OAE3D22E,EAAwBN,OAASnwE,KAAKI,IAAIqwE,EAAwBN,OAAOr2E,KAEjD,OAArB42E,IACCA,EAAmB,KACnBD,EAA0B5zE,KAAKwzE,sBAAsBv2E,EAAE,OAE3D22E,EAAwBN,OAASnwE,KAAKI,IAAIqwE,EAAwBN,OAAOr2E,IAIjF,IAAIA,GADJgD,EAAMD,KAAKwpE,eAAehtE,QACZ,EAAGS,GAAK,EAAGA,IACrB+C,KAAK8zE,YAAYtiD,YAAYxxB,KAAKwpE,eAAevsE,GAAGs2E,kBAI5DhK,eAAe1tE,UAAU82E,iBAAmB,SAASpoB,EAAKh6C,GAEtD,IADA,IAAItT,EAAI,EAAGgD,EAAMD,KAAKwpE,eAAehtE,OAC/BS,EAAEgD,GAAI,CACR,GAAGsQ,GAAOvQ,KAAKwpE,eAAevsE,GAAGq2E,OAAO,CAGpC,IAFA,IACIpD,EADAt8D,EAAI5T,KAAKwpE,eAAevsE,GAAGo2E,SAEzBz/D,EAAErD,GACDvQ,KAAKi3D,SAASrjD,IAAM5T,KAAKi3D,SAASrjD,GAAGq8D,iBACpCC,EAAclwE,KAAKi3D,SAASrjD,GAAGq8D,kBAEnCr8D,GAAK,EAENs8D,EACClwE,KAAKwpE,eAAevsE,GAAGsgC,UAAU4yC,aAAa5lB,EAAM2lB,GAEpDlwE,KAAKwpE,eAAevsE,GAAGsgC,UAAU/L,YAAY+4B,GAEjD,MAEJttD,GAAK,IAIbssE,eAAe1tE,UAAU2zE,gBAAkB,SAASd,GAChD,IAAIoF,EAAchnC,UAAU,OACxBm8B,EAAUjpE,KAAKunE,cAAc0B,QACjC6K,EAAYxiD,MAAMuN,MAAQ6vC,EAASx8D,EAAE,KACrC4hE,EAAYxiD,MAAMwN,OAAS4vC,EAASziE,EAAE,KACtCjM,KAAK8zE,YAAcA,EACnBxqC,SAASwqC,GACTA,EAAYxiD,MAAMyY,eAAiB+pC,EAAYxiD,MAAM0Y,qBAAuB8pC,EAAYxiD,MAAM2Y,kBAAoB,OAC/GjqC,KAAKgoE,aAAaO,WACnBuL,EAAYlxB,aAAa,QAAS5iD,KAAKgoE,aAAaO,WAEtDU,EAAQz3C,YAAYsiD,GAEpBA,EAAYxiD,MAAMpzB,SAAW,SAC7B,IAAI61E,EAAMnnC,SAAS,OACnBmnC,EAAInxB,aAAa,QAAQ,KACzBmxB,EAAInxB,aAAa,SAAS,KAC1BtZ,SAASyqC,GACT/zE,KAAK8zE,YAAYtiD,YAAYuiD,GAC7B,IAAI9vB,EAAOrX,SAAS,QACpBmnC,EAAIviD,YAAYyyB,GAChBjkD,KAAKoT,KAAOs7D,EAEZ1uE,KAAKyuE,gBAAgBC,EAAUqF,GAC/B/zE,KAAKwqD,WAAWvG,KAAOA,EACvBjkD,KAAKs+C,OAASowB,EAASpwB,OACvBt+C,KAAK+nE,aAAe/nE,KAAK8zE,YACzB9zE,KAAK2zE,oBACL3zE,KAAK0vE,uBAGTnG,eAAe1tE,UAAUiiC,QAAU,WAC/B99B,KAAKunE,cAAc0B,QAAQpnB,UAAY,GACvC7hD,KAAKunE,cAAchqC,UAAY,KAC/Bv9B,KAAKwqD,WAAWvG,KAAO,KACvB,IAAIhnD,EAAGgD,EAAMD,KAAKs+C,OAASt+C,KAAKs+C,OAAO9hD,OAAS,EAChD,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,IACjB+C,KAAKi3D,SAASh6D,GAAG6gC,UAErB99B,KAAKi3D,SAASz6D,OAAS,EACvBwD,KAAK2oE,WAAY,EACjB3oE,KAAKunE,cAAgB,MAGzBgC,eAAe1tE,UAAU6zE,oBAAsB,WAC3C,IAII7gC,EAAGC,EAAGQ,EAAGC,EAJTuiC,EAAe9xE,KAAKunE,cAAc0B,QAAQ7mB,YAC1C2vB,EAAgB/xE,KAAKunE,cAAc0B,QAAQiJ,aAC3CF,EAAaF,EAAaC,EACX/xE,KAAKwqD,WAAWykB,SAAS/8D,EAAElS,KAAKwqD,WAAWykB,SAAShjE,EAEvD+lE,GACZnjC,EAAKijC,EAAc9xE,KAAKwqD,WAAWykB,SAAU,EAC7CngC,EAAKgjC,EAAc9xE,KAAKwqD,WAAWykB,SAAU,EAC7C3/B,EAAK,EACLC,GAAOwiC,EAAc/xE,KAAKwqD,WAAWykB,SAAShjE,GAAG6lE,EAAa9xE,KAAKwqD,WAAWykB,SAAS/8D,IAAI,IAE3F28B,EAAKkjC,EAAe/xE,KAAKwqD,WAAWykB,SAAU,EAC9CngC,EAAKijC,EAAe/xE,KAAKwqD,WAAWykB,SAAU,EAC9C3/B,GAAMwiC,EAAa9xE,KAAKwqD,WAAWykB,SAAS/8D,GAAG6/D,EAAc/xE,KAAKwqD,WAAWykB,SAAShjE,IAAI,EAC1FsjC,EAAK,GAETvvC,KAAK8zE,YAAYxiD,MAAMme,UAAYzvC,KAAK8zE,YAAYxiD,MAAMmiD,gBAAkB,YAAc5kC,EAAK,YAAYC,EAAG,gBAAgBQ,EAAG,IAAIC,EAAG,SAG5Ig6B,eAAe1tE,UAAUi0E,YAAcxI,YAAYzrE,UAAUi0E,YAE7DvG,eAAe1tE,UAAU+xB,KAAO,WAC5B5tB,KAAK8zE,YAAYxiD,MAAMC,QAAU,QAGrCg4C,eAAe1tE,UAAUu0E,KAAO,WAC5BpwE,KAAK8zE,YAAYxiD,MAAMC,QAAU,SAGrCg4C,eAAe1tE,UAAUiyE,UAAY,WAEjC,GADA9tE,KAAKwtE,gBACFxtE,KAAKypE,OACJzpE,KAAKypE,OAAOuK,YACT,CACH,IAEI/2E,EAFAg3E,EAASj0E,KAAKwqD,WAAWykB,SAAS/8D,EAClCgiE,EAAUl0E,KAAKwqD,WAAWykB,SAAShjE,EAChChM,EAAMD,KAAKwpE,eAAehtE,OACjC,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb+C,KAAKwpE,eAAevsE,GAAGs2E,gBAAgBjiD,MAAM6iD,YAAcn0E,KAAKwpE,eAAevsE,GAAGs2E,gBAAgBjiD,MAAM8iD,kBAAoBjxE,KAAKklC,KAAKllC,KAAKG,IAAI2wE,EAAO,GAAK9wE,KAAKG,IAAI4wE,EAAQ,IAAM,OAK9L3K,eAAe1tE,UAAUwyE,wBAA0B,SAAShuB,GACxD,IAAIpjD,EAAGgD,EAAMogD,EAAO7jD,OAChB63E,EAAoBvnC,UAAU,OAClC,IAAI7vC,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb,GAAGojD,EAAOpjD,GAAGqxE,GAAG,CACZ,IAAIxkB,EAAO9pD,KAAKitE,WAAW5sB,EAAOpjD,GAAGo3E,EAAkBr0E,KAAKwqD,WAAWV,KAAK,MAC5EA,EAAKykB,kBACLvuE,KAAKwqD,WAAWqjB,iBAAiBW,oBAAoB1kB,KA4IjE6f,YAAY9tE,UAAU6kE,gBAAkB,SAASnwD,GAC7C,OAAOvQ,KAAK4pE,SAASr5D,GAAKhQ,MAG9BopE,YAAY9tE,UAAUi0E,YAAc,SAAUwE,GAC1C,IACIr3E,EADAs3E,EAAWv0E,KAAKupC,QAAQirC,eAAehoB,IACpCvsD,EAAMD,KAAKi/C,gBAAgBziD,OAClC,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,IAOjB,IANG+C,KAAK4pE,SAAS3sE,GAAGsD,KAAK6sC,MAAQknC,IAC7Bt0E,KAAK6qE,SAAS7qE,KAAKi/C,gBAAgBhiD,GAAG+C,KAAK4pE,SAAS3sE,GAAGsD,KAAK8qC,EAAErrC,KAAK4pE,SAAS3sE,KAE7E+C,KAAK4pE,SAAS3sE,GAAGo7D,GAAGjrB,MAAQknC,IAC3Bt0E,KAAK4pE,SAAS3sE,GAAGstD,KAAK3H,aAAa,eAAe5iD,KAAK4pE,SAAS3sE,GAAGo7D,GAAGhtB,GAEtC,MAAjCrrC,KAAKi/C,gBAAgBhiD,GAAG4zB,OACpB7wB,KAAK4pE,SAAS3sE,GAAG2tE,UAAY5qE,KAAKupC,QAAQirC,eAAeC,MAAMrnC,MAAQknC,IACtEt0E,KAAK4pE,SAAS3sE,GAAG2tE,QAAQhoB,aAAa,YAAa2xB,EAASniC,mBAAmBqB,WAEhFzzC,KAAKu6C,WAAWt9C,GAAGqM,IAAMtJ,KAAKu6C,WAAWt9C,GAAGqM,EAAE8jC,MAAQknC,IAAc,CACnE,IAAItK,EAAUhqE,KAAKu6C,WAAWt9C,GAAGotE,MAC9BrqE,KAAKu6C,WAAWt9C,GAAGqM,EAAE+hC,EAAI,GACe,UAApCrrC,KAAKu6C,WAAWt9C,GAAGstE,eAClBvqE,KAAKu6C,WAAWt9C,GAAGstE,aAAe,QAClCvqE,KAAKu6C,WAAWt9C,GAAGstD,KAAK3H,aAAa,SAAS,OAASnb,aAAe,IAAIznC,KAAKu6C,WAAWt9C,GAAGutE,SAAS,MAE1GR,EAAQpnB,aAAa,UAAU5iD,KAAKu6C,WAAWt9C,GAAGqM,EAAE+hC,KAEb,WAApCrrC,KAAKu6C,WAAWt9C,GAAGstE,eAClBvqE,KAAKu6C,WAAWt9C,GAAGstE,aAAe,SAClCvqE,KAAKu6C,WAAWt9C,GAAGstD,KAAK3H,aAAa,SAAS,OAElD5iD,KAAKu6C,WAAWt9C,GAAGstD,KAAK3H,aAAa,eAAuC,EAAvB5iD,KAAKu6C,WAAWt9C,GAAGqM,EAAE+hC,MAQ9Fs+B,YAAY9tE,UAAU64E,eAAiB,WACnC,OAAO10E,KAAK8nE,aAGhB6B,YAAY9tE,UAAU6uE,qBAAuB,WACzC,IAAI/qB,EAAO,QAKX,OAJAA,GAAQ,KAAO3/C,KAAKwqD,WAAWykB,SAAS/8D,EACxCytC,GAAQ,KAAO3/C,KAAKwqD,WAAWykB,SAAShjE,EACxC0zC,GAAQ,MAAQ3/C,KAAKwqD,WAAWykB,SAAS/8D,EACzCytC,GAAQ,MAAQ3/C,KAAKwqD,WAAWykB,SAAShjE,EAAI,KAIjD09D,YAAY9tE,UAAUgvE,SAAW,SAASrqB,EAASgY,EAAUoR,GACzD,IACI3sE,EAAGgD,EADH00E,EAAa,KAAKnc,EAAUntB,EAAE,GAAG,GAAG,IAAImtB,EAAUntB,EAAE,GAAG,GAG3D,IADAprC,EAAMu4D,EAAUhd,QACZv+C,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EAEb03E,GAAc,KAAKnc,EAAUhvD,EAAEvM,EAAE,GAAG,GAAG,IAAIu7D,EAAUhvD,EAAEvM,EAAE,GAAG,GAAK,IAAIu7D,EAAUv7D,EAAEA,GAAG,GAAG,IAAIu7D,EAAUv7D,EAAEA,GAAG,GAAK,IAAIu7D,EAAUntB,EAAEpuC,GAAG,GAAG,IAAIu7D,EAAUntB,EAAEpuC,GAAG,GAQ5J,GALGu7D,EAAUrhD,GAAKlX,EAAM,IACpB00E,GAAc,KAAKnc,EAAUhvD,EAAEvM,EAAE,GAAG,GAAG,IAAIu7D,EAAUhvD,EAAEvM,EAAE,GAAG,GAAK,IAAIu7D,EAAUv7D,EAAE,GAAG,GAAG,IAAIu7D,EAAUv7D,EAAE,GAAG,GAAK,IAAIu7D,EAAUntB,EAAE,GAAG,GAAG,IAAImtB,EAAUntB,EAAE,GAAG,IAIzJu+B,EAASU,WAAaqK,EAAW,CAChC,IAAIC,EAAiB,GAClBhL,EAASrf,OACLiO,EAAUrhD,IACTy9D,EAAiBp0B,EAASgW,IAAMx2D,KAAK6pE,UAAY8K,EAAaA,GAElE/K,EAASrf,KAAK3H,aAAa,IAAIgyB,IAEnChL,EAASU,SAAWqK,IAI5BhL,YAAY9tE,UAAUiiC,QAAU,WAC5B99B,KAAKupC,QAAU,KACfvpC,KAAKwqD,WAAa,KAClBxqD,KAAK8nE,YAAc,KACnB9nE,KAAKoT,KAAO,KACZpT,KAAKi/C,gBAAkB,MAW3B+rB,iBAAiBnvE,UAAY,CAM5Bg5E,cAAe,WAEX70E,KAAKiuE,UAAY,GAEjBjuE,KAAK80E,WAAY,EACjB90E,KAAK6vE,kBAST1B,aAAc,SAASF,GACnBjuE,KAAKiuE,UAAYA,GAOrBC,YAAa,WACTluE,KAAK80E,WAAY,GAOrBjF,eAAgB,gBACapwE,IAArBO,KAAKoT,KAAKovC,QACVxiD,KAAK8pD,KAAKikB,sBAAsB/tE,KAAMA,KAAKoT,KAAKovC,OAAQ,MAajEyoB,aAAapvE,UAAY,CAMrBkqD,UAAW,WAEP/lD,KAAK4qD,eAAgB,EAErB5qD,KAAKitC,kBAAoB,GAEzBjtC,KAAKotC,MAAO,GAYhB2nC,kBAAmB,SAAS99C,EAAK+9C,GAC7B,IAAI/3E,EAAGgD,EAAMD,KAAKitC,kBAAkBzwC,OACpC,IAAKS,EAAI,EAAEA,EAAIgD,EAAKhD,GAAK,GACjB+3E,GAAch1E,KAAK80E,WAAoD,cAAvC90E,KAAKitC,kBAAkBhwC,GAAGqpD,YAC1DtmD,KAAKitC,kBAAkBhwC,GAAGowC,WACtBrtC,KAAKitC,kBAAkBhwC,GAAGmwC,OAC1BptC,KAAKwqD,WAAWpd,MAAO,EACvBptC,KAAKotC,MAAO,KAK5BJ,mBAAoB,SAASzsC,IACoB,IAA1CP,KAAKitC,kBAAkBlkC,QAAQxI,IAC9BP,KAAKitC,kBAAkB9vC,KAAKoD,KAMxC2qE,iBAAiBrvE,UAAY,CACzBo5E,cAAe,WACXj1E,KAAKw0E,eAAiB,CAClBC,MAAOz0E,KAAKoT,KAAKssC,GAAK+L,yBAAyByB,qBAAqBltD,KAAMA,KAAKoT,KAAKssC,GAAI1/C,MAAQ,CAACwJ,EAAE,GACnG0rE,SAAS,EACTC,QAAQ,EACR3oB,IAAK,IAAI5e,QAET5tC,KAAKoT,KAAKgiE,KACVp1E,KAAKw0E,eAAeC,MAAM9nB,cAAe,GAIzC3sD,KAAKoT,KAAKm8B,IAIlB8lC,gBAAiB,WAKb,GAHAr1E,KAAKw0E,eAAeW,OAASn1E,KAAKw0E,eAAeC,MAAMjrE,EAAE4jC,MAAQptC,KAAK4qD,cACtE5qD,KAAKw0E,eAAeU,QAAUl1E,KAAKw0E,eAAeC,MAAMrnC,MAAQptC,KAAK4qD,cAEjE5qD,KAAKiuE,UAAW,CAChB,IAAIzhB,EACA+nB,EAAWv0E,KAAKw0E,eAAehoB,IAC/BvvD,EAAI,EAAGgD,EAAMD,KAAKiuE,UAAUzxE,OAEhC,IAAKwD,KAAKw0E,eAAeU,QACrB,KAAOj4E,EAAIgD,GAAK,CACZ,GAAID,KAAKiuE,UAAUhxE,GAAGu3E,eAAeC,MAAMrnC,KAAM,CAC7CptC,KAAKw0E,eAAeU,SAAU,EAC9B,MAEJj4E,GAAK,EAIb,GAAI+C,KAAKw0E,eAAeU,QAGpB,IAFA1oB,EAAMxsD,KAAKw0E,eAAeC,MAAMppC,EAAEtO,MAClCw3C,EAASziC,eAAe0a,GACnBvvD,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACtBuvD,EAAMxsD,KAAKiuE,UAAUhxE,GAAGu3E,eAAeC,MAAMppC,EAAEtO,MAC/Cw3C,EAAS9kC,UAAU+c,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,IAAKA,EAAI,IAAKA,EAAI,IAAKA,EAAI,IAAKA,EAAI,IAAKA,EAAI,OAKpK8oB,cAAe,SAAS9iC,GACpB,IAAI+iC,EAAa,GACjBA,EAAWp4E,KAAK6C,KAAKw0E,gBAGrB,IAFA,IAAInrC,GAAO,EACPygB,EAAO9pD,KAAK8pD,KACTzgB,GACCygB,EAAK0qB,gBACD1qB,EAAK12C,KAAK2rC,SACVw2B,EAAWhpC,OAAO,EAAG,EAAGud,EAAK0qB,gBAEjC1qB,EAAOA,EAAKA,MAEZzgB,GAAO,EAGf,IAAIpsC,EAA2Bu4E,EAAxBv1E,EAAMs1E,EAAW/4E,OACxB,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACtBu4E,EAAQD,EAAWt4E,GAAGuvD,IAAI/Z,kBAAkB,EAAG,EAAG,GAElDD,EAAK,CAACA,EAAG,GAAKgjC,EAAM,GAAIhjC,EAAG,GAAKgjC,EAAM,GAAI,GAE9C,OAAOhjC,GAEXgvB,QAAS,IAAI5zB,QAMjBu9B,kBAAkBtvE,UAAY,CAC1B45E,eAAgB,WAEZz1E,KAAK01E,WAAY,EAEjB11E,KAAK21E,QAAS,EAEd31E,KAAK41E,eAAgB,EAErB51E,KAAK61E,qBAAuB,IAEhC9K,uBAAwB,SAAS+K,IACwB,IAAlD91E,KAAK61E,qBAAqB9sE,QAAQ+sE,IACjC91E,KAAK61E,qBAAqB14E,KAAK24E,IAGvCC,0BAA2B,SAASD,IACqB,IAAlD91E,KAAK61E,qBAAqB9sE,QAAQ+sE,IACjC91E,KAAK61E,qBAAqBtpC,OAAOvsC,KAAK61E,qBAAqB9sE,QAAQ+sE,GAAY,IAGvFE,uBAAwB,SAAS/+C,GAC7Bj3B,KAAKi2E,iBAAiBh/C,IAE1Bi/C,kBAAmB,WACZl2E,KAAKw0E,eAAeC,MAAMjrE,EAAE6hC,GAAK,GAC5BrrC,KAAK41E,eAAiB51E,KAAKwqD,WAAWwd,aAAaI,oBACnDpoE,KAAK41E,eAAgB,EACrB51E,KAAK4tB,QAEH5tB,KAAK41E,gBACX51E,KAAK41E,eAAgB,EACrB51E,KAAKowE,SAWb6F,iBAAkB,SAASh/C,GACpBj3B,KAAKoT,KAAKu5D,GAAK3sE,KAAKoT,KAAKi4C,IAAMp0B,GAAOj3B,KAAKoT,KAAKilD,GAAKr4D,KAAKoT,KAAKi4C,GAAKp0B,GAE7C,IAAnBj3B,KAAK01E,YACJ11E,KAAKwqD,WAAWpd,MAAO,EACvBptC,KAAKotC,MAAO,EACZptC,KAAK01E,WAAY,EACjB11E,KAAKowE,SAGa,IAAnBpwE,KAAK01E,YACJ11E,KAAKwqD,WAAWpd,MAAO,EACvBptC,KAAK01E,WAAY,EACjB11E,KAAK4tB,SAIjBuoD,iBAAkB,WACd,IAAIl5E,EAAGgD,EAAMD,KAAK61E,qBAAqBr5E,OACvC,IAAIS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACrB+C,KAAK61E,qBAAqB54E,GAAG6yE,YAAY9vE,KAAK4qD,gBAKtDwrB,iBAAkB,WACd,MAAO,CACH3sC,IAAI,EACJC,KAAK,EACL7K,MAAM,IACNC,OAAO,MAGfu3C,aAAc,WACV,OAAoB,IAAjBr2E,KAAKoT,KAAKm8B,GACF,CAACr9B,EAAElS,KAAKoT,KAAKmqD,SAAS1+B,MAAM5yB,EAAEjM,KAAKoT,KAAKmqD,SAASz+B,QAEjD,CAAC5sB,EAAElS,KAAKoT,KAAKyrB,MAAM5yB,EAAEjM,KAAKoT,KAAK0rB,UA+D9CsZ,gBAAgB,CAAC+yB,kBAAmBzyB,oBAxDnB,CACb49B,YAAa,SAASljE,EAAKo3C,EAAWV,GAClC9pD,KAAK+lD,YACL/lD,KAAKu2E,aAAanjE,EAAMo3C,EAAYV,GACpC9pD,KAAKi1E,cAAc7hE,EAAMo3C,EAAYV,GACrC9pD,KAAK60E,gBACL70E,KAAKy1E,iBACLz1E,KAAKw2E,sBACLx2E,KAAKy2E,0BACLz2E,KAAK02E,6BACL12E,KAAK22E,gBACL32E,KAAK4tB,QAETA,KAAM,WACG5tB,KAAK21E,QAAY31E,KAAK01E,YAAa11E,KAAK41E,iBAC9B51E,KAAK42E,aAAe52E,KAAK+nE,cAC/Bz2C,MAAMC,QAAU,OACrBvxB,KAAK21E,QAAS,IAGtBvF,KAAM,WACEpwE,KAAK01E,YAAc11E,KAAK41E,gBACnB51E,KAAKoT,KAAKq4D,MACAzrE,KAAK42E,aAAe52E,KAAK+nE,cAC/Bz2C,MAAMC,QAAU,SAEzBvxB,KAAK21E,QAAS,EACd31E,KAAK4qD,eAAgB,IAG7BklB,YAAa,WAGL9vE,KAAKoT,KAAKq4D,IAAMzrE,KAAK21E,SAGzB31E,KAAKq1E,kBACLr1E,KAAKm2E,mBACLn2E,KAAK62E,gBACL72E,KAAK82E,qBACD92E,KAAK4qD,gBACL5qD,KAAK4qD,eAAgB,KAG7BksB,mBAAoB,aACpB9G,aAAc,SAAS/4C,GACnBj3B,KAAKotC,MAAO,EACZptC,KAAKg2E,uBAAuB/+C,GAC5Bj3B,KAAK+0E,kBAAkB99C,EAAKj3B,KAAK01E,WACjC11E,KAAKk2E,qBAETp4C,QAAS,WACL99B,KAAK+2E,UAAa,KAClB/2E,KAAKg3E,yBAGyD5L,sBAiB1EE,aAAazvE,UAAUuyC,MAAQ,WAC9BpuC,KAAKgM,EAAI,GACThM,KAAKotC,MAAO,GAwBbw+B,aAAa/vE,UAAUq3D,cAAgB,WACnClzD,KAAKktC,aAAc,GAsBvBkL,gBAAgB,CAACrL,0BAA2Bk/B,oBAS5C7zB,gBAAgB,CAACrL,0BAA2Bo/B,kBAO5CC,yBAAyBvwE,UAAUwwE,iBAAmB,SAAS9hB,EAAMn3C,EAAM84D,GACvElsE,KAAKwJ,EAAIs8C,gBAAgB0F,QAAQjB,EAAKn3C,EAAK5J,EAAE,EAAE,IAAKxJ,MACpDA,KAAK8I,EAAIg9C,gBAAgB0F,QAAQjB,EAAKn3C,EAAKtK,EAAE,EAAE,KAAK9I,MACpDA,KAAKkT,EAAI4yC,gBAAgB0F,QAAQjB,EAAKn3C,EAAKF,EAAE,EAAE,KAAKlT,MACpDA,KAAKiM,EAAI65C,gBAAgB0F,QAAQjB,EAAKn3C,EAAKnH,GAAG,CAACxP,EAAE,GAAG,EAAE,IAAKuD,MAC3DA,KAAK9D,EAAI4pD,gBAAgB0F,QAAQjB,EAAKn3C,EAAKlX,GAAG,CAACO,EAAE,GAAG,EAAEwsC,UAAUjpC,MAChEA,KAAKurC,EAAI,IAAIinB,iBAAiBjI,EAAKn3C,EAAKm4B,EAAEvrC,MAC1CA,KAAKsxB,MAAQ46C,EACblsE,KAAKi3E,MAAQ,GACbj3E,KAAKk3E,gBAAgBhL,EAAQR,MAAOt4D,GACpCpT,KAAKm3E,mBAAmB/jE,EAAM84D,GAC9BlsE,KAAKktC,cAAgBltC,KAAKktC,aAI9Bk/B,yBAAyBvwE,UAAUq7E,gBAAkB,SAASE,EAAYhkE,GAEtE,IAAIikE,EAAansC,kBACbosC,EAAQ1qC,SAAoB,IAAXx5B,EAAKrT,EAAU,iBAAmB,kBACvDu3E,EAAM10B,aAAa,KAAKy0B,GACxBC,EAAM10B,aAAa,eAAe,OAClC00B,EAAM10B,aAAa,gBAAgB,kBACnC,IACI5kB,EAAMpqB,EAAG8qC,EADTu4B,EAAQ,GAGZ,IADAv4B,EAAgB,EAATtrC,EAAKm4B,EAAEC,EACV53B,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EACdoqB,EAAO4O,SAAS,QAChB0qC,EAAM9lD,YAAYwM,GAClBi5C,EAAM95E,KAAK6gC,GAEfo5C,EAAYx0B,aAA0B,OAAZxvC,EAAKm8B,GAAc,OAAO,SAAS,OAAS9H,aAAe,IAAI4vC,EAAW,KAEpGr3E,KAAKu3E,GAAKD,EACVt3E,KAAKw3E,IAAMP,GAGf7K,yBAAyBvwE,UAAUs7E,mBAAqB,SAAS/jE,EAAM84D,GACnE,GAAGlsE,KAAKurC,EAAEunB,cAAgB9yD,KAAKurC,EAAEqnB,aAAa,CAC1C,IAAI50B,EAAMpqB,EAAG8qC,EACT2iB,EAAOz0B,SAAS,QAChBk7B,EAAcl7B,SAAU,QAC5By0B,EAAK7vC,YAAYs2C,GACjB,IAAI2P,EAAYvsC,kBACZukC,EAASvkC,kBACbm2B,EAAKze,aAAa,KAAK6sB,GACvB,IAAIiI,EAAS9qC,SAAoB,IAAXx5B,EAAKrT,EAAU,iBAAmB,kBACxD23E,EAAO90B,aAAa,KAAK60B,GACzBC,EAAO90B,aAAa,eAAe,OACnC80B,EAAO90B,aAAa,gBAAgB,kBACpClE,EAAOtrC,EAAKm4B,EAAE9uC,EAAEA,EAAE,GAAGqM,EAAIsK,EAAKm4B,EAAE9uC,EAAEA,EAAE,GAAGqM,EAAEtM,OAAS4W,EAAKm4B,EAAE9uC,EAAEA,EAAED,OAC7D,IAAIy6E,EAAQj3E,KAAKi3E,MACjB,IAAIrjE,EAAW,EAATR,EAAKm4B,EAAEC,EAAI53B,EAAE8qC,EAAK9qC,GAAG,GACvBoqB,EAAO4O,SAAS,SACXgW,aAAa,aAAa,oBAC/B80B,EAAOlmD,YAAYwM,GACnBi5C,EAAM95E,KAAK6gC,GAEf8pC,EAAYllB,aAA0B,OAAZxvC,EAAKm8B,GAAc,OAAO,SAAS,OAAS9H,aAAe,IAAIgwC,EAAU,KACnGz3E,KAAK4/D,GAAK8X,EACV13E,KAAKmM,GAAKk1D,EACVrhE,KAAK23E,IAAMV,EACXj3E,KAAKyvE,OAASA,EACdvD,EAAQP,OAAS7D,IAIzB1vB,gBAAgB,CAACrL,0BAA2Bq/B,0BAU5Ch0B,gBAAgB,CAACg0B,yBAA0Br/B,0BAA2Bu/B,4BAMtE,IAAIsL,oBAAuB,WAC1B,IAAIC,EAAkB,IAAIjqC,OACtBkqC,EAAgB,IAAIlqC,OA2BxB,SAASmqC,EAAuBC,EAAWC,EAAU3D,IAC9CA,GAAgB2D,EAASxoC,UAAU4oB,GAAGjrB,OACrC6qC,EAASxoC,UAAUlS,UAAUqlB,aAAa,UAAUq1B,EAASxoC,UAAU4oB,GAAGhtB,IAE3EipC,GAAgB2D,EAASxoC,UAAU2oB,OAAOhrB,OACzC6qC,EAASxoC,UAAUlS,UAAUqlB,aAAa,YAAYq1B,EAASxoC,UAAU2oB,OAAO/sB,EAAEoI,WAI1F,SAASykC,EAAWF,EAAWC,EAAU3D,GACrC,IAAI1gE,EAAG8qC,EAAKy5B,EAAsBC,EAAO5f,EAAUnjD,EAE/CorC,EAAO+L,EAAKzvB,EAAOs7C,EAAY57E,EAFmB67E,EAAOL,EAASlT,OAAOvoE,OACzEgvE,EAAMyM,EAASzM,IAEnB,IAAIn2D,EAAE,EAAEA,EAAEijE,EAAKjjE,GAAG,EAAE,CAEhB,GADA+iE,EAASH,EAASlwB,GAAG3a,MAAQknC,EAC1B2D,EAASlT,OAAO1vD,GAAGm2D,IAAMA,EAAI,CAI5B,IAHAhf,EAAMsrB,EAAc1pC,QACpBiqC,EAAa7M,EAAMyM,EAASlT,OAAO1vD,GAAGm2D,IACtC/uE,EAAIw7E,EAASpM,aAAarvE,OAAO,GAC1B47E,GAAUC,EAAa,GAC1BD,EAASH,EAASpM,aAAapvE,GAAG27D,OAAOhrB,MAAQgrC,EACjDC,IACA57E,IAEJ,GAAG27E,EAGC,IAFAC,EAAa7M,EAAMyM,EAASlT,OAAO1vD,GAAGm2D,IACtC/uE,EAAIw7E,EAASpM,aAAarvE,OAAO,EAC3B67E,EAAa,GACft7C,EAAQk7C,EAASpM,aAAapvE,GAAG27D,OAAO/sB,EAAEtO,MAC1CyvB,EAAI/c,UAAU1S,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAIA,EAAM,KAChKs7C,IACA57E,SAIR+vD,EAAMqrB,EAIV,GADAn5B,GADA+B,EAAQw3B,EAASlwB,GAAGtH,OACPjF,QACV48B,EAAO,CAEN,IADAD,EAAwB,GACpBvkE,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,GACd4kD,EAAY/X,EAAMnB,OAAO1rC,KACT4kD,EAAUhd,UACtB28B,GAAyB5f,iBAAiBC,EAAWA,EAAUhd,QAASgd,EAAUrhD,EAAGq1C,IAG7FyrB,EAASnM,OAAOz2D,GAAK8iE,OAErBA,EAAwBF,EAASnM,OAAOz2D,GAE5C4iE,EAASlT,OAAO1vD,GAAGrJ,IAAsB,IAAjBgsE,EAAUvM,GAAc,GAAK0M,EACrDF,EAASlT,OAAO1vD,GAAG+3B,KAAOgrC,GAAUH,EAASlT,OAAO1vD,GAAG+3B,MAI/D,SAASmrC,EAAYP,EAAUC,EAAU3D,GACrC,IAAIkE,EAAYP,EAAS3mD,OAEtB2mD,EAAS9gE,EAAEi2B,MAAQknC,IAClBkE,EAAU9M,MAAM9oB,aAAa,OAAO,OAAOra,SAAS0vC,EAAS9gE,EAAEk0B,EAAE,IAAI,IAAI9C,SAAS0vC,EAAS9gE,EAAEk0B,EAAE,IAAI,IAAI9C,SAAS0vC,EAAS9gE,EAAEk0B,EAAE,IAAI,MAElI4sC,EAASzuE,EAAE4jC,MAAQknC,IAClBkE,EAAU9M,MAAM9oB,aAAa,eAAeq1B,EAASzuE,EAAE6hC,GAI/D,SAASotC,EAAsBT,EAAWC,EAAU3D,GAChDoE,EAAeV,EAAWC,EAAU3D,GACpCqE,EAAaX,EAAWC,EAAU3D,GAGtC,SAASoE,EAAeV,EAAWC,EAAU3D,GACzC,IAkBI2C,EAAOh6E,EAAGgD,EAAK+9B,EAqCXwyB,EAvDJ8mB,EAAQW,EAASV,GACjBqB,EAAaX,EAAS1sC,EAAEunB,YACxBhgB,EAAMmlC,EAASnvE,EAAEuiC,EAAG0H,EAAMklC,EAAS/kE,EAAEm4B,EAEzC,GAAI4sC,EAASzuE,EAAE4jC,MAAQknC,EAAc,CACjC,IAAI97B,EAAwB,OAAjBw/B,EAAUzoC,GAAc,eAAiB,iBACpD0oC,EAAS3mD,MAAMo6C,MAAM9oB,aAAapK,EAAMy/B,EAASzuE,EAAE6hC,GAEvD,GAAI4sC,EAASnvE,EAAEskC,MAAQknC,EAAc,CACjC,IAAIuE,EAAwB,IAAhBb,EAAUj4E,EAAU,KAAO,KACnC+4E,EAAkB,OAAVD,EAAiB,KAAO,KACpCvB,EAAM10B,aAAai2B,EAAO/lC,EAAI,IAC9BwkC,EAAM10B,aAAak2B,EAAOhmC,EAAI,IAC1B8lC,IAAeX,EAAS1sC,EAAEqnB,eAC1BqlB,EAASrY,GAAGhd,aAAai2B,EAAO/lC,EAAI,IACpCmlC,EAASrY,GAAGhd,aAAak2B,EAAOhmC,EAAI,KAI5C,GAAImlC,EAAS1sC,EAAEmnB,OAAS4hB,EAAc,CAClC2C,EAAQgB,EAAST,IACjB,IAAIuB,EAAUd,EAAS1sC,EAAEp0B,EAEzB,IADAlX,EAAMg3E,EAAMz6E,OACPS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,GACtB+gC,EAAOi5C,EAAMh6E,IACR2lD,aAAa,SAAUm2B,EAAY,EAAJ97E,GAAS,KAC7C+gC,EAAK4kB,aAAa,aAAa,OAAQm2B,EAAY,EAAJ97E,EAAQ,GAAK,IAAM87E,EAAY,EAAJ97E,EAAQ,GAAK,IAAI87E,EAAY,EAAJ97E,EAAQ,GAAK,KAGxH,GAAI27E,IAAeX,EAAS1sC,EAAEonB,OAAS2hB,GAAe,CAClD,IAAI0E,EAAUf,EAAS1sC,EAAE/hC,EAOzB,IADAvJ,GAJIg3E,EADDgB,EAAS1sC,EAAEqnB,aACFqlB,EAAST,IAETS,EAASN,KAETn7E,OACPS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACtB+gC,EAAOi5C,EAAMh6E,GACTg7E,EAAS1sC,EAAEqnB,cACX50B,EAAK4kB,aAAa,SAAUo2B,EAAY,EAAJ/7E,GAAS,KAEjD+gC,EAAK4kB,aAAa,eAAgBo2B,EAAY,EAAJ/7E,EAAQ,IAG1D,GAAoB,IAAhB+6E,EAAUj4E,GACNk4E,EAAS/kE,EAAEk6B,MAASknC,KACpBgD,EAAM10B,aAAa,KAAM7P,EAAI,IAC7BukC,EAAM10B,aAAa,KAAM7P,EAAI,IACzB6lC,IAAeX,EAAS1sC,EAAEqnB,eAC1BqlB,EAASrY,GAAGhd,aAAa,KAAM7P,EAAI,IACnCklC,EAASrY,GAAGhd,aAAa,KAAM7P,EAAI,WAY3C,IAPIklC,EAASnvE,EAAEskC,MAAQ6qC,EAAS/kE,EAAEk6B,MAAQknC,KACtC9jB,EAAMrtD,KAAKklC,KAAKllC,KAAKG,IAAIwvC,EAAI,GAAKC,EAAI,GAAI,GAAK5vC,KAAKG,IAAIwvC,EAAI,GAAKC,EAAI,GAAI,IACzEukC,EAAM10B,aAAa,IAAK4N,GACrBooB,IAAeX,EAAS1sC,EAAEqnB,cACzBqlB,EAASrY,GAAGhd,aAAa,IAAK4N,IAGlCynB,EAAS/kE,EAAEk6B,MAAQ6qC,EAAShsE,EAAEmhC,MAAQ6qC,EAAS/7E,EAAEkxC,MAAQknC,EAAc,CAClE9jB,IACDA,EAAMrtD,KAAKklC,KAAKllC,KAAKG,IAAIwvC,EAAI,GAAKC,EAAI,GAAI,GAAK5vC,KAAKG,IAAIwvC,EAAI,GAAKC,EAAI,GAAI,KAE7E,IAAIkmC,EAAM91E,KAAKmlD,MAAMvV,EAAI,GAAKD,EAAI,GAAIC,EAAI,GAAKD,EAAI,IAG/ComC,EAAO1oB,GADGynB,EAAShsE,EAAEo/B,GAAK,EAAI,IAAO4sC,EAAShsE,EAAEo/B,IAAM,GAAK,IAAM4sC,EAAShsE,EAAEo/B,GAE5E/hC,EAAInG,KAAK2qC,IAAImrC,EAAMhB,EAAS/7E,EAAEmvC,GAAK6tC,EAAOpmC,EAAI,GAC9CnnC,EAAIxI,KAAK6qC,IAAIirC,EAAMhB,EAAS/7E,EAAEmvC,GAAK6tC,EAAOpmC,EAAI,GAClDwkC,EAAM10B,aAAa,KAAMt5C,GACzBguE,EAAM10B,aAAa,KAAMj3C,GACrBitE,IAAeX,EAAS1sC,EAAEqnB,eAC1BqlB,EAASrY,GAAGhd,aAAa,KAAMt5C,GAC/B2uE,EAASrY,GAAGhd,aAAa,KAAMj3C,KAO/C,SAASgtE,EAAaX,EAAWC,EAAU3D,GACvC,IAAIkE,EAAYP,EAAS3mD,MACrBtlB,EAAIisE,EAASjsE,EACbA,IAAMA,EAAEohC,MAAQknC,IAAiBtoE,EAAEqmD,UACnCmmB,EAAU9M,MAAM9oB,aAAa,mBAAoB52C,EAAEqmD,SACnDmmB,EAAU9M,MAAM9oB,aAAa,oBAAqB52C,EAAEumD,WAAW,KAEhE0lB,EAAS9gE,IAAM8gE,EAAS9gE,EAAEi2B,MAAQknC,IACjCkE,EAAU9M,MAAM9oB,aAAa,SAAS,OAASra,SAAS0vC,EAAS9gE,EAAEk0B,EAAE,IAAM,IAAM9C,SAAS0vC,EAAS9gE,EAAEk0B,EAAE,IAAM,IAAM9C,SAAS0vC,EAAS9gE,EAAEk0B,EAAE,IAAM,MAEhJ4sC,EAASzuE,EAAE4jC,MAAQknC,IAClBkE,EAAU9M,MAAM9oB,aAAa,iBAAkBq1B,EAASzuE,EAAE6hC,IAE3D4sC,EAAS/lE,EAAEk7B,MAAQknC,KAClBkE,EAAU9M,MAAM9oB,aAAa,eAAgBq1B,EAAS/lE,EAAEm5B,GACrDmtC,EAAU7M,QACT6M,EAAU7M,OAAO/oB,aAAa,eAAgBq1B,EAAS/lE,EAAEm5B,IAKrE,MA3MS,CACR8tC,qBAGD,SAA8B/lE,GACjBA,EAAKm8B,GACd,OAAOn8B,EAAKm8B,IACR,IAAK,KACL,OAAOgpC,EACP,IAAK,KACL,OAAOG,EACP,IAAK,KACL,OAAOD,EACP,IAAK,KACL,OAAOE,EACP,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,OAAOT,EACP,IAAK,KACL,OAAOH,KAzBU,GAiN1B,SAASqB,wBACRp5E,KAAKq5E,UAAY,GACjBr5E,KAAKs5E,aAAe,GACjBt5E,KAAKu5E,oBAAsB,EAqD/B,SAASC,YAAYjwC,EAASn2B,EAAM2xD,EAAQ0U,GACxCz5E,KAAK05E,aAAe,GACpB15E,KAAK+1D,GAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GACrB,IAAIxmB,EAAK,EACK,MAAXn8B,EAAKm8B,GACJA,EAAK,EACW,MAAXn8B,EAAKm8B,GACVA,EAAK,EACW,MAAXn8B,EAAKm8B,KACVA,EAAK,GAETvvC,KAAK+nD,GAAKyG,qBAAqBmc,aAAaphC,EAAQn2B,EAAKm8B,EAAGhG,GAC5D,IAAItsC,EAAwB08E,EAApB15E,EAAM8kE,EAAOvoE,OACrB,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACjB8nE,EAAO9nE,GAAGm+C,SACXu+B,EAAc,CACVpE,WAAYkE,EAAkBG,qBAAqB7U,EAAO9nE,GAAGs4E,YAC7DsE,QAAS,IAEb75E,KAAK05E,aAAav8E,KAAKw8E,GACvB5U,EAAO9nE,GAAGg6D,SAAS95D,KAAKw8E,IAMpC,SAASG,eA4DT,SAAS5K,YAAY97D,EAAKo3C,EAAWV,GACjC9pD,KAAK+lD,YACR/lD,KAAKu2E,aAAanjE,EAAMo3C,EAAYV,GACjC9pD,KAAK+lD,YACL/lD,KAAKi1E,cAAc7hE,EAAMo3C,EAAYV,GACrC9pD,KAAK60E,gBAyBT,SAASkF,kBA6JT,SAASC,iBAuET,SAASC,gBAgFT,SAASC,gBA8FT,SAAS7K,cAAcj8D,EAAKo3C,EAAWV,GACnC9pD,KAAK86D,UAAYtQ,EAAWokB,aAAax7D,EAAKgsC,OAC9Cp/C,KAAKs2E,YAAYljE,EAAKo3C,EAAWV,GACjC9pD,KAAKm6E,WAAa,CAAC1wC,IAAI,EAAEC,KAAK,EAAE7K,MAAM7+B,KAAK86D,UAAU5oD,EAAE4sB,OAAO9+B,KAAK86D,UAAU7uD,GAqBjF,SAASsjE,cAAcn8D,EAAKo3C,EAAWV,GACnC9pD,KAAKs2E,YAAYljE,EAAKo3C,EAAWV,GAerC,SAASyjB,aAAan6D,EAAKo3C,EAAWV,GAClC9pD,KAAK+lD,YACL/lD,KAAKy1E,iBACLz1E,KAAK86D,UAAYtQ,EAAWokB,aAAax7D,EAAKgsC,OACjDp/C,KAAKu2E,aAAanjE,EAAMo3C,EAAYV,GACpC9pD,KAAKo6E,YAAa,EAClBp6E,KAAKq6E,UAAW,EAChB,IAAI9gB,EAAYv5D,KAAKwqD,WAAWqQ,cAAc76D,KAAK86D,WAChD96D,KAAKk5D,MAAQl5D,KAAKwqD,WAAWukB,gBAAgBzV,YAAYC,GACzDv5D,KAAKs6E,aAAe,EACpBt6E,KAAKwqD,WAAWukB,gBAAgB9V,SAASj5D,MACzCA,KAAKu6E,GAAKnnE,EAAKmnE,GAAKz0B,gBAAgB0F,QAAQxrD,KAAMoT,EAAKmnE,GAAI,EAAG/vB,EAAWsC,UAAU9sD,MAAQ,CAACw6E,cAAa,GAuE7G,SAASlL,eAAel8D,EAAKo3C,EAAWV,GACpC9pD,KAAKs+C,OAASlrC,EAAKkrC,OACnBt+C,KAAK0pE,YAAa,EAClB1pE,KAAKq+C,gBAAiB,EACtBr+C,KAAK0oE,gBAAkB,GACvB1oE,KAAKi3D,SAAWj3D,KAAKs+C,OAASvV,iBAAiB/oC,KAAKs+C,OAAO9hD,QAAU,GAErEwD,KAAKs2E,YAAYljE,EAAKo3C,EAAWV,GACjC9pD,KAAKu6E,GAAKnnE,EAAKmnE,GAAKz0B,gBAAgB0F,QAAQxrD,KAAKoT,EAAKmnE,GAAG,EAAE/vB,EAAWsC,UAAU9sD,MAAQ,CAACw6E,cAAa,GAI1G,SAASpL,eAAeh8D,EAAKo3C,EAAWV,GACpC9pD,KAAKy6E,UAAY,GACjBz6E,KAAKw9D,WAAa,MAClBx9D,KAAKs2E,YAAYljE,EAAKo3C,EAAWV,GA8MrC,SAASqlB,gBAAgB/7D,EAAKo3C,EAAWV,GAErC9pD,KAAKs/C,OAAS,GAEdt/C,KAAK06E,WAAatnE,EAAKksC,OAEvBt/C,KAAK26E,WAAa,GAElB36E,KAAK46E,eAAiB,GAEtB56E,KAAK66E,UAAY,GAEjB76E,KAAK86E,kBAAoB,GAEzB96E,KAAK+6E,iBAAmB,GACxB/6E,KAAKs2E,YAAYljE,EAAKo3C,EAAWV,GAGjC9pD,KAAKwsE,aAAe,GAySxB,SAASwO,cAAcj8D,EAAQk8D,GAC3Bj7E,KAAKi7E,cAAgBA,EACrB,IAAI1e,EAAgB3vB,SAAS,iBAa7B,GAZA2vB,EAAc3Z,aAAa,OAAO,UAClC2Z,EAAc3Z,aAAa,8BAA8B,aACzD2Z,EAAc3Z,aAAa,SAAS,wFACpC2Z,EAAc3Z,aAAa,SAAS,MACpC7jC,EAAOyS,YAAY+qC,IACnBA,EAAgB3vB,SAAS,kBACXgW,aAAa,OAAO,UAClC2Z,EAAc3Z,aAAa,8BAA8B,QACzD2Z,EAAc3Z,aAAa,SAAS,2CACpC2Z,EAAc3Z,aAAa,SAAS,MACpC7jC,EAAOyS,YAAY+qC,GACnBv8D,KAAKk7E,aAAe3e,EACuB,MAAxC0e,EAAcE,eAAe,GAAG3vC,EAAEH,GAAa4vC,EAAcE,eAAe,GAAG3vC,EAAE/uC,EAAE,CAClF,IAEI2+E,EAFAC,EAAUzuC,SAAS,WACvB7tB,EAAOyS,YAAY6pD,IAEnBD,EAAcxuC,SAAS,gBACXgW,aAAa,KAAK,iBAC9By4B,EAAQ7pD,YAAY4pD,IACpBA,EAAcxuC,SAAS,gBACXgW,aAAa,KAAK,MAC9By4B,EAAQ7pD,YAAY4pD,IAY5B,SAASE,cAAcv8D,EAAQk8D,GAC3Bj7E,KAAKi7E,cAAgBA,EACrB,IAAI1e,EAAgB3vB,SAAS,iBAC7B2vB,EAAc3Z,aAAa,OAAO,UAClC2Z,EAAc3Z,aAAa,8BAA8B,QACzD2Z,EAAc3Z,aAAa,SAAS,2CACpC7jC,EAAOyS,YAAY+qC,GACnBv8D,KAAKk7E,aAAe3e,EASxB,SAASgf,sBAAsBx8D,EAAQk8D,GAEnCl8D,EAAO6jC,aAAa,IAAI,SACxB7jC,EAAO6jC,aAAa,IAAI,SACxB7jC,EAAO6jC,aAAa,QAAQ,QAC5B7jC,EAAO6jC,aAAa,SAAS,QAE7B5iD,KAAKi7E,cAAgBA,EACrB,IAAIO,EAAiB5uC,SAAS,kBAC9B7tB,EAAOyS,YAAYgqD,GACnBx7E,KAAKw7E,eAAiBA,EA6B1B,SAASC,gBAAgBlxB,EAAM0wB,GAC3Bj7E,KAAK07E,aAAc,EACnB17E,KAAKi7E,cAAgBA,EACrBj7E,KAAKuqD,KAAOA,EACZvqD,KAAKygD,MAAQ,GAuGjB,SAASk7B,iBAAiB58D,EAAQk8D,GAC9Bj7E,KAAKi7E,cAAgBA,EACrB,IAAI1e,EAAgB3vB,SAAS,iBAC7B2vB,EAAc3Z,aAAa,OAAO,UAClC2Z,EAAc3Z,aAAa,8BAA8B,aACzD2Z,EAAc3Z,aAAa,SAAS,wFACpC2Z,EAAc3Z,aAAa,SAAS,MACpC7jC,EAAOyS,YAAY+qC,GACnB,IAAIqf,EAAsBhvC,SAAS,uBACnCgvC,EAAoBh5B,aAAa,8BAA8B,QAC/D7jC,EAAOyS,YAAYoqD,GACnB57E,KAAKk7E,aAAeU,EACpB,IAAIC,EAAUjvC,SAAS,WACvBivC,EAAQj5B,aAAa,OAAO,SAC5Bg5B,EAAoBpqD,YAAYqqD,GAChC77E,KAAK67E,QAAUA,EACf,IAAIC,EAAUlvC,SAAS,WACvBkvC,EAAQl5B,aAAa,OAAO,SAC5Bg5B,EAAoBpqD,YAAYsqD,GAChC97E,KAAK87E,QAAUA,EACf,IAAIC,EAAUnvC,SAAS,WACvBmvC,EAAQn5B,aAAa,OAAO,SAC5Bg5B,EAAoBpqD,YAAYuqD,GAChC/7E,KAAK+7E,QAAUA,EAkBnB,SAASC,mBAAmBj9D,EAAQk8D,GAChCj7E,KAAKi7E,cAAgBA,EACrB,IAAIE,EAAiBn7E,KAAKi7E,cAAcE,eACpCS,EAAsBhvC,SAAS,wBAGhCuuC,EAAe,IAAI3vC,EAAE/uC,GAAgC,IAA3B0+E,EAAe,IAAI3vC,EAAEH,GAAW8vC,EAAe,IAAI3vC,EAAE/uC,GAAgC,IAA3B0+E,EAAe,IAAI3vC,EAAEH,GAAW8vC,EAAe,IAAI3vC,EAAE/uC,GAAgC,IAA3B0+E,EAAe,IAAI3vC,EAAEH,GAAW8vC,EAAe,IAAI3vC,EAAE/uC,GAAgC,IAA3B0+E,EAAe,IAAI3vC,EAAEH,GAAW8vC,EAAe,IAAI3vC,EAAE/uC,GAAgC,IAA3B0+E,EAAe,IAAI3vC,EAAEH,KACtRrrC,KAAK67E,QAAU77E,KAAKi8E,aAAa,UAAWL,KAE7CT,EAAe,IAAI3vC,EAAE/uC,GAAgC,IAA3B0+E,EAAe,IAAI3vC,EAAEH,GAAW8vC,EAAe,IAAI3vC,EAAE/uC,GAAgC,IAA3B0+E,EAAe,IAAI3vC,EAAEH,GAAW8vC,EAAe,IAAI3vC,EAAE/uC,GAAgC,IAA3B0+E,EAAe,IAAI3vC,EAAEH,GAAW8vC,EAAe,IAAI3vC,EAAE/uC,GAAgC,IAA3B0+E,EAAe,IAAI3vC,EAAEH,GAAW8vC,EAAe,IAAI3vC,EAAE/uC,GAAgC,IAA3B0+E,EAAe,IAAI3vC,EAAEH,KACtRrrC,KAAK87E,QAAU97E,KAAKi8E,aAAa,UAAWL,KAE7CT,EAAe,IAAI3vC,EAAE/uC,GAAgC,IAA3B0+E,EAAe,IAAI3vC,EAAEH,GAAW8vC,EAAe,IAAI3vC,EAAE/uC,GAAgC,IAA3B0+E,EAAe,IAAI3vC,EAAEH,GAAW8vC,EAAe,IAAI3vC,EAAE/uC,GAAgC,IAA3B0+E,EAAe,IAAI3vC,EAAEH,GAAW8vC,EAAe,IAAI3vC,EAAE/uC,GAAgC,IAA3B0+E,EAAe,IAAI3vC,EAAEH,GAAW8vC,EAAe,IAAI3vC,EAAE/uC,GAAgC,IAA3B0+E,EAAe,IAAI3vC,EAAEH,KACtRrrC,KAAK+7E,QAAU/7E,KAAKi8E,aAAa,UAAWL,KAE7CT,EAAe,IAAI3vC,EAAE/uC,GAAgC,IAA3B0+E,EAAe,IAAI3vC,EAAEH,GAAW8vC,EAAe,IAAI3vC,EAAE/uC,GAAgC,IAA3B0+E,EAAe,IAAI3vC,EAAEH,GAAW8vC,EAAe,IAAI3vC,EAAE/uC,GAAgC,IAA3B0+E,EAAe,IAAI3vC,EAAEH,GAAW8vC,EAAe,IAAI3vC,EAAE/uC,GAAgC,IAA3B0+E,EAAe,IAAI3vC,EAAEH,GAAW8vC,EAAe,IAAI3vC,EAAE/uC,GAAgC,IAA3B0+E,EAAe,IAAI3vC,EAAEH,KACtRrrC,KAAKk8E,QAAUl8E,KAAKi8E,aAAa,UAAWL,KAG7C57E,KAAK67E,SAAW77E,KAAK87E,SAAW97E,KAAK+7E,SAAW/7E,KAAKk8E,WACpDN,EAAoBh5B,aAAa,8BAA8B,QAC/D7jC,EAAOyS,YAAYoqD,GACnBA,EAAsBhvC,SAAS,yBAGhCuuC,EAAe,GAAG3vC,EAAE/uC,GAA+B,IAA1B0+E,EAAe,GAAG3vC,EAAEH,GAAW8vC,EAAe,GAAG3vC,EAAE/uC,GAA+B,IAA1B0+E,EAAe,GAAG3vC,EAAEH,GAAW8vC,EAAe,GAAG3vC,EAAE/uC,GAA+B,IAA1B0+E,EAAe,GAAG3vC,EAAEH,GAAW8vC,EAAe,GAAG3vC,EAAE/uC,GAA+B,IAA1B0+E,EAAe,GAAG3vC,EAAEH,GAAW8vC,EAAe,GAAG3vC,EAAE/uC,GAA+B,IAA1B0+E,EAAe,GAAG3vC,EAAEH,KAE5QuwC,EAAoBh5B,aAAa,8BAA8B,QAC/D7jC,EAAOyS,YAAYoqD,GACnB57E,KAAKm8E,gBAAkBn8E,KAAKi8E,aAAa,UAAWL,GACpD57E,KAAKo8E,gBAAkBp8E,KAAKi8E,aAAa,UAAWL,GACpD57E,KAAKq8E,gBAAkBr8E,KAAKi8E,aAAa,UAAWL,IAuE5D,SAASU,oBAAoBv9D,EAAQk8D,GACjC,IAAIxS,EAAawS,EAAc19C,UAAUitB,WAAWwd,aAAaS,WACjE1pD,EAAO6jC,aAAa,IAAK6lB,EAAWn/D,GACpCyV,EAAO6jC,aAAa,IAAK6lB,EAAW98D,GACpCoT,EAAO6jC,aAAa,QAAS6lB,EAAW5pC,OACxC9f,EAAO6jC,aAAa,SAAU6lB,EAAW3pC,QACzC9+B,KAAKi7E,cAAgBA,EAErB,IAAIO,EAAiB5uC,SAAS,kBAC9B4uC,EAAe54B,aAAa,KAAK,eACjC44B,EAAe54B,aAAa,SAAS,iBACrC44B,EAAe54B,aAAa,eAAe,KAC3C5iD,KAAKw7E,eAAiBA,EACtBz8D,EAAOyS,YAAYgqD,GAEnB,IAAIe,EAAW3vC,SAAS,YACxB2vC,EAAS35B,aAAa,KAAK,MAC3B25B,EAAS35B,aAAa,KAAK,KAC3B25B,EAAS35B,aAAa,KAAK,iBAC3B25B,EAAS35B,aAAa,SAAS,iBAC/B5iD,KAAKu8E,SAAWA,EAChBx9D,EAAOyS,YAAY+qD,GACnB,IAAIC,EAAU5vC,SAAS,WACvB4vC,EAAQ55B,aAAa,cAAc,WACnC45B,EAAQ55B,aAAa,gBAAgB,KACrC45B,EAAQ55B,aAAa,SAAS,iBAC9B5iD,KAAKw8E,QAAUA,EACfz9D,EAAOyS,YAAYgrD,GAEnB,IAAIC,EAAc7vC,SAAS,eAC3B6vC,EAAY75B,aAAa,KAAK,iBAC9B65B,EAAY75B,aAAa,MAAM,iBAC/B65B,EAAY75B,aAAa,WAAW,MACpC65B,EAAY75B,aAAa,SAAS,iBAClC7jC,EAAOyS,YAAYirD,GAGnB,IAEIrB,EAFAC,EAAUzuC,SAAS,WACvB7tB,EAAOyS,YAAY6pD,GAEnBD,EAAcxuC,SAAS,eACvByuC,EAAQ7pD,YAAY4pD,IACpBA,EAAcxuC,SAAS,gBACXgW,aAAa,KAAK,iBAC9B5iD,KAAKo7E,YAAcA,EACnBp7E,KAAKq7E,QAAUA,EACfr7E,KAAK08E,mBAAoB,EACzBrB,EAAQ7pD,YAAY4pD,GA9kDxBhC,sBAAsBv9E,UAAY,CACjC+9E,qBAAsB,SAASrE,GAC9B,IAAIt4E,EAAGgD,EAAMs1E,EAAW/4E,OACpBqF,EAAM,IACV,IAAI5E,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACxB4E,GAAO0zE,EAAWt4E,GAAGwyC,UAAU5tC,IAAM,IAEtC,IAAI86E,EAAW38E,KAAKq5E,UAAUx3E,GAU9B,OATI86E,IACHA,EAAW,CACVpH,WAAY,GAAG1nE,OAAO0nE,GACtBf,eAAgB,IAAI5mC,OACpBR,MAAM,GAEPptC,KAAKq5E,UAAUx3E,GAAO86E,EACtB38E,KAAKs5E,aAAan8E,KAAKw/E,IAEjBA,GAERC,gBAAiB,SAASD,EAAUrI,GAEnC,IADA,IASKv3C,EATD9/B,EAAI,EAAGgD,EAAM08E,EAASpH,WAAW/4E,OAAQ4wC,EAAOknC,EAC7Cr3E,EAAIgD,IAAQq0E,GAAc,CAChC,GAAIqI,EAASpH,WAAWt4E,GAAGwyC,UAAU2oB,OAAOhrB,KAAM,CACjDA,GAAO,EACP,MAEDnwC,GAAK,EAEN,GAAImwC,EAGH,IADAuvC,EAASnI,eAAepmC,QACnBnxC,EAAIgD,EAAM,EAAGhD,GAAK,EAAGA,GAAK,EACxB8/B,EAAQ4/C,EAASpH,WAAWt4E,GAAGwyC,UAAU2oB,OAAO/sB,EAAEtO,MAClD4/C,EAASnI,eAAe/kC,UAAU1S,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAIA,EAAM,KAG5L4/C,EAASvvC,KAAOA,GAGjByvC,iBAAkB,SAASvI,GAC1B,IAAIr3E,EAAGgD,EAAMD,KAAKs5E,aAAa98E,OAC/B,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACzB+C,KAAK48E,gBAAgB58E,KAAKs5E,aAAar8E,GAAIq3E,IAI7CwI,UAAW,WACV,MAAO,IAAM98E,KAAKu5E,wBA4BpBC,YAAY39E,UAAUq3D,cAAgB0Y,aAAa/vE,UAAUq3D,cAI7D4mB,YAAYj+E,UAAY,CACpBkhF,WAAY,WACR,IAAI/8E,KAAKoT,KAAK2rC,QACV,OAAO,EAGX,IADA,IAAI9hD,EAAI,EAAGgD,EAAMD,KAAKoT,KAAK6rC,gBAAgBziD,OACrCS,EAAEgD,GAAK,CACT,GAA0C,MAAtCD,KAAKoT,KAAK6rC,gBAAgBhiD,GAAG4zB,OAAoD,IAApC7wB,KAAKoT,KAAK6rC,gBAAgBhiD,GAAG6jD,GAC1E,OAAO,EAEX7jD,GAAK,EAET,OAAO,GAEXsxE,gBAAiB,WACbvuE,KAAKg9E,eAAiBC,yBAAyBj9E,MAC5CA,KAAKoT,KAAK2rC,SAAW/+C,KAAKygE,aACzBzgE,KAAKg9E,eAAeE,sBAAsBl9E,KAAKygE,aAEnD,IAAI0c,EAAmBC,2BAA2BC,uBAAuBr9E,KAAKA,KAAKg9E,gBACnFh9E,KAAKg9E,eAAeM,yBAAyBH,GAEzB,IAAjBn9E,KAAKoT,KAAKm8B,IAAYvvC,KAAKoT,KAAKk7D,GAC/BtuE,KAAKu9E,cAAgBC,wBAAwBx9E,MACtB,IAAjBA,KAAKoT,KAAKm8B,IAChBvvC,KAAKg9E,eAAeS,eAAiBC,yBAAyB19E,KAAK06E,WAAW16E,KAAK66E,UAAU76E,KAAKg9E,gBAClGh9E,KAAKg9E,eAAeW,QAAU39E,KAAKg9E,eAAeS,gBAC3B,IAAjBz9E,KAAKoT,KAAKm8B,KAChBvvC,KAAKg9E,eAAeY,cAAgBC,wBAAwB79E,MAC5DA,KAAKg9E,eAAexlD,KAAOx3B,KAAKg9E,eAAeY,gBAGvDE,aAAc,WACV,IAAIC,EAAiBxwC,aAAavtC,KAAKoT,KAAK4qE,KACjCh+E,KAAK42E,aAAe52E,KAAK+nE,cAE/Bz2C,MAAM,kBAAoBysD,GAEnCxH,aAAc,SAASnjE,EAAMo3C,EAAYV,GACrC9pD,KAAKwqD,WAAaA,EAClBxqD,KAAK8pD,KAAOA,EACZ9pD,KAAKoT,KAAOA,EACZpT,KAAKkqE,QAAUh/B,kBAGXlrC,KAAKoT,KAAK6qE,KACVj+E,KAAKoT,KAAK6qE,GAAK,GAGnBj+E,KAAKk+E,eAAiB,IAAIC,eAAen+E,KAAKoT,KAAKpT,KAAKA,KAAKitC,oBAGjEmxC,QAAS,WACL,OAAOp+E,KAAK+tB,MAEfqoD,iBAAkB,cAUvBlH,YAAYrzE,UAAUm0E,aAAe,SAAS/4C,GAC1Cj3B,KAAK+0E,kBAAkB99C,GAAK,IAGhCi4C,YAAYrzE,UAAUi0E,YAAc,aAGpCZ,YAAYrzE,UAAUo0E,eAAiB,WACtC,OAAO,MAGRf,YAAYrzE,UAAUiiC,QAAU,aAGhCoxC,YAAYrzE,UAAUu6E,iBAAmB,aAGzClH,YAAYrzE,UAAU+xB,KAAO,aAG7BwqB,gBAAgB,CAAC0hC,YAAY5O,iBAAiBF,iBAAiBC,cAAeiE,aAK9E6K,eAAel+E,UAAY,CACvB26E,oBAAqB,WACjBx2E,KAAK+nE,aAAen7B,SAAS,MAEjC6pC,wBAAyB,WACrBz2E,KAAKq+E,aAAezxC,SAAS,KAC7B5sC,KAAKs+E,mBAAqBt+E,KAAK+nE,aAC/B/nE,KAAK8qE,cAAgB9qE,KAAK+nE,aAC1B/nE,KAAKu+E,cAAe,EACpB,IAEIniB,EAAOC,EAAK5jD,EAFZ+lE,EAAqB,KAGzB,GAAIx+E,KAAKoT,KAAK0rC,IACV,GAAoB,GAAhB9+C,KAAKoT,KAAK0rC,IAA2B,GAAhB9+C,KAAKoT,KAAK0rC,GAAS,CACxC,IAAI2/B,EAAS7xC,SAAS,QACtB6xC,EAAO77B,aAAa,KAAM5iD,KAAKkqE,SAC/BuU,EAAO77B,aAAa,YAA6B,GAAhB5iD,KAAKoT,KAAK0rC,GAAU,YAAc,SACnE2/B,EAAOjtD,YAAYxxB,KAAK+nE,cACxByW,EAAqBC,EACrBz+E,KAAKwqD,WAAWvG,KAAKzyB,YAAYitD,GAE5BziB,eAAeC,UAA4B,GAAhBj8D,KAAKoT,KAAK0rC,KACtC2/B,EAAO77B,aAAa,YAAa,aACjCwZ,EAAQlxB,kBACRmxB,EAAMH,eAAeC,aAAaC,GAClCp8D,KAAKwqD,WAAWvG,KAAKzyB,YAAY6qC,GACjCA,EAAI7qC,YAAY0qC,eAAeI,iCAC/B7jD,EAAKm0B,SAAS,MACXpb,YAAYxxB,KAAK+nE,cACpByW,EAAqB/lE,EACrBgmE,EAAOjtD,YAAY/Y,GACnBA,EAAGmqC,aAAa,SAAS,OAASnb,aAAe,IAAM20B,EAAQ,WAEhE,GAAmB,GAAhBp8D,KAAKoT,KAAK0rC,GAAS,CACzB,IAAI4/B,EAAY9xC,SAAS,QACzB8xC,EAAU97B,aAAa,KAAM5iD,KAAKkqE,SAClCwU,EAAU97B,aAAa,YAAY,SACnC,IAAI+7B,EAAc/xC,SAAS,KAC3B8xC,EAAUltD,YAAYmtD,GACtBviB,EAAQlxB,kBACRmxB,EAAMH,eAAeC,aAAaC,GAUlC,IAAIwiB,EAAQhyC,SAAS,uBACrBgyC,EAAMh8B,aAAa,KAAK,iBACxByZ,EAAI7qC,YAAYotD,GAChB,IAAIC,EAASjyC,SAAS,WACtBiyC,EAAOj8B,aAAa,OAAO,SAC3Bi8B,EAAOj8B,aAAa,cAAc,WAClCg8B,EAAMptD,YAAYqtD,GAElB7+E,KAAKwqD,WAAWvG,KAAKzyB,YAAY6qC,GACjC,IAAIyiB,EAAYlyC,SAAS,QACzBkyC,EAAUl8B,aAAa,QAAU5iD,KAAK8pD,KAAK12C,KAAKlB,GAChD4sE,EAAUl8B,aAAa,SAAU5iD,KAAK8pD,KAAK12C,KAAKnH,GAChD6yE,EAAUl8B,aAAa,IAAI,KAC3Bk8B,EAAUl8B,aAAa,IAAI,KAC3Bk8B,EAAUl8B,aAAa,OAAO,WAC9Bk8B,EAAUl8B,aAAa,UAAU,KACjC+7B,EAAY/7B,aAAa,SAAU,OAASnb,aAAe,IAAI20B,EAAM,KACrEuiB,EAAYntD,YAAYstD,GACxBH,EAAYntD,YAAYxxB,KAAK+nE,cAC7ByW,EAAqBG,EAChB3iB,eAAeC,WAChByiB,EAAU97B,aAAa,YAAa,aACpCyZ,EAAI7qC,YAAY0qC,eAAeI,gCAC/B7jD,EAAKm0B,SAAS,KACd+xC,EAAYntD,YAAYstD,GACxBrmE,EAAG+Y,YAAYxxB,KAAK+nE,cACpByW,EAAqB/lE,EACrBkmE,EAAYntD,YAAY/Y,IAE5BzY,KAAKwqD,WAAWvG,KAAKzyB,YAAYktD,SAE9B1+E,KAAKoT,KAAKyrC,IACjB7+C,KAAKq+E,aAAa7sD,YAAYxxB,KAAK+nE,cACnCyW,EAAqBx+E,KAAKq+E,aAC1Br+E,KAAK42E,YAAc52E,KAAKq+E,cAExBr+E,KAAK42E,YAAc52E,KAAK+nE,aAS5B,GAPI/nE,KAAKoT,KAAK2rE,IACV/+E,KAAK+nE,aAAanlB,aAAa,KAAM5iD,KAAKoT,KAAK2rE,IAE/C/+E,KAAKoT,KAAK0tC,IACV9gD,KAAK+nE,aAAanlB,aAAa,QAAS5iD,KAAKoT,KAAK0tC,IAGjC,IAAjB9gD,KAAKoT,KAAKm8B,KAAavvC,KAAKoT,KAAKq4D,GAAI,CACrC,IAAIuT,EAAKpyC,SAAU,YACf4F,EAAK5F,SAAS,QAClB4F,EAAGoQ,aAAa,IAAI,SAAW5iD,KAAKoT,KAAKlB,EAArB,OAAuClS,KAAKoT,KAAKlB,EAAI,IAAMlS,KAAKoT,KAAKnH,EAAI,OAASjM,KAAKoT,KAAKnH,EAAI,KACpH,IAAIgzE,EAAS/zC,kBAKb,GAJA8zC,EAAGp8B,aAAa,KAAKq8B,GACrBD,EAAGxtD,YAAYghB,GACfxyC,KAAKwqD,WAAWvG,KAAKzyB,YAAYwtD,GAE7Bh/E,KAAK+8E,aAAc,CACnB,IAAImC,EAAUtyC,SAAS,KACvBsyC,EAAQt8B,aAAa,YAAY,OAASnb,aAAe,IAAIw3C,EAAS,KACtEC,EAAQ1tD,YAAYxxB,KAAK+nE,cACzB/nE,KAAKs+E,mBAAqBY,EACtBV,EACAA,EAAmBhtD,YAAYxxB,KAAKs+E,oBAEpCt+E,KAAK42E,YAAc52E,KAAKs+E,wBAG5Bt+E,KAAK+nE,aAAanlB,aAAa,YAAY,OAASnb,aAAe,IAAIw3C,EAAO,KAIjE,IAAjBj/E,KAAKoT,KAAK4qE,IACVh+E,KAAK89E,gBAIbjH,cAAe,WACP72E,KAAKw0E,eAAeU,SACpBl1E,KAAKs+E,mBAAmB17B,aAAa,YAAa5iD,KAAKw0E,eAAehoB,IAAI/Y,WAE1EzzC,KAAKw0E,eAAeW,QACpBn1E,KAAKs+E,mBAAmB17B,aAAa,UAAW5iD,KAAKw0E,eAAeC,MAAMjrE,EAAE6hC,IAGpF2rC,mBAAoB,WAChBh3E,KAAK+nE,aAAe,KACpB/nE,KAAKq+E,aAAe,KACpBr+E,KAAKygE,YAAY3iC,WAErBmyC,eAAgB,WACZ,OAAIjwE,KAAKoT,KAAKq4D,GACH,KAEJzrE,KAAK42E,aAEhBF,2BAA4B,WACxB12E,KAAKygE,YAAc,IAAIkJ,YAAY3pE,KAAKoT,KAAMpT,KAAMA,KAAKwqD,YACzDxqD,KAAKm/E,yBAA2B,IAAIC,WAAWp/E,OAEnD4vE,SAAU,SAASp/C,GACVxwB,KAAKq+E,cAGVr+E,KAAKq+E,aAAaz7B,aAAa,OAAQ,OAASnb,aAAe,IAAMjX,EAAK,OAMlFwpD,cAAcn+E,UAAY,CACtBwjF,oBAAqB,SAASjsE,GAC1B,IAAInW,EAAGgD,EAAMD,KAAK46E,eAAep+E,OACjC,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb+C,KAAK46E,eAAe39E,GAAGsyD,SAASn8C,IAGxCksE,2BAA4B,SAASlsE,GAEjC,IADA,IAAWnT,EAAMD,KAAK46E,eAAep+E,OAA7B,EACEyD,GACN,GAAGD,KAAK46E,eAFJ,GAEsB2E,oBAAoBnsE,GAC1C,OAAO,EAGf,OAAO,GAEXosE,gBAAiB,WACb,GAAIx/E,KAAK46E,eAAep+E,OAAxB,CAGA,IAAIS,EAAGgD,EAAMD,KAAKs/C,OAAO9iD,OACzB,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb+C,KAAKs/C,OAAOriD,GAAG8qD,GAAG3Z,QAItB,IAAInxC,GADJgD,EAAMD,KAAK46E,eAAep+E,QAChB,EAAES,GAAG,EAAEA,GAAG,EAChB+C,KAAK46E,eAAe39E,GAAG+2D,cAAch0D,KAAK4qD,iBAGlD60B,OAAQ,CACJ,EAAK,OACL,EAAK,QACL,EAAK,UAETC,OAAQ,CACJ,EAAK,QACL,EAAK,QACL,EAAK,SAETC,uBAAwB,SAASp1B,GAG7B,IAFA,IAAI0M,EAAWj3D,KAAK86E,kBAChB79E,EAAI,EAAGgD,EAAMg3D,EAASz6D,OACnBS,EAAIgD,GAAK,CACZ,GAAIg3D,EAASh6D,GAAGstD,OAASA,EACrB,OAAO0M,EAASh6D,GAAGsT,IAEvBtT,GAAK,EAET,OAAO,GAEX2iF,oBAAqB,SAASr1B,EAAMh6C,GAGhC,IAFA,IAAI0mD,EAAWj3D,KAAK86E,kBAChB79E,EAAIg6D,EAASz6D,OACXS,GAEF,GAAIg6D,EADJh6D,GAAK,GACWstD,OAASA,EAErB,YADA0M,EAASh6D,GAAGsT,IAAMA,GAI1B0mD,EAAS95D,KAAK,IAAIkuE,iBAAiB9gB,EAAMh6C,KAE7Cy/D,aAAc,SAAS/4C,GACnBj3B,KAAKg2E,uBAAuB/+C,GAC5Bj3B,KAAK+0E,kBAAkB99C,EAAKj3B,KAAK01E,aAMzCuE,aAAap+E,UAAUy6E,YAAc,SAASljE,EAAKo3C,EAAWV,GAC1D9pD,KAAKm+D,oBAAqB,EAC1Bn+D,KAAK+lD,YACL/lD,KAAKu2E,aAAanjE,EAAMo3C,EAAYV,GACpC9pD,KAAK0mE,aAAe,IAAI1H,aAAah/D,KAAMoT,EAAKrT,EAAGC,KAAKitC,mBACxDjtC,KAAK6/E,aAAe,IAAIviB,qBAAqBlqD,EAAKrT,EAAGC,KAAKw9D,WAAYx9D,MACtEA,KAAKi1E,cAAc7hE,EAAMo3C,EAAYV,GACrC9pD,KAAK60E,gBACL70E,KAAKy1E,iBACLz1E,KAAKw2E,sBACLx2E,KAAKy2E,0BACLz2E,KAAK02E,6BACL12E,KAAK22E,gBACL32E,KAAK4tB,OACL5tB,KAAK6/E,aAAarf,iBAAiBxgE,KAAKitC,oBAG5CgtC,aAAap+E,UAAUm0E,aAAe,SAAS/4C,GAC3Cj3B,KAAKotC,MAAO,EACZptC,KAAKg2E,uBAAuB/+C,GAC5Bj3B,KAAK+0E,kBAAkB99C,EAAKj3B,KAAK01E,YAC9B11E,KAAK0mE,aAAat5B,MAAQptC,KAAK0mE,aAAa9b,iBAC3C5qD,KAAK8/E,eACL9/E,KAAK0mE,aAAa9b,eAAgB,EAClC5qD,KAAK0mE,aAAat5B,MAAO,IAIjC6sC,aAAap+E,UAAUkkF,gBAAkB,SAASxe,EAAcjiB,GAC5D,IAAI1rC,EACS4kD,EADP9Z,EAAOY,EAAO9iD,OAEhBwjF,EAAW,GACf,IAAIpsE,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EACd4kD,EAAYlZ,EAAO1rC,GAAG8rC,GAAGjjD,EACzBujF,GAAYznB,iBAAiBC,EAAWA,EAAUv7D,EAAET,QAAQ,EAAM+kE,GAEtE,OAAOye,GAGX/F,aAAap+E,UAAUgqE,mBAAqB,SAASC,EAASr+C,GAC1DznB,KAAK0mE,aAAab,mBAAmBC,EAASr+C,IAGlDwyD,aAAap+E,UAAUoqE,cAAgB,SAASC,GAC5ClmE,KAAK0mE,aAAaT,cAAcC,IAGpC+T,aAAap+E,UAAUsqE,mBAAqB,SAAS8Z,GACjDjgF,KAAK0mE,aAAaP,mBAAmB8Z,IAGzChG,aAAap+E,UAAUqkF,4BAA8B,SAAS9/B,EAAcmhB,EAAc4e,EAAYvf,EAAMC,GAKxG,OAJGzgB,EAAayf,IACZ0B,EAAalpC,UAAU+nB,EAAayf,GAAG,GAAGzf,EAAayf,GAAG,GAAKzf,EAAaif,OAAO,GAEvFkC,EAAalpC,UAAU,GAAG+nB,EAAauf,GAAG,GACnCvf,EAAaxsC,GAChB,KAAK,EACD2tD,EAAalpC,UAAU+nB,EAAaof,eAAiBpf,EAAakf,SAAWlf,EAAasf,WAAWygB,IAAa,EAAE,GACpH,MACJ,KAAK,EACD5e,EAAalpC,UAAU+nB,EAAaof,eAAiBpf,EAAakf,SAAWlf,EAAasf,WAAWygB,IAAc,EAAE,EAAE,GAG/H5e,EAAalpC,UAAUuoC,EAAMC,EAAM,IAIvCoZ,aAAap+E,UAAUukF,WAAa,SAASC,GACzC,MAAO,OAASl9E,KAAKiZ,MAAmB,IAAbikE,EAAU,IAAU,IAAMl9E,KAAKiZ,MAAmB,IAAbikE,EAAU,IAAU,IAAMl9E,KAAKiZ,MAAmB,IAAbikE,EAAU,IAAU,KAG7HpG,aAAap+E,UAAUykF,UAAY,IAAIvhB,YAEvCkb,aAAap+E,UAAUiiC,QAAU,aAKjCsa,gBAAgB,CAAC0hC,YAAa5O,iBAAkBF,iBAAkBC,aAAcG,sBAAuB8O,cAEvGA,aAAar+E,UAAUy6E,YAAc,SAASljE,EAAKo3C,EAAWV,GAC1D9pD,KAAK+lD,YACL/lD,KAAKu2E,aAAanjE,EAAMo3C,EAAYV,GACpC9pD,KAAKi1E,cAAc7hE,EAAMo3C,EAAYV,GACrC9pD,KAAKy1E,iBACLz1E,KAAK60E,gBACL70E,KAAKw2E,sBACLx2E,KAAKy2E,0BACLz2E,KAAK02E,8BACF12E,KAAKoT,KAAKk7D,IAAO9jB,EAAW2d,iBAC3BnoE,KAAKwtE,gBAETxtE,KAAK4tB,QAeTssD,aAAar+E,UAAUm0E,aAAe,SAAS/4C,GAI3C,GAHAj3B,KAAKotC,MAAO,EACZptC,KAAKg2E,uBAAuB/+C,GAC5Bj3B,KAAK+0E,kBAAkB99C,EAAKj3B,KAAK01E,WAC7B11E,KAAK01E,WAAc11E,KAAKoT,KAAKk7D,GAAjC,CAIA,GAAKtuE,KAAKu6E,GAAGC,aAOTx6E,KAAK+pD,cAAgB9yB,EAAIj3B,KAAKoT,KAAK6qE,OAPZ,CACvB,IAAIsC,EAAevgF,KAAKu6E,GAAGlvC,EACxBk1C,IAAiBvgF,KAAKoT,KAAKilD,KAC1BkoB,EAAevgF,KAAKoT,KAAKilD,GAAK,GAElCr4D,KAAK+pD,cAAgBw2B,EAIzB,IAAItjF,EAAEgD,EAAMD,KAAKi3D,SAASz6D,OAK1B,IAJIwD,KAAKq+C,gBACLr+C,KAAK0sE,YAAY1sE,KAAK+pD,eAGrB9sD,EAAIgD,EAAM,EAAGhD,GAAK,EAAGA,GAAK,GACxB+C,KAAKq+C,gBAAkBr+C,KAAKi3D,SAASh6D,MACpC+C,KAAKi3D,SAASh6D,GAAG+yE,aAAahwE,KAAK+pD,cAAgB/pD,KAAKs+C,OAAOrhD,GAAGouD,IAC/DrrD,KAAKi3D,SAASh6D,GAAGmwC,OAChBptC,KAAKotC,MAAO,MAM5B8sC,aAAar+E,UAAUi7E,mBAAqB,WACxC,IAAI75E,EAAEgD,EAAMD,KAAKs+C,OAAO9hD,OACxB,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,GACnB+C,KAAKq+C,gBAAkBr+C,KAAKi3D,SAASh6D,KACpC+C,KAAKi3D,SAASh6D,GAAG6yE,eAK7BoK,aAAar+E,UAAU2kF,YAAc,SAASC,GAC1CzgF,KAAKi3D,SAAWwpB,GAGpBvG,aAAar+E,UAAU6kF,YAAc,WACjC,OAAO1gF,KAAKi3D,UAGhBijB,aAAar+E,UAAU8kF,gBAAkB,WACrC,IAAI1jF,EAAEgD,EAAMD,KAAKs+C,OAAO9hD,OACxB,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAG,EACjB+C,KAAKi3D,SAASh6D,IACb+C,KAAKi3D,SAASh6D,GAAG6gC,WAK7Bo8C,aAAar+E,UAAUiiC,QAAU,WAC7B99B,KAAK2gF,kBACL3gF,KAAKg3E,sBAST5+B,gBAAgB,CAAC0hC,YAAY5O,iBAAiB6O,eAAe/O,iBAAiBC,aAAaG,sBAAuBiE,eAElHA,cAAcxzE,UAAU86E,cAAgB,WAEpC,IAAIpd,EAAYv5D,KAAKwqD,WAAWqQ,cAAc76D,KAAK86D,WAEnD96D,KAAK+2E,UAAYnqC,SAAS,SAC1B5sC,KAAK+2E,UAAUn0B,aAAa,QAAQ5iD,KAAK86D,UAAU5oD,EAAE,MACrDlS,KAAK+2E,UAAUn0B,aAAa,SAAS5iD,KAAK86D,UAAU7uD,EAAE,MACtDjM,KAAK+2E,UAAUn0B,aAAa,sBAAsB5iD,KAAK86D,UAAU8lB,IAAM5gF,KAAKwqD,WAAWwd,aAAaE,0BACpGloE,KAAK+2E,UAAUjb,eAAe,+BAA+B,OAAOvC,GAEpEv5D,KAAK+nE,aAAav2C,YAAYxxB,KAAK+2E,YAGvC1H,cAAcxzE,UAAUu6E,iBAAmB,WAC1C,OAAOp2E,KAAKm6E,YAKb/hC,gBAAgB,CAACi3B,eAAgBE,eAEjCA,cAAc1zE,UAAU86E,cAAgB,WAEpC,IAAI7M,EAAOl9B,SAAS,QAIpBk9B,EAAKlnB,aAAa,QAAQ5iD,KAAKoT,KAAKorD,IACpCsL,EAAKlnB,aAAa,SAAS5iD,KAAKoT,KAAK20C,IACrC+hB,EAAKlnB,aAAa,OAAO5iD,KAAKoT,KAAK4xC,IACnChlD,KAAK+nE,aAAav2C,YAAYs4C,IAgBlCyD,aAAa1xE,UAAUm0E,aAAe,SAAS/4C,GAG3C,GAFAj3B,KAAKg2E,uBAAuB/+C,GAAK,GACjCj3B,KAAK+0E,kBAAkB99C,GAAK,GACvBj3B,KAAKu6E,GAAGC,aAITx6E,KAAKs6E,aAAerjD,EAAMj3B,KAAKoT,KAAK6qE,OAJb,CACvB,IAAIsC,EAAevgF,KAAKu6E,GAAGlvC,EAC3BrrC,KAAKs6E,aAAeiG,IAM5BnoC,gBAAgB,CAAC+yB,kBAAkB2O,YAAY7O,cAAesC,cAE9DA,aAAa1xE,UAAUi0E,YAAc,WAChC9vE,KAAK01E,WAAa11E,KAAKq6E,WACrBr6E,KAAKo6E,aAIEp6E,KAAKk5D,MAAMS,WACnBx2D,KAAKC,IAAIpD,KAAKs6E,aAAet6E,KAAKwqD,WAAWsC,UAAY9sD,KAAKk5D,MAAMQ,QAAU,KAEjF15D,KAAKk5D,MAAMQ,KAAK15D,KAAKs6E,aAAet6E,KAAKwqD,WAAWsC,YANpD9sD,KAAKk5D,MAAMt8B,OACX58B,KAAKk5D,MAAMQ,KAAK15D,KAAKs6E,aAAet6E,KAAKwqD,WAAWsC,WACpD9sD,KAAKo6E,YAAa,KASrB7M,aAAa1xE,UAAUu0E,KAAO,aAI9B7C,aAAa1xE,UAAU+xB,KAAO,WAC7B5tB,KAAKk5D,MAAMr8B,QACX78B,KAAKo6E,YAAa,GAGnB7M,aAAa1xE,UAAUghC,MAAQ,WAC9B78B,KAAKk5D,MAAMr8B,QACX78B,KAAKo6E,YAAa,EAClBp6E,KAAKq6E,UAAW,GAGjB9M,aAAa1xE,UAAUs9D,OAAS,WAC/Bn5D,KAAKq6E,UAAW,GAGjB9M,aAAa1xE,UAAUu9D,QAAU,SAASC,GACzCr5D,KAAKk5D,MAAMU,KAAKP,IAGjBkU,aAAa1xE,UAAUs+D,OAAS,SAAS0mB,GACxC7gF,KAAKk5D,MAAMiB,OAAO0mB,IAGnBtT,aAAa1xE,UAAUo0E,eAAiB,WACvC,OAAO,MAGR1C,aAAa1xE,UAAUiiC,QAAU,aAGjCyvC,aAAa1xE,UAAUu6E,iBAAmB,aAG1C7I,aAAa1xE,UAAU0yE,gBAAkB,aAezCn2B,gBAAgB,CAACkvB,YAAa4S,aAAcH,gBAAiBzK,gBAO7Dl3B,gBAAgB,CAAC0hC,YAAY5O,iBAAiB6O,eAAe/O,iBAAiBC,aAAaG,qBAAqB6O,cAAe7K,gBAE/HA,eAAevzE,UAAU86E,cAAgB,WAEjC32E,KAAKoT,KAAK2tC,cAAgB/gD,KAAKwqD,WAAWhM,YAAY+B,QACtDvgD,KAAK8gF,cAAgBl0C,SAAS,UAItCwiC,eAAevzE,UAAUklF,kBAAoB,SAASC,GAGlD,IAFA,IAAI/jF,EAAI,EAAGgD,EAAM+gF,EAAUxkF,OACvBykF,EAAe,GAAIC,EAAqB,GACrCjkF,EAAIgD,GACJ+gF,EAAU/jF,KAAO0hB,OAAO61B,aAAa,KAAOwsC,EAAU/jF,KAAO0hB,OAAO61B,aAAa,IAChFysC,EAAa9jF,KAAK+jF,GAClBA,EAAqB,IAErBA,GAAsBF,EAAU/jF,GAEpCA,GAAK,EAGT,OADAgkF,EAAa9jF,KAAK+jF,GACXD,GAGX7R,eAAevzE,UAAUikF,aAAe,WACpC,IAAI7iF,EAAGgD,EAEHmgD,EAAepgD,KAAK0mE,aAAatH,YACrCp/D,KAAKk+D,gBAAkBn1B,iBAAiBqX,EAAeA,EAAa/qC,EAAE7Y,OAAS,GAC5E4jD,EAAaqe,GACZz+D,KAAK+nE,aAAanlB,aAAa,OAAQ5iD,KAAKogF,WAAWhgC,EAAaqe,KAEpEz+D,KAAK+nE,aAAanlB,aAAa,OAAQ,iBAExCxC,EAAa4E,KACZhlD,KAAK+nE,aAAanlB,aAAa,SAAU5iD,KAAKogF,WAAWhgC,EAAa4E,KACtEhlD,KAAK+nE,aAAanlB,aAAa,eAAgBxC,EAAaoe,KAEhEx+D,KAAK+nE,aAAanlB,aAAa,YAAaxC,EAAa8f,WACzD,IAAIxd,EAAW1iD,KAAKwqD,WAAWhM,YAAY6G,cAAcjF,EAAa9wB,GACtE,GAAGozB,EAASO,OACRjjD,KAAK+nE,aAAanlB,aAAa,QAAQF,EAASO,YAC7C,CACHjjD,KAAK+nE,aAAanlB,aAAa,cAAeF,EAASG,SACvD,IAAIE,EAAU3C,EAAa2C,QAASD,EAAS1C,EAAa0C,OAC1D9iD,KAAK+nE,aAAanlB,aAAa,aAAcE,GAC7C9iD,KAAK+nE,aAAanlB,aAAa,cAAeG,GAElD/iD,KAAK+nE,aAAanlB,aAAa,aAAcxC,EAAargD,GAE1D,IAIIohF,EAJAzf,EAAUthB,EAAa/qC,GAAK,GAC5B+rE,IAAephF,KAAKwqD,WAAWhM,YAAY+B,MAC/CtgD,EAAMyhE,EAAQllE,OAGd,IACI8iD,EADAiiB,EAAevhE,KAAKwhE,QACZwe,EAAW,GAAIj/B,EAAc/gD,KAAKoT,KAAK2tC,YAC/C6f,EAAO,EAAGC,EAAO,EAAGkB,GAAY,EAChCiD,EAAiB5kB,EAAa2V,GAAG,IAAK3V,EAAa8f,UACvD,IAAGnf,GAAgBqgC,GAAehhC,EAAahR,GA4BxC,CACH,IACI6L,EAAWwpB,EADX4c,EAAoBrhF,KAAKy6E,UAAUj+E,OAEvC,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EAClBmkF,GAAergC,GAAqB,IAAN9jD,IAC9BkkF,EAAQE,EAAoBpkF,EAAI+C,KAAKy6E,UAAUx9E,GAAK2vC,SAASw0C,EAAW,OAAO,QAC3EC,GAAqBpkF,IACrBkkF,EAAMv+B,aAAa,iBAAkB,QACrCu+B,EAAMv+B,aAAa,kBAAkB,SACrCu+B,EAAMv+B,aAAa,oBAAoB,KACvC5iD,KAAKy6E,UAAUx9E,GAAKkkF,EACpBnhF,KAAK+nE,aAAav2C,YAAY2vD,IAElCA,EAAM7vD,MAAMC,QAAU,WAG1BgwC,EAAanzB,QACbmzB,EAAapyB,MAAMiR,EAAa8f,UAAY,IAAK9f,EAAa8f,UAAY,KACtEnf,IACG2gB,EAAQzkE,GAAG2Q,IACVgzD,GAAQoE,EACRnE,GAAQzgB,EAAa6f,QACrBY,GAAQkB,EAAY,EAAI,EACxBA,GAAY,GAEhB/hE,KAAKkgF,4BAA4B9/B,EAAcmhB,EAAcG,EAAQzkE,GAAGqmE,KAAM1C,EAAMC,GACpFD,GAAQc,EAAQzkE,GAAGoY,GAAK,EAExBurD,GAAQoE,GAEToc,GAGC9hC,GADArE,GADAwpB,EAAWzkE,KAAKwqD,WAAWhM,YAAY2G,YAAY/E,EAAa+f,UAAUljE,GAAIylD,EAASI,OAAQ9iD,KAAKwqD,WAAWhM,YAAY6G,cAAcjF,EAAa9wB,GAAGuzB,WACjI4hB,EAASrxD,MAAQ,IACtBksC,OAASrE,EAAUqE,OAAO,GAAG5vB,GAAK,GACjDqxB,EAGAi/B,GAAYhgF,KAAK+/E,gBAAgBxe,EAAajiB,GAF9C6hC,EAAMv+B,aAAa,IAAI5iD,KAAK+/E,gBAAgBxe,EAAajiB,MAK1DyB,GACCogC,EAAMv+B,aAAa,YAAa,aAAe2e,EAAaxkC,MAAM,IAAM,IAAMwkC,EAAaxkC,MAAM,IAAM,KAE3GokD,EAAMn+B,YAAc0e,EAAQzkE,GAAGuD,IAC/B2gF,EAAMrlB,eAAe,uCAAwC,YAAY,aAI7E/a,GAAeogC,GACfA,EAAMv+B,aAAa,IAAIo9B,OA7EoB,CAC/C,IAAIsB,EAAWthF,KAAK8gF,cAChBS,EAAU,QACd,OAAOnhC,EAAaxsC,GAChB,KAAK,EACD2tE,EAAU,MACV,MACJ,KAAK,EACDA,EAAU,SAGlBD,EAAS1+B,aAAa,cAAc2+B,GACpCD,EAAS1+B,aAAa,iBAAiBoiB,GACvC,IAAIhiB,EAAchjD,KAAK+gF,kBAAkB3gC,EAAa+f,WAGtD,IAFAlgE,EAAM+iD,EAAYxmD,OAClBqkE,EAAOzgB,EAAayf,GAAKzf,EAAayf,GAAG,GAAKzf,EAAaif,OAAS,EAC9DpiE,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,GACvBkkF,EAAQnhF,KAAKy6E,UAAUx9E,IAAM2vC,SAAS,UAChCoW,YAAcA,EAAY/lD,GAChCkkF,EAAMv+B,aAAa,IAAK,GACxBu+B,EAAMv+B,aAAa,IAAKie,GACxBsgB,EAAM7vD,MAAMC,QAAU,UACtB+vD,EAAS9vD,YAAY2vD,GACrBnhF,KAAKy6E,UAAUx9E,GAAKkkF,EACpBtgB,GAAQzgB,EAAaggB,gBAGzBpgE,KAAK+nE,aAAav2C,YAAY8vD,GAqDlC,KAAOrkF,EAAI+C,KAAKy6E,UAAUj+E,QACtBwD,KAAKy6E,UAAUx9E,GAAGq0B,MAAMC,QAAU,OAClCt0B,GAAK,EAGT+C,KAAKu+E,cAAe,GAGxBnP,eAAevzE,UAAUu6E,iBAAmB,SAAS9zD,GAGjD,GAFAtiB,KAAKgwE,aAAahwE,KAAK8pD,KAAKC,cAAgB/pD,KAAKoT,KAAKi4C,IACtDrrD,KAAK82E,qBACF92E,KAAKu+E,aAAa,CACjBv+E,KAAKu+E,cAAe,EACpB,IAAIiD,EAAUxhF,KAAK+nE,aAAa0Z,UAChCzhF,KAAK0hF,KAAO,CACRj4C,IAAK+3C,EAAQ71E,EACb+9B,KAAM83C,EAAQl4E,EACdu1B,MAAO2iD,EAAQ3iD,MACfC,OAAQ0iD,EAAQ1iD,QAGxB,OAAO9+B,KAAK0hF,MAGhBtS,eAAevzE,UAAUi7E,mBAAqB,WAE1C,IAAI92E,KAAKoT,KAAK2tC,cACV/gD,KAAK6/E,aAAalf,YAAY3gE,KAAK0mE,aAAatH,YAAap/D,KAAKm+D,oBAC/Dn+D,KAAKm+D,oBAAsBn+D,KAAK6/E,aAAa1hB,oBAAmB,CAE/D,IAAKlhE,EAAEgD,EADPD,KAAKu+E,cAAe,EAEpB,IAKIoD,EAAgBC,EALhB1jB,EAAkBl+D,KAAK6/E,aAAa3hB,gBAEpCwD,EAAU1hE,KAAK0mE,aAAatH,YAAY/pD,EAI5C,IAFApV,EAAMyhE,EAAQllE,OAEVS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACVykE,EAAQzkE,GAAG2Q,IAGd+zE,EAAiBzjB,EAAgBjhE,GACjC2kF,EAAW5hF,KAAKy6E,UAAUx9E,GACvB0kF,EAAev0C,KAAKvvC,GACnB+jF,EAASh/B,aAAa,YAAY++B,EAAe9jF,GAElD8jF,EAAev0C,KAAK5jC,GACnBo4E,EAASh/B,aAAa,UAAU++B,EAAen4E,GAEhDm4E,EAAev0C,KAAKoxB,IACnBojB,EAASh/B,aAAa,eAAe++B,EAAenjB,IAErDmjB,EAAev0C,KAAK4X,IACnB48B,EAASh/B,aAAa,SAAS++B,EAAe38B,IAE/C28B,EAAev0C,KAAKqxB,IACnBmjB,EAASh/B,aAAa,OAAO++B,EAAeljB,OA6BhErmB,gBAAgB,CAAC0hC,YAAY5O,iBAAiB6O,eAAeC,cAAchP,iBAAiBC,aAAaG,sBAAuB+D,iBAEhIA,gBAAgBtzE,UAAUgmF,qBAAuB,aAGjD1S,gBAAgBtzE,UAAUimF,eAAiB,IAAIl0C,OAE/CuhC,gBAAgBtzE,UAAUkmF,yBAA2B,aAErD5S,gBAAgBtzE,UAAU86E,cAAgB,WACtC32E,KAAKgiF,aAAahiF,KAAK06E,WAAW16E,KAAK66E,UAAU76E,KAAKwsE,aAAaxsE,KAAK+nE,aAAc,EAAG,IAAI,GAC7F/nE,KAAKiiF,sBAMT9S,gBAAgBtzE,UAAUomF,mBAAqB,WAC3C,IAAIhlF,EAA6Bg2D,EAC7Br/C,EACA0d,EAFGrxB,EAAMD,KAAKs/C,OAAO9iD,OAClBkiD,EAAO1+C,KAAK26E,WAAWn+E,OAE1B0lF,EAAa,GACbC,GAAc,EAClB,IAAIvuE,EAAI,EAAGA,EAAI8qC,EAAM9qC,GAAK,EAAG,CAIzB,IAHA0d,EAAQtxB,KAAK26E,WAAW/mE,GACxBuuE,GAAc,EACdD,EAAW1lF,OAAS,EAChBS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,GAEe,KADpCg2D,EAAQjzD,KAAKs/C,OAAOriD,IACX8nE,OAAOh8D,QAAQuoB,KACpB4wD,EAAW/kF,KAAK81D,GAChBkvB,EAAclvB,EAAM/lB,aAAei1C,GAGxCD,EAAW1lF,OAAS,GAAK2lF,GACxBniF,KAAKoiF,oBAAoBF,KAKrC/S,gBAAgBtzE,UAAUumF,oBAAsB,SAAS9iC,GACrD,IAAIriD,EAAGgD,EAAMq/C,EAAO9iD,OACpB,IAAIS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACrBqiD,EAAOriD,GAAGi2D,iBAIlBic,gBAAgBtzE,UAAUwmF,mBAAqB,SAASjvE,EAAMm4D,GAE1D,IAAI+W,EACApW,EAAU,IAAIZ,aAAal4D,EAAMm4D,GAEjC6L,EAAclL,EAAQR,MAC1B,GAAe,OAAZt4D,EAAKm8B,GACJ+yC,EAAc,IAAIrW,mBAAmBjsE,KAAMoT,EAAM84D,QAC9C,GAAe,OAAZ94D,EAAKm8B,GACX+yC,EAAc,IAAInW,iBAAiBnsE,KAAMoT,EAAM84D,QAC5C,GAAe,OAAZ94D,EAAKm8B,IAA2B,OAAZn8B,EAAKm8B,GAAa,CAE5C+yC,EAAc,IADwB,OAAZlvE,EAAKm8B,GAAc68B,yBAA2BE,4BAClCtsE,KAAMoT,EAAM84D,GAClDlsE,KAAKwqD,WAAWvG,KAAKzyB,YAAY8wD,EAAY/K,IACzC+K,EAAY7S,SACZzvE,KAAKwqD,WAAWvG,KAAKzyB,YAAY8wD,EAAYn2E,IAC7CnM,KAAKwqD,WAAWvG,KAAKzyB,YAAY8wD,EAAY1iB,IAC7CwX,EAAYx0B,aAAa,OAAO,OAASnb,aAAe,IAAM66C,EAAY7S,OAAS,MA4B3F,MAxBe,OAAZr8D,EAAKm8B,IAA2B,OAAZn8B,EAAKm8B,KACxB6nC,EAAYx0B,aAAa,iBAAkB5iD,KAAKy/E,OAAOrsE,EAAKmvE,KAAO,SACnEnL,EAAYx0B,aAAa,kBAAkB5iD,KAAK0/E,OAAOtsE,EAAKovE,KAAO,SACnEpL,EAAYx0B,aAAa,eAAe,KACzB,IAAZxvC,EAAKovE,IACJpL,EAAYx0B,aAAa,oBAAoBxvC,EAAKqvE,KAI5C,IAAXrvE,EAAKk4B,GACJ8rC,EAAYx0B,aAAa,YAAa,WAGvCxvC,EAAK2rE,IACJ3H,EAAYx0B,aAAa,KAAKxvC,EAAK2rE,IAEpC3rE,EAAK0tC,IACJs2B,EAAYx0B,aAAa,QAAQxvC,EAAK0tC,IAEvC1tC,EAAK4qE,KACJ5G,EAAY9lD,MAAM,kBAAoBic,aAAan6B,EAAK4qE,KAE5Dh+E,KAAK26E,WAAWx9E,KAAK+uE,GACrBlsE,KAAK0iF,sBAAsBtvE,EAAMkvE,GAC1BA,GAGXnT,gBAAgBtzE,UAAU8mF,mBAAqB,SAASvvE,GACpD,IAAIkvE,EAAc,IAAI/V,eAUtB,OATGn5D,EAAK2rE,IACJuD,EAAY7V,GAAG7pB,aAAa,KAAKxvC,EAAK2rE,IAEvC3rE,EAAK0tC,IACJwhC,EAAY7V,GAAG7pB,aAAa,QAAQxvC,EAAK0tC,IAE1C1tC,EAAK4qE,KACJsE,EAAY7V,GAAGn7C,MAAM,kBAAoBic,aAAan6B,EAAK4qE,KAExDsE,GAGXnT,gBAAgBtzE,UAAU+mF,uBAAyB,SAASxvE,EAAMmqB,GAC9D,IAAIslD,EAAoBp3B,yBAAyByB,qBAAqBltD,KAAKoT,EAAKpT,MAC5EsiF,EAAc,IAAItW,iBAAiB6W,EAAmBA,EAAkBr5E,EAAG+zB,GAE/E,OADAv9B,KAAK0iF,sBAAsBtvE,EAAMkvE,GAC1BA,GAGXnT,gBAAgBtzE,UAAUinF,mBAAqB,SAAS1vE,EAAM2vE,EAAiBxX,GAC3E,IAAIh8B,EAAK,EACM,OAAZn8B,EAAKm8B,GACJA,EAAK,EACY,OAAZn8B,EAAKm8B,GACVA,EAAK,EACY,OAAZn8B,EAAKm8B,KACVA,EAAK,GAET,IACI+yC,EAAc,IAAI1W,aAAamX,EAAiBxX,EADhC/c,qBAAqBmc,aAAa3qE,KAAKoT,EAAKm8B,EAAGvvC,OAKnE,OAHAA,KAAKs/C,OAAOniD,KAAKmlF,GACjBtiF,KAAKq/E,oBAAoBiD,GACzBtiF,KAAK0iF,sBAAsBtvE,EAAMkvE,GAC1BA,GAGXnT,gBAAgBtzE,UAAU6mF,sBAAwB,SAAStvE,EAAMm2B,GAE7D,IADA,IAAItsC,EAAI,EAAGgD,EAAMD,KAAK+6E,iBAAiBv+E,OACjCS,EAAIgD,GAAK,CACX,GAAGD,KAAK+6E,iBAAiB99E,GAAGssC,UAAYA,EACpC,OAEJtsC,GAAK,EAET+C,KAAK+6E,iBAAiB59E,KAAK,CACvBH,GAAI46E,oBAAoBuB,qBAAqB/lE,GAC7Cm2B,QAASA,EACTn2B,KAAMA,KAId+7D,gBAAgBtzE,UAAUmnF,iBAAmB,SAASV,GAClD,IACI1uE,EADA7W,EAAMulF,EAAYvd,OACfrmB,EAAO1+C,KAAK26E,WAAWn+E,OAC9B,IAAKoX,EAAI,EAAGA,EAAI8qC,EAAM9qC,GAAK,EAClB5T,KAAK26E,WAAW/mE,GAAGwnC,QACpBr+C,EAAII,KAAK6C,KAAK26E,WAAW/mE,KAKrCu7D,gBAAgBtzE,UAAUg8D,aAAe,WACrC73D,KAAK4qD,eAAgB,EACrB,IAAI3tD,EAAGgD,EAAMD,KAAK66E,UAAUr+E,OAC5B,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACtB+C,KAAKwsE,aAAavvE,GAAK+C,KAAK66E,UAAU59E,GAK1C,IAHA+C,KAAKgiF,aAAahiF,KAAK06E,WAAW16E,KAAK66E,UAAU76E,KAAKwsE,aAAaxsE,KAAK+nE,aAAc,EAAG,IAAI,GAC7F/nE,KAAKiiF,qBACLhiF,EAAMD,KAAKitC,kBAAkBzwC,OACzBS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACrB+C,KAAKitC,kBAAkBhwC,GAAGowC,WAE9BrtC,KAAKw/E,mBAGTrQ,gBAAgBtzE,UAAUmmF,aAAe,SAASjlF,EAAI89E,EAAUrO,EAAajvC,EAAWguC,EAAOM,EAAcoX,GACzG,IACIhmF,EACA2W,EAAG8qC,EACyCwkC,EAAkBC,EAAUC,EAHxEL,EAAkB,GAAGl1E,OAAOg+D,GACzB5rE,EAAMlD,EAAIP,OAAS,EAEtB6mF,EAAY,GAAIC,EAAe,GACnC,IAAIrmF,EAAEgD,EAAIhD,GAAG,EAAEA,GAAG,EAAE,CAOhB,IANAmmF,EAAepjF,KAAK2/E,uBAAuB5iF,EAAIE,KAI3C49E,EAAU59E,GAAKuvE,EAAa4W,EAAe,GAF3CrmF,EAAIE,GAAGs6D,QAAU0rB,EAIL,MAAblmF,EAAIE,GAAGsyC,IAA2B,MAAbxyC,EAAIE,GAAGsyC,IAA2B,MAAbxyC,EAAIE,GAAGsyC,IAA2B,MAAbxyC,EAAIE,GAAGsyC,GACjE6zC,EAGAvI,EAAU59E,GAAGq0B,MAAM8pB,QAAS,EAF5By/B,EAAU59E,GAAK+C,KAAKqiF,mBAAmBtlF,EAAIE,GAAIsuE,GAIhDxuE,EAAIE,GAAGs6D,SACNh6B,EAAU/L,YAAYqpD,EAAU59E,GAAGq0B,MAAMo6C,OAE7C2X,EAAUlmF,KAAK09E,EAAU59E,GAAGq0B,YAC1B,GAAgB,MAAbv0B,EAAIE,GAAGsyC,GAAW,CACvB,GAAI6zC,EAIA,IADA1kC,EAAOm8B,EAAU59E,GAAGyyB,GAAGlzB,OACnBoX,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EACdinE,EAAU59E,GAAGuvE,aAAa54D,GAAKinE,EAAU59E,GAAGyyB,GAAG9b,QAJnDinE,EAAU59E,GAAK+C,KAAK2iF,mBAAmB5lF,EAAIE,IAO/C+C,KAAKgiF,aAAajlF,EAAIE,GAAGyyB,GAAGmrD,EAAU59E,GAAGyyB,GAAGmrD,EAAU59E,GAAGuvE,aAAaqO,EAAU59E,GAAGwvE,GAAIlB,EAAQ,EAAGwX,EAAiBE,GAChHlmF,EAAIE,GAAGs6D,SACNh6B,EAAU/L,YAAYqpD,EAAU59E,GAAGwvE,QAErB,MAAb1vE,EAAIE,GAAGsyC,IACR6zC,IACAvI,EAAU59E,GAAK+C,KAAK4iF,uBAAuB7lF,EAAIE,GAAIsgC,IAEvD2lD,EAAmBrI,EAAU59E,GAAGwyC,UAChCszC,EAAgB5lF,KAAK+lF,IACH,MAAbnmF,EAAIE,GAAGsyC,IAA2B,MAAbxyC,EAAIE,GAAGsyC,IAA2B,MAAbxyC,EAAIE,GAAGsyC,IAA2B,MAAbxyC,EAAIE,GAAGsyC,IACvE6zC,IACAvI,EAAU59E,GAAK+C,KAAK8iF,mBAAmB/lF,EAAIE,GAAI8lF,EAAiBxX,IAEpEvrE,KAAKgjF,iBAAiBnI,EAAU59E,KAEd,MAAbF,EAAIE,GAAGsyC,IAA2B,MAAbxyC,EAAIE,GAAGsyC,IAA2B,MAAbxyC,EAAIE,GAAGsyC,IAA2B,MAAbxyC,EAAIE,GAAGsyC,IACvE6zC,GAMAD,EAAWtI,EAAU59E,IACZm+C,QAAS,IANlB+nC,EAAW1xB,eAAeG,YAAY70D,EAAIE,GAAGsyC,KACpC+e,KAAKtuD,KAAKjD,EAAIE,IACvB49E,EAAU59E,GAAKkmF,EACfnjF,KAAK46E,eAAez9E,KAAKgmF,IAK7BG,EAAanmF,KAAKgmF,IACA,MAAbpmF,EAAIE,GAAGsyC,KACR6zC,GAOAD,EAAWtI,EAAU59E,IACZm+C,QAAS,GAPlB+nC,EAAW1xB,eAAeG,YAAY70D,EAAIE,GAAGsyC,IAC7CsrC,EAAU59E,GAAKkmF,EACfA,EAAS70B,KAAKtuD,KAAKjD,EAAIE,EAAE49E,GACzB76E,KAAK46E,eAAez9E,KAAKgmF,GACzBF,GAAS,GAKbK,EAAanmF,KAAKgmF,IAEtBnjF,KAAK4/E,oBAAoB7iF,EAAIE,GAAIA,EAAI,GAGzC,IADAgD,EAAMojF,EAAU7mF,OACZS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbomF,EAAUpmF,GAAGm+C,QAAS,EAG1B,IADAn7C,EAAMqjF,EAAa9mF,OACfS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbqmF,EAAarmF,GAAGm+C,QAAS,GAIjC+zB,gBAAgBtzE,UAAUi7E,mBAAqB,WAC3C92E,KAAKw/E,kBACL,IAAIviF,EAAGgD,EAAMD,KAAK26E,WAAWn+E,OAC7B,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb+C,KAAK26E,WAAW19E,GAAGmxC,QAIvB,IAFApuC,KAAKujF,cAEAtmF,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,GAClB+C,KAAK26E,WAAW19E,GAAGmwC,MAAQptC,KAAK4qD,iBAC7B5qD,KAAK26E,WAAW19E,GAAG0uE,SAClB3rE,KAAK26E,WAAW19E,GAAG0uE,OAAO/oB,aAAa,IAAK5iD,KAAK26E,WAAW19E,GAAG+O,GAE/DhM,KAAK26E,WAAW19E,GAAG+O,EAAI,OAAShM,KAAK26E,WAAW19E,GAAG+O,GAEvDhM,KAAK26E,WAAW19E,GAAGyuE,MAAM9oB,aAAa,IAAK5iD,KAAK26E,WAAW19E,GAAG+O,GAAK,UAK/EmjE,gBAAgBtzE,UAAU0nF,YAAc,WACpC,IAAItmF,EACAumF,EADGvjF,EAAMD,KAAK+6E,iBAAiBv+E,OAEnC,IAAIS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACrBumF,EAAkBxjF,KAAK+6E,iBAAiB99E,IACpC+C,KAAK4qD,eAAiB44B,EAAgBj6C,QAAQ2D,eAAyC,IAAzBs2C,EAAgBpwE,MAC9EowE,EAAgBxmF,GAAGwmF,EAAgBpwE,KAAMowE,EAAgBj6C,QAASvpC,KAAK4qD,gBAKnFukB,gBAAgBtzE,UAAUiiC,QAAU,WAChC99B,KAAKg3E,qBACLh3E,KAAK06E,WAAa,KAClB16E,KAAK66E,UAAY,MA+BrBG,cAAcn/E,UAAUi0E,YAAc,SAASrjB,GAC3C,GAAGA,GAAezsD,KAAKi7E,cAAc7tC,KAAK,CACtC,IAAIq2C,EAAazjF,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EACpDq4C,EAAa1jF,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EACpDs4C,EAAU3jF,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAAE,IACvDrrC,KAAKk7E,aAAat4B,aAAa,SAAU8gC,EAAW,GAAID,EAAW,GAAI,UAAWA,EAAW,GAAI,KAAMC,EAAW,GAAID,EAAW,IAAK,UAAWA,EAAW,GAAI,KAAMC,EAAW,GAAID,EAAW,IAAK,UAAWA,EAAW,GAAI,UAAYE,EAAU,QAY7PrI,cAAcz/E,UAAUi0E,YAAc,SAASrjB,GAC3C,GAAGA,GAAezsD,KAAKi7E,cAAc7tC,KAAK,CACtC,IAAIxB,EAAQ5rC,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAC/Cs4C,EAAU3jF,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EACrDrrC,KAAKk7E,aAAat4B,aAAa,SAAS,WAAWhX,EAAM,GAAG,YAAYA,EAAM,GAAG,YAAYA,EAAM,GAAG,UAAU+3C,EAAQ,QAgBhIpI,sBAAsB1/E,UAAUi0E,YAAc,SAASrjB,GACnD,GAAGA,GAAezsD,KAAKi7E,cAAc7tC,KAAK,CAEtC,IACIw2C,EADqB,GACb5jF,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAQ/Cw4C,EAAa7jF,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EACpDy4C,EAAwB,GAAdD,EAAmB,EAAID,EACjCG,EAAwB,GAAdF,EAAmB,EAAID,EAErC5jF,KAAKw7E,eAAe54B,aAAa,eAAgBkhC,EAAS,IAAMC,GAMhE,IAAIC,EAAwD,GAA5ChkF,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAAU,OAAS,YAC1ErrC,KAAKw7E,eAAe54B,aAAa,WAAYohC,KAUrDvI,gBAAgB5/E,UAAUooF,WAAa,WAEnC,IACItkC,EAAKukC,EAAWjnF,EAAGgD,EADnBkkF,EAAenkF,KAAKuqD,KAAKwd,aAAaqc,UAAYpkF,KAAKuqD,KAAKwd,aAAasc,WAa7E,IAXgD,IAA7CrkF,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,GACtCprC,EAAMD,KAAKuqD,KAAKkW,YAAYxhB,gBAAgBziD,OAC5CS,EAAI,GAGJgD,GADAhD,EAAI+C,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAAI,GACrC,GAEd64C,EAAYt3C,SAAS,MACXgW,aAAa,OAAO,QAC9BshC,EAAUthC,aAAa,iBAAiB,SACxCshC,EAAUthC,aAAa,oBAAoB,GACrC3lD,EAAEgD,EAAIhD,GAAG,EACX0iD,EAAO/S,SAAS,QAChBs3C,EAAU1yD,YAAYmuB,GACtB3/C,KAAKygD,MAAMtjD,KAAK,CAACquC,EAAEmU,EAAK9hD,EAAEZ,IAE9B,GAAiD,IAA9C+C,KAAKi7E,cAAcE,eAAe,IAAI3vC,EAAEH,EAAQ,CAC/C,IAAIg2B,EAAOz0B,SAAS,QAChBpc,EAAK0a,kBACTm2B,EAAKze,aAAa,KAAKpyB,GACvB6wC,EAAKze,aAAa,YAAY,SAC9Bye,EAAK7vC,YAAY0yD,GACjBlkF,KAAKuqD,KAAKC,WAAWvG,KAAKzyB,YAAY6vC,GACtC,IAAI91B,EAAIqB,SAAS,KAEjB,IADArB,EAAEqX,aAAa,OAAO,OAASnb,aAAe,IAAIjX,EAAG,KAC9C2zD,EAAa,IAChB54C,EAAE/Z,YAAY2yD,EAAa,IAE/BnkF,KAAKuqD,KAAKwd,aAAav2C,YAAY+Z,GACnCvrC,KAAKy+E,OAASpd,EACd6iB,EAAUthC,aAAa,SAAS,aAC7B,GAAiD,IAA9C5iD,KAAKi7E,cAAcE,eAAe,IAAI3vC,EAAEH,GAAyD,IAA9CrrC,KAAKi7E,cAAcE,eAAe,IAAI3vC,EAAEH,EAAQ,CACzG,GAAiD,IAA9CrrC,KAAKi7E,cAAcE,eAAe,IAAI3vC,EAAEH,EAEvC,IADA84C,EAAenkF,KAAKuqD,KAAKwd,aAAaqc,UAAYpkF,KAAKuqD,KAAKwd,aAAasc,WACnEF,EAAa3nF,QACfwD,KAAKuqD,KAAKwd,aAAaliB,YAAYs+B,EAAa,IAGxDnkF,KAAKuqD,KAAKwd,aAAav2C,YAAY0yD,GACnClkF,KAAKuqD,KAAKwd,aAAauc,gBAAgB,QACvCJ,EAAUthC,aAAa,SAAS,QAEpC5iD,KAAK07E,aAAc,EACnB17E,KAAKukF,WAAaL,GAGtBzI,gBAAgB5/E,UAAUi0E,YAAc,SAASrjB,GACzCzsD,KAAK07E,aACL17E,KAAKikF,aAET,IAAIhnF,EACAokE,EAAM1hB,EADH1/C,EAAMD,KAAKygD,MAAMjkD,OAExB,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb,IAAwB,IAArB+C,KAAKygD,MAAMxjD,GAAGY,IAGjBwjE,EAAOrhE,KAAKuqD,KAAKkW,YAAYmJ,SAAS5pE,KAAKygD,MAAMxjD,GAAGY,GACpD8hD,EAAO3/C,KAAKygD,MAAMxjD,GAAGuuC,GAClBihB,GAAezsD,KAAKi7E,cAAc7tC,MAAQi0B,EAAK9gE,KAAK6sC,OACnDuS,EAAKiD,aAAa,IAAIye,EAAKiJ,UAE5B7d,GAAezsD,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAE4B,MAAQptC,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAE4B,MAAQptC,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAE4B,MAAQptC,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAE4B,MAAQi0B,EAAK9gE,KAAK6sC,MAAK,CACzN,IAAIo3C,EACJ,GAAgD,IAA7CxkF,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,GAAwD,MAA7CrrC,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAAU,CAClG,IAAIviC,EAAI3F,KAAK2H,IAAI9K,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAAErrC,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,GAAG,IAChGn4B,EAAI/P,KAAKI,IAAIvD,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAAErrC,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,GAAG,IAChGh2B,EAAIsqC,EAAK8kC,iBACbD,EAAiB,SAAWnvE,EAAEvM,EAAI,IAClC,IAGI8K,EAHA8wE,EAAarvE,GAAGnC,EAAEpK,GAClBosD,EAAU,EAA2C,EAAzCl1D,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAAIrrC,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAAE,IAChG7lC,EAAQrC,KAAKiD,MAAMs+E,EAAWxvB,GAElC,IAAIthD,EAAE,EAAEA,EAAEpO,EAAMoO,GAAG,EACf4wE,GAAkB,KAAgD,EAAzCxkF,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAAIrrC,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAAE,IAAM,IAEvHm5C,GAAkB,KAAS,GAAFnvE,EAAO,YAEhCmvE,EAAiB,KAAgD,EAAzCxkF,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAAIrrC,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAAE,IAEhHsU,EAAKiD,aAAa,mBAAmB4hC,GAU7C,IAPG/3B,GAAezsD,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAE4B,OACrDptC,KAAKukF,WAAW3hC,aAAa,eAAwD,EAAzC5iD,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,IAGpFohB,GAAezsD,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAE4B,OACrDptC,KAAKukF,WAAW3hC,aAAa,UAAU5iD,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,IAEjC,IAA9CrrC,KAAKi7E,cAAcE,eAAe,IAAI3vC,EAAEH,GAAyD,IAA9CrrC,KAAKi7E,cAAcE,eAAe,IAAI3vC,EAAEH,KACvFohB,GAAezsD,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAE4B,MAAK,CAC1D,IAAIxB,EAAQ5rC,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EACnDrrC,KAAKukF,WAAW3hC,aAAa,SAAS,OAAOra,SAAkB,IAATqD,EAAM,IAAQ,IAAIrD,SAAkB,IAATqD,EAAM,IAAQ,IAAIrD,SAAkB,IAATqD,EAAM,IAAQ,OA8BtI+vC,iBAAiB9/E,UAAUi0E,YAAc,SAASrjB,GAC9C,GAAGA,GAAezsD,KAAKi7E,cAAc7tC,KAAK,CACtC,IAAIu3C,EAAS3kF,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAChDu5C,EAAS5kF,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAChDw5C,EAAS7kF,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAChDy5C,EAASD,EAAO,GAAK,IAAMD,EAAO,GAAK,IAAMD,EAAO,GACpDI,EAASF,EAAO,GAAK,IAAMD,EAAO,GAAK,IAAMD,EAAO,GACpDK,EAASH,EAAO,GAAK,IAAMD,EAAO,GAAK,IAAMD,EAAO,GACxD3kF,KAAK67E,QAAQj5B,aAAa,cAAekiC,GACzC9kF,KAAK87E,QAAQl5B,aAAa,cAAemiC,GACzC/kF,KAAK+7E,QAAQn5B,aAAa,cAAeoiC,KAwCjDhJ,mBAAmBngF,UAAUogF,aAAe,SAASluD,EAAM6tD,GACvD,IAAIiD,EAASjyC,SAAS7e,GAGtB,OAFA8wD,EAAOj8B,aAAa,OAAO,SAC3Bg5B,EAAoBpqD,YAAYqtD,GACzBA,GAGX7C,mBAAmBngF,UAAUopF,cAAgB,SAASC,EAAYC,EAAYC,EAAOC,EAAaC,GAW9F,IAVA,IAEI9rC,EAIA+rC,EANAh3B,EAAM,EAGNzjD,EAAM3H,KAAK2H,IAAIo6E,EAAYC,GAC3B5hF,EAAMJ,KAAKI,IAAI2hF,EAAYC,GAC3BK,EAAQ7pF,MAAMI,KAAK,KAAK,CAACS,OAJd,MAMX+T,EAAM,EACNk1E,EAAcH,EAAcD,EAC5BK,EAAaP,EAAaD,EACxB32B,GAAO,KAGLg3B,GAFJ/rC,EAAO+U,EAAI,MACAzjD,EACM46E,EAAa,EAAIJ,EAAcD,EACtC7rC,GAAQj2C,EACDmiF,EAAa,EAAIL,EAAcC,EAE9BD,EAAcI,EAActiF,KAAKG,KAAKk2C,EAAO0rC,GAAcQ,EAAY,EAAIN,GAE7FI,EAAMj1E,KAASg1E,EACfh3B,GAAO,IAAI,IAEf,OAAOi3B,EAAMxjF,KAAK,MAGtBg6E,mBAAmBngF,UAAUi0E,YAAc,SAASrjB,GAChD,GAAGA,GAAezsD,KAAKi7E,cAAc7tC,KAAK,CACtC,IAAI5sC,EACA26E,EAAiBn7E,KAAKi7E,cAAcE,eACrCn7E,KAAKm8E,kBAAoB1vB,GAAe0uB,EAAe,GAAG3vC,EAAE4B,MAAQ+tC,EAAe,GAAG3vC,EAAE4B,MAAQ+tC,EAAe,GAAG3vC,EAAE4B,MAAQ+tC,EAAe,GAAG3vC,EAAE4B,MAAQ+tC,EAAe,GAAG3vC,EAAE4B,QAC3K5sC,EAAMR,KAAKilF,cAAc9J,EAAe,GAAG3vC,EAAEH,EAAE8vC,EAAe,GAAG3vC,EAAEH,EAAE8vC,EAAe,GAAG3vC,EAAEH,EAAE8vC,EAAe,GAAG3vC,EAAEH,EAAE8vC,EAAe,GAAG3vC,EAAEH,GACrIrrC,KAAKm8E,gBAAgBv5B,aAAa,cAAcpiD,GAChDR,KAAKo8E,gBAAgBx5B,aAAa,cAAcpiD,GAChDR,KAAKq8E,gBAAgBz5B,aAAa,cAAcpiD,IAIjDR,KAAK67E,UAAYpvB,GAAe0uB,EAAe,IAAI3vC,EAAE4B,MAAQ+tC,EAAe,IAAI3vC,EAAE4B,MAAQ+tC,EAAe,IAAI3vC,EAAE4B,MAAQ+tC,EAAe,IAAI3vC,EAAE4B,MAAQ+tC,EAAe,IAAI3vC,EAAE4B,QACxK5sC,EAAMR,KAAKilF,cAAc9J,EAAe,IAAI3vC,EAAEH,EAAE8vC,EAAe,IAAI3vC,EAAEH,EAAE8vC,EAAe,IAAI3vC,EAAEH,EAAE8vC,EAAe,IAAI3vC,EAAEH,EAAE8vC,EAAe,IAAI3vC,EAAEH,GAC1IrrC,KAAK67E,QAAQj5B,aAAa,cAAcpiD,IAGzCR,KAAK87E,UAAYrvB,GAAe0uB,EAAe,IAAI3vC,EAAE4B,MAAQ+tC,EAAe,IAAI3vC,EAAE4B,MAAQ+tC,EAAe,IAAI3vC,EAAE4B,MAAQ+tC,EAAe,IAAI3vC,EAAE4B,MAAQ+tC,EAAe,IAAI3vC,EAAE4B,QACxK5sC,EAAMR,KAAKilF,cAAc9J,EAAe,IAAI3vC,EAAEH,EAAE8vC,EAAe,IAAI3vC,EAAEH,EAAE8vC,EAAe,IAAI3vC,EAAEH,EAAE8vC,EAAe,IAAI3vC,EAAEH,EAAE8vC,EAAe,IAAI3vC,EAAEH,GAC1IrrC,KAAK87E,QAAQl5B,aAAa,cAAcpiD,IAGzCR,KAAK+7E,UAAYtvB,GAAe0uB,EAAe,IAAI3vC,EAAE4B,MAAQ+tC,EAAe,IAAI3vC,EAAE4B,MAAQ+tC,EAAe,IAAI3vC,EAAE4B,MAAQ+tC,EAAe,IAAI3vC,EAAE4B,MAAQ+tC,EAAe,IAAI3vC,EAAE4B,QACxK5sC,EAAMR,KAAKilF,cAAc9J,EAAe,IAAI3vC,EAAEH,EAAE8vC,EAAe,IAAI3vC,EAAEH,EAAE8vC,EAAe,IAAI3vC,EAAEH,EAAE8vC,EAAe,IAAI3vC,EAAEH,EAAE8vC,EAAe,IAAI3vC,EAAEH,GAC1IrrC,KAAK+7E,QAAQn5B,aAAa,cAAcpiD,IAGzCR,KAAKk8E,UAAYzvB,GAAe0uB,EAAe,IAAI3vC,EAAE4B,MAAQ+tC,EAAe,IAAI3vC,EAAE4B,MAAQ+tC,EAAe,IAAI3vC,EAAE4B,MAAQ+tC,EAAe,IAAI3vC,EAAE4B,MAAQ+tC,EAAe,IAAI3vC,EAAE4B,QACxK5sC,EAAMR,KAAKilF,cAAc9J,EAAe,IAAI3vC,EAAEH,EAAE8vC,EAAe,IAAI3vC,EAAEH,EAAE8vC,EAAe,IAAI3vC,EAAEH,EAAE8vC,EAAe,IAAI3vC,EAAEH,EAAE8vC,EAAe,IAAI3vC,EAAEH,GAC1IrrC,KAAKk8E,QAAQt5B,aAAa,cAAcpiD,MAuDpD87E,oBAAoBzgF,UAAUi0E,YAAc,SAASrjB,GACjD,GAAGA,GAAezsD,KAAKi7E,cAAc7tC,KAAK,CAItC,IAHGqf,GAAezsD,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAE4B,OACrDptC,KAAKw7E,eAAe54B,aAAa,eAAgB5iD,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAAI,GAE7FohB,GAAezsD,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAE4B,KAAK,CAC1D,IAAIu4C,EAAM3lF,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EACjDrrC,KAAKw8E,QAAQ55B,aAAa,cAAc5W,SAAS7oC,KAAKiZ,MAAa,IAAPupE,EAAI,IAAQxiF,KAAKiZ,MAAa,IAAPupE,EAAI,IAAQxiF,KAAKiZ,MAAa,IAAPupE,EAAI,MAKlH,IAHGl5B,GAAezsD,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAE4B,OACrDptC,KAAKw8E,QAAQ55B,aAAa,gBAAgB5iD,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAAE,KAEpFohB,GAAezsD,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAE4B,MAAQptC,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAE4B,KAAK,CACzG,IAAIsoB,EAAW11D,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAClDiD,GAAStuC,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAAI,IAAMpC,UAC1D3/B,EAAIosD,EAAWvyD,KAAK2qC,IAAIQ,GACxB3iC,EAAI+pD,EAAWvyD,KAAK6qC,IAAIM,GAC5BtuC,KAAKu8E,SAAS35B,aAAa,KAAMt5C,GACjCtJ,KAAKu8E,SAAS35B,aAAa,KAAMj3C,MAa7C,IAAIi6E,iBAAmB,GAEvB,SAASC,gBAAgBC,EAAY7K,EAAe1wB,GAChDvqD,KAAK07E,aAAc,EACnB17E,KAAKi7E,cAAgBA,EACrBj7E,KAAK8lF,WAAaA,EAClB9lF,KAAKuqD,KAAOA,EACZA,EAAK8zB,aAAezxC,SAAS,KAC7B2d,EAAK8zB,aAAa7sD,YAAY+4B,EAAKwd,cACnCxd,EAAK8zB,aAAa7sD,YAAY+4B,EAAK+zB,oBACnC/zB,EAAKqsB,YAAcrsB,EAAK8zB,aAiF5B,SAASe,WAAW70B,GAChB,IAAIttD,EAKAg+E,EALGh7E,EAAMsqD,EAAKn3C,KAAK2yE,GAAKx7B,EAAKn3C,KAAK2yE,GAAGvpF,OAAS,EAC9C4/D,EAAQlxB,kBACRmxB,EAAMH,eAAeC,aAAaC,GAClCnoB,EAAQ,EAGZ,IAFAj0C,KAAKgmF,QAAU,GAEX/oF,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbg+E,EAAgB,KACU,KAAvB1wB,EAAKn3C,KAAK2yE,GAAG9oF,GAAGsyC,IACf0E,GAAS,EACTgnC,EAAgB,IAAID,cAAc3e,EAAK9R,EAAK2zB,eAAe/C,eAAel+E,KAC9C,KAAvBstD,EAAKn3C,KAAK2yE,GAAG9oF,GAAGsyC,IACrB0E,GAAS,EACTgnC,EAAgB,IAAIK,cAAcjf,EAAK9R,EAAK2zB,eAAe/C,eAAel+E,KAC9C,KAAvBstD,EAAKn3C,KAAK2yE,GAAG9oF,GAAGsyC,GACrB0rC,EAAgB,IAAIQ,gBAAgBlxB,EAAMA,EAAK2zB,eAAe/C,eAAel+E,IACjD,KAAvBstD,EAAKn3C,KAAK2yE,GAAG9oF,GAAGsyC,IACrB0E,GAAS,EACTgnC,EAAgB,IAAIU,iBAAiBtf,EAAK9R,EAAK2zB,eAAe/C,eAAel+E,KACjD,KAAvBstD,EAAKn3C,KAAK2yE,GAAG9oF,GAAGsyC,IACrB0E,GAAS,EACTgnC,EAAgB,IAAIe,mBAAmB3f,EAAK9R,EAAK2zB,eAAe/C,eAAel+E,KACnD,KAAvBstD,EAAKn3C,KAAK2yE,GAAG9oF,GAAGsyC,IACrB0E,GAAS,EACTgnC,EAAgB,IAAIqB,oBAAoBjgB,EAAK9R,EAAK2zB,eAAe/C,eAAel+E,KACpD,KAAvBstD,EAAKn3C,KAAK2yE,GAAG9oF,GAAGsyC,GAErB0rC,EAAgB,IAAI4K,gBAAgBxpB,EAAK9R,EAAK2zB,eAAe/C,eAAel+E,GAAIstD,GACpD,KAAvBA,EAAKn3C,KAAK2yE,GAAG9oF,GAAGsyC,KACrB0E,GAAS,EACTgnC,EAAgB,IAAIM,sBAAsBlf,EAAK9R,EAAK2zB,eAAe/C,eAAel+E,KAEnFg+E,GACCj7E,KAAKgmF,QAAQ7oF,KAAK89E,GAGvBhnC,IACCsW,EAAKC,WAAWvG,KAAKzyB,YAAY6qC,GACjC9R,EAAKwd,aAAanlB,aAAa,SAAS,OAASnb,aAAe,IAAI20B,EAAM,MAE1Ep8D,KAAKgmF,QAAQxpF,QACb+tD,EAAKwgB,uBAAuB/qE,MAUpC,SAASqpE,gBACRrpE,KAAKuxE,MAAQ,GACVvxE,KAAKqxE,QAAU,EACfrxE,KAAK4wE,IAAM,IAAIhjC,OACf5tC,KAAKixE,GAAK,EACV,IAAIh0E,EAEJ,IADA+C,KAAKwxE,QAAUhlC,iBAAiB,UADnB,IAETvvC,EAAE,EAAEA,EAFK,GAECA,GAAG,EACb+C,KAAKuxE,MAAMt0E,GAAKuvC,iBAAiB,UAAW,IAEhDxsC,KAAKw7C,QALQ,GAyBjB,SAASyqC,iBAiET,SAAS1V,eAAen9D,EAAMo3C,EAAYV,GACtC9pD,KAAK86D,UAAYtQ,EAAWokB,aAAax7D,EAAKgsC,OAC9Cp/C,KAAK07D,IAAMlR,EAAWqkB,YAAYpT,SAASz7D,KAAK86D,WAChD96D,KAAKs2E,YAAYljE,EAAKo3C,EAAWV,GAyCrC,SAAS0mB,cAAcp9D,EAAMo3C,EAAYV,GACrC9pD,KAAKq+C,gBAAiB,EACtBr+C,KAAKs+C,OAASlrC,EAAKkrC,OACnBt+C,KAAK0oE,gBAAkB,GACvB1oE,KAAKi3D,SAAWluB,iBAAiB/oC,KAAKs+C,OAAO9hD,QAC7CwD,KAAKs2E,YAAYljE,EAAMo3C,EAAYV,GACnC9pD,KAAKu6E,GAAKnnE,EAAKmnE,GAAKz0B,gBAAgB0F,QAAQxrD,KAAKoT,EAAKmnE,GAAG,EAAE/vB,EAAWsC,UAAW9sD,MAAQ,CAACw6E,cAAa,GAiC3G,SAAS0L,cAAc9yE,EAAKm2B,GACxBvpC,KAAKoT,KAAOA,EACZpT,KAAKupC,QAAUA,EACfvpC,KAAKi/C,gBAAkBj/C,KAAKoT,KAAK6rC,iBAAmB,GACpDj/C,KAAK4pE,SAAW7gC,iBAAiB/oC,KAAKi/C,gBAAgBziD,QACtD,IAAIS,EAAGgD,EAAMD,KAAKi/C,gBAAgBziD,OAAQ2pF,GAAW,EACrD,IAAKlpF,EAAI,EAAGA,EAAIgD,EAAKhD,IACmB,MAAjC+C,KAAKi/C,gBAAgBhiD,GAAG4zB,OACvBs1D,GAAW,GAEfnmF,KAAK4pE,SAAS3sE,GAAKuxD,qBAAqBmc,aAAa3qE,KAAKupC,QAAQvpC,KAAKi/C,gBAAgBhiD,GAAG,GAE9F+C,KAAKmmF,SAAWA,EACbA,GACCnmF,KAAKupC,QAAQwhC,uBAAuB/qE,MA2C5C,SAASqwE,eAAej9D,EAAMo3C,EAAYV,GACtC9pD,KAAKs/C,OAAS,GACdt/C,KAAK06E,WAAatnE,EAAKksC,OACvBt/C,KAAK26E,WAAa,GAClB36E,KAAK66E,UAAY,GACjB76E,KAAKwsE,aAAe,GACpBxsE,KAAK46E,eAAiB,GACtB56E,KAAK86E,kBAAoB,GACzB96E,KAAKy5E,kBAAoB,IAAIL,sBAC7Bp5E,KAAKs2E,YAAYljE,EAAMo3C,EAAYV,GAkcvC,SAAS2mB,eAAer9D,EAAMo3C,EAAYV,GACtC9pD,KAAKs2E,YAAYljE,EAAKo3C,EAAWV,GAarC,SAASwmB,cAAcl9D,EAAMo3C,EAAYV,GACrC9pD,KAAKy6E,UAAY,GACjBz6E,KAAKigE,QAAU,EACfjgE,KAAK8/D,eAAgB,EACrB9/D,KAAK+/D,iBAAkB,EACvB//D,KAAKggE,iBAAkB,EACvBhgE,KAAKomF,QAAS,EACdpmF,KAAKqmF,MAAO,EACZrmF,KAAKw/D,cAAgB,EACrBx/D,KAAKsmF,cAAgB,KACrBtmF,KAAKw9D,WAAa,SAClBx9D,KAAKmT,OAAS,CACVkzE,KAAM,gBACND,OAAQ,gBACRG,OAAQ,EACRC,OAAQ,IAEZxmF,KAAKs2E,YAAYljE,EAAKo3C,EAAWV,GA8KrC,SAAS28B,aAIT,SAASC,aAAatzE,EAAKo3C,EAAWV,IAyEtC,SAASspB,cAAchgE,EAAKo3C,EAAWV,GACnC9pD,KAAKs2E,YAAYljE,EAAKo3C,EAAWV,GAsBrC,SAASqpB,aAAa//D,EAAKo3C,EAAWV,GAClC9pD,KAAKs+C,OAASlrC,EAAKkrC,OACnBt+C,KAAK0pE,YAAct2D,EAAK2rC,QACxB/+C,KAAKq+C,gBAAiB,EACtBr+C,KAAK0oE,gBAAkB,GACvB1oE,KAAKi3D,SAAWj3D,KAAKs+C,OAASvV,iBAAiB/oC,KAAKs+C,OAAO9hD,QAAU,GACrEwD,KAAKs2E,YAAYljE,EAAKo3C,EAAWV,GACjC9pD,KAAKu6E,GAAKnnE,EAAKmnE,GAAKz0B,gBAAgB0F,QAAQxrD,KAAKoT,EAAKmnE,GAAG,EAAE/vB,EAAWsC,UAAU9sD,MAAQ,CAACw6E,cAAa,GAkC1G,SAASzH,cAAc3/D,EAAKo3C,EAAWV,GAEnC9pD,KAAKs/C,OAAS,GAEdt/C,KAAK06E,WAAatnE,EAAKksC,OAEvBt/C,KAAK26E,WAAa,GAElB36E,KAAK46E,eAAiB,GAEtB56E,KAAK66E,UAAY,GAEjB76E,KAAK86E,kBAAoB,GAEzB96E,KAAK+6E,iBAAmB,GACxB/6E,KAAK2mF,gBAAkB/5C,SAAS,KAChC5sC,KAAKs2E,YAAYljE,EAAKo3C,EAAWV,GAGjC9pD,KAAKwsE,aAAe,GACpBxsE,KAAK4mF,YAAc,CACft9E,EAAE,OACFqC,GAAI,OACJM,EAAG,EACHiG,EAAG,GAmMX,SAAS8gE,aAAa5/D,EAAKo3C,EAAWV,GAClC9pD,KAAKy6E,UAAY,GACjBz6E,KAAK6mF,UAAY,GACjB7mF,KAAK4mF,YAAc,CACft9E,EAAE,OACFqC,GAAI,OACJM,EAAG,EACHiG,EAAG,GAEPlS,KAAKw9D,WAAa,MAClBx9D,KAAK8mF,UAAW,EAChB9mF,KAAKs2E,YAAYljE,EAAKo3C,EAAWV,GA8OrC,SAASopB,cAAc9/D,EAAKo3C,EAAWV,GACnC9pD,KAAK86D,UAAYtQ,EAAWokB,aAAax7D,EAAKgsC,OAC9Cp/C,KAAKs2E,YAAYljE,EAAKo3C,EAAWV,GA0BrC,SAASmpB,eAAe7/D,EAAKo3C,EAAWV,GACpC9pD,KAAK+lD,YACL/lD,KAAKu2E,aAAanjE,EAAKo3C,EAAWV,GAClC9pD,KAAK60E,gBACL,IAAIrpB,EAAU1F,gBAAgB0F,QAY9B,GAXAxrD,KAAK+mF,GAAKv7B,EAAQxrD,KAAKoT,EAAK2zE,GAAG,EAAE,EAAE/mF,MAChCoT,EAAKssC,GAAGlU,EAAE1iC,GACT9I,KAAKywB,GAAK+6B,EAAQxrD,KAAKoT,EAAKssC,GAAGlU,EAAEliC,EAAE,EAAE,EAAEtJ,MACvCA,KAAK8rD,GAAKN,EAAQxrD,KAAKoT,EAAKssC,GAAGlU,EAAE7/B,EAAE,EAAE,EAAE3L,MACvCA,KAAK+rD,GAAKP,EAAQxrD,KAAKoT,EAAKssC,GAAGlU,EAAEwG,EAAE,EAAE,EAAEhyC,OAEvCA,KAAKwrC,EAAIggB,EAAQxrD,KAAKoT,EAAKssC,GAAGlU,EAAE,EAAE,EAAExrC,MAErCoT,EAAKssC,GAAGxjD,IACP8D,KAAK9D,EAAIsvD,EAAQxrD,KAAKoT,EAAKssC,GAAGxjD,EAAE,EAAE,EAAE8D,OAErCoT,EAAKssC,GAAGyM,GAAG1vD,EAAED,QAAU4W,EAAKssC,GAAGyM,GAAG1vD,EAAE,GAAG4D,GAAG,CACzC,IAAIpD,EAAEgD,EAAMmT,EAAKssC,GAAGyM,GAAG1vD,EAAED,OACzB,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbmW,EAAKssC,GAAGyM,GAAG1vD,EAAEQ,GAAGoD,GAAK,KACrB+S,EAAKssC,GAAGyM,GAAG1vD,EAAEQ,GAAG+pD,GAAK,KAG7BhnD,KAAKmsD,GAAKX,EAAQxrD,KAAKoT,EAAKssC,GAAGyM,GAAG,EAAEljB,UAAUjpC,MAC9CA,KAAKmsD,GAAGpE,IAAK,EACb/nD,KAAKgsD,GAAKR,EAAQxrD,KAAKoT,EAAKssC,GAAGsM,GAAG,EAAE/iB,UAAUjpC,MAC9CA,KAAKisD,GAAKT,EAAQxrD,KAAKoT,EAAKssC,GAAGuM,GAAG,EAAEhjB,UAAUjpC,MAC9CA,KAAKksD,GAAKV,EAAQxrD,KAAKoT,EAAKssC,GAAGwM,GAAG,EAAEjjB,UAAUjpC,MAC9CA,KAAKwsD,IAAM,IAAI5e,OACf5tC,KAAKgnF,SAAW,IAAIp5C,OACpB5tC,KAAK4qD,eAAgB,EAGrB5qD,KAAKw0E,eAAiB,CAClBC,MAAOz0E,MAyGf,SAASinF,YA7wDTpB,gBAAgBhqF,UAAUqrF,WAAa,SAAS7lB,GAE5C,IADA,IAAIpkE,EAAI,EAAGgD,EAAM2lF,iBAAiBppF,OAC5BS,EAAIgD,GAAK,CACX,GAAG2lF,iBAAiB3oF,KAAOokE,EACvB,OAAOukB,iBAAiB3oF,GAE5BA,GAAK,EAET,OAAO,MAGX4oF,gBAAgBhqF,UAAUsrF,gBAAkB,SAAS9lB,EAAM+lB,GACvD,IAAI1lC,EAAa2f,EAAK0G,aAAarmB,WACnC,GAAIA,EAAJ,CAKA,IAFA,IAQI2lC,EARAjD,EAAW1iC,EAAW0iC,SACtBnnF,EAAI,EAAGgD,EAAMmkF,EAAS5nF,OACnBS,EAAIgD,GACHmkF,EAASnnF,KAAOokE,EAAK0G,cAGzB9qE,GAAK,EAGLA,GAAKgD,EAAM,IACXonF,EAAYjD,EAASnnF,EAAI,IAE7B,IAAIqqF,EAAU16C,SAAS,OACvB06C,EAAQ1kC,aAAa,OAAQ,IAAMwkC,GAChCC,EACC3lC,EAAWyuB,aAAamX,EAASD,GAEjC3lC,EAAWlwB,YAAY81D,KAI/BzB,gBAAgBhqF,UAAU0rF,iBAAmB,SAASh9B,EAAM8W,GACxD,IAAIrhE,KAAKknF,WAAW7lB,GAAO,CACvB,IAAI+lB,EAAWl8C,kBACXuzC,EAAS7xC,SAAS,QACtB6xC,EAAO77B,aAAa,KAAMye,EAAK6I,SAC/BuU,EAAO77B,aAAa,YAAa,SACjCgjC,iBAAiBzoF,KAAKkkE,GACtB,IAAIpd,EAAOsG,EAAKC,WAAWvG,KAC3BA,EAAKzyB,YAAYitD,GACjB,IAAI+I,EAAS56C,SAAS,UACtB46C,EAAO5kC,aAAa,KAAMwkC,GAC1BpnF,KAAKmnF,gBAAgB9lB,EAAM+lB,GAC3BI,EAAOh2D,YAAY6vC,EAAK0G,cACxB9jB,EAAKzyB,YAAYg2D,GACjB,IAAIF,EAAU16C,SAAS,OACvB06C,EAAQ1kC,aAAa,OAAQ,IAAMwkC,GACnC3I,EAAOjtD,YAAY81D,GACnBjmB,EAAKjuD,KAAKq4D,IAAK,EACfpK,EAAK+O,OAET7lB,EAAKqlB,SAASvO,EAAK6I,UAGvB2b,gBAAgBhqF,UAAUooF,WAAa,WAInC,IAHA,IAAIh9B,EAAMjnD,KAAKi7E,cAAcE,eAAe,GAAG3vC,EAAEH,EAC7C4rB,EAAWj3D,KAAKuqD,KAAKT,KAAKmN,SAC1Bh6D,EAAI,EAAGgD,EAAMg3D,EAASz6D,OACnBS,EAAIgD,GACNg3D,EAASh6D,IAAMg6D,EAASh6D,GAAGmW,KAAK6zC,MAAQA,GAC3CjnD,KAAKunF,iBAAiBvnF,KAAKuqD,KAAM0M,EAASh6D,IAE3CA,GAAK,EAEN+C,KAAK07E,aAAc,GAGvBmK,gBAAgBhqF,UAAUi0E,YAAc,WACnC9vE,KAAK07E,aACR17E,KAAKikF,cAiDP7E,WAAWvjF,UAAUi0E,YAAc,SAASllB,GACxC,IAAI3tD,EAAGgD,EAAMD,KAAKgmF,QAAQxpF,OAC1B,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb+C,KAAKgmF,QAAQ/oF,GAAG6yE,YAAYllB,IAgBpCye,cAAcxtE,UAAUy1E,UAAY,WACnC,IAAImW,EAA2B,EAAfznF,KAAKw7C,QACjBksC,EAAiB1nF,KAAKwxE,QACvBxxE,KAAKwxE,QAAUhlC,iBAAiB,UAAWi7C,GAC3CznF,KAAKwxE,QAAQ3uE,IAAI6kF,GACjB,IAAIzqF,EAAI,EACR,IAAIA,EAAI+C,KAAKw7C,QAASv+C,EAAIwqF,EAAWxqF,GAAK,EACtC+C,KAAKuxE,MAAMt0E,GAAKuvC,iBAAiB,UAAW,IAEhDxsC,KAAKw7C,QAAUisC,GAGnBpe,cAAcxtE,UAAUuyC,MAAQ,WAC/BpuC,KAAKqxE,QAAU,EACfrxE,KAAK4wE,IAAIxiC,QACNpuC,KAAKixE,GAAK,GAKdgV,cAAcpqF,UAAY,CACtB8rF,eAAgB,aAChBnR,oBAAqB,aACrBC,wBAAyB,WACrBz2E,KAAK8wE,cAAgB9wE,KAAKwqD,WAAWsmB,cACrC9wE,KAAKm/E,yBAA2B,IAAIsH,UAAUzmF,OAElD22E,cAAe,aACfmH,aAAc,WACV,IAAItzB,EAAaxqD,KAAKwqD,WACtB,GAAGA,EAAWinB,YAAczxE,KAAKoT,KAAK4qE,GAAI,CACtCxzB,EAAWinB,UAAYzxE,KAAKoT,KAAK4qE,GACjC,IAAID,EAAiBxwC,aAAavtC,KAAKoT,KAAK4qE,IAC5CxzB,EAAWsmB,cAAc8W,yBAA2B7J,IAG5DrH,2BAA4B,WACxB12E,KAAKygE,YAAc,IAAIylB,cAAclmF,KAAKoT,KAAMpT,OAEpD6nF,YAAa,WACJ7nF,KAAK21E,QAAY31E,KAAK01E,YAAa11E,KAAK41E,gBACzC51E,KAAK21E,QAAS,IAGtBmS,YAAa,WACL9nF,KAAK01E,YAAc11E,KAAK41E,gBACxB51E,KAAK21E,QAAS,EACd31E,KAAK4qD,eAAgB,EACrB5qD,KAAKygE,YAAY7V,eAAgB,IAGzCklB,YAAa,WACT,IAAI9vE,KAAK21E,SAAU31E,KAAKoT,KAAKq4D,GAA7B,CAGAzrE,KAAKq1E,kBACLr1E,KAAKm2E,mBACLn2E,KAAK89E,eACL,IAAIiK,EAAkC,IAAjB/nF,KAAKoT,KAAKm8B,GAC/BvvC,KAAKwqD,WAAW/sB,SAAS0zC,KAAK4W,GAC9B/nF,KAAKwqD,WAAW/sB,SAASizC,aAAa1wE,KAAKw0E,eAAehoB,IAAIzvB,OAC9D/8B,KAAKwqD,WAAW/sB,SAASszC,WAAW/wE,KAAKw0E,eAAeC,MAAMjrE,EAAE6hC,GAChErrC,KAAK82E,qBACL92E,KAAKwqD,WAAW/sB,SAASyzC,QAAQ6W,GAC9B/nF,KAAKygE,YAAY0lB,UAChBnmF,KAAKwqD,WAAW/sB,SAASyzC,SAAQ,GAEjClxE,KAAK4qD,gBACL5qD,KAAK4qD,eAAgB,KAG7B9sB,QAAS,WACL99B,KAAK8wE,cAAgB,KACrB9wE,KAAKoT,KAAO,KACZpT,KAAKwqD,WAAa,KAClBxqD,KAAKygE,YAAY3iC,WAErB0jC,QAAS,IAAI5zB,QAEjBq4C,cAAcpqF,UAAU+xB,KAAOq4D,cAAcpqF,UAAUgsF,YACvD5B,cAAcpqF,UAAUu0E,KAAO6V,cAAcpqF,UAAUisF,YAOvD1vC,gBAAgB,CAAC0hC,YAAa5O,iBAAkB+a,cAAejb,iBAAkBC,aAAcE,mBAAoBoF,gBAEnHA,eAAe10E,UAAUy6E,YAAcnH,gBAAgBtzE,UAAUy6E,YACjE/F,eAAe10E,UAAUm0E,aAAeX,cAAcxzE,UAAUm0E,aAEhEO,eAAe10E,UAAU86E,cAAgB,WAErC,GAAI32E,KAAK07D,IAAI78B,QAAU7+B,KAAK86D,UAAU5oD,IAAMlS,KAAK07D,IAAI78B,OAAS7+B,KAAK86D,UAAU7uD,IAAMjM,KAAK07D,IAAI58B,QAAS,CACjG,IAAIw7B,EAASxtB,UAAU,UACvBwtB,EAAOz7B,MAAQ7+B,KAAK86D,UAAU5oD,EAC9BooD,EAAOx7B,OAAS9+B,KAAK86D,UAAU7uD,EAC/B,IAMI+7E,EAAWC,EANXt6D,EAAM2sC,EAAOpX,WAAW,MAExBglC,EAAOloF,KAAK07D,IAAI78B,MAChBspD,EAAOnoF,KAAK07D,IAAI58B,OAChBspD,EAASF,EAAOC,EAChBE,EAAYroF,KAAK86D,UAAU5oD,EAAElS,KAAK86D,UAAU7uD,EAE5CkmE,EAAMnyE,KAAK86D,UAAU8lB,IAAM5gF,KAAKwqD,WAAWwd,aAAaE,yBACxDkgB,EAASC,GAAqB,mBAARlW,GAA8BiW,EAASC,GAAqB,mBAARlW,EAE1E6V,GADAC,EAAaE,GACUE,EAGvBJ,GADAD,EAAYE,GACWG,EAE3B16D,EAAI26D,UAAUtoF,KAAK07D,KAAKwsB,EAAKF,GAAW,GAAGG,EAAKF,GAAY,EAAED,EAAUC,EAAW,EAAE,EAAEjoF,KAAK86D,UAAU5oD,EAAElS,KAAK86D,UAAU7uD,GACvHjM,KAAK07D,IAAMpB,IAKnBiW,eAAe10E,UAAUi7E,mBAAqB,SAASyR,GACnDvoF,KAAK8wE,cAAcwX,UAAUtoF,KAAK07D,IAAK,EAAG,IAG9C6U,eAAe10E,UAAUiiC,QAAU,WAC/B99B,KAAK07D,IAAM,MAWftjB,gBAAgB,CAACywB,eAAgBqR,aAAc+L,eAAgBzV,eAE/DA,cAAc30E,UAAUi7E,mBAAqB,WACzC,IAQI75E,EARA0wB,EAAM3tB,KAAK8wE,cASf,IARAnjD,EAAI0kD,YACJ1kD,EAAI66D,OAAO,EAAG,GACd76D,EAAI86D,OAAOzoF,KAAKoT,KAAKlB,EAAG,GACxByb,EAAI86D,OAAOzoF,KAAKoT,KAAKlB,EAAGlS,KAAKoT,KAAKnH,GAClC0hB,EAAI86D,OAAO,EAAGzoF,KAAKoT,KAAKnH,GACxB0hB,EAAI86D,OAAO,EAAG,GACd96D,EAAI4kD,OAECt1E,EADO+C,KAAKs+C,OAAO9hD,OACT,EAAGS,GAAK,EAAGA,GAAK,GACxB+C,KAAKq+C,gBAAkBr+C,KAAKi3D,SAASh6D,KACpC+C,KAAKi3D,SAASh6D,GAAG6yE,eAK7BU,cAAc30E,UAAUiiC,QAAU,WAC9B,IAAI7gC,EACJ,IAAKA,EADO+C,KAAKs+C,OAAO9hD,OACT,EAAGS,GAAK,EAAGA,GAAK,EACxB+C,KAAKi3D,SAASh6D,IACb+C,KAAKi3D,SAASh6D,GAAG6gC,UAGzB99B,KAAKs+C,OAAS,KACdt+C,KAAKi3D,SAAW,MAqBpBivB,cAAcrqF,UAAUi0E,YAAc,WAClC,GAAI9vE,KAAKmmF,SAAT,CAGA,IAEIlpF,EACAu1C,EAAGG,EAAIv/B,EAHPq8B,EAAYzvC,KAAKupC,QAAQirC,eAAehoB,IACxC7+B,EAAM3tB,KAAKupC,QAAQunC,cAChB7wE,EAAMD,KAAKi/C,gBAAgBziD,OAGlC,IADAmxB,EAAI0kD,YACCp1E,EAAI,EAAGA,EAAIgD,EAAKhD,IACjB,GAAoC,MAAjC+C,KAAKi/C,gBAAgBhiD,GAAG4zB,KAAa,CAChC7wB,KAAKi/C,gBAAgBhiD,GAAGu5D,MACxB7oC,EAAI66D,OAAO,EAAG,GACd76D,EAAI86D,OAAOzoF,KAAKupC,QAAQihB,WAAWykB,SAAS/8D,EAAG,GAC/Cyb,EAAI86D,OAAOzoF,KAAKupC,QAAQihB,WAAWykB,SAAS/8D,EAAGlS,KAAKupC,QAAQihB,WAAWykB,SAAShjE,GAChF0hB,EAAI86D,OAAO,EAAGzoF,KAAKupC,QAAQihB,WAAWykB,SAAShjE,GAC/C0hB,EAAI86D,OAAO,EAAG,IAElBr1E,EAAOpT,KAAK4pE,SAAS3sE,GAAGouC,EACxBmH,EAAK/C,EAAUgD,kBAAkBr/B,EAAKi4B,EAAE,GAAG,GAAGj4B,EAAKi4B,EAAE,GAAG,GAAG,GAC3D1d,EAAI66D,OAAOh2C,EAAG,GAAIA,EAAG,IACrB,IAAI5+B,EAAG8qC,EAAOtrC,EAAKooC,QACnB,IAAK5nC,EAAI,EAAGA,EAAI8qC,EAAM9qC,IAClB++B,EAAMlD,EAAUoD,oBAAoBz/B,EAAK5J,EAAEoK,EAAI,GAAIR,EAAKnW,EAAE2W,GAAIR,EAAKi4B,EAAEz3B,IACrE+Z,EAAI+6D,cAAc/1C,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,IAElEA,EAAMlD,EAAUoD,oBAAoBz/B,EAAK5J,EAAEoK,EAAI,GAAIR,EAAKnW,EAAE,GAAImW,EAAKi4B,EAAE,IACrE1d,EAAI+6D,cAAc/1C,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,IAGtE3yC,KAAKupC,QAAQihB,WAAW/sB,SAAS0zC,MAAK,GACtCxjD,EAAI4kD,SAGR2T,cAAcrqF,UAAU6kE,gBAAkBiJ,YAAY9tE,UAAU6kE,gBAEhEwlB,cAAcrqF,UAAUiiC,QAAU,WAC9B99B,KAAKupC,QAAU,MAcnB6O,gBAAgB,CAAC0hC,YAAY5O,iBAAiB+a,cAAcjM,cAAchP,iBAAiBC,aAAaE,mBAAoBkF,gBAE5HA,eAAex0E,UAAUy6E,YAAclL,qBAAqBvvE,UAAUy6E,YAEtEjG,eAAex0E,UAAU8sF,gBAAkB,CAAChF,QAAQ,EAAExO,QAAO,GAE7D9E,eAAex0E,UAAU+sF,aAAe,GAExCvY,eAAex0E,UAAU86E,cAAgB,WACrC32E,KAAKgiF,aAAahiF,KAAK06E,WAAW16E,KAAK66E,UAAU76E,KAAKwsE,cAAc,EAAM,KAG9E6D,eAAex0E,UAAUwmF,mBAAqB,SAASjvE,EAAMmiE,GACzD,IAAIiD,EAAY,CACZplE,KAAMA,EACN2a,KAAM3a,EAAKm8B,GACXs5C,cAAe7oF,KAAKy5E,kBAAkBG,qBAAqBrE,GAC3DA,WAAY,GACZte,SAAU,GACV7b,QAAoB,IAAZhoC,EAAKq4D,IAEb6W,EAAc,GAclB,GAbc,MAAXlvE,EAAKm8B,IAAyB,MAAXn8B,EAAKm8B,IACvB+yC,EAAYnrE,EAAI2uC,gBAAgB0F,QAAQxrD,KAAKoT,EAAK+D,EAAE,EAAE,IAAInX,MACtDsiF,EAAYnrE,EAAE1a,IACd+7E,EAAUsQ,GAAK,OAAOvgD,SAAS+5C,EAAYnrE,EAAEk0B,EAAE,IAAI,IAAI9C,SAAS+5C,EAAYnrE,EAAEk0B,EAAE,IAAI,IAAI9C,SAAS+5C,EAAYnrE,EAAEk0B,EAAE,IAAI,MAEtG,OAAZj4B,EAAKm8B,IAA2B,OAAZn8B,EAAKm8B,KAChC+yC,EAAYx5E,EAAIg9C,gBAAgB0F,QAAQxrD,KAAKoT,EAAKtK,EAAE,EAAE,KAAK9I,MAC3DsiF,EAAYpvE,EAAI4yC,gBAAgB0F,QAAQxrD,KAAKoT,EAAKF,EAAE,EAAE,KAAKlT,MAC3DsiF,EAAYr2E,EAAI65C,gBAAgB0F,QAAQxrD,KAAKoT,EAAKnH,GAAG,CAACxP,EAAE,GAAG,EAAE,IAAKuD,MAClEsiF,EAAYpmF,EAAI4pD,gBAAgB0F,QAAQxrD,KAAKoT,EAAKlX,GAAG,CAACO,EAAE,GAAG,EAAEwsC,UAAUjpC,MACvEsiF,EAAY/2C,EAAI,IAAIinB,iBAAiBxyD,KAAKoT,EAAKm4B,EAAEvrC,OAErDsiF,EAAY94E,EAAIs8C,gBAAgB0F,QAAQxrD,KAAKoT,EAAK5J,EAAE,EAAE,IAAKxJ,MAC7C,MAAXoT,EAAKm8B,IAAyB,MAAXn8B,EAAKm8B,IAUvB,GATAipC,EAAU+J,GAAKviF,KAAKy/E,OAAOrsE,EAAKmvE,KAAO,QACvC/J,EAAUgK,GAAKxiF,KAAK0/E,OAAOtsE,EAAKovE,KAAO,QACzB,GAAXpvE,EAAKovE,KACJhK,EAAUiK,GAAKrvE,EAAKqvE,IAExBH,EAAYpwE,EAAI4zC,gBAAgB0F,QAAQxrD,KAAKoT,EAAKlB,EAAE,EAAE,KAAKlS,MACvDsiF,EAAYpwE,EAAEzV,IACd+7E,EAAUuQ,GAAKzG,EAAYpwE,EAAEm5B,GAE9Bj4B,EAAKpH,EAAE,CACN,IAAIA,EAAI,IAAImmD,aAAanyD,KAAKoT,EAAKpH,EAAE,SAAUhM,MAC/CsiF,EAAYt2E,EAAIA,EACZs2E,EAAYt2E,EAAEvP,IACd+7E,EAAUwQ,GAAK1G,EAAYt2E,EAAEsmD,UAC7BkmB,EAAUyQ,GAAK3G,EAAYt2E,EAAEumD,WAAW,UAIhDimB,EAAUltC,EAAe,IAAXl4B,EAAKk4B,EAAU,UAAY,UAI7C,OAFAtrC,KAAK26E,WAAWx9E,KAAKq7E,GACrB8J,EAAYhxD,MAAQknD,EACb8J,GAGXjS,eAAex0E,UAAU8mF,mBAAqB,SAASvvE,GAKnD,MAJkB,CACdsc,GAAI,GACJ88C,aAAc,KAKtB6D,eAAex0E,UAAU+mF,uBAAyB,SAASxvE,GAUvD,MATkB,CACdq8B,UAAY,CACRk0C,QAAS,EACTxO,QAAO,EACPtzE,IAAK7B,KAAKy5E,kBAAkBqD,YAC5BzkB,GAAIvS,gBAAgB0F,QAAQxrD,KAAKoT,EAAK5J,EAAE,EAAE,IAAKxJ,MAC/Co4D,OAAQ3M,yBAAyByB,qBAAqBltD,KAAKoT,EAAKpT,SAM5EqwE,eAAex0E,UAAUinF,mBAAqB,SAAS1vE,GACnD,IAAIkvE,EAAc,IAAI9I,YAAYx5E,KAAMoT,EAAMpT,KAAK26E,WAAY36E,KAAKy5E,mBAIpE,OAFAz5E,KAAKs/C,OAAOniD,KAAKmlF,GACjBtiF,KAAKq/E,oBAAoBiD,GAClBA,GAGXjS,eAAex0E,UAAUg8D,aAAe,WACpC73D,KAAK4qD,eAAgB,EACrB,IAAI3tD,EAAGgD,EAAMD,KAAK66E,UAAUr+E,OAC5B,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACtB+C,KAAKwsE,aAAavvE,GAAK+C,KAAK66E,UAAU59E,GAI1C,IAFA+C,KAAKgiF,aAAahiF,KAAK06E,WAAW16E,KAAK66E,UAAU76E,KAAKwsE,cAAc,EAAM,IAC1EvsE,EAAMD,KAAKitC,kBAAkBzwC,OACxBS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACtB+C,KAAKitC,kBAAkBhwC,GAAGowC,WAE9BrtC,KAAKw/E,kBACLx/E,KAAKy5E,kBAAkBoD,iBAAiB78E,KAAK4qD,gBAGjDylB,eAAex0E,UAAUqtF,wBAA0B,SAASz5C,GACxD,IAAIxyC,EAAGgD,EAAMD,KAAK26E,WAAWn+E,OAC7B,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EAClB+C,KAAK26E,WAAW19E,GAAGm+C,QACnBp7C,KAAK26E,WAAW19E,GAAGs4E,WAAWp4E,KAAKsyC,IAK/C4gC,eAAex0E,UAAUstF,6BAA+B,WACpD,IAAIlsF,EAAGgD,EAAMD,KAAK26E,WAAWn+E,OAC7B,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EAClB+C,KAAK26E,WAAW19E,GAAGm+C,QACnBp7C,KAAK26E,WAAW19E,GAAGs4E,WAAW/gB,OAK1C6b,eAAex0E,UAAUutF,YAAc,SAASrkB,GAC5C,IAAI9nE,EAAGgD,EAAM8kE,EAAOvoE,OACpB,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACtB8nE,EAAO9nE,GAAGm+C,QAAS,GAI3Bi1B,eAAex0E,UAAUmmF,aAAe,SAASjlF,EAAI89E,EAAWrO,EAAc6c,EAAc9T,GACxF,IAAIt4E,EACA2W,EAAG8qC,EACgC0kC,EAAcD,EAAUD,EAFxDjjF,EAAMlD,EAAIP,OAAS,EAEtB6mF,EAAY,GAAIC,EAAe,GAC/BgG,EAAgB,GAAGz7E,OAAO0nE,GAC9B,IAAIt4E,EAAEgD,EAAIhD,GAAG,EAAEA,GAAG,EAAE,CAOhB,IANAmmF,EAAepjF,KAAK2/E,uBAAuB5iF,EAAIE,KAI3C49E,EAAU59E,GAAKuvE,EAAa4W,EAAe,GAF3CrmF,EAAIE,GAAGssF,cAAgBF,EAIX,MAAbtsF,EAAIE,GAAGsyC,IAA2B,MAAbxyC,EAAIE,GAAGsyC,IAA0B,MAAbxyC,EAAIE,GAAGsyC,IAA0B,MAAbxyC,EAAIE,GAAGsyC,GAC/D6zC,EAGAvI,EAAU59E,GAAGq0B,MAAM8pB,QAAS,EAF5By/B,EAAU59E,GAAK+C,KAAKqiF,mBAAmBtlF,EAAIE,GAAIqsF,GAKnDjG,EAAUlmF,KAAK09E,EAAU59E,GAAGq0B,YAC1B,GAAgB,MAAbv0B,EAAIE,GAAGsyC,GAAW,CACvB,GAAI6zC,EAIA,IADA1kC,EAAOm8B,EAAU59E,GAAGyyB,GAAGlzB,OACnBoX,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EACdinE,EAAU59E,GAAGuvE,aAAa54D,GAAKinE,EAAU59E,GAAGyyB,GAAG9b,QAJnDinE,EAAU59E,GAAK+C,KAAK2iF,mBAAmB5lF,EAAIE,IAO/C+C,KAAKgiF,aAAajlF,EAAIE,GAAGyyB,GAAGmrD,EAAU59E,GAAGyyB,GAAGmrD,EAAU59E,GAAGuvE,aAAc6c,EAAcC,OACnE,MAAbvsF,EAAIE,GAAGsyC,IACR6zC,IACAF,EAAmBljF,KAAK4iF,uBAAuB7lF,EAAIE,IACnD49E,EAAU59E,GAAKimF,GAEnBoG,EAAcnsF,KAAK09E,EAAU59E,IAC7B+C,KAAKkpF,wBAAwBrO,EAAU59E,KACrB,MAAbF,EAAIE,GAAGsyC,IAA2B,MAAbxyC,EAAIE,GAAGsyC,IAA2B,MAAbxyC,EAAIE,GAAGsyC,IAA2B,MAAbxyC,EAAIE,GAAGsyC,GACvE6zC,IACAvI,EAAU59E,GAAK+C,KAAK8iF,mBAAmB/lF,EAAIE,KAG7B,MAAbF,EAAIE,GAAGsyC,IAA2B,MAAbxyC,EAAIE,GAAGsyC,IAA2B,MAAbxyC,EAAIE,GAAGsyC,IAClD6zC,GAMAD,EAAWtI,EAAU59E,IACZm+C,QAAS,IANlB+nC,EAAW1xB,eAAeG,YAAY70D,EAAIE,GAAGsyC,KACpC+e,KAAKtuD,KAAKjD,EAAIE,IACvB49E,EAAU59E,GAAKkmF,EACfnjF,KAAK46E,eAAez9E,KAAKgmF,IAK7BG,EAAanmF,KAAKgmF,IACC,MAAbpmF,EAAIE,GAAGsyC,KACT6zC,GAOAD,EAAWtI,EAAU59E,IACZm+C,QAAS,GAPlB+nC,EAAW1xB,eAAeG,YAAY70D,EAAIE,GAAGsyC,IAC7CsrC,EAAU59E,GAAKkmF,EACfA,EAAS70B,KAAKtuD,KAAKjD,EAAIE,EAAE49E,GACzB76E,KAAK46E,eAAez9E,KAAKgmF,GACzBkG,GAAe,GAKnB/F,EAAanmF,KAAKgmF,IAEtBnjF,KAAK4/E,oBAAoB7iF,EAAIE,GAAIA,EAAI,GAKzC,IAHA+C,KAAKmpF,+BACLnpF,KAAKopF,YAAY/F,GACjBpjF,EAAMqjF,EAAa9mF,OACfS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbqmF,EAAarmF,GAAGm+C,QAAS,GAIjCi1B,eAAex0E,UAAUi7E,mBAAqB,WAC1C92E,KAAK2oF,gBAAgBhF,QAAU,EAC/B3jF,KAAK2oF,gBAAgBxT,QAAS,EAC9Bn1E,KAAKw/E,kBACLx/E,KAAKy5E,kBAAkBoD,iBAAiB78E,KAAK4qD,eAC7C5qD,KAAKujF,YAAYvjF,KAAK2oF,gBAAgB3oF,KAAK06E,WAAW16E,KAAK66E,WAAU,IAGzExK,eAAex0E,UAAU2tF,qBAAuB,SAASC,EAAiBC,IAEnED,EAAgBtU,QAAUuU,EAAerxB,GAAGjrB,MAAQptC,KAAK4qD,iBACxD8+B,EAAe/F,QAAU8F,EAAgB9F,QACzC+F,EAAe/F,SAAW+F,EAAerxB,GAAGhtB,EAC5Cq+C,EAAevU,QAAS,IAIhC9E,eAAex0E,UAAU8tF,UAAY,WACjC,IAAI1sF,EACA2W,EAAG8qC,EAAMjiD,EAAGkiD,EAAK8hC,EAAMmJ,EAAiF77D,EAAM87D,EAD3G5pF,EAAMD,KAAK26E,WAAWn+E,OACKihC,EAAWz9B,KAAKwqD,WAAW/sB,SAAU9P,EAAM3tB,KAAKwqD,WAAWsmB,cAC7F,IAAI7zE,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EASb,IAAc,QAPd8wB,GADA87D,EAAe7pF,KAAK26E,WAAW19E,IACX8wB,OAOW,OAATA,GAAsC,IAApB87D,EAAad,KAAcc,EAAaz2E,KAAKm2E,eAAuC,IAAtBM,EAAaC,MAAqD,IAAvC9pF,KAAKwqD,WAAW2e,mBAAjJ,CAoBA,IAjBA1rC,EAAS0zC,OACTsP,EAAQoJ,EAAa5yB,SACT,OAATlpC,GAA0B,OAATA,GAChBJ,EAAIo8D,YAAuB,OAATh8D,EAAgB87D,EAAaf,GAAKe,EAAaG,IACjEr8D,EAAIk3C,UAAYglB,EAAad,GAC7Bp7D,EAAIs8D,QAAUJ,EAAatH,GAC3B50D,EAAIu8D,SAAWL,EAAarH,GAC5B70D,EAAIw8D,WAAaN,EAAapH,IAAM,GAEpC90D,EAAI4sC,UAAqB,OAATxsC,EAAgB87D,EAAaf,GAAKe,EAAaG,IAEnEvsD,EAASszC,WAAW8Y,EAAaC,MACrB,OAAT/7D,GAA0B,OAATA,GAChBJ,EAAI0kD,YAER50C,EAASizC,aAAamZ,EAAahB,cAAcrU,eAAez3C,OAChE2hB,EAAO+hC,EAAMjkF,OACToX,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EAAE,CAWhB,IAVY,OAATma,GAA0B,OAATA,IAChBJ,EAAI0kD,YACDwX,EAAab,KACZr7D,EAAIy8D,YAAYP,EAAab,IAC7Br7D,EAAI08D,eAAiBR,EAAaZ,KAI1CtqC,GADAirC,EAAQnJ,EAAM7sE,GAAGimE,SACJr9E,OAETC,EAAE,EAAEA,EAAEkiD,EAAKliD,GAAG,EACG,KAAdmtF,EAAMntF,GAAGsD,EACR4tB,EAAI66D,OAAOoB,EAAMntF,GAAG+uC,EAAE,GAAGo+C,EAAMntF,GAAG+uC,EAAE,IACjB,KAAdo+C,EAAMntF,GAAGsD,EACd4tB,EAAI+6D,cAAckB,EAAMntF,GAAGk2C,IAAI,GAAGi3C,EAAMntF,GAAGk2C,IAAI,GAAGi3C,EAAMntF,GAAGk2C,IAAI,GAAGi3C,EAAMntF,GAAGk2C,IAAI,GAAGi3C,EAAMntF,GAAGk2C,IAAI,GAAGi3C,EAAMntF,GAAGk2C,IAAI,IAE/GhlB,EAAI2kD,YAGA,OAATvkD,GAA0B,OAATA,IAChBJ,EAAIy4D,SACDyD,EAAab,IACZr7D,EAAIy8D,YAAYpqF,KAAK4oF,eAIrB,OAAT76D,GAA0B,OAATA,GAChBJ,EAAI04D,KAAKwD,EAAav+C,GAE1B7N,EAASyzC,YAIjBb,eAAex0E,UAAU0nF,YAAc,SAASkG,EAAgBjyB,EAAMpkD,EAAKk3E,GACvE,IAAIrtF,EACAysF,EAEJ,IADAA,EAAiBD,EACbxsF,EAHSu6D,EAAMh7D,OAAS,EAGlBS,GAAG,EAAEA,GAAG,EACI,MAAfu6D,EAAMv6D,GAAGsyC,IACRm6C,EAAiBt2E,EAAKnW,GAAGwyC,UACzBzvC,KAAKwpF,qBAAqBC,EAAiBC,IACvB,MAAflyB,EAAMv6D,GAAGsyC,IAA6B,MAAfioB,EAAMv6D,GAAGsyC,IAA6B,MAAfioB,EAAMv6D,GAAGsyC,IAA6B,MAAfioB,EAAMv6D,GAAGsyC,GACnFvvC,KAAKk4E,WAAW1gB,EAAMv6D,GAAGmW,EAAKnW,IACV,MAAfu6D,EAAMv6D,GAAGsyC,GACdvvC,KAAKu4E,WAAW/gB,EAAMv6D,GAAGmW,EAAKnW,GAAGysF,GACb,MAAflyB,EAAMv6D,GAAGsyC,GACdvvC,KAAK24E,aAAanhB,EAAMv6D,GAAGmW,EAAKnW,GAAGysF,GACf,MAAflyB,EAAMv6D,GAAGsyC,IAA6B,MAAfioB,EAAMv6D,GAAGsyC,GACrCvvC,KAAKuqF,mBAAmB/yB,EAAMv6D,GAAGmW,EAAKnW,GAAGysF,GACrB,MAAflyB,EAAMv6D,GAAGsyC,GACdvvC,KAAKujF,YAAYmG,EAAelyB,EAAMv6D,GAAGyyB,GAAGtc,EAAKnW,GAAGyyB,IAC/C8nC,EAAMv6D,GAAGsyC,GAInB+6C,GACCtqF,KAAK2pF,aAKbtZ,eAAex0E,UAAU2uF,kBAAoB,SAAS7Q,EAAa1mB,GAC/D,GAAGjzD,KAAK4qD,eAAiBqI,EAAM7lB,MAAQusC,EAAYpE,WAAWnoC,KAAM,CAChE,IAEInwC,EAAGgD,EAAK2T,EAFR62E,EAAa9Q,EAAYE,QACzBp5B,EAAQwS,EAAMxS,MACH/B,EAAO+B,EAAMjF,QAC5BivC,EAAWjuF,OAAS,EACpB,IAAIkuF,EAAoB/Q,EAAYpE,WAAWf,eAC/C,IAAK5gE,EAAI,EAAGA,EAAI8qC,EAAM9qC,GAAK,EAAG,CAC1B,IAAI4kD,EAAY/X,EAAMnB,OAAO1rC,GAC7B,GAAG4kD,GAAaA,EAAUntB,EAAE,CAExB,IADAprC,EAAMu4D,EAAUhd,QACXv+C,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACZ,IAANA,GACAwtF,EAAWttF,KAAK,CACZ4C,EAAG,IACHyrC,EAAGk/C,EAAkBj4C,kBAAkB+lB,EAAUntB,EAAE,GAAG,GAAImtB,EAAUntB,EAAE,GAAG,GAAI,KAGrFo/C,EAAWttF,KAAK,CACZ4C,EAAG,IACH4yC,IAAK+3C,EAAkB73C,oBAAoB2lB,EAAUhvD,EAAEvM,EAAI,GAAIu7D,EAAUv7D,EAAEA,GAAIu7D,EAAUntB,EAAEpuC,MAGvF,IAARgD,GACAwqF,EAAWttF,KAAK,CACZ4C,EAAG,IACHyrC,EAAGk/C,EAAkBj4C,kBAAkB+lB,EAAUntB,EAAE,GAAG,GAAImtB,EAAUntB,EAAE,GAAG,GAAI,KAGjFmtB,EAAUrhD,GAAKlX,IACfwqF,EAAWttF,KAAK,CACZ4C,EAAG,IACH4yC,IAAK+3C,EAAkB73C,oBAAoB2lB,EAAUhvD,EAAEvM,EAAI,GAAIu7D,EAAUv7D,EAAE,GAAIu7D,EAAUntB,EAAE,MAE/Fo/C,EAAWttF,KAAK,CACZ4C,EAAG,QAKnB45E,EAAYE,QAAU4Q,IAI9Bpa,eAAex0E,UAAUq8E,WAAa,SAAS13B,EAASy3B,GACpD,IAAmB,IAAhBz3B,EAASirB,IAAejrB,EAAS+oC,cAAe,CAC/C,IAAItsF,EAAGgD,EAAMg4E,EAASyB,aAAal9E,OACnC,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACtB+C,KAAKwqF,kBAAkBvS,EAASyB,aAAaz8E,GAAIg7E,EAASlwB,MAKtEsoB,eAAex0E,UAAU08E,WAAa,SAASP,EAAUC,EAAUyR,GAC/D,IAAIlR,EAAYP,EAAS3mD,OAErB2mD,EAAS9gE,EAAEi2B,MAAQptC,KAAK4qD,iBACxB4tB,EAAUsQ,GAAK,OACbvgD,SAAS0vC,EAAS9gE,EAAEk0B,EAAE,IAAM,IAC5B9C,SAAS0vC,EAAS9gE,EAAEk0B,EAAE,IAAM,IAC5B9C,SAAS0vC,EAAS9gE,EAAEk0B,EAAE,IAAM,MAE9B4sC,EAASzuE,EAAE4jC,MAAQs8C,EAAevU,QAAUn1E,KAAK4qD,iBACjD4tB,EAAUsR,KAAO7R,EAASzuE,EAAE6hC,EAAIq+C,EAAe/F,UAIvDtT,eAAex0E,UAAU0uF,mBAAqB,SAASvS,EAAUC,EAAUyR,GACvE,IAAIlR,EAAYP,EAAS3mD,MACzB,IAAIknD,EAAUwR,KAAO/R,EAAS1sC,EAAE6B,MAAQ6qC,EAASnvE,EAAEskC,MAAQ6qC,EAAS/kE,EAAEk6B,MAAyB,IAAhB4qC,EAAUj4E,IAAYk4E,EAAShsE,EAAEmhC,MAAQ6qC,EAAS/7E,EAAEkxC,MAAQ,CACvI,IAAIzf,EAAM3tB,KAAKwqD,WAAWsmB,cAEtBh+B,EAAMmlC,EAASnvE,EAAEuiC,EAAG0H,EAAMklC,EAAS/kE,EAAEm4B,EACzC,GAAoB,IAAhB2sC,EAAUj4E,EACViqF,EAAMr8D,EAAIg9D,qBAAqB73C,EAAI,GAAIA,EAAI,GAAIC,EAAI,GAAIA,EAAI,SAE3D,IAAIyd,EAAMrtD,KAAKklC,KAAKllC,KAAKG,IAAIwvC,EAAI,GAAKC,EAAI,GAAI,GAAK5vC,KAAKG,IAAIwvC,EAAI,GAAKC,EAAI,GAAI,IACzEkmC,EAAM91E,KAAKmlD,MAAMvV,EAAI,GAAKD,EAAI,GAAIC,EAAI,GAAKD,EAAI,IAG/ComC,EAAO1oB,GADGynB,EAAShsE,EAAEo/B,GAAK,EAAI,IAAO4sC,EAAShsE,EAAEo/B,IAAM,GAAK,IAAM4sC,EAAShsE,EAAEo/B,GAE5E/hC,EAAInG,KAAK2qC,IAAImrC,EAAMhB,EAAS/7E,EAAEmvC,GAAK6tC,EAAOpmC,EAAI,GAC9CnnC,EAAIxI,KAAK6qC,IAAIirC,EAAMhB,EAAS/7E,EAAEmvC,GAAK6tC,EAAOpmC,EAAI,GAC9Ck3C,EAAMr8D,EAAIi9D,qBAAqBthF,EAAGqC,EAAG,EAAGmnC,EAAI,GAAIA,EAAI,GAAI0d,GAGhE,IAAIvzD,EAAGgD,EAAM+3E,EAAUzsC,EAAEC,EACrButC,EAAUd,EAAS1sC,EAAEp0B,EACrBwsE,EAAU,EAEd,IAAK1mF,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACnBg7E,EAAS1sC,EAAEunB,aAAemlB,EAAS1sC,EAAEqnB,eACpC+wB,EAAU1L,EAAS1sC,EAAE/hC,EAAI,EAAFvM,EAAM,IAEjC+sF,EAAIa,aAAa9R,EAAY,EAAJ97E,GAAS,IAAI,QAAS87E,EAAY,EAAJ97E,EAAQ,GAAK,IAAM87E,EAAY,EAAJ97E,EAAQ,GAAK,IAAI87E,EAAY,EAAJ97E,EAAQ,GAAK,IAAM0mF,EAAU,KAE5InL,EAAUwR,IAAMA,EAEpBxR,EAAUsR,KAAO7R,EAASzuE,EAAE6hC,EAAEq+C,EAAe/F,SAIjDtT,eAAex0E,UAAU88E,aAAe,SAASX,EAAUC,EAAUyR,GACjE,IAAIlR,EAAYP,EAAS3mD,MACrBtlB,EAAIisE,EAASjsE,EACdA,IAAMA,EAAEohC,MAASptC,KAAK4qD,iBACrB4tB,EAAUwQ,GAAKh9E,EAAEsmD,UACjBkmB,EAAUyQ,GAAKj9E,EAAEumD,WAAW,KAE7B0lB,EAAS9gE,EAAEi2B,MAAQptC,KAAK4qD,iBACvB4tB,EAAUsQ,GAAK,OAAOvgD,SAAS0vC,EAAS9gE,EAAEk0B,EAAE,IAAI,IAAI9C,SAAS0vC,EAAS9gE,EAAEk0B,EAAE,IAAI,IAAI9C,SAAS0vC,EAAS9gE,EAAEk0B,EAAE,IAAI,MAE7G4sC,EAASzuE,EAAE4jC,MAAQs8C,EAAevU,QAAUn1E,KAAK4qD,iBAChD4tB,EAAUsR,KAAO7R,EAASzuE,EAAE6hC,EAAEq+C,EAAe/F,UAE9C1L,EAAS/lE,EAAEk7B,MAAQptC,KAAK4qD,iBACvB4tB,EAAUuQ,GAAK9Q,EAAS/lE,EAAEm5B,IAKlCglC,eAAex0E,UAAUiiC,QAAU,WAC/B99B,KAAK06E,WAAa,KAClB16E,KAAKwqD,WAAa,KAClBxqD,KAAK8wE,cAAgB,KACrB9wE,KAAK26E,WAAWn+E,OAAS,EACzBwD,KAAK66E,UAAUr+E,OAAS,GAO5B47C,gBAAgB,CAAC0hC,YAAa5O,iBAAkB+a,cAAejb,iBAAkBC,aAAcE,mBAAoBsF,gBAEnHA,eAAe50E,UAAUy6E,YAAcnH,gBAAgBtzE,UAAUy6E,YACjE7F,eAAe50E,UAAUm0E,aAAeX,cAAcxzE,UAAUm0E,aAEhES,eAAe50E,UAAUi7E,mBAAqB,WAC1C,IAAInpD,EAAM3tB,KAAK8wE,cACfnjD,EAAI4sC,UAAYv6D,KAAKoT,KAAK4xC,GAC1Br3B,EAAI6sC,SAAS,EAAG,EAAGx6D,KAAKoT,KAAKorD,GAAIx+D,KAAKoT,KAAK20C,KAsB/C3P,gBAAgB,CAAC0hC,YAAY5O,iBAAiB+a,cAAcjb,iBAAiBC,aAAaE,kBAAkB8O,cAAe3J,eAE3HA,cAAcz0E,UAAU8mD,QAAU7V,UAAU,UAAUoW,WAAW,MAEjEotB,cAAcz0E,UAAUikF,aAAe,WACnC,IAAI1/B,EAAepgD,KAAK0mE,aAAatH,YACrCp/D,KAAKk+D,gBAAkBn1B,iBAAiBqX,EAAa/qC,EAAI+qC,EAAa/qC,EAAE7Y,OAAS,GAEjF,IAAIsuF,GAAU,EACX1qC,EAAaqe,IACZqsB,GAAU,EACV9qF,KAAKmT,OAAOkzE,KAAOrmF,KAAKogF,WAAWhgC,EAAaqe,KAEhDz+D,KAAKmT,OAAOkzE,KAAO,gBAEvBrmF,KAAKqmF,KAAOyE,EACZ,IAAIC,GAAY,EACb3qC,EAAa4E,KACZ+lC,GAAY,EACZ/qF,KAAKmT,OAAOizE,OAASpmF,KAAKogF,WAAWhgC,EAAa4E,IAClDhlD,KAAKmT,OAAOozE,OAASnmC,EAAaoe,IAEtC,IACIvhE,EAAGgD,EADHyiD,EAAW1iD,KAAKwqD,WAAWhM,YAAY6G,cAAcjF,EAAa9wB,GAElEoyC,EAAUthB,EAAa/qC,EACvBksD,EAAevhE,KAAKwhE,QACxBxhE,KAAKomF,OAAS2E,EACd/qF,KAAKmT,OAAOqzE,OAASpmC,EAAa8f,UAAY,MAAOlgE,KAAKwqD,WAAWhM,YAAY6G,cAAcjF,EAAa9wB,GAAGuzB,QAC/G5iD,EAAMmgD,EAAa+f,UAAU3jE,OAE7B,IAAIioE,EAAUxpB,EAAWx+C,EAAGkiD,EAAMW,EAAQ1rC,EAAG8qC,EAAM8Z,EAAWwyB,EAAUC,EAASlqC,EAAc/gD,KAAKoT,KAAK2tC,YACrGikB,EAAiB5kB,EAAa2V,GAAG,IAAK3V,EAAa8f,UACnDU,EAAO,EAAGC,EAAO,EAAGkB,GAAY,EAChCxT,EAAM,EACV,IAAKtxD,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EAAG,CAkBzB,IAhBAg+C,GADAwpB,EAAWzkE,KAAKwqD,WAAWhM,YAAY2G,YAAY/E,EAAa+f,UAAUljE,GAAIylD,EAASI,OAAQ9iD,KAAKwqD,WAAWhM,YAAY6G,cAAcjF,EAAa9wB,GAAGuzB,WACjI4hB,EAASrxD,MAAQ,GACzCmuD,EAAanzB,QACV2S,GAAe2gB,EAAQzkE,GAAG2Q,IACzBgzD,GAAQoE,EACRnE,GAAQzgB,EAAa6f,QACrBY,GAAQkB,EAAY,EAAI,EACxBA,GAAY,GAIhBrjB,GADAY,EAASrE,EAAUqE,OAASrE,EAAUqE,OAAO,GAAG5vB,GAAK,IACvClzB,OACd+kE,EAAapyB,MAAMiR,EAAa8f,UAAU,IAAI9f,EAAa8f,UAAU,KAClEnf,GACC/gD,KAAKkgF,4BAA4B9/B,EAAcmhB,EAAcG,EAAQzkE,GAAGqmE,KAAM1C,EAAMC,GAExFmqB,EAAWjiD,iBAAiB2V,GACxB9qC,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EAAE,CAIhB,IAHA+qC,EAAOW,EAAO1rC,GAAG8rC,GAAGjjD,EAAEQ,EAAET,OACxBg8D,EAAYlZ,EAAO1rC,GAAG8rC,GAAGjjD,EACzBwuF,EAAU,GACNxuF,EAAE,EAAEA,EAAEkiD,EAAKliD,GAAG,EACR,GAAHA,GACCwuF,EAAQ9tF,KAAKokE,EAAatvB,SAASumB,EAAUntB,EAAE,GAAG,GAAGmtB,EAAUntB,EAAE,GAAG,GAAG,GAAGk2B,EAAarvB,SAASsmB,EAAUntB,EAAE,GAAG,GAAGmtB,EAAUntB,EAAE,GAAG,GAAG,IAExI4/C,EAAQ9tF,KAAKokE,EAAatvB,SAASumB,EAAUhvD,EAAE/M,EAAE,GAAG,GAAG+7D,EAAUhvD,EAAE/M,EAAE,GAAG,GAAG,GAAG8kE,EAAarvB,SAASsmB,EAAUhvD,EAAE/M,EAAE,GAAG,GAAG+7D,EAAUhvD,EAAE/M,EAAE,GAAG,GAAG,GAAG8kE,EAAatvB,SAASumB,EAAUv7D,EAAER,GAAG,GAAG+7D,EAAUv7D,EAAER,GAAG,GAAG,GAAG8kE,EAAarvB,SAASsmB,EAAUv7D,EAAER,GAAG,GAAG+7D,EAAUv7D,EAAER,GAAG,GAAG,GAAG8kE,EAAatvB,SAASumB,EAAUntB,EAAE5uC,GAAG,GAAG+7D,EAAUntB,EAAE5uC,GAAG,GAAG,GAAG8kE,EAAarvB,SAASsmB,EAAUntB,EAAE5uC,GAAG,GAAG+7D,EAAUntB,EAAE5uC,GAAG,GAAG,IAEpYwuF,EAAQ9tF,KAAKokE,EAAatvB,SAASumB,EAAUhvD,EAAE/M,EAAE,GAAG,GAAG+7D,EAAUhvD,EAAE/M,EAAE,GAAG,GAAG,GAAG8kE,EAAarvB,SAASsmB,EAAUhvD,EAAE/M,EAAE,GAAG,GAAG+7D,EAAUhvD,EAAE/M,EAAE,GAAG,GAAG,GAAG8kE,EAAatvB,SAASumB,EAAUv7D,EAAE,GAAG,GAAGu7D,EAAUv7D,EAAE,GAAG,GAAG,GAAGskE,EAAarvB,SAASsmB,EAAUv7D,EAAE,GAAG,GAAGu7D,EAAUv7D,EAAE,GAAG,GAAG,GAAGskE,EAAatvB,SAASumB,EAAUntB,EAAE,GAAG,GAAGmtB,EAAUntB,EAAE,GAAG,GAAG,GAAGk2B,EAAarvB,SAASsmB,EAAUntB,EAAE,GAAG,GAAGmtB,EAAUntB,EAAE,GAAG,GAAG,IAChY2/C,EAASp3E,GAAKq3E,EAEflqC,IACC6f,GAAQc,EAAQzkE,GAAGoY,EACnBurD,GAAQoE,GAEThlE,KAAKy6E,UAAUlsB,GACdvuD,KAAKy6E,UAAUlsB,GAAKhE,KAAOygC,EAE3BhrF,KAAKy6E,UAAUlsB,GAAO,CAAChE,KAAMygC,GAEjCz8B,GAAM,IAId+hB,cAAcz0E,UAAUi7E,mBAAqB,WACzC,IAWK75E,EAAEgD,EAAK2T,EAAG8qC,EAAMjiD,EAAGkiD,EAXpBhxB,EAAM3tB,KAAK8wE,cACA9wE,KAAKw0E,eAAehoB,IAAIzvB,MACvCpP,EAAI6zB,KAAOxhD,KAAKmT,OAAOqzE,OACvB74D,EAAIs8D,QAAU,OACdt8D,EAAIu8D,SAAW,QACfv8D,EAAIw8D,WAAa,EAEbnqF,KAAKoT,KAAK2tC,aACV/gD,KAAK6/E,aAAalf,YAAY3gE,KAAK0mE,aAAatH,YAAap/D,KAAKm+D,oBAItE,IAKIwjB,EALAzjB,EAAkBl+D,KAAK6/E,aAAa3hB,gBAEpCwD,EAAU1hE,KAAK0mE,aAAatH,YAAY/pD,EAE5CpV,EAAMyhE,EAAQllE,OAEd,IAA4DwuF,EAAUC,EAAlEC,EAAW,KAAMC,EAAa,KAAMC,EAAc,KACtD,IAAInuF,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb,IAAGykE,EAAQzkE,GAAG2Q,EAAd,CASA,IANA+zE,EAAiBzjB,EAAgBjhE,MAE7B+C,KAAKwqD,WAAW/sB,SAAS0zC,OACzBnxE,KAAKwqD,WAAW/sB,SAASizC,aAAaiR,EAAen2C,GACrDxrC,KAAKwqD,WAAW/sB,SAASszC,WAAW4Q,EAAen4E,IAEpDxJ,KAAKqmF,KAAK,CAaT,IAZG1E,GAAkBA,EAAeljB,GAC7BysB,IAAavJ,EAAeljB,KAC3BysB,EAAWvJ,EAAeljB,GAC1B9wC,EAAI4sC,UAAYonB,EAAeljB,IAE9BysB,IAAalrF,KAAKmT,OAAOkzE,OAC9B6E,EAAWlrF,KAAKmT,OAAOkzE,KACvB14D,EAAI4sC,UAAYv6D,KAAKmT,OAAOkzE,MAGhC3nC,GADAssC,EAAWhrF,KAAKy6E,UAAUx9E,GAAGstD,MACb/tD,OAChBwD,KAAKwqD,WAAWsmB,cAAcuB,YAC1Bz+D,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EAId,IAFA+qC,GADAssC,EAAUD,EAASp3E,IACJpX,OACfwD,KAAKwqD,WAAWsmB,cAAc0X,OAAOyC,EAAQ,GAAIA,EAAQ,IACpDxuF,EAAI,EAAGA,EAAIkiD,EAAMliD,GAAK,EACvBuD,KAAKwqD,WAAWsmB,cAAc4X,cAAcuC,EAAQxuF,GAAIwuF,EAAQxuF,EAAI,GAAIwuF,EAAQxuF,EAAI,GAAIwuF,EAAQxuF,EAAI,GAAIwuF,EAAQxuF,EAAI,GAAIwuF,EAAQxuF,EAAI,IAG5IuD,KAAKwqD,WAAWsmB,cAAcwB,YAC9BtyE,KAAKwqD,WAAWsmB,cAAcuV,OAGlC,GAAGrmF,KAAKomF,OAAO,CAsBX,IArBGzE,GAAkBA,EAAenjB,GAC7B4sB,IAAgBzJ,EAAenjB,KAC9B4sB,EAAczJ,EAAenjB,GAC7B7wC,EAAIk3C,UAAY8c,EAAenjB,IAE9B4sB,IAAgBprF,KAAKmT,OAAOozE,SACjC6E,EAAcprF,KAAKmT,OAAOozE,OAC1B54D,EAAIk3C,UAAY7kE,KAAKmT,OAAOozE,QAE7B5E,GAAkBA,EAAe38B,GAC7BmmC,IAAexJ,EAAe38B,KAC7BmmC,EAAaxJ,EAAe38B,GAC5Br3B,EAAIo8D,YAAcpI,EAAe38B,IAEhCmmC,IAAenrF,KAAKmT,OAAOizE,SAChC+E,EAAanrF,KAAKmT,OAAOizE,OACzBz4D,EAAIo8D,YAAc/pF,KAAKmT,OAAOizE,QAGlC1nC,GADAssC,EAAWhrF,KAAKy6E,UAAUx9E,GAAGstD,MACb/tD,OAChBwD,KAAKwqD,WAAWsmB,cAAcuB,YAC1Bz+D,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EAId,IAFA+qC,GADAssC,EAAUD,EAASp3E,IACJpX,OACfwD,KAAKwqD,WAAWsmB,cAAc0X,OAAOyC,EAAQ,GAAIA,EAAQ,IACpDxuF,EAAI,EAAGA,EAAIkiD,EAAMliD,GAAK,EACvBuD,KAAKwqD,WAAWsmB,cAAc4X,cAAcuC,EAAQxuF,GAAIwuF,EAAQxuF,EAAI,GAAIwuF,EAAQxuF,EAAI,GAAIwuF,EAAQxuF,EAAI,GAAIwuF,EAAQxuF,EAAI,GAAIwuF,EAAQxuF,EAAI,IAG5IuD,KAAKwqD,WAAWsmB,cAAcwB,YAC9BtyE,KAAKwqD,WAAWsmB,cAAcsV,SAG/BzE,GACC3hF,KAAKwqD,WAAW/sB,SAASyzC,YAOrCuV,UAAU5qF,UAAUi0E,YAAc,aAElC4W,aAAa7qF,UAAY,CACrBwvF,eAAgB,aAChB7U,oBAAqB,WACjBx2E,KAAK42E,YAAc9pC,UAAU9sC,KAAKoT,KAAKk4E,IAAM,OAC1CtrF,KAAKoT,KAAK2rC,SACT/+C,KAAKwnE,WAAa56B,SAAS,OAC3B5sC,KAAK+nE,aAAen7B,SAAS,KAC7B5sC,KAAK8qE,cAAgB9qE,KAAK+nE,aAC1B/nE,KAAKwnE,WAAWh2C,YAAYxxB,KAAK+nE,cACjC/nE,KAAK42E,YAAYplD,YAAYxxB,KAAKwnE,aAElCxnE,KAAK+nE,aAAe/nE,KAAK42E,YAE7BttC,SAAStpC,KAAK42E,cAElBH,wBAAyB,WACrBz2E,KAAKm/E,yBAA2B,IAAIsH,UAAUzmF,MAC9CA,KAAKs+E,mBAAqBt+E,KAAK42E,YAC/B52E,KAAK8qE,cAAgB9qE,KAAK+nE,aACtB/nE,KAAKoT,KAAK2rE,IACV/+E,KAAK+nE,aAAanlB,aAAa,KAAK5iD,KAAKoT,KAAK2rE,IAE9C/+E,KAAKoT,KAAK0tC,IACV9gD,KAAK+nE,aAAanlB,aAAa,QAAS5iD,KAAKoT,KAAK0tC,IAEjC,IAAjB9gD,KAAKoT,KAAK4qE,IACVh+E,KAAK89E,gBAGbjH,cAAe,WACR72E,KAAKw0E,eAAeU,UACnBl1E,KAAKs+E,mBAAmBhtD,MAAMme,UAAYzvC,KAAKs+E,mBAAmBhtD,MAAMmiD,gBAAkBzzE,KAAKw0E,eAAehoB,IAAIlZ,SAEnHtzC,KAAKw0E,eAAeW,SACnBn1E,KAAKs+E,mBAAmBhtD,MAAMqyD,QAAU3jF,KAAKw0E,eAAeC,MAAMjrE,EAAE6hC,IAG5EykC,YAAa,WAGL9vE,KAAKoT,KAAKq4D,IAAMzrE,KAAK21E,SAGzB31E,KAAKq1E,kBACLr1E,KAAKm2E,mBACLn2E,KAAK62E,gBACL72E,KAAK82E,qBACD92E,KAAK4qD,gBACL5qD,KAAK4qD,eAAgB,KAG7B9sB,QAAS,WACL99B,KAAK+nE,aAAe,KACpB/nE,KAAKs+E,mBAAqB,KACvBt+E,KAAKq+E,eACJr+E,KAAKq+E,aAAe,MAErBr+E,KAAKygE,cACJzgE,KAAKygE,YAAY3iC,UACjB99B,KAAKygE,YAAc,OAG3BiW,2BAA4B,WACxB12E,KAAKygE,YAAc,IAAIkJ,YAAY3pE,KAAKoT,KAAMpT,KAAMA,KAAKwqD,aAE7D+gC,WAAY,aAEZ3b,SAAU,cAEd8W,aAAa7qF,UAAUo0E,eAAiB8J,eAAel+E,UAAUo0E,eACjEyW,aAAa7qF,UAAUm7E,mBAAqB0P,aAAa7qF,UAAUiiC,QACnE4oD,aAAa7qF,UAAUkyE,sBAAwBxE,eAAe1tE,UAAUkyE,sBAIxE31B,gBAAgB,CAAC0hC,YAAY5O,iBAAiBwb,aAAa1b,iBAAiBC,aAAaG,sBAAuBgI,eAEhHA,cAAcv3E,UAAU86E,cAAgB,WACpC,IAAI7M,EACD9pE,KAAKoT,KAAK2rC,UACT+qB,EAAOl9B,SAAS,SACXgW,aAAa,QAAQ5iD,KAAKoT,KAAKorD,IACpCsL,EAAKlnB,aAAa,SAAS5iD,KAAKoT,KAAK20C,IACrC+hB,EAAKlnB,aAAa,OAAO5iD,KAAKoT,KAAK4xC,IACnChlD,KAAKwnE,WAAW5kB,aAAa,QAAQ5iD,KAAKoT,KAAKorD,IAC/Cx+D,KAAKwnE,WAAW5kB,aAAa,SAAS5iD,KAAKoT,KAAK20C,OAEhD+hB,EAAOh9B,UAAU,QACZxb,MAAMuN,MAAQ7+B,KAAKoT,KAAKorD,GAAK,KAClCsL,EAAKx4C,MAAMwN,OAAS9+B,KAAKoT,KAAK20C,GAAK,KACnC+hB,EAAKx4C,MAAMk6D,gBAAkBxrF,KAAKoT,KAAK4xC,IAE3ChlD,KAAK+nE,aAAav2C,YAAYs4C,IAalC1xB,gBAAgB,CAACmxB,eAAgB2Q,aAAcwM,cAAevT,cAC9DA,aAAat3E,UAAU4vF,6BAA+BtY,aAAat3E,UAAU46E,wBAE7EtD,aAAat3E,UAAU46E,wBAA0B,WAC7Cz2E,KAAKyrF,+BAEFzrF,KAAKoT,KAAK2rC,SACT/+C,KAAKwnE,WAAW5kB,aAAa,QAAQ5iD,KAAKoT,KAAKlB,GAC/ClS,KAAKwnE,WAAW5kB,aAAa,SAAS5iD,KAAKoT,KAAKnH,GAChDjM,KAAKs+E,mBAAqBt+E,KAAK42E,aAE/B52E,KAAKs+E,mBAAqBt+E,KAAK+nE,cAIvCoL,aAAat3E,UAAU82E,iBAAmB,SAASpoB,EAAKh6C,GAGpD,IAFA,IACI2/D,EADAt8D,EAAI,EAEFA,EAAErD,GACDvQ,KAAKi3D,SAASrjD,IAAM5T,KAAKi3D,SAASrjD,GAAGq8D,iBACpCC,EAAclwE,KAAKi3D,SAASrjD,GAAGq8D,kBAEnCr8D,GAAK,EAENs8D,EACClwE,KAAK+nE,aAAaoI,aAAa5lB,EAAM2lB,GAErClwE,KAAK+nE,aAAav2C,YAAY+4B,IA+BtCnS,gBAAgB,CAAC0hC,YAAY5O,iBAAiBkI,cAAcjE,gBAAgBuX,aAAa1b,iBAAiBC,aAAaE,mBAAoB4H,eAC3IA,cAAcl3E,UAAU6vF,kBAAoB3Y,cAAcl3E,UAAUi7E,mBAEpE/D,cAAcl3E,UAAU86E,cAAgB,WACpC,IAAIjf,EAEJ,GADA13D,KAAK42E,YAAYtlD,MAAMwwB,SAAW,EAC9B9hD,KAAKoT,KAAK2rC,QACV/+C,KAAK+nE,aAAav2C,YAAYxxB,KAAK2mF,iBACnCjvB,EAAO13D,KAAKwnE,eACT,CACH9P,EAAO9qB,SAAS,OAChB,IAAIyU,EAAOrhD,KAAK8pD,KAAK12C,KAAOpT,KAAK8pD,KAAK12C,KAAOpT,KAAKwqD,WAAWykB,SAC7DvX,EAAK9U,aAAa,QAAQvB,EAAKnvC,GAC/BwlD,EAAK9U,aAAa,SAASvB,EAAKp1C,GAChCyrD,EAAKlmC,YAAYxxB,KAAK2mF,iBACtB3mF,KAAK+nE,aAAav2C,YAAYkmC,GAGlC13D,KAAKgiF,aAAahiF,KAAK06E,WAAW16E,KAAK66E,UAAU76E,KAAKwsE,aAAaxsE,KAAK2mF,gBAAgB,EAAG,IAAI,GAC/F3mF,KAAKiiF,qBACLjiF,KAAK2rF,UAAYj0B,GAGrBqb,cAAcl3E,UAAU+vF,oBAAsB,SAAS/f,EAAcppC,GACjE,IAAIxlC,EAAGgD,EAAM4rE,EAAarvE,OAC1B,IAAIS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACrBwlC,EAAQopC,EAAa5uE,GAAGm7D,OAAO/sB,EAAEoH,kBAAkBhQ,EAAM,GAAIA,EAAM,GAAI,GAE3E,OAAOA,GAGXswC,cAAcl3E,UAAUgwF,0BAA4B,SAAS7sE,EAAM8sE,GAC/D,IAEI7uF,EAAwB8uF,EAAQC,EAAQC,EAAYC,EAFpDj5B,EAAQj0C,EAAK+oC,GAAG1c,EAChBwgC,EAAe7sD,EAAK6sD,aACjB5rE,EAAMgzD,EAAMzX,QACnB,KAAIv7C,GAAO,GAAX,CAGA,IAAKhD,EAAI,EAAGA,EAAIgD,EAAM,EAAGhD,GAAK,EAC1B8uF,EAAS/rF,KAAK4rF,oBAAoB/f,EAAc5Y,EAAM5nB,EAAEpuC,IACxD+uF,EAAShsF,KAAK4rF,oBAAoB/f,EAAc5Y,EAAMzpD,EAAEvM,IACxDgvF,EAAajsF,KAAK4rF,oBAAoB/f,EAAc5Y,EAAMh2D,EAAEA,EAAI,IAChEivF,EAAalsF,KAAK4rF,oBAAoB/f,EAAc5Y,EAAM5nB,EAAEpuC,EAAI,IAChE+C,KAAKmsF,YAAYJ,EAAQC,EAAQC,EAAYC,EAAYJ,GAE1D74B,EAAM97C,IACL40E,EAAS/rF,KAAK4rF,oBAAoB/f,EAAc5Y,EAAM5nB,EAAEpuC,IACxD+uF,EAAShsF,KAAK4rF,oBAAoB/f,EAAc5Y,EAAMzpD,EAAEvM,IACxDgvF,EAAajsF,KAAK4rF,oBAAoB/f,EAAc5Y,EAAMh2D,EAAE,IAC5DivF,EAAalsF,KAAK4rF,oBAAoB/f,EAAc5Y,EAAM5nB,EAAE,IAC5DrrC,KAAKmsF,YAAYJ,EAAQC,EAAQC,EAAYC,EAAYJ,MAIjE/Y,cAAcl3E,UAAUswF,YAAc,SAASJ,EAAQC,EAAQC,EAAYC,EAAYJ,GACnF9rF,KAAKosF,iBAAiBL,EAAQC,EAAQC,EAAYC,GAClD,IAAIG,EAASrsF,KAAKssF,iBAClBR,EAAYxiF,EAAIm/B,OAAO4jD,EAAO3iD,KAAMoiD,EAAYxiF,GAChDwiF,EAAYS,KAAO/jD,OAAO6jD,EAAOG,MAAOV,EAAYS,MACpDT,EAAYngF,EAAI88B,OAAO4jD,EAAO5iD,IAAKqiD,EAAYngF,GAC/CmgF,EAAYW,KAAOjkD,OAAO6jD,EAAOK,OAAQZ,EAAYW,OAGzD1Z,cAAcl3E,UAAUywF,iBAAmB,CACvC5iD,KAAK,EACL8iD,MAAM,EACN/iD,IAAI,EACJijD,OAAO,GAGX3Z,cAAcl3E,UAAU8wF,gBAAkB,CACtCrjF,EAAE,EACFijF,KAAK,EACL5gF,EAAE,EACF8gF,KAAK,EACL5tD,MAAM,EACNC,OAAO,GAGXi0C,cAAcl3E,UAAUuwF,iBAAmB,SAASn5C,EAAIvqC,EAAIC,EAAIC,GAI5D,IAFA,IAES1M,EAAGC,EAAGgb,EAAGpX,EAAG6sF,EAAM9wC,EAAI+wC,EAF3BR,EAAS,CAAC,CAACp5C,EAAG,GAAGrqC,EAAG,IAAK,CAACqqC,EAAG,GAAGrqC,EAAG,KAEJ3L,EAAI,EAAGA,EAAI,IAAKA,EAUjD,GARAd,EAAI,EAAI82C,EAAGh2C,GAAK,GAAKyL,EAAGzL,GAAK,EAAI0L,EAAG1L,GACpCf,GAAK,EAAI+2C,EAAGh2C,GAAK,EAAIyL,EAAGzL,GAAK,EAAI0L,EAAG1L,GAAK,EAAI2L,EAAG3L,GAChDka,EAAI,EAAIzO,EAAGzL,GAAK,EAAIg2C,EAAGh2C,GAEvBd,GAAQ,EAERgb,GAAQ,EAEE,KAHVjb,GAAQ,IAiBR0wF,EAAOzwF,EAAIA,EAAI,EAAIgb,EAAIjb,GAEZ,IAKP,GADJ4/C,IAAO3/C,EAAIisC,QAAQwkD,KAAQ,EAAI1wF,KACjB4/C,EAAK,GAAGuwC,EAAOpvF,GAAGE,KAAK6C,KAAK8sF,WAAWhxC,EAAG7I,EAAGvqC,EAAGC,EAAGC,EAAG3L,IAGhE,GADJ4vF,IAAO1wF,EAAIisC,QAAQwkD,KAAQ,EAAI1wF,KACjB2wF,EAAK,GAAGR,EAAOpvF,GAAGE,KAAK6C,KAAK8sF,WAAWD,EAAG55C,EAAGvqC,EAAGC,EAAGC,EAAG3L,SAxBpE,CAEE,GAAU,IAANd,EACF,SAKE,GAFJ4D,GAAKoX,EAAIhb,IAEI4D,EAAI,GACfssF,EAAOpvF,GAAGE,KAAK6C,KAAK8sF,WAAW/sF,EAAEkzC,EAAGvqC,EAAGC,EAAGC,EAAG3L,IAmBnD+C,KAAKssF,iBAAiB5iD,KAAOjB,OAAOltC,MAAM,KAAM8wF,EAAO,IACvDrsF,KAAKssF,iBAAiB7iD,IAAMhB,OAAOltC,MAAM,KAAM8wF,EAAO,IACtDrsF,KAAKssF,iBAAiBE,MAAQhkD,OAAOjtC,MAAM,KAAM8wF,EAAO,IACxDrsF,KAAKssF,iBAAiBI,OAASlkD,OAAOjtC,MAAM,KAAM8wF,EAAO,KAG3DtZ,cAAcl3E,UAAUixF,WAAa,SAAS/sF,EAAGkzC,EAAIvqC,EAAIC,EAAIC,EAAI3L,GAC/D,OAAOkrC,OAAO,EAAEpoC,EAAG,GAAKkzC,EAAGh2C,GACrB,EAAIkrC,OAAO,EAAEpoC,EAAG,GAAKA,EAAI2I,EAAGzL,GAC5B,GAAK,EAAE8C,GAAKooC,OAAOpoC,EAAG,GAAK4I,EAAG1L,GAC9BkrC,OAAOpoC,EAAG,GAAK6I,EAAG3L,IAG5B81E,cAAcl3E,UAAUkxF,qBAAuB,SAASlS,EAAWiR,GAC/D,IAAI7uF,EAAGgD,EAAM46E,EAAUr+E,OACvB,IAAIS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EAClB49E,EAAU59E,IAAM49E,EAAU59E,GAAG8qD,GAC5B/nD,KAAK6rF,0BAA0BhR,EAAU59E,GAAI6uF,GACvCjR,EAAU59E,IAAM49E,EAAU59E,GAAGyyB,IACnC1vB,KAAK+sF,qBAAqBlS,EAAU59E,GAAGyyB,GAAIo8D,IAKvD/Y,cAAcl3E,UAAUmxF,mBAAqB,SAASC,GAClD,OAAOjtF,KAAK4mF,YAAYt9E,GAAK2jF,EAAI3jF,GAC9BtJ,KAAK4mF,YAAYj7E,GAAKshF,EAAIthF,GAC1B3L,KAAK4mF,YAAY/nD,MAAQ7+B,KAAK4mF,YAAYt9E,GAAK2jF,EAAI3jF,EAAI2jF,EAAIpuD,OAC3D7+B,KAAK4mF,YAAY9nD,OAAS9+B,KAAK4mF,YAAYj7E,GAAKshF,EAAIthF,EAAIshF,EAAInuD,QAGnEi0C,cAAcl3E,UAAUi7E,mBAAqB,WAGzC,GAFA92E,KAAK0rF,qBAED1rF,KAAK21E,SAAW31E,KAAK4qD,eAAiB5qD,KAAKotC,MAAO,CAClD,IAAIu/C,EAAkB3sF,KAAK2sF,gBACvBppF,EAAM,OASV,GARAopF,EAAgBrjF,EAAI/F,EACpBopF,EAAgBJ,MAAQhpF,EACxBopF,EAAgBhhF,EAAIpI,EACpBopF,EAAgBF,MAAQlpF,EACxBvD,KAAK+sF,qBAAqB/sF,KAAK66E,UAAW8R,GAC1CA,EAAgB9tD,MAAQ8tD,EAAgBJ,KAAOI,EAAgBrjF,EAAI,EAAIqjF,EAAgBJ,KAAOI,EAAgBrjF,EAC9GqjF,EAAgB7tD,OAAS6tD,EAAgBF,KAAOE,EAAgBhhF,EAAI,EAAIghF,EAAgBF,KAAOE,EAAgBhhF,EAE5G3L,KAAKgtF,mBAAmBL,GACvB,OAEJ,IAAIO,GAAU,EACXltF,KAAK4mF,YAAY10E,IAAMy6E,EAAgB9tD,QACtC7+B,KAAK4mF,YAAY10E,EAAIy6E,EAAgB9tD,MACrC7+B,KAAK2rF,UAAU/oC,aAAa,QAAQ+pC,EAAgB9tD,OACpDquD,GAAU,GAEXltF,KAAK4mF,YAAY36E,IAAM0gF,EAAgB7tD,SACtC9+B,KAAK4mF,YAAY36E,EAAI0gF,EAAgB7tD,OACrC9+B,KAAK2rF,UAAU/oC,aAAa,SAAS+pC,EAAgB7tD,QACrDouD,GAAU,IAEXA,GAAYltF,KAAK4mF,YAAYt9E,IAAMqjF,EAAgBrjF,GAAMtJ,KAAK4mF,YAAYj7E,IAAMghF,EAAgBhhF,KAC/F3L,KAAK4mF,YAAY10E,EAAIy6E,EAAgB9tD,MACrC7+B,KAAK4mF,YAAY36E,EAAI0gF,EAAgB7tD,OACrC9+B,KAAK4mF,YAAYt9E,EAAIqjF,EAAgBrjF,EACrCtJ,KAAK4mF,YAAYj7E,EAAIghF,EAAgBhhF,EAErC3L,KAAK2rF,UAAU/oC,aAAa,UAAU5iD,KAAK4mF,YAAYt9E,EAAE,IAAItJ,KAAK4mF,YAAYj7E,EAAE,IAAI3L,KAAK4mF,YAAY10E,EAAE,IAAIlS,KAAK4mF,YAAY36E,GAC5HjM,KAAK2rF,UAAUr6D,MAAMme,UAAYzvC,KAAK2rF,UAAUr6D,MAAMmiD,gBAAkB,aAAezzE,KAAK4mF,YAAYt9E,EAAI,MAAQtJ,KAAK4mF,YAAYj7E,EAAI,SAmBrJysC,gBAAgB,CAAC0hC,YAAY5O,iBAAiBwb,aAAa1b,iBAAiBC,aAAaG,qBAAqB6O,cAAejH,cAE7HA,aAAan3E,UAAU86E,cAAgB,WAEnC,GADA32E,KAAK8mF,SAAW9mF,KAAK+8E,aAClB/8E,KAAK8mF,SAAS,CACb9mF,KAAKw9D,WAAa,MAClBx9D,KAAKmtF,MAAQntF,KAAK8pD,KAAK12C,KAAKlB,EAC5BlS,KAAKotF,MAAQptF,KAAK8pD,KAAK12C,KAAKnH,EAC5BjM,KAAKwnE,WAAW5kB,aAAa,QAAQ5iD,KAAKmtF,OAC1CntF,KAAKwnE,WAAW5kB,aAAa,SAAS5iD,KAAKotF,OAC3C,IAAI7hD,EAAIqB,SAAS,KACjB5sC,KAAK8qE,cAAct5C,YAAY+Z,GAC/BvrC,KAAK+2E,UAAYxrC,OAEjBvrC,KAAKw9D,WAAa,OAClBx9D,KAAK+2E,UAAY/2E,KAAK+nE,aAG1B/nE,KAAK6vE,kBAITmD,aAAan3E,UAAUikF,aAAe,WAClC,IAAI1/B,EAAepgD,KAAK0mE,aAAatH,YACrCp/D,KAAKk+D,gBAAkBn1B,iBAAiBqX,EAAa/qC,EAAI+qC,EAAa/qC,EAAE7Y,OAAS,GACjF,IAAI6wF,EAAiBrtF,KAAK+2E,UAAUzlD,MACpC+7D,EAAezhD,MAAQyhD,EAAehH,KAAOjmC,EAAaqe,GAAKz+D,KAAKogF,WAAWhgC,EAAaqe,IAAM,gBAC/Fre,EAAa4E,KACZqoC,EAAejH,OAASpmF,KAAKogF,WAAWhgC,EAAa4E,IACrDqoC,EAAeC,YAAcltC,EAAaoe,GAAG,MAEjD,IAaIvhE,EAAGgD,EAbHyiD,EAAW1iD,KAAKwqD,WAAWhM,YAAY6G,cAAcjF,EAAa9wB,GACtE,IAAItvB,KAAKwqD,WAAWhM,YAAY+B,MAG5B,GAFA8sC,EAAevrC,SAAW1B,EAAa8f,UAAU,KACjDmtB,EAAeE,WAAantC,EAAa8f,UAAU,KAChDxd,EAASO,OACRjjD,KAAK+2E,UAAUxO,UAAY7lB,EAASO,WACjC,CACHoqC,EAAe1rC,WAAae,EAASG,QACrC,IAAIE,EAAU3C,EAAa2C,QAASD,EAAS1C,EAAa0C,OAC1DuqC,EAAerrC,UAAYc,EAC3BuqC,EAAeprC,WAAac,EAKpC,IAEIo+B,EAAMqM,EAAQC,EAFd/rB,EAAUthB,EAAa/qC,EAC3BpV,EAAMyhE,EAAQllE,OAEd,IACI8iD,EADAiiB,EAAevhE,KAAKwhE,QACZwe,EAAW,GACnBzxB,EAAM,EACV,IAAKtxD,EAAI,EAAEA,EAAIgD,EAAKhD,GAAK,EAAG,CAwCxB,GAvCG+C,KAAKwqD,WAAWhM,YAAY+B,OACvBvgD,KAAK6mF,UAAUt4B,GAMf4yB,EAAQnhF,KAAK6mF,UAAUt4B,KALvB4yB,EAAQv0C,SAAS,SACXgW,aAAa,iBAAkB,QACrCu+B,EAAMv+B,aAAa,kBAAkB,SACrCu+B,EAAMv+B,aAAa,oBAAoB,MAIvC5iD,KAAK8mF,WACF9mF,KAAKy6E,UAAUlsB,GAEdk/B,GADAD,EAAUxtF,KAAKy6E,UAAUlsB,IACT61B,SAAS,KAGzBoJ,EAAU1gD,UAAU,QACZxb,MAAMi8D,WAAa,GAC3BE,EAAQ7gD,SAAS,QACXpb,YAAY2vD,GAClB73C,SAASkkD,MAIbxtF,KAAK8mF,SAYL3F,EAAQnhF,KAAK6mF,UAAUt4B,GAAOvuD,KAAK6mF,UAAUt4B,GAAO3hB,SAAS,QAX1D5sC,KAAKy6E,UAAUlsB,IACdi/B,EAAUxtF,KAAKy6E,UAAUlsB,GACzB4yB,EAAQnhF,KAAK6mF,UAAUt4B,KAGvBjlB,SADAkkD,EAAU1gD,UAAU,SAGpBxD,SADA63C,EAAQr0C,UAAU,SAElB0gD,EAAQh8D,YAAY2vD,IAO7BnhF,KAAKwqD,WAAWhM,YAAY+B,MAAM,CACjC,IACItF,EADAwpB,EAAWzkE,KAAKwqD,WAAWhM,YAAY2G,YAAY/E,EAAa+f,UAAUljE,GAAIylD,EAASI,OAAQ9iD,KAAKwqD,WAAWhM,YAAY6G,cAAcjF,EAAa9wB,GAAGuzB,SAc7J,GAXI5H,EADDwpB,EACaA,EAASrxD,KAET,KAEhBmuD,EAAanzB,QACV6M,GAAaA,EAAUqE,SACtBA,EAASrE,EAAUqE,OAAO,GAAG5vB,GAC7B6xC,EAAapyB,MAAMiR,EAAa8f,UAAU,IAAI9f,EAAa8f,UAAU,KACrE8f,EAAWhgF,KAAK+/E,gBAAgBxe,EAAajiB,GAC7C6hC,EAAMv+B,aAAa,IAAIo9B,IAEvBhgF,KAAK8mF,SAoBL9mF,KAAK+2E,UAAUvlD,YAAY2vD,OApBb,CAEd,GADAnhF,KAAK+2E,UAAUvlD,YAAYg8D,GACxBvyC,GAAaA,EAAUqE,OAAO,CAG7B3tB,SAASwwB,KAAK3wB,YAAYi8D,GAC1B,IAAI3B,EAAc2B,EAAMhM,UACxBgM,EAAM7qC,aAAa,QAAQkpC,EAAYjtD,MAAQ,GAC/C4uD,EAAM7qC,aAAa,SAASkpC,EAAYhtD,OAAS,GACjD2uD,EAAM7qC,aAAa,UAAWkpC,EAAYxiF,EAAE,EAAG,KAAMwiF,EAAYngF,EAAE,GAAG,KAAMmgF,EAAYjtD,MAAM,GAAG,KAAMitD,EAAYhtD,OAAO,IAC1H2uD,EAAMn8D,MAAMme,UAAYg+C,EAAMn8D,MAAMmiD,gBAAkB,cAAgBqY,EAAYxiF,EAAE,GAAK,OAASwiF,EAAYngF,EAAE,GAAK,MAErH+1D,EAAQzkE,GAAGgjE,QAAU6rB,EAAYngF,EAAE,OAGnC8hF,EAAM7qC,aAAa,QAAQ,GAC3B6qC,EAAM7qC,aAAa,SAAS,GAE5B4qC,EAAQh8D,YAAYi8D,SAK5BtM,EAAMn+B,YAAc0e,EAAQzkE,GAAGuD,IAC/B2gF,EAAMrlB,eAAe,uCAAwC,YAAY,YACrE97D,KAAK8mF,SAKL9mF,KAAK+2E,UAAUvlD,YAAY2vD,IAJ3BnhF,KAAK+2E,UAAUvlD,YAAYg8D,GAE3BrM,EAAM7vD,MAAMme,UAAY0xC,EAAM7vD,MAAMmiD,gBAAkB,kBAAmBrzB,EAAa8f,UAAU,IAAI,SAMxGlgE,KAAK8mF,SAGL9mF,KAAKy6E,UAAUlsB,GAAO4yB,EAFtBnhF,KAAKy6E,UAAUlsB,GAAOi/B,EAI1BxtF,KAAKy6E,UAAUlsB,GAAKj9B,MAAMC,QAAU,QACpCvxB,KAAK6mF,UAAUt4B,GAAO4yB,EACtB5yB,GAAO,EAEX,KAAMA,EAAMvuD,KAAKy6E,UAAUj+E,QACvBwD,KAAKy6E,UAAUlsB,GAAKj9B,MAAMC,QAAU,OACpCg9B,GAAO,GAIfykB,aAAan3E,UAAUi7E,mBAAqB,WAExC,GAAG92E,KAAKoT,KAAK2tC,YAAY,CACrB,IAAI/gD,KAAK4qD,gBAAkB5qD,KAAKm+D,mBAC5B,OAGIn+D,KAAK8mF,UAAY9mF,KAAKw0E,eAAeU,UACpCl1E,KAAKwnE,WAAW5kB,aAAa,WAAW5iD,KAAKw0E,eAAeC,MAAMjpC,EAAEH,EAAE,GAAG,KAAMrrC,KAAKw0E,eAAeC,MAAMjpC,EAAEH,EAAE,GAAG,IAAIrrC,KAAKmtF,MAAM,IAAIntF,KAAKotF,OACzIptF,KAAKwnE,WAAWl2C,MAAMme,UAAYzvC,KAAKwnE,WAAWl2C,MAAMmiD,gBAAkB,cAAgBzzE,KAAKw0E,eAAeC,MAAMjpC,EAAEH,EAAE,GAAK,OAASrrC,KAAKw0E,eAAeC,MAAMjpC,EAAEH,EAAE,GAAK,OAMrL,GADArrC,KAAK6/E,aAAalf,YAAY3gE,KAAK0mE,aAAatH,YAAap/D,KAAKm+D,oBAC9Dn+D,KAAKm+D,oBAAuBn+D,KAAK6/E,aAAa1hB,mBAAlD,CAGA,IAAKlhE,EAAEgD,EAMH0hF,EAAgBC,EAAU8L,EANlBz5C,EAAQ,EAChBiqB,EAAkBl+D,KAAK6/E,aAAa3hB,gBAEpCwD,EAAU1hE,KAAK0mE,aAAatH,YAAY/pD,EAI5C,IAFApV,EAAMyhE,EAAQllE,OAEVS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACVykE,EAAQzkE,GAAG2Q,EACVqmC,GAAS,GAGb2tC,EAAW5hF,KAAKy6E,UAAUx9E,GAC1BywF,EAAW1tF,KAAK6mF,UAAU5pF,GAC1B0kF,EAAiBzjB,EAAgBjqB,GACjCA,GAAS,EACN0tC,EAAev0C,KAAKvvC,IACfmC,KAAK8mF,SAGLlF,EAASh/B,aAAa,YAAY++B,EAAe9jF,GAFjD+jF,EAAStwD,MAAMme,UAAYmyC,EAAStwD,MAAMmiD,gBAAkBkO,EAAe9jF,GAMnF+jF,EAAStwD,MAAMqyD,QAAUhC,EAAen4E,EACrCm4E,EAAenjB,IAAMmjB,EAAev0C,KAAKoxB,IACxCkvB,EAAS9qC,aAAa,eAAe++B,EAAenjB,IAErDmjB,EAAe38B,IAAM28B,EAAev0C,KAAK4X,IACxC0oC,EAAS9qC,aAAa,SAAS++B,EAAe38B,IAE/C28B,EAAeljB,IAAMkjB,EAAev0C,KAAKqxB,KACxCivB,EAAS9qC,aAAa,OAAO++B,EAAeljB,IAC5CivB,EAASp8D,MAAMsa,MAAQ+1C,EAAeljB,KAI9C,GAAGz+D,KAAK+2E,UAAU0K,UAAYzhF,KAAK21E,SAAW31E,KAAK4qD,eAAiB5qD,KAAKotC,MAAM,CAC3E,IAAI0+C,EAAc9rF,KAAK+2E,UAAU0K,UAE9BzhF,KAAK4mF,YAAY10E,IAAM45E,EAAYjtD,QAClC7+B,KAAK4mF,YAAY10E,EAAI45E,EAAYjtD,MACjC7+B,KAAKwnE,WAAW5kB,aAAa,QAAQkpC,EAAYjtD,QAElD7+B,KAAK4mF,YAAY36E,IAAM6/E,EAAYhtD,SAClC9+B,KAAK4mF,YAAY36E,EAAI6/E,EAAYhtD,OACjC9+B,KAAKwnE,WAAW5kB,aAAa,SAASkpC,EAAYhtD,SAInD9+B,KAAK4mF,YAAY10E,IAAO45E,EAAYjtD,MAAQS,GAAat/B,KAAK4mF,YAAY36E,IAAO6/E,EAAYhtD,OAASQ,GAAct/B,KAAK4mF,YAAYt9E,IAAOwiF,EAAYxiF,EAD9I,GAC8JtJ,KAAK4mF,YAAYj7E,IAAOmgF,EAAYngF,EADlM,IAET3L,KAAK4mF,YAAY10E,EAAI45E,EAAYjtD,MAAQS,EACzCt/B,KAAK4mF,YAAY36E,EAAI6/E,EAAYhtD,OAASQ,EAC1Ct/B,KAAK4mF,YAAYt9E,EAAIwiF,EAAYxiF,EAJxB,EAKTtJ,KAAK4mF,YAAYj7E,EAAImgF,EAAYngF,EALxB,EAOT3L,KAAKwnE,WAAW5kB,aAAa,UAAU5iD,KAAK4mF,YAAYt9E,EAAE,IAAItJ,KAAK4mF,YAAYj7E,EAAE,IAAI3L,KAAK4mF,YAAY10E,EAAE,IAAIlS,KAAK4mF,YAAY36E,GAC7HjM,KAAKwnE,WAAWl2C,MAAMme,UAAYzvC,KAAKwnE,WAAWl2C,MAAMmiD,gBAAkB,aAAezzE,KAAK4mF,YAAYt9E,EAAI,MAAQtJ,KAAK4mF,YAAYj7E,EAAI,UASvJysC,gBAAgB,CAAC0hC,YAAY5O,iBAAiBwb,aAAatT,cAAcpI,iBAAiBC,aAAaE,mBAAoB+H,eAG3HA,cAAcr3E,UAAU86E,cAAgB,WACpC,IAAIpd,EAAYv5D,KAAKwqD,WAAWqQ,cAAc76D,KAAK86D,WAC/CY,EAAM,IAAIiyB,MAEX3tF,KAAKoT,KAAK2rC,SACT/+C,KAAK4tF,UAAYhhD,SAAS,SAC1B5sC,KAAK4tF,UAAUhrC,aAAa,QAAQ5iD,KAAK86D,UAAU5oD,EAAE,MACrDlS,KAAK4tF,UAAUhrC,aAAa,SAAS5iD,KAAK86D,UAAU7uD,EAAE,MACtDjM,KAAK4tF,UAAU9xB,eAAe,+BAA+B,OAAOvC,GACpEv5D,KAAK+nE,aAAav2C,YAAYxxB,KAAK4tF,WACnC5tF,KAAK42E,YAAYh0B,aAAa,QAAQ5iD,KAAK86D,UAAU5oD,GACrDlS,KAAK42E,YAAYh0B,aAAa,SAAS5iD,KAAK86D,UAAU7uD,IAEtDjM,KAAK+nE,aAAav2C,YAAYkqC,GAElCA,EAAIjqC,IAAM8nC,EACPv5D,KAAKoT,KAAK2rE,IACT/+E,KAAK42E,YAAYh0B,aAAa,KAAK5iD,KAAKoT,KAAK2rE,KAwCrD3mC,gBAAgB,CAAC0hC,YAAa7O,aAAcD,kBAAmBiI,gBAE/DA,eAAep3E,UAAUm4E,MAAQ,WAC7B,IAAI/2E,EAA0C6sD,EAAvC7pD,EAAMD,KAAK8pD,KAAK0f,eAAehtE,OACtC,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EAGI,QADjB6sD,EAAO9pD,KAAK8pD,KAAK0f,eAAevsE,IACxB8wB,OACJ+7B,EAAKypB,gBAAgBjiD,MAAM6iD,YAAcrqB,EAAKypB,gBAAgBjiD,MAAM8iD,kBAAoBp0E,KAAK+mF,GAAG17C,EAAE,KAClGye,EAAKvsB,UAAUjM,MAAMqY,gBAAkBmgB,EAAKvsB,UAAUjM,MAAMqgD,mBAAqB7nB,EAAKvsB,UAAUjM,MAAMsY,sBAAwB,cAC9HkgB,EAAKypB,gBAAgBjiD,MAAMme,UAAYqa,EAAKypB,gBAAgBjiD,MAAMmiD,gBAAkB,8CAKhGR,eAAep3E,UAAU8rF,eAAiB,aAG1C1U,eAAep3E,UAAU+xB,KAAO,aAGhCqlD,eAAep3E,UAAUi0E,YAAc,WACnC,IACI7yE,EAAGgD,EADHmtC,EAAOptC,KAAK4qD,cAEhB,GAAG5qD,KAAKiuE,UAEJ,IADAhuE,EAAMD,KAAKiuE,UAAUzxE,OACjBS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbmwC,EAAOptC,KAAKiuE,UAAUhxE,GAAGu3E,eAAeC,MAAMrnC,MAAQA,EAG9D,GAAGA,GAAQptC,KAAK+mF,GAAG35C,MAASptC,KAAKwrC,GAAKxrC,KAAKwrC,EAAE4B,MAAUptC,KAAKywB,KAAOzwB,KAAKywB,GAAG2c,MAAQptC,KAAK8rD,GAAG1e,MAAQptC,KAAK+rD,GAAG3e,OAAUptC,KAAKgsD,GAAG5e,MAAQptC,KAAKisD,GAAG7e,MAAQptC,KAAKksD,GAAG9e,MAAQptC,KAAKmsD,GAAG/e,MAASptC,KAAK9D,GAAK8D,KAAK9D,EAAEkxC,KAAO,CAG1M,GAFAptC,KAAKwsD,IAAIpe,QAENpuC,KAAKiuE,UAGJ,IAAKhxE,EADLgD,EAAMD,KAAKiuE,UAAUzxE,OAAS,EAChBS,GAAK,EAAGA,GAAK,EAAG,CAC1B,IAAI4wF,EAAU7tF,KAAKiuE,UAAUhxE,GAAGu3E,eAAeC,MAC/Cz0E,KAAKwsD,IAAIn0B,WAAWw1D,EAAQriD,EAAEH,EAAE,IAAIwiD,EAAQriD,EAAEH,EAAE,GAAGwiD,EAAQriD,EAAEH,EAAE,IAC/DrrC,KAAKwsD,IAAI/d,SAASo/C,EAAQ1hC,GAAG9gB,EAAE,IAAIqD,SAASm/C,EAAQ1hC,GAAG9gB,EAAE,IAAIsD,QAAQk/C,EAAQ1hC,GAAG9gB,EAAE,IAClFrrC,KAAKwsD,IAAI/d,SAASo/C,EAAQ7hC,GAAG3gB,GAAGqD,SAASm/C,EAAQ5hC,GAAG5gB,GAAGsD,QAAQk/C,EAAQ3hC,GAAG7gB,GAC1ErrC,KAAKwsD,IAAIrd,MAAM,EAAE0+C,EAAQ/kF,EAAEuiC,EAAE,GAAG,EAAEwiD,EAAQ/kF,EAAEuiC,EAAE,GAAG,EAAEwiD,EAAQ/kF,EAAEuiC,EAAE,IAC/DrrC,KAAKwsD,IAAIn0B,UAAUw1D,EAAQ3xF,EAAEmvC,EAAE,GAAGwiD,EAAQ3xF,EAAEmvC,EAAE,GAAGwiD,EAAQ3xF,EAAEmvC,EAAE,IAQrE,GALIrrC,KAAKwrC,EACLxrC,KAAKwsD,IAAIn0B,WAAWr4B,KAAKwrC,EAAEH,EAAE,IAAIrrC,KAAKwrC,EAAEH,EAAE,GAAGrrC,KAAKwrC,EAAEH,EAAE,IAEtDrrC,KAAKwsD,IAAIn0B,WAAWr4B,KAAKywB,GAAG4a,GAAGrrC,KAAK8rD,GAAGzgB,EAAErrC,KAAK+rD,GAAG1gB,GAEjDrrC,KAAK9D,EAAG,CACR,IAAI4xF,EAEAA,EADA9tF,KAAKwrC,EACQ,CAACxrC,KAAKwrC,EAAEH,EAAE,GAAKrrC,KAAK9D,EAAEmvC,EAAE,GAAIrrC,KAAKwrC,EAAEH,EAAE,GAAKrrC,KAAK9D,EAAEmvC,EAAE,GAAIrrC,KAAKwrC,EAAEH,EAAE,GAAKrrC,KAAK9D,EAAEmvC,EAAE,IAE9E,CAACrrC,KAAKywB,GAAG4a,EAAIrrC,KAAK9D,EAAEmvC,EAAE,GAAIrrC,KAAK8rD,GAAGzgB,EAAIrrC,KAAK9D,EAAEmvC,EAAE,GAAIrrC,KAAK+rD,GAAG1gB,EAAIrrC,KAAK9D,EAAEmvC,EAAE,IAEzF,IAAI0iD,EAAM5qF,KAAKklC,KAAKllC,KAAKG,IAAIwqF,EAAW,GAAG,GAAG3qF,KAAKG,IAAIwqF,EAAW,GAAG,GAAG3qF,KAAKG,IAAIwqF,EAAW,GAAG,IAE3FE,EAAU,CAACF,EAAW,GAAGC,EAAID,EAAW,GAAGC,EAAID,EAAW,GAAGC,GAC7DE,EAAiB9qF,KAAKklC,KAAM2lD,EAAQ,GAAGA,EAAQ,GAAKA,EAAQ,GAAGA,EAAQ,IACvEE,EAAe/qF,KAAKmlD,MAAO0lC,EAAQ,GAAIC,GACvCE,EAAehrF,KAAKmlD,MAAO0lC,EAAQ,IAAKA,EAAQ,IACpDhuF,KAAKwsD,IAAI9d,QAAQy/C,GAAa1/C,SAASy/C,GAG3CluF,KAAKwsD,IAAI/d,SAASzuC,KAAKgsD,GAAG3gB,GAAGqD,SAAS1uC,KAAKisD,GAAG5gB,GAAGsD,QAAQ3uC,KAAKksD,GAAG7gB,GACjErrC,KAAKwsD,IAAI/d,SAASzuC,KAAKmsD,GAAG9gB,EAAE,IAAIqD,SAAS1uC,KAAKmsD,GAAG9gB,EAAE,IAAIsD,QAAQ3uC,KAAKmsD,GAAG9gB,EAAE,IACzErrC,KAAKwsD,IAAIn0B,UAAUr4B,KAAKwqD,WAAWykB,SAAS/8D,EAAE,EAAElS,KAAKwqD,WAAWykB,SAAShjE,EAAE,EAAE,GAC7EjM,KAAKwsD,IAAIn0B,UAAU,EAAE,EAAEr4B,KAAK+mF,GAAG17C,GAK/B,IAAI+iD,GAAoBpuF,KAAKgnF,SAASp1C,OAAO5xC,KAAKwsD,KAClD,IAAI4hC,GAAoBpuF,KAAK+mF,GAAG35C,OAASptC,KAAK8pD,KAAK0f,eAAgB,CAE/D,IAAI1f,EACJ,IAFA7pD,EAAMD,KAAK8pD,KAAK0f,eAAehtE,OAE3BS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EAEI,QADjB6sD,EAAO9pD,KAAK8pD,KAAK0f,eAAevsE,IACxB8wB,OACDqgE,IACCtkC,EAAKvsB,UAAUjM,MAAMme,UAAYqa,EAAKvsB,UAAUjM,MAAMmiD,gBAAkBzzE,KAAKwsD,IAAIlZ,SAElFtzC,KAAK+mF,GAAG35C,OACP0c,EAAKypB,gBAAgBjiD,MAAM6iD,YAAcrqB,EAAKypB,gBAAgBjiD,MAAM8iD,kBAAoBp0E,KAAK+mF,GAAG17C,EAAE,OAI9GrrC,KAAKwsD,IAAIvvC,MAAMjd,KAAKgnF,WAG5BhnF,KAAK4qD,eAAgB,GAGzBqoB,eAAep3E,UAAUm0E,aAAe,SAAS/4C,GAC7Cj3B,KAAK+0E,kBAAkB99C,GAAK,IAGhCg8C,eAAep3E,UAAUiiC,QAAU,aAEnCm1C,eAAep3E,UAAUo0E,eAAiB,WAAW,OAAO,MAG5DgX,SAASprF,UAAUi0E,YAAc,aACjC,IAAIue,iBAAoB,WACpB,IAAIrtC,EAAW,GACXstC,EAAuB,GACvB/qC,EAAW,EACXtjD,EAAM,EACNsuF,EAAuB,EACvBC,GAAW,EACXC,GAAY,EAEhB,SAASC,EAAcC,GAGnB,IAFA,IAAI1xF,EAAI,EACJ2xF,EAAWD,EAAG9/D,OACZ5xB,EAAEgD,GACAquF,EAAqBrxF,GAAG4xF,YAAcD,IACtCN,EAAqB/hD,OAAOtvC,EAAG,GAC/BA,GAAK,EACLgD,GAAO,EACH2uF,EAASjyD,UACTmyD,KAGR7xF,GAAK,EAIb,SAAS8xF,EAAkBxlD,EAASnM,GAChC,IAAImM,EACA,OAAO,KAGX,IADA,IAAItsC,EAAE,EACAA,EAAEgD,GAAI,CACR,GAAGquF,EAAqBrxF,GAAGstD,MAAQhhB,GAA4C,OAAjC+kD,EAAqBrxF,GAAGstD,KAClE,OAAO+jC,EAAqBrxF,GAAG4xF,UAEnC5xF,GAAG,EAEP,IAAI2xF,EAAW,IAAII,cAGnB,OAFAC,EAAeL,EAAUrlD,GACzBqlD,EAASM,QAAQ3lD,EAASnM,GACnBwxD,EAYX,SAASO,IACLZ,GAAwB,EACxBa,IAGJ,SAASN,IACLP,GAAwB,EAG5B,SAASU,EAAeL,EAAUrlD,GAC9BqlD,EAASrwD,iBAAiB,UAAUmwD,GACpCE,EAASrwD,iBAAiB,UAAU4wD,GACpCP,EAASrwD,iBAAiB,QAAQuwD,GAClCR,EAAqBnxF,KAAK,CAACotD,KAAMhhB,EAAQslD,UAAUD,IACnD3uF,GAAO,EA+BX,SAASk5D,EAAOk2B,GACZ,IACIpyF,EADAqyF,EAAcD,EAAU9rC,EAE5B,IAAItmD,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbqxF,EAAqBrxF,GAAG4xF,UAAUU,YAAYD,GAElD/rC,EAAW8rC,EACRd,IAAyBE,EACxBlhE,OAAOswB,sBAAsBsb,GAE7Bq1B,GAAW,EAInB,SAASgB,EAAMH,GACX9rC,EAAW8rC,EACX9hE,OAAOswB,sBAAsBsb,GAsEjC,SAASi2B,KACDX,GAAaF,GACVC,IACCjhE,OAAOswB,sBAAsB2xC,GAC7BhB,GAAW,GAsDvB,OAnBAxtC,EAAS+tC,kBAAoBA,EAC7B/tC,EAAStjB,cA1JT,SAAuB+xD,GACnB,IAAIb,EAAW,IAAII,cAGnB,OAFAC,EAAeL,EAAU,MACzBA,EAASc,UAAUD,GACZb,GAuJX5tC,EAAS9iB,SAnJT,SAAkB19B,EAAIquF,GAClB,IAAI5xF,EACJ,IAAIA,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbqxF,EAAqBrxF,GAAG4xF,UAAU3wD,SAAS19B,EAAKquF,IAiJxD7tC,EAAS7iB,aA7IT,SAAsB39B,EAAKquF,GACvB,IAAI5xF,EACJ,IAAIA,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbqxF,EAAqBrxF,GAAG4xF,UAAU1wD,aAAa39B,EAAKquF,IA2I5D7tC,EAASpkB,KAvIT,SAAciyD,GACV,IAAI5xF,EACJ,IAAIA,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbqxF,EAAqBrxF,GAAG4xF,UAAUjyD,KAAKiyD,IAqI/C7tC,EAASnkB,MA/GT,SAAegyD,GACX,IAAI5xF,EACJ,IAAIA,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbqxF,EAAqBrxF,GAAG4xF,UAAUhyD,MAAMgyD,IA6GhD7tC,EAAShjB,KAlGT,SAAc6wD,GACV,IAAI5xF,EACJ,IAAIA,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbqxF,EAAqBrxF,GAAG4xF,UAAU7wD,KAAK6wD,IAgG/C7tC,EAAS2uC,YA5FT,SAAqBd,GACjB,IAAI5xF,EACJ,IAAIA,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbqxF,EAAqBrxF,GAAG4xF,UAAUc,YAAYd,IA0FtD7tC,EAAS4uC,iBA/ET,SAA0BxyD,EAAejG,EAAYsG,GACjD,IAEIxgC,EAFA4yF,EAAe,GAAGhiF,OAAO,GAAG9L,MAAMhG,KAAK41B,SAASm+D,uBAAuB,WACjE,GAAG/tF,MAAMhG,KAAK41B,SAASm+D,uBAAuB,eACjD7vF,EAAM4vF,EAAarzF,OAC1B,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACVwgC,GACCoyD,EAAa5yF,GAAG2lD,aAAa,eAAenlB,GAEhDsxD,EAAkBc,EAAa5yF,GAAImgC,GAEvC,GAAGjG,GAAsB,IAARl3B,EAAU,CACnBw9B,IACAA,EAAW,OAEf,IAAI0kB,EAAOxwB,SAASo+D,qBAAqB,QAAQ,GACjD5tC,EAAKN,UAAY,GACjB,IAAImuC,EAAMljD,UAAU,OACpBkjD,EAAI1+D,MAAMuN,MAAQ,OAClBmxD,EAAI1+D,MAAMwN,OAAS,OACnBkxD,EAAIptC,aAAa,eAAenlB,GAChC0kB,EAAK3wB,YAAYw+D,GACjBjB,EAAkBiB,EAAK5yD,KA2D/B4jB,EAASivC,OAvDT,WACI,IAAIhzF,EACJ,IAAIA,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbqxF,EAAqBrxF,GAAG4xF,UAAUoB,UAsD1CjvC,EAASkvC,YA9GT,SAAqB1pF,EAAM2pF,EAAQtB,GAC/B,IAAI5xF,EACJ,IAAIA,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbqxF,EAAqBrxF,GAAG4xF,UAAUqB,YAAY1pF,EAAM2pF,EAAQtB,IA4GpE7tC,EAASljB,QA1FT,SAAiB+wD,GACb,IAAI5xF,EACJ,IAAIA,EAAGgD,EAAI,EAAGhD,GAAG,EAAEA,GAAG,EAClBqxF,EAAqBrxF,GAAG4xF,UAAU/wD,QAAQ+wD,IAwFlD7tC,EAASovC,OA3CT,WACI3B,GAAY,GA2ChBztC,EAASqvC,SAxCT,WACI5B,GAAY,EACZW,KAuCJpuC,EAAS6Y,UApCT,SAAmBr5D,EAAIquF,GACnB,IAAI5xF,EACJ,IAAIA,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbqxF,EAAqBrxF,GAAG4xF,UAAUh1B,UAAUr5D,EAAKquF,IAkCzD7tC,EAASgZ,KA9BT,SAAc60B,GACV,IAAI5xF,EACJ,IAAIA,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbqxF,EAAqBrxF,GAAG4xF,UAAU70B,KAAK60B,IA4B/C7tC,EAASiZ,OAxBT,SAAgB40B,GACZ,IAAI5xF,EACJ,IAAIA,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbqxF,EAAqBrxF,GAAG4xF,UAAU50B,OAAO40B,IAsBjD7tC,EAASsvC,wBArMT,WACI,IAAIrzF,EAAGgD,EAAMquF,EAAqB9xF,OAC9B+zF,EAAa,GACjB,IAAItzF,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACrBszF,EAAWpzF,KAAKmxF,EAAqBrxF,GAAG4xF,WAE5C,OAAO0B,GAgMJvvC,EAhPY,GAmPnBguC,cAAgB,WAChBhvF,KAAKqsC,KAAO,GACZrsC,KAAKsC,KAAO,GACZtC,KAAK2/C,KAAO,GACZ3/C,KAAKsjD,UAAW,EAChBtjD,KAAK+vE,aAAe,EACpB/vE,KAAKwwF,gBAAkB,EACvBxwF,KAAK2qC,WAAa,EAClB3qC,KAAK4qC,YAAc,EACnB5qC,KAAK8sD,UAAY,EACjB9sD,KAAKywF,UAAY,EACjBzwF,KAAK0wF,UAAY,EACjB1wF,KAAK2wF,cAAgB,EACrB3wF,KAAK4wF,UAAY,EACjB5wF,KAAKo9B,cAAgB,GACrBp9B,KAAKqgD,OAAS,GACdrgD,KAAK28B,UAAW,EAChB38B,KAAKm9B,UAAW,EAChBn9B,KAAKk9B,MAAO,EACZl9B,KAAKy9B,SAAW,KAChBz9B,KAAK6wF,YAAc3lD,kBACnBlrC,KAAK+6D,WAAa,GAClB/6D,KAAK8wF,cAAgB,EACrB9wF,KAAK+wF,WAAa,EAClB/wF,KAAKgxF,kBAAoBrpD,gBACzB3nC,KAAKs9B,SAAW,GAChBt9B,KAAKixF,OAAQ,EACbjxF,KAAKkxF,gBAAiB,EACtBlxF,KAAK6tE,iBAAmBjlC,mBACxB5oC,KAAK8uE,eAAiB,IAAI1U,eAC1Bp6D,KAAK+uE,gBAAkBpW,0BAG3BvgB,gBAAgB,CAACjM,WAAY6iD,eAE7BA,cAAcnzF,UAAU6zF,UAAY,SAASD,IACtCA,EAAOxmB,SAAWwmB,EAAOlyD,aACxBv9B,KAAKipE,QAAUwmB,EAAOxmB,SAAWwmB,EAAOlyD,WAE5C,IAAI4zD,EAAW1B,EAAO0B,SAAW1B,EAAO0B,SAAW1B,EAAOhyD,SAAWgyD,EAAOhyD,SAAW,MACvF,OAAO0zD,GACH,IAAK,SACDnxF,KAAKy9B,SAAW,IAAIorC,eAAe7oE,KAAMyvF,EAAOpyD,kBAChD,MACJ,IAAK,MACDr9B,KAAKy9B,SAAW,IAAI6pC,YAAYtnE,KAAMyvF,EAAOpyD,kBAC7C,MACJ,QACIr9B,KAAKy9B,SAAW,IAAI8rC,eAAevpE,KAAMyvF,EAAOpyD,kBAGxDr9B,KAAK8uE,eAAe/S,aAAao1B,GACjCnxF,KAAKy9B,SAASkwC,oBAAoB3tE,KAAK6tE,kBACvC7tE,KAAKmxF,SAAWA,EACI,KAAhB1B,EAAOvyD,MACY,OAAhBuyD,EAAOvyD,WACSz9B,IAAhBgwF,EAAOvyD,OACS,IAAhBuyD,EAAOvyD,KAEVl9B,KAAKk9B,MAAO,GACW,IAAhBuyD,EAAOvyD,KACdl9B,KAAKk9B,MAAO,EAEZl9B,KAAKk9B,KAAOrxB,SAAS4jF,EAAOvyD,MAEhCl9B,KAAKm9B,WAAW,aAAcsyD,IAASA,EAAOtyD,SAC9Cn9B,KAAKsC,KAAOmtF,EAAOntF,KAAOmtF,EAAOntF,KAAQ,GACzCtC,KAAKoxF,kBAAmB3B,EAAOrzF,eAAe,qBAAsBqzF,EAAO2B,iBAC3EpxF,KAAK+6D,WAAa00B,EAAO10B,WACzB/6D,KAAKqxF,eAAiB5B,EAAO4B,eACzB5B,EAAO52B,cACP74D,KAAK+uE,gBAAgBjV,gBAAgB21B,EAAO52B,cAE5C42B,EAAOryD,cACPp9B,KAAKwvE,gBAAgBigB,EAAOryD,eACtBqyD,EAAO9vC,QAE0B,IAAnC8vC,EAAO9vC,KAAK2xC,YAAY,MACxBtxF,KAAK2/C,KAAO8vC,EAAO9vC,KAAKn8C,OAAO,EAAEisF,EAAO9vC,KAAK2xC,YAAY,MAAM,GAE/DtxF,KAAK2/C,KAAO8vC,EAAO9vC,KAAKn8C,OAAO,EAAEisF,EAAO9vC,KAAK2xC,YAAY,KAAK,GAElEtxF,KAAKuxF,SAAW9B,EAAO9vC,KAAKn8C,OAAOisF,EAAO9vC,KAAK2xC,YAAY,KAAK,GAChEtxF,KAAKuxF,SAAWvxF,KAAKuxF,SAAS/tF,OAAO,EAAExD,KAAKuxF,SAASD,YAAY,UAEjE90B,YAAYK,KAAK4yB,EAAO9vC,KAAM3/C,KAAKwvE,gBAAgBljC,KAAKtsC,MAAO,WAC3DA,KAAKwxF,QAAQ,gBACfllD,KAAKtsC,SAKfgvF,cAAcnzF,UAAUqzF,QAAU,SAAUjmB,EAAS7rC,GACjD,IAAIqyD,EAAS,CACTxmB,QAASA,EACT7rC,cAAeA,EAA2C,iBAAnBA,EAA+BA,EAAgB6G,KAAKwb,MAAMriB,GAAiB,MAElHq0D,EAAoBxoB,EAAQyoB,WAEhCjC,EAAO9vC,KAAO8xC,EAAkBE,aAAa,uBAAyBF,EAAkBE,aAAa,uBAAuBnrF,MAAQirF,EAAkBE,aAAa,gBAAkBF,EAAkBE,aAAa,gBAAgBnrF,MAASirF,EAAkBE,aAAa,WAAaF,EAAkBE,aAAa,WAAWnrF,MAAQ,GAC3UipF,EAAO0B,SAAWM,EAAkBE,aAAa,kBAAoBF,EAAkBE,aAAa,kBAAkBnrF,MAAQirF,EAAkBE,aAAa,gBAAkBF,EAAkBE,aAAa,gBAAgBnrF,MAAQirF,EAAkBE,aAAa,WAAaF,EAAkBE,aAAa,WAAWnrF,MAASirF,EAAkBE,aAAa,oBAAsBF,EAAkBE,aAAa,oBAAoBnrF,MAAQirF,EAAkBE,aAAa,eAAiBF,EAAkBE,aAAa,eAAenrF,MAAQ,SAE3hB,IAAI02B,EAAOu0D,EAAkBE,aAAa,kBAAoBF,EAAkBE,aAAa,kBAAkBnrF,MAASirF,EAAkBE,aAAa,gBAAkBF,EAAkBE,aAAa,gBAAgBnrF,MAASirF,EAAkBE,aAAa,WAAaF,EAAkBE,aAAa,WAAWnrF,MAAQ,GACnT,KAAT02B,IAECuyD,EAAOvyD,KADO,UAATA,IAES,SAATA,GAGSrxB,SAASqxB,KAE3B,IAAIC,EAAWs0D,EAAkBE,aAAa,sBAAwBF,EAAkBE,aAAa,sBAAsBnrF,MAASirF,EAAkBE,aAAa,oBAAsBF,EAAkBE,aAAa,oBAAoBnrF,OAASirF,EAAkBE,aAAa,gBAAiBF,EAAkBE,aAAa,eAAenrF,MACnVipF,EAAOtyD,SAAwB,UAAbA,EAElBsyD,EAAOntF,KAAOmvF,EAAkBE,aAAa,aAAeF,EAAkBE,aAAa,aAAanrF,MAASirF,EAAkBE,aAAa,gBAAkBF,EAAkBE,aAAa,gBAAgBnrF,MAAQirF,EAAkBE,aAAa,WAAaF,EAAkBE,aAAa,WAAWnrF,MAAS,GAGvS,WAFDirF,EAAkBE,aAAa,uBAAyBF,EAAkBE,aAAa,uBAAuBnrF,MAASirF,EAAkBE,aAAa,qBAAuBF,EAAkBE,aAAa,qBAAqBnrF,MAASirF,EAAkBE,aAAa,gBAAkBF,EAAkBE,aAAa,gBAAgBnrF,MAAQ,MAG9VipF,EAAOmC,WAAY,GAEvB5xF,KAAK0vF,UAAUD,IAGnBT,cAAcnzF,UAAU4xE,cAAgB,SAASr6D,GAC1CA,EAAKilD,GAAKr4D,KAAKo9B,cAAci7B,KAC5Br4D,KAAKo9B,cAAci7B,GAAKjlD,EAAKilD,GAC7Br4D,KAAK4qC,YAAcznC,KAAKiD,MAAMgN,EAAKilD,GAAKr4D,KAAKo9B,cAAcuvC,KAE/D,IACI1vE,EAEA2W,EAHA0qC,EAASt+C,KAAKo9B,cAAckhB,OACzBr+C,EAAMq+C,EAAO9hD,OAChBkxE,EAAYt6D,EAAKkrC,OACdI,EAAOgvB,EAAUlxE,OACxB,IAAIoX,EAAE,EAAEA,EAAE8qC,EAAK9qC,GAAG,EAEd,IADA3W,EAAI,EACEA,EAAEgD,GAAI,CACR,GAAGq+C,EAAOrhD,GAAGuzB,IAAMk9C,EAAU95D,GAAG4c,GAAG,CAC/B8tB,EAAOrhD,GAAKywE,EAAU95D,GACtB,MAEJ3W,GAAK,EAOb,IAJGmW,EAAKmtC,OAASntC,EAAKgwC,SAClBpjD,KAAKy9B,SAAS+sB,WAAWhM,YAAYqF,SAASzwC,EAAKmtC,OACnDvgD,KAAKy9B,SAAS+sB,WAAWhM,YAAYwF,SAAS5wC,EAAKgwC,MAAOpjD,KAAKy9B,SAAS+sB,WAAWvG,OAEpF7wC,EAAKitC,OAEJ,IADApgD,EAAMmT,EAAKitC,OAAO7jD,OACdS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACrB+C,KAAKo9B,cAAcijB,OAAOljD,KAAKiW,EAAKitC,OAAOpjD,IAGnD+C,KAAKo9B,cAAc6jB,YAAa,EAChCC,YAAY2wC,aAAa7xF,KAAKo9B,cAAcp9B,KAAKy9B,SAAS+sB,WAAWhM,aACrEx+C,KAAKy9B,SAASgwC,cAAcr6D,EAAKkrC,QAC9B1W,mBACCA,kBAAkB2mC,gBAAgBvuE,MAEtCA,KAAK8xF,mBAGT9C,cAAcnzF,UAAUi2F,gBAAkB,WACtC,IAAIx0D,EAAWt9B,KAAKo9B,cAAcE,SAClC,IAAIA,GAAgC,IAApBA,EAAS9gC,SAAiBwD,KAAKoxF,iBAG3C,OAFApxF,KAAKwxF,QAAQ,mBACbxxF,KAAK8wF,cAAgB9wF,KAAK4qC,aAG9B,IAAIsqB,EAAU53B,EAAStV,QACvBhoB,KAAK8wF,cAAgB57B,EAAQ5yC,KAAOtiB,KAAK8sD,UACzC,IAAIilC,EAAc/xF,KAAK2/C,KAAK3/C,KAAKuxF,SAAS,IAAMvxF,KAAK+wF,WAAa,QAClE/wF,KAAK+wF,YAAc,EACnBv0B,YAAYK,KAAKk1B,EAAa/xF,KAAKytE,cAAcnhC,KAAKtsC,MAAO,WACzDA,KAAKwxF,QAAQ,gBACfllD,KAAKtsC,QAGXgvF,cAAcnzF,UAAUm2F,aAAe,WACpBhyF,KAAKo9B,cAAcE,WAE9Bt9B,KAAK8wF,cAAgB9wF,KAAK4qC,aAE9B5qC,KAAK8xF,mBAGT9C,cAAcnzF,UAAUo2F,aAAe,WACnCjyF,KAAKwxF,QAAQ,iBACbxxF,KAAKkyF,eAGTlD,cAAcnzF,UAAUs2F,cAAgB,WACpCnyF,KAAK8uE,eAAevT,cAAcv7D,KAAK+6D,YACvC/6D,KAAK8uE,eAAetT,QAAQx7D,KAAK2/C,MACjC3/C,KAAK8uE,eAAe1T,WAAWp7D,KAAKo9B,cAAcijB,OAAQrgD,KAAKiyF,aAAa3lD,KAAKtsC,QAGrFgvF,cAAcnzF,UAAU2zE,gBAAkB,SAAUd,GAChD,GAAI1uE,KAAKy9B,SAGT,IACIz9B,KAAKo9B,cAAgBsxC,EAEjB1uE,KAAKqxF,gBACLrxF,KAAK4qC,YAAcznC,KAAKiD,MAAMpG,KAAKqxF,eAAe,GAAKrxF,KAAKqxF,eAAe,IAC3ErxF,KAAK2qC,WAAaxnC,KAAKiZ,MAAMpc,KAAKqxF,eAAe,MAEjDrxF,KAAK4qC,YAAcznC,KAAKiD,MAAMpG,KAAKo9B,cAAci7B,GAAKr4D,KAAKo9B,cAAcuvC,IACzE3sE,KAAK2qC,WAAaxnC,KAAKiZ,MAAMpc,KAAKo9B,cAAcuvC,KAEpD3sE,KAAKy9B,SAAS+xC,gBAAgBd,GAC1BA,EAASruB,SACTquB,EAASruB,OAAS,IAGtBrgD,KAAKqgD,OAASrgD,KAAKo9B,cAAcijB,OACjCrgD,KAAK8sD,UAAY9sD,KAAKo9B,cAAc4xC,GACpChvE,KAAKywF,UAAYzwF,KAAKo9B,cAAc4xC,GAAK,IACzChvE,KAAKy9B,SAAS4wC,wBAAwBK,EAASruB,QAC/CrgD,KAAKwxF,QAAQ,gBACbxxF,KAAKmyF,gBACLnyF,KAAKgyF,eACLhyF,KAAKoyF,oBACLpyF,KAAKqyF,qBACDryF,KAAK28B,UACL38B,KAAK+uE,gBAAgBlyC,QAE3B,MAAMy1D,GACJtyF,KAAKuyF,mBAAmBD,KAIhCtD,cAAcnzF,UAAUw2F,mBAAqB,WACrCryF,KAAKy9B,WAGNz9B,KAAKy9B,SAAS+sB,WAAWhM,YAAY8E,SACpCtjD,KAAKkyF,cAELj0C,WAAWj+C,KAAKqyF,mBAAmB/lD,KAAKtsC,MAAM,MAItDgvF,cAAcnzF,UAAUq2F,YAAc,WAC7BlyF,KAAKsjD,WACHtjD,KAAKy9B,SAAS+sB,WAAWhM,YAAY8E,WACpCtjD,KAAK8uE,eAAevqB,UAA2C,WAA/BvkD,KAAKy9B,SAASmrC,eAElD5oE,KAAKsjD,UAAW,EAChBpC,YAAY2wC,aAAa7xF,KAAKo9B,cAAep9B,KAAKy9B,SAAS+sB,WAAWhM,aACnE5W,mBACCA,kBAAkB2mC,gBAAgBvuE,MAEtCA,KAAKy9B,SAASqwC,YACd7vB,WAAW,WACPj+C,KAAKwxF,QAAQ,cACfllD,KAAKtsC,MAAO,GACdA,KAAKwyF,YACFxyF,KAAKm9B,UACJn9B,KAAK48B,SAKjBoyD,cAAcnzF,UAAUo0F,OAAS,WAC7BjwF,KAAKy9B,SAASiyC,uBAGlBsf,cAAcnzF,UAAU42F,YAAc,SAASppD,GAC3CrpC,KAAKgxF,oBAAsB3nD,GAG/B2lD,cAAcnzF,UAAU22F,UAAY,WAChCxyF,KAAK+vE,aAAe/vE,KAAKgxF,kBAAoBhxF,KAAKwwF,kBAAoBxwF,KAAKwwF,gBAExExwF,KAAK8wF,gBAAkB9wF,KAAK4qC,aAAe5qC,KAAK+vE,aAAe/vE,KAAK8wF,gBACnE9wF,KAAK+vE,aAAe/vE,KAAK8wF,eAE7B9wF,KAAKwxF,QAAQ,cACbxxF,KAAK8vE,eAGTkf,cAAcnzF,UAAUi0E,YAAc,WAClC,IAAqB,IAAlB9vE,KAAKsjD,SAGR,IACItjD,KAAKy9B,SAASqyC,YAAY9vE,KAAK+vE,aAAe/vE,KAAK2qC,YACrD,MAAM2nD,GACJtyF,KAAK0yF,wBAAwBJ,KAIrCtD,cAAcnzF,UAAU+gC,KAAO,SAAUt6B,GAClCA,GAAQtC,KAAKsC,MAAQA,IAGF,IAAlBtC,KAAK28B,WACL38B,KAAK28B,UAAW,EAChB38B,KAAK+uE,gBAAgB5V,SAClBn5D,KAAKixF,QACJjxF,KAAKixF,OAAQ,EACbjxF,KAAKwxF,QAAQ,cAKzBxC,cAAcnzF,UAAUghC,MAAQ,SAAUv6B,GACnCA,GAAQtC,KAAKsC,MAAQA,IAGH,IAAlBtC,KAAK28B,WACJ38B,KAAK28B,UAAW,EAChB38B,KAAKixF,OAAQ,EACbjxF,KAAKwxF,QAAQ,SACbxxF,KAAK+uE,gBAAgBlyC,UAI7BmyD,cAAcnzF,UAAU8zF,YAAc,SAAUrtF,GACzCA,GAAQtC,KAAKsC,MAAQA,KAGH,IAAlBtC,KAAK28B,SACJ38B,KAAK48B,OAEL58B,KAAK68B,UAIbmyD,cAAcnzF,UAAUmiC,KAAO,SAAU17B,GAClCA,GAAQtC,KAAKsC,MAAQA,IAGxBtC,KAAK68B,QACL78B,KAAK4wF,UAAY,EACjB5wF,KAAKkxF,gBAAiB,EACtBlxF,KAAK2yF,wBAAwB,KAGjC3D,cAAcnzF,UAAUq0F,YAAc,SAAU1pF,EAAO2pF,EAAS7tF,GACzDA,GAAQtC,KAAKsC,MAAQA,IAGrB6tF,EACCnwF,KAAK2yF,wBAAwBnsF,GAE7BxG,KAAK2yF,wBAAwBnsF,EAAQxG,KAAK4yF,eAE9C5yF,KAAK68B,UAGTmyD,cAAcnzF,UAAUg3F,YAAc,SAAUrsF,EAAO2pF,EAAS7tF,GAC5DtC,KAAKkwF,YAAY1pF,EAAO2pF,EAAS7tF,GACjCtC,KAAK48B,QAGToyD,cAAcnzF,UAAU0zF,YAAc,SAAU/oF,GAC5C,IAAsB,IAAlBxG,KAAK28B,WAAuC,IAAlB38B,KAAKsjD,SAAnC,CAGA,IAAIwvC,EAAY9yF,KAAKwwF,gBAAkBhqF,EAAQxG,KAAK4yF,cAChDG,GAAc,EAGdD,GAAa9yF,KAAK4qC,YAAc,GAAK5qC,KAAK4yF,cAAgB,EACrD5yF,KAAKk9B,MAAQl9B,KAAK4wF,YAAc5wF,KAAKk9B,KAK/B41D,GAAa9yF,KAAK4qC,aACzB5qC,KAAK4wF,WAAa,EACb5wF,KAAKgzF,cAAcF,EAAY9yF,KAAK4qC,eACrC5qC,KAAK2yF,wBAAwBG,EAAY9yF,KAAK4qC,aAC9C5qC,KAAKkxF,gBAAiB,EACtBlxF,KAAKwxF,QAAQ,kBAGjBxxF,KAAK2yF,wBAAwBG,GAZxB9yF,KAAKgzF,cAAcF,EAAa9yF,KAAK4qC,YAAckoD,EAAY9yF,KAAK4qC,YAAc,KACnFmoD,GAAc,EACdD,EAAY9yF,KAAK4qC,YAAc,GAYjCkoD,EAAY,EACb9yF,KAAKgzF,cAAcF,EAAY9yF,KAAK4qC,gBACjC5qC,KAAKk9B,MAAUl9B,KAAK4wF,aAAe,IAAmB,IAAd5wF,KAAKk9B,MAQ7C61D,GAAc,EACdD,EAAY,IARZ9yF,KAAK2yF,wBAAwB3yF,KAAK4qC,YAAekoD,EAAY9yF,KAAK4qC,aAC9D5qC,KAAKkxF,eAGLlxF,KAAKwxF,QAAQ,gBAFbxxF,KAAKkxF,gBAAiB,IAUlClxF,KAAK2yF,wBAAwBG,GAE7BC,IACA/yF,KAAK2yF,wBAAwBG,GAC7B9yF,KAAK68B,QACL78B,KAAKwxF,QAAQ,eAIrBxC,cAAcnzF,UAAUo3F,cAAgB,SAASl2F,EAAKsf,GAClDrc,KAAK4wF,UAAY,EACd7zF,EAAI,GAAKA,EAAI,IACTiD,KAAK4yF,cAAgB,IACjB5yF,KAAK0wF,UAAY,EAChB1wF,KAAKk+B,UAAUl+B,KAAK0wF,WAEpB1wF,KAAKm+B,cAAc,IAG3Bn+B,KAAK8wF,cAAgB9wF,KAAK4qC,YAAc7tC,EAAI,GAAKA,EAAI,GACrDiD,KAAK2qC,WAAa5tC,EAAI,GACtBiD,KAAK2yF,wBAAwB3yF,KAAK4qC,YAAc,KAAQvuB,IAClDtf,EAAI,GAAKA,EAAI,KAChBiD,KAAK4yF,cAAgB,IACjB5yF,KAAK0wF,UAAY,EAChB1wF,KAAKk+B,UAAUl+B,KAAK0wF,WAEpB1wF,KAAKm+B,aAAa,IAG1Bn+B,KAAK8wF,cAAgB9wF,KAAK4qC,YAAc7tC,EAAI,GAAKA,EAAI,GACrDiD,KAAK2qC,WAAa5tC,EAAI,GACtBiD,KAAK2yF,wBAAwB,KAAQt2E,IAEzCrc,KAAKwxF,QAAQ,iBAEjBxC,cAAcnzF,UAAUq3F,WAAa,SAAU5kC,EAAK6kC,GAChD,IAAIC,GAAgB,EACjBpzF,KAAK28B,WACA38B,KAAKwwF,gBAAkBxwF,KAAK2qC,WAAa2jB,EACzC8kC,EAAe9kC,EACRtuD,KAAKwwF,gBAAkBxwF,KAAK2qC,WAAawoD,IAChDC,EAAeD,EAAM7kC,IAI7BtuD,KAAK2qC,WAAa2jB,EAClBtuD,KAAK8wF,cAAgB9wF,KAAK4qC,YAAcuoD,EAAM7kC,GACzB,IAAlB8kC,GACCpzF,KAAKkwF,YAAYkD,GAAa,IAItCpE,cAAcnzF,UAAUoiC,aAAe,SAAUlhC,EAAKs2F,GAIlD,GAHIA,IACArzF,KAAKs9B,SAAS9gC,OAAS,GAEL,iBAAXO,EAAI,GAAiB,CAC5B,IAAIE,EAAGgD,EAAMlD,EAAIP,OACjB,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACtB+C,KAAKs9B,SAASngC,KAAKJ,EAAIE,SAG3B+C,KAAKs9B,SAASngC,KAAKJ,GAEnBiD,KAAKs9B,SAAS9gC,QAAU62F,GACxBrzF,KAAKizF,cAAcjzF,KAAKs9B,SAAStV,QAAS,GAE1ChoB,KAAK28B,UACL38B,KAAK48B,QAIboyD,cAAcnzF,UAAUy3F,cAAgB,SAAUD,GAC9CrzF,KAAKs9B,SAAS9gC,OAAS,EACvBwD,KAAKs9B,SAASngC,KAAK,CAAC6C,KAAKo9B,cAAcuvC,GAAG3sE,KAAKo9B,cAAci7B,KAEzDg7B,GACArzF,KAAKgzF,cAAc,IAG3BhE,cAAcnzF,UAAUm3F,cAAgB,SAAS32E,GAC7C,QAAIrc,KAAKs9B,SAAS9gC,SACdwD,KAAKizF,cAAcjzF,KAAKs9B,SAAStV,QAAS3L,IACnC,IAKf2yE,cAAcnzF,UAAUiiC,QAAU,SAAUx7B,GACnCA,GAAQtC,KAAKsC,MAAQA,IAAUtC,KAAKy9B,WAGzCz9B,KAAKy9B,SAASK,UACd99B,KAAK8uE,eAAehxC,UACpB99B,KAAKwxF,QAAQ,WACbxxF,KAAKqsC,KAAO,KACZrsC,KAAKuzF,aAAevzF,KAAKwzF,eAAiBxzF,KAAKyzF,WAAazzF,KAAK0zF,eAAiB1zF,KAAK2zF,UAAY,KACnG3zF,KAAKy9B,SAAW,OAGpBuxD,cAAcnzF,UAAU82F,wBAA0B,SAASnsF,GACvDxG,KAAKwwF,gBAAkBhqF,EACvBxG,KAAKwyF,aAGTxD,cAAcnzF,UAAUqiC,SAAW,SAAU19B,GACzCR,KAAK0wF,UAAYlwF,EACjBR,KAAKoyF,qBAGTpD,cAAcnzF,UAAUsiC,aAAe,SAAU39B,GAC7CR,KAAK2wF,cAAgBnwF,EAAM,GAAK,EAAI,EACpCR,KAAKoyF,qBAGTpD,cAAcnzF,UAAUg+D,UAAY,SAAUr5D,EAAK8B,GAC3CA,GAAQtC,KAAKsC,OAASA,GAG1BtC,KAAK+uE,gBAAgBlV,UAAUr5D,IAGnCwuF,cAAcnzF,UAAUq+D,UAAY,WAChC,OAAOl6D,KAAK+uE,gBAAgB7U,aAGhC80B,cAAcnzF,UAAUm+D,KAAO,SAAU13D,GACjCA,GAAQtC,KAAKsC,OAASA,GAG1BtC,KAAK+uE,gBAAgB/U,QAGzBg1B,cAAcnzF,UAAUo+D,OAAS,SAAU33D,GACpCA,GAAQtC,KAAKsC,OAASA,GAGzBtC,KAAK+uE,gBAAgB9U,UAGzB+0B,cAAcnzF,UAAUu2F,kBAAoB,WACxCpyF,KAAK4yF,cAAgB5yF,KAAKywF,UAAYzwF,KAAK0wF,UAAY1wF,KAAK2wF,cAC5D3wF,KAAK+uE,gBAAgB3V,QAAQp5D,KAAK0wF,UAAY1wF,KAAK2wF,gBAGvD3B,cAAcnzF,UAAU+3F,QAAU,WAC9B,OAAO5zF,KAAK2/C,MAGhBqvC,cAAcnzF,UAAUg/D,cAAgB,SAAUC,GAC9C,IAAInb,EAAO,GACX,GAAGmb,EAAU5nD,EACTysC,EAAOmb,EAAUtvB,OACd,GAAGxrC,KAAK+6D,WAAW,CACtB,IAAIE,EAAYH,EAAUtvB,GACW,IAAlCyvB,EAAUlyD,QAAQ,aACjBkyD,EAAYA,EAAUlxD,MAAM,KAAK,IAErC41C,EAAO3/C,KAAK+6D,WAAaE,OAEzBtb,EAAO3/C,KAAK2/C,KACZA,GAAQmb,EAAU12C,EAAI02C,EAAU12C,EAAI,GACpCu7B,GAAQmb,EAAUtvB,EAEtB,OAAOmU,GAGXqvC,cAAcnzF,UAAU+yE,aAAe,SAAUp+C,GAE7C,IADA,IAAIvzB,EAAI,EAAGgD,EAAMD,KAAKqgD,OAAO7jD,OACtBS,EAAIgD,GAAK,CACZ,GAAGuwB,GAAMxwB,KAAKqgD,OAAOpjD,GAAGuzB,GACpB,OAAOxwB,KAAKqgD,OAAOpjD,GAEvBA,GAAK,IAIb+xF,cAAcnzF,UAAU+xB,KAAO,WAC3B5tB,KAAKy9B,SAAS7P,QAGlBohE,cAAcnzF,UAAUu0E,KAAO,WAC3BpwE,KAAKy9B,SAAS2yC,QAGlB4e,cAAcnzF,UAAUg4F,YAAc,SAAU1D,GAC5C,OAAOA,EAAUnwF,KAAK4qC,YAAc5qC,KAAK4qC,YAAc5qC,KAAK8sD,WAGhEkiC,cAAcnzF,UAAU21F,QAAU,SAASlvF,GACvC,GAAGtC,KAAKqsC,MAAQrsC,KAAKqsC,KAAK/pC,GACtB,OAAOA,GACH,IAAK,aACDtC,KAAKosC,aAAa9pC,EAAK,IAAI4nC,kBAAkB5nC,EAAKtC,KAAK+vE,aAAa/vE,KAAK4qC,YAAY5qC,KAAK4yF,gBAC1F,MACJ,IAAK,eACD5yF,KAAKosC,aAAa9pC,EAAK,IAAIioC,oBAAoBjoC,EAAKtC,KAAKk9B,KAAKl9B,KAAK4wF,UAAU5wF,KAAKywF,YAClF,MACJ,IAAK,WACDzwF,KAAKosC,aAAa9pC,EAAK,IAAIgoC,gBAAgBhoC,EAAKtC,KAAKywF,YACrD,MACJ,IAAK,eACDzwF,KAAKosC,aAAa9pC,EAAK,IAAIooC,oBAAoBpoC,EAAKtC,KAAK2qC,WAAW3qC,KAAK4qC,cACzE,MACJ,IAAK,UACD5qC,KAAKosC,aAAa9pC,EAAK,IAAIuoC,eAAevoC,EAAKtC,OAC/C,MACJ,QACIA,KAAKosC,aAAa9pC,GAGlB,eAATA,GAAyBtC,KAAKuzF,cAC7BvzF,KAAKuzF,aAAax3F,KAAKiE,KAAK,IAAIkqC,kBAAkB5nC,EAAKtC,KAAK+vE,aAAa/vE,KAAK4qC,YAAY5qC,KAAKywF,YAEvF,iBAATnuF,GAA2BtC,KAAKwzF,gBAC/BxzF,KAAKwzF,eAAez3F,KAAKiE,KAAK,IAAIuqC,oBAAoBjoC,EAAKtC,KAAKk9B,KAAKl9B,KAAK4wF,UAAU5wF,KAAKywF,YAEjF,aAATnuF,GAAuBtC,KAAKyzF,YAC3BzzF,KAAKyzF,WAAW13F,KAAKiE,KAAK,IAAIsqC,gBAAgBhoC,EAAKtC,KAAKywF,YAEhD,iBAATnuF,GAA2BtC,KAAK0zF,gBAC/B1zF,KAAK0zF,eAAe33F,KAAKiE,KAAK,IAAI0qC,oBAAoBpoC,EAAKtC,KAAK2qC,WAAW3qC,KAAK4qC,cAExE,YAATtoC,GAAsBtC,KAAK2zF,WAC1B3zF,KAAK2zF,UAAU53F,KAAKiE,KAAK,IAAI6qC,eAAevoC,EAAKtC,QAIzDgvF,cAAcnzF,UAAU62F,wBAA0B,SAAS3nD,GAEvD,IAAIunD,EAAQ,IAAIxnD,wBAAwBC,EAAa/qC,KAAK+vE,cAC1D/vE,KAAKosC,aAAa,QAASkmD,GAEvBtyF,KAAK8zF,SACL9zF,KAAK8zF,QAAQ/3F,KAAKiE,KAAMsyF,IAIhCtD,cAAcnzF,UAAU02F,mBAAqB,SAASxnD,GAElD,IAAIunD,EAAQ,IAAItnD,mBAAmBD,EAAa/qC,KAAK+vE,cACrD/vE,KAAKosC,aAAa,QAASkmD,GAEvBtyF,KAAK8zF,SACL9zF,KAAK8zF,QAAQ/3F,KAAKiE,KAAMsyF,IAGhC,IAAIyB,YAAe,WACf,IAAI/9C,EAAK,GAwCV,OAvCCA,EAAGu4B,gBAGH,SAAyBsgB,GAExB,IAAImF,EAAa,EACbC,EAAY,GA2BbpF,EAAUpxD,SAAS8/C,cAAgBC,wBAAwBqR,EAAUpxD,UACrEoxD,EAAUpxD,SAAS+sB,WAAWqjB,iBAAiBW,oBAAoBqgB,EAAUpxD,UAC7EoxD,EAAUpxD,SAAS+sB,WAAW0pC,eA3BjC,WACFF,GAAc,GA2BTnF,EAAUpxD,SAAS+sB,WAAW2pC,cAxBjC,WAEiB,KADnBH,GAAc,IAYZ,WACC,IAAI/2F,EAAGgD,EAAMg0F,EAAUz3F,OACvB,IAAKS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EAC5Bg3F,EAAUh3F,GAAG82D,UAEXkgC,EAAUz3F,OAAS,EAfrB43F,IAsBIvF,EAAUpxD,SAAS+sB,WAAW6pC,2BAlBjC,SAAoCC,IACI,IAAnCL,EAAUlrF,QAAQurF,IACxBL,EAAU92F,KAAKm3F,KAkBTt+C,EAzCQ,GA4ClBpO,kBAAoBmsD,YAEpB,IAAIQ,kBAAqB,WAErB,IAAIv+C,GAAK,GACL7yC,KAAOwlC,OACPpb,OAAS,KACToE,SAAW,KAEf,SAAS6iE,sBAAsBz3F,GAC3B,OAAOA,EAAIk2B,cAAgBt3B,OAASoB,EAAIk2B,cAAgByZ,aAG5D,SAAS+nD,YAAYC,EAAMrpD,GACvB,MAAgB,WAATqpD,GAA8B,YAATA,GAA+B,WAATA,GAAqBrpD,aAAaspD,OAGxF,SAASC,QAAQ14F,GACb,IAAI24F,SAAc34F,EAClB,GAAY,WAAT24F,GAA8B,YAATA,GAAuB34F,aAAay4F,OACxD,OAAQz4F,EAEZ,GAAGs4F,sBAAsBt4F,GAAG,CACxB,IAAIe,EAAG63F,EAAO54F,EAAEM,OACZu4F,EAAS,GACb,IAAI93F,EAAE,EAAEA,EAAE63F,EAAK73F,GAAG,EACd83F,EAAO93F,IAAMf,EAAEe,GAEnB,OAAO83F,EAEX,OAAI74F,EAAEoqD,SACKpqD,EAAEmvC,OADb,EAKJ,IAAI2pD,UAAYj/C,cAAcoR,gBAAgB,KAAM,EAAE,KAAK,KAAM,UAAUtgD,IACvEouF,WAAal/C,cAAcoR,gBAAgB,KAAM,KAAM,KAAK,EAAG,WAAWtgD,IAC1EquF,aAAen/C,cAAcoR,gBAAgB,IAAI,EAAE,KAAK,EAAG,aAAatgD,IAE5E,SAASsuF,IAAIj5F,EAAEC,GACX,IAAI04F,SAAc34F,EACdk5F,SAAcj5F,EAClB,GAAY,WAAT04F,GAA8B,WAATO,EACpB,OAAOl5F,EAAIC,EAEf,GAAGs4F,YAAYI,EAAM34F,IAAMu4F,YAAYW,EAAMj5F,GACzC,OAAOD,EAAIC,EAEf,GAAGq4F,sBAAsBt4F,IAAMu4F,YAAYW,EAAMj5F,GAG7C,OAFAD,EAAIA,EAAE6F,MAAM,IACV,GAAK7F,EAAE,GAAKC,EACPD,EAEX,GAAGu4F,YAAYI,EAAM34F,IAAMs4F,sBAAsBr4F,GAG7C,OAFAA,EAAIA,EAAE4F,MAAM,IACV,GAAK7F,EAAIC,EAAE,GACNA,EAEX,GAAGq4F,sBAAsBt4F,IAAMs4F,sBAAsBr4F,GAAG,CAIpD,IAFA,IAAIc,EAAI,EAAG63F,EAAO54F,EAAEM,OAAQ64F,EAAOl5F,EAAEK,OACjCu4F,EAAS,GACP93F,EAAE63F,GAAQ73F,EAAIo4F,IACI,iBAATn5F,EAAEe,IAAmBf,EAAEe,aAAc03F,UAA4B,iBAATx4F,EAAEc,IAAmBd,EAAEc,aAAc03F,QACpGI,EAAO93F,GAAKf,EAAEe,GAAKd,EAAEc,GAErB83F,EAAO93F,QAAcwC,IAATtD,EAAEc,GAAmBf,EAAEe,GAAKf,EAAEe,IAAMd,EAAEc,GAEtDA,GAAK,EAET,OAAO83F,EAEX,OAAO,EAEX,IAAIr6E,IAAMy6E,IAEV,SAASG,IAAIp5F,EAAEC,GACX,IAAI04F,SAAc34F,EACdk5F,SAAcj5F,EAClB,GAAGs4F,YAAYI,EAAM34F,IAAMu4F,YAAYW,EAAMj5F,GAOzC,MANY,WAAT04F,IACC34F,EAAI2P,SAAS3P,IAEL,WAATk5F,IACCj5F,EAAI0P,SAAS1P,IAEVD,EAAIC,EAEf,GAAIq4F,sBAAsBt4F,IAAMu4F,YAAYW,EAAMj5F,GAG9C,OAFAD,EAAIA,EAAE6F,MAAM,IACV,GAAK7F,EAAE,GAAKC,EACPD,EAEX,GAAGu4F,YAAYI,EAAM34F,IAAOs4F,sBAAsBr4F,GAG9C,OAFAA,EAAIA,EAAE4F,MAAM,IACV,GAAK7F,EAAIC,EAAE,GACNA,EAEX,GAAGq4F,sBAAsBt4F,IAAMs4F,sBAAsBr4F,GAAG,CAGpD,IAFA,IAAIc,EAAI,EAAG63F,EAAO54F,EAAEM,OAAQ64F,EAAOl5F,EAAEK,OACjCu4F,EAAS,GACP93F,EAAE63F,GAAQ73F,EAAIo4F,IACI,iBAATn5F,EAAEe,IAAmBf,EAAEe,aAAc03F,UAA4B,iBAATx4F,EAAEc,IAAmBd,EAAEc,aAAc03F,QACpGI,EAAO93F,GAAKf,EAAEe,GAAKd,EAAEc,GAErB83F,EAAO93F,QAAcwC,IAATtD,EAAEc,GAAmBf,EAAEe,GAAKf,EAAEe,IAAMd,EAAEc,GAEtDA,GAAK,EAET,OAAO83F,EAEX,OAAO,EAGX,SAASQ,IAAIr5F,EAAEC,GACX,IAEIY,EAKAE,EAAGgD,EAPH40F,SAAc34F,EACdk5F,SAAcj5F,EAElB,GAAGs4F,YAAYI,EAAM34F,IAAMu4F,YAAYW,EAAMj5F,GACzC,OAAOD,EAAIC,EAIf,GAAGq4F,sBAAsBt4F,IAAMu4F,YAAYW,EAAMj5F,GAAG,CAGhD,IAFA8D,EAAM/D,EAAEM,OACRO,EAAMyvC,iBAAiB,UAAWvsC,GAC9BhD,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbF,EAAIE,GAAKf,EAAEe,GAAKd,EAEpB,OAAOY,EAEX,GAAG03F,YAAYI,EAAM34F,IAAMs4F,sBAAsBr4F,GAAG,CAGhD,IAFA8D,EAAM9D,EAAEK,OACRO,EAAMyvC,iBAAiB,UAAWvsC,GAC9BhD,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbF,EAAIE,GAAKf,EAAIC,EAAEc,GAEnB,OAAOF,EAEX,OAAO,EAGX,SAASizF,IAAI9zF,EAAEC,GACX,IAEIY,EAIAE,EAAGgD,EANH40F,SAAc34F,EACdk5F,SAAcj5F,EAElB,GAAGs4F,YAAYI,EAAM34F,IAAMu4F,YAAYW,EAAMj5F,GACzC,OAAOD,EAAIC,EAGf,GAAGq4F,sBAAsBt4F,IAAMu4F,YAAYW,EAAMj5F,GAAG,CAGhD,IAFA8D,EAAM/D,EAAEM,OACRO,EAAMyvC,iBAAiB,UAAWvsC,GAC9BhD,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbF,EAAIE,GAAKf,EAAEe,GAAKd,EAEpB,OAAOY,EAEX,GAAG03F,YAAYI,EAAM34F,IAAMs4F,sBAAsBr4F,GAAG,CAGhD,IAFA8D,EAAM9D,EAAEK,OACRO,EAAMyvC,iBAAiB,UAAWvsC,GAC9BhD,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbF,EAAIE,GAAKf,EAAIC,EAAEc,GAEnB,OAAOF,EAEX,OAAO,EAEX,SAASy4F,IAAIt5F,EAAEC,GAOX,MANgB,iBAAND,IACNA,EAAI2P,SAAS3P,IAED,iBAANC,IACNA,EAAI0P,SAAS1P,IAEVD,EAAIC,EAEf,IAAIs5F,QAAUN,IACVO,QAAUJ,IACVK,QAAUJ,IACVK,QAAU5F,IACV6F,QAAUL,IAEd,SAASM,MAAM7+D,EAAKnsB,EAAKvH,GACrB,GAAGuH,EAAMvH,EAAI,CACT,IAAIwO,EAAKxO,EACTA,EAAMuH,EACNA,EAAMiH,EAEV,OAAO5O,KAAK2H,IAAI3H,KAAKI,IAAI0zB,EAAKnsB,GAAMvH,GAGxC,SAASwyF,iBAAiBv1F,GACtB,OAAOA,EAAIyoC,UAEf,IAAI+sD,mBAAqBD,iBAEzB,SAASE,iBAAiBz1F,GACtB,OAAOA,EAAIyoC,UAEf,IAAIitD,mBAAqBH,iBAErBI,kBAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAEnC,SAAS35F,OAAOkW,EAAMC,GAClB,GAAoB,iBAATD,GAAqBA,aAAgBiiF,OAE5C,OADAhiF,EAAOA,GAAQ,EACRxP,KAAKC,IAAIsP,EAAOC,GAEvBA,IACAA,EAAOwjF,mBAEX,IAAIl5F,EAAGgD,EAAMkD,KAAK2H,IAAI4H,EAAKlW,OAAQmW,EAAKnW,QACpCm9C,EAAc,EAClB,IAAK18C,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACtB08C,GAAex2C,KAAKG,IAAIqP,EAAK1V,GAAKyV,EAAKzV,GAAI,GAE/C,OAAOkG,KAAKklC,KAAKsR,GAGrB,SAASy8C,UAAUC,GACf,OAAOrG,IAAIqG,EAAK75F,OAAO65F,IAG3B,SAASC,SAAS91F,GACd,IAEIyL,EAAGnD,EAFHwiC,EAAI9qC,EAAI,GAAQ+qC,EAAI/qC,EAAI,GAAQrE,EAAIqE,EAAI,GACxC+C,EAAMJ,KAAKI,IAAI+nC,EAAGC,EAAGpvC,GAAI2O,EAAM3H,KAAK2H,IAAIwgC,EAAGC,EAAGpvC,GACxCkZ,GAAK9R,EAAMuH,GAAO,EAE5B,GAAGvH,GAAOuH,EACNmB,EAAInD,EAAI,MACP,CACD,IAAIkD,EAAIzI,EAAMuH,EAEd,OADAhC,EAAIuM,EAAI,GAAMrJ,GAAK,EAAIzI,EAAMuH,GAAOkB,GAAKzI,EAAMuH,GACxCvH,GACH,KAAK+nC,EAAGr/B,GAAKs/B,EAAIpvC,GAAK6P,GAAKu/B,EAAIpvC,EAAI,EAAI,GAAI,MAC3C,KAAKovC,EAAGt/B,GAAK9P,EAAImvC,GAAKt/B,EAAI,EAAG,MAC7B,KAAK7P,EAAG8P,GAAKq/B,EAAIC,GAAKv/B,EAAI,EAE9BC,GAAK,EAGT,MAAO,CAACA,EAAGnD,EAAGuM,EAAE7U,EAAI,IAGxB,SAAS+1F,QAAQ/qD,EAAGC,EAAG1rC,GAGnB,OAFGA,EAAI,IAAGA,GAAK,GACZA,EAAI,IAAGA,GAAK,GACZA,EAAI,EAAE,EAAUyrC,EAAc,GAATC,EAAID,GAASzrC,EAClCA,EAAI,GAAY0rC,EAChB1rC,EAAI,EAAE,EAAUyrC,GAAKC,EAAID,IAAM,EAAE,EAAIzrC,GAAK,EACtCyrC,EAGX,SAASgrD,SAASh2F,GACd,IAII8qC,EAAGC,EAAGpvC,EAJN8P,EAAIzL,EAAI,GACRsI,EAAItI,EAAI,GACR6U,EAAI7U,EAAI,GAIZ,GAAS,IAANsI,EACCwiC,EAAIC,EAAIpvC,EAAIkZ,MACX,CAED,IAAIo2B,EAAIp2B,EAAI,GAAMA,GAAK,EAAIvM,GAAKuM,EAAIvM,EAAIuM,EAAIvM,EACxC0iC,EAAI,EAAIn2B,EAAIo2B,EAChBH,EAAIirD,QAAQ/qD,EAAGC,EAAGx/B,EAAI,EAAE,GACxBs/B,EAAIgrD,QAAQ/qD,EAAGC,EAAGx/B,GAClB9P,EAAIo6F,QAAQ/qD,EAAGC,EAAGx/B,EAAI,EAAE,GAG5B,MAAO,CAACq/B,EAAGC,EAAIpvC,EAAGqE,EAAI,IAG1B,SAASi2F,OAAO12F,EAAG22F,EAAMC,EAAMC,EAAQC,GAOnC,QANcp3F,IAAXm3F,QAAmCn3F,IAAXo3F,IACvBD,EAASF,EACTG,EAASF,EACTD,EAAO,EACPC,EAAO,GAERA,EAAOD,EAAM,CACZ,IAAII,EAAQH,EACZA,EAAOD,EACPA,EAAOI,EAEX,GAAG/2F,GAAK22F,EACJ,OAAOE,EACL,GAAG72F,GAAK42F,EACV,OAAOE,EAEX,IAAIr9C,EAAOm9C,IAASD,EAAO,GAAK32F,EAAE22F,IAAOC,EAAKD,GAC9C,IAAIE,EAAOp6F,OACP,OAAOo6F,GAAUC,EAAOD,GAAQp9C,EAEpC,IAAIv8C,EAAGgD,EAAM22F,EAAOp6F,OAChBO,EAAMyvC,iBAAiB,UAAWvsC,GACtC,IAAIhD,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbF,EAAIE,GAAK25F,EAAO35F,IAAM45F,EAAO55F,GAAG25F,EAAO35F,IAAIu8C,EAE/C,OAAOz8C,EAEX,SAAS2zB,OAAO5lB,EAAIvH,GAUhB,QATW9D,IAAR8D,SACY9D,IAARqL,GACCA,EAAM,EACNvH,EAAM,IAENA,EAAMuH,EACNA,OAAMrL,IAGX8D,EAAI/G,OAAO,CACV,IAAIS,EAAGgD,EAAMsD,EAAI/G,OACbsO,IACAA,EAAM0hC,iBAAiB,UAAWvsC,IAEtC,IAAIlD,EAAMyvC,iBAAiB,UAAWvsC,GAClC82F,EAAMpuD,OAAOjY,SACjB,IAAIzzB,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbF,EAAIE,GAAK6N,EAAI7N,GAAK85F,GAAKxzF,EAAItG,GAAG6N,EAAI7N,IAEtC,OAAOF,EAMX,YAJW0C,IAARqL,IACCA,EAAM,GAGHA,EADI69B,OAAOjY,UACCntB,EAAIuH,GAG3B,SAASksF,WAAWrgD,EAAQsgD,EAAYC,EAAa97C,GACjD,IAAIn+C,EAAGgD,EAAM02C,EAAOn6C,OAChBmjD,EAAO0P,WAAWtV,aACtB4F,EAAK0N,cAAcjS,EAAQn7C,GAC3B,IAA4Bk3F,EAAeC,EAAvCC,EAAiB,CAAC,EAAE,GACxB,IAAIp6F,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACrBk6F,EAAiBF,GAAcA,EAAWh6F,GAAMg6F,EAAWh6F,GAAKo6F,EAChED,EAAkBF,GAAeA,EAAYj6F,GAAMi6F,EAAYj6F,GAAKo6F,EACpE13C,EAAK+N,YAAY/W,EAAO15C,GAAG,GAAG05C,EAAO15C,GAAG,GAAGm6F,EAAe,GAAKzgD,EAAO15C,GAAG,GAAGm6F,EAAe,GAAKzgD,EAAO15C,GAAG,GAAGk6F,EAAc,GAAKxgD,EAAO15C,GAAG,GAAGk6F,EAAc,GAAKxgD,EAAO15C,GAAG,GAAGA,GAAE,GAEnL,OAAO0iD,EAGX,SAAS23C,mBAAmB/sC,KAAKn3C,KAAK8L,UAClC,IAAI1e,IAAM4S,KAAK9J,EACXiuF,cAAgB,qBAAqBvyF,KAAKxE,KAC1Cg3F,cAA0C,IAA3Bh3F,IAAIuI,QAAQ,UAC3B0uF,SAAWltC,KAAKn3C,KAAKm8B,GACrBE,UAAUioD,cAAc/Z,QAAQga,OAChCC,aAAe14E,SACnB04E,aAAaC,YAAcD,aAAa7qC,eACxCnxD,OAAO8xB,eAAekqE,aAAc,QAAS,CACzC/wF,IAAK,WACD,OAAO+wF,aAAavsD,KAG5Bkf,KAAKT,KAAKguC,cAAgB,EAAEvtC,KAAKT,KAAKU,WAAWsC,UACjDvC,KAAKT,KAAKiuC,iBAAmB,EAC7B,IAAIC,QAAUztC,KAAKn3C,KAAKu5D,GAAGpiB,KAAKT,KAAKU,WAAWsC,UAC5CmrC,SAAW1tC,KAAKn3C,KAAKilD,GAAG9N,KAAKT,KAAKU,WAAWsC,UAC7CjuB,MAAQ0rB,KAAKn3C,KAAKorD,GAAKjU,KAAKn3C,KAAKorD,GAAK,EACtC1/B,OAASyrB,KAAKn3C,KAAK20C,GAAKwC,KAAKn3C,KAAK20C,GAAK,EACvCzlD,KAAOioD,KAAKn3C,KAAK6iC,GACjBiiD,OAAQC,QAASC,QAASC,SAAUC,OACpCC,QAAQC,UAAUC,SAASC,OAAOC,kBAAmBnvD,SAAUovD,SAAUC,YAAa1pD,MAAO2pD,UAAWC,SAAS13B,KAAKw2B,YAAYmB,eAClIC,uBAAyB,GAQzBC,aAPJ,GAAG9lF,KAAK+lF,GAAI,CACR,IAAIl8F,EAAGgD,IAAMmT,KAAK+lF,GAAG38F,OACrB,IAAIS,EAAI,EAAGA,EAAIgD,IAAKhD,GAAK,EACrBg8F,uBAAuBh8F,GAAKm8F,KAAK,uBAAyBhmF,KAAK+lF,GAAGl8F,GAAK,QAK/E,IAAIo8F,oBAAsBD,KAAK,oCAAsC54F,IAAtC,0BAAyE,GACpG84F,QAAUp6E,SAAS4rC,GAAK13C,KAAK3W,EAAED,OAAS,EAExC+8F,QAAUv5F,KAAKoT,OAAyB,IAAjBpT,KAAKoT,KAAKq4D,GAEjC+tB,OAAS,SAAgBC,EAAKC,GAC9B,IAAIz8F,EAAE2W,EAAG3T,EAAMD,KAAKumD,GAAG/pD,OAASwD,KAAKumD,GAAG/pD,OAAS,EAC7Cm9F,EAAYntD,iBAAiB,UAAWvsC,GAE5C,IAAIo4E,EAAal1E,KAAKiD,MADf,EACqBkc,MAG5B,IAFArlB,EAAI,EACJ2W,EAAI,EACE3W,EAAEo7E,GAAW,CAEf,IAAIzkE,EAAE,EAAEA,EAAE3T,EAAI2T,GAAG,EACb+lF,EAAU/lF,KAAO8lF,EAAU,EAAJA,EAAM/wD,OAAOjY,SAGxCzzB,GAAK,EAGT,IAAI28F,EAbG,EAaOt3E,KACVk3B,EAAOogD,EAAUz2F,KAAKiD,MAAMwzF,GAC5B78F,EAAMyvC,iBAAiB,UAAWvsC,GACtC,GAAGA,EAAI,EAAE,CACL,IAAI2T,EAAE,EAAEA,EAAE3T,EAAI2T,GAAG,EACb7W,EAAI6W,GAAK5T,KAAKumD,GAAG3yC,GAAK+lF,EAAU/lF,KAAO8lF,EAAU,EAAJA,EAAM/wD,OAAOjY,UAAU8oB,EAIxE,OAAOz8C,EAEP,OAAOiD,KAAKumD,GAAKozC,EAAU,KAAOD,EAAU,EAAJA,EAAM/wD,OAAOjY,UAAU8oB,GAErElN,KAAKtsC,MAgBP,SAAS65F,eAAe9rE,EAAK7S,GACzB,OAAOg9E,OAAOnqE,EAAK7S,GAAS,GAGhC,SAAS4+E,gBAAgB/rE,EAAK7S,GAC1B,OAAOk9E,QAAQrqE,EAAK7S,GAAS,GAnB9B08E,aAAaM,SACZA,OAASN,aAAaM,OAAO5rD,KAAKsrD,cAClCO,QAAUD,QAGXN,aAAaQ,UACZA,QAAUR,aAAaQ,QAAQ9rD,KAAKsrD,cACpCS,SAAWD,SAGZR,aAAaU,SACZA,OAASV,aAAaU,OAAOhsD,KAAKsrD,eAWnC53F,KAAK+sD,iBACJ8qC,YAAc73F,KAAK+sD,eAAezgB,KAAKtsC,OAGxCA,KAAK+5F,oBACJf,eAAiBh5F,KAAK+5F,kBAAkBztD,KAAKtsC,OAGjD,IAAI8pD,KAAOS,KAAKT,KAAKU,WAAWqjB,iBAAiBvhC,KAAKie,KAAKT,KAAKU,WAAWqjB,kBAyJvEvrD,KAAM03E,SAAUxzF,MAAOgxB,KAAMyiE,UAAWC,UAAWC,cAvJvD,SAASC,OAAOC,EAAMC,GAClB,IAAIC,EAAO,CAACD,EAAM,GAAGD,EAAM,GAAGC,EAAM,GAAGD,EAAM,GAAGC,EAAM,GAAGD,EAAM,IAC3DG,EAAQr3F,KAAKmlD,MAAMiyC,EAAK,GAAGp3F,KAAKklC,KAAKkyD,EAAK,GAAGA,EAAK,GAAGA,EAAK,GAAGA,EAAK,KAAKtxD,UAE3E,MAAO,EADI9lC,KAAKmlD,MAAMiyC,EAAK,GAAGA,EAAK,IAAItxD,UAC3BuxD,EAAM,GAGtB,SAASC,QAAQ16F,EAAG22F,EAAMC,EAAM+D,EAAMC,GAClC,OAAOC,UAAU3F,WAAYl1F,EAAG22F,EAAMC,EAAM+D,EAAMC,GAGtD,SAASE,OAAO96F,EAAG22F,EAAMC,EAAM+D,EAAMC,GACjC,OAAOC,UAAU5F,UAAWj1F,EAAG22F,EAAMC,EAAM+D,EAAMC,GAGrD,SAASG,KAAK/6F,EAAG22F,EAAMC,EAAM+D,EAAMC,GAC/B,OAAOC,UAAU1F,aAAcn1F,EAAG22F,EAAMC,EAAM+D,EAAMC,GAGxD,SAASC,UAAU59F,EAAI+C,EAAG22F,EAAMC,EAAM+D,EAAMC,QAC5Bl7F,IAATi7F,GACCA,EAAOhE,EACPiE,EAAOhE,GAEP52F,GAAKA,EAAI22F,IAASC,EAAOD,GAG7B,IAAIrsC,EAAOrtD,EADX+C,EAAIA,EAAI,EAAI,EAAIA,EAAI,EAAI,EAAIA,GAE5B,GAAGy0F,sBAAsBkG,GAAO,CAC5B,IAAIz9F,EAAGgD,EAAMy6F,EAAKl+F,OACdO,EAAMyvC,iBAAiB,UAAWvsC,GACtC,IAAKhD,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACtBF,EAAIE,IAAM09F,EAAK19F,GAAKy9F,EAAKz9F,IAAMotD,EAAOqwC,EAAKz9F,GAE/C,OAAOF,EAEP,OAAQ49F,EAAOD,GAAQrwC,EAAOqwC,EAItC,SAASK,WAAWz4E,GAChB,IAAIrlB,EAAuBwqB,EAAMs/B,EAA1B9mD,EAAMmT,KAAK3W,EAAED,OACpB,GAAI4W,KAAK3W,EAAED,QAAgC,iBAAf4W,KAAK3W,EAAE,GAM/B,GAFAgrB,GAAS,GACTnF,GAAQioC,KAAKT,KAAKU,WAAWsC,WAClB15C,KAAK3W,EAAE,GAAGsD,EACjB0nB,EAAQ,EACRs/B,EAAU3zC,KAAK3W,EAAE,GAAGsD,MACjB,CACH,IAAI9C,EAAE,EAAEA,EAAEgD,EAAI,EAAEhD,GAAG,EAAE,CACjB,GAAGqlB,IAASlP,KAAK3W,EAAEQ,GAAG8C,EAAE,CACpB0nB,EAAQxqB,EAAI,EACZ8pD,EAAU3zC,KAAK3W,EAAEQ,GAAG8C,EACpB,MACE,GAAGuiB,EAAKlP,KAAK3W,EAAEQ,GAAG8C,GAAKuiB,EAAKlP,KAAK3W,EAAEQ,EAAE,GAAG8C,EAAE,CACzCuiB,EAAKlP,KAAK3W,EAAEQ,GAAG8C,EAAIqT,KAAK3W,EAAEQ,EAAE,GAAG8C,EAAIuiB,GAClCmF,EAAQxqB,EAAI,EACZ8pD,EAAU3zC,KAAK3W,EAAEQ,EAAE,GAAG8C,IAEtB0nB,EAAQxqB,EAAI,EACZ8pD,EAAU3zC,KAAK3W,EAAEQ,GAAG8C,GAExB,QAGM,IAAX0nB,IACCA,EAAQxqB,EAAI,EACZ8pD,EAAU3zC,KAAK3W,EAAEQ,GAAG8C,QA3B5B0nB,EAAQ,EACRs/B,EAAU,EA+Bd,IAAI/Q,EAAK,GAGT,OAFAA,EAAGvuB,MAAQA,EACXuuB,EAAG1zB,KAAOykC,EAAQwD,KAAKT,KAAKU,WAAWsC,UAChC9W,EAGX,SAASn0C,IAAIolD,GACT,IAAIjR,EAAI/4C,EAAGgD,EACX,IAAImT,KAAK3W,EAAED,QAAgC,iBAAf4W,KAAK3W,EAAE,GAC/B,MAAM,IAAIwF,MAAM,yCAA2CglD,GAE/DA,GAAO,EACPjR,EAAK,CACD1zB,KAAMlP,KAAK3W,EAAEwqD,GAAKlnD,EAAEwqD,KAAKT,KAAKU,WAAWsC,UACzCtmD,MAAO,IAEX,IAAIzJ,EAAMqW,KAAK3W,EAAEwqD,GAAK7qD,eAAe,KAAOgX,KAAK3W,EAAEwqD,GAAKn+C,EAAIsK,KAAK3W,EAAEwqD,EAAM,GAAG/zC,EAG5E,IADAjT,EAAMlD,EAAIP,OACNS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb+4C,EAAG/4C,GAAKF,EAAIE,GACZ+4C,EAAGxvC,MAAMvJ,GAAKF,EAAIE,GAEtB,OAAO+4C,EAGX,SAASglD,aAAaC,EAAQC,GAI1B,OAHKA,IACDA,EAAM3wC,KAAKT,KAAKU,WAAWsC,WAExBmuC,EAASC,EAGpB,SAASC,aAAap7F,EAAGm7F,GAOrB,OANKn7F,GAAW,IAANA,IACNA,EAAIuiB,MAEH44E,IACDA,EAAM3wC,KAAKT,KAAKU,WAAWsC,WAExB/sD,EAAIm7F,EAGf,SAASE,WAAWhnD,GAChBzL,OAAO0yD,WAAWC,SAAWlnD,GAGjC,SAASgiC,mBACL,OAAO7rB,KAAK6rB,mBAGhB,SAAS1+C,UAAU42B,EAAM6kC,GACrB,MAAoB,iBAAV3sF,WACK/G,IAAR0zF,EACI3sF,MAAMkxB,UAAU42B,GAEhB9nD,MAAMkxB,UAAU42B,EAAM6kC,GAE1B,GAGX,SAAS3vF,OAAO8qD,EAAM6kC,GAClB,MAAoB,iBAAV3sF,WACK/G,IAAR0zF,EACI3sF,MAAMhD,OAAO8qD,GAEb9nD,MAAMhD,OAAO8qD,EAAM6kC,GAEvB,GAGX,SAASoI,cAAcC,GACnBl5E,KAA2B,IAApBk5E,EAAwB,EAAIr4F,KAAKiD,MAAMkc,KAAOk5E,GAAmBA,EACxEh1F,MAAQqxF,YAAYv1E,MAIxB,IAAImF,MAAQ8iC,KAAKn3C,KAAK6zC,IAClBw0C,aAAelxC,KAAK0jB,YAAa1jB,KAAK0jB,UAAUzxE,QAChDgmD,OACA84C,SAAWn4F,KAAKiD,MAAoB,IAAdjD,KAAKutB,UAC3B85B,WAAaD,KAAKC,WACtB,SAASkxC,kBAAkBC,GAMvB,OAJAn1F,MAAQm1F,EACJnE,cACA4D,WAAWE,UAEXt7F,KAAK47F,oBAAsBrxC,KAAKC,WAAWC,SAA6B,iBAAlBzqD,KAAKsmD,SACpD9/C,OAEU,iBAAlBxG,KAAKsmD,WACJ2zC,UAAYj6F,KAAKi6F,UACjBC,UAAYl6F,KAAKk6F,UACjBC,cAAgBn6F,KAAKm6F,eAEpBrB,YACDthE,KAAO+yB,KAAKyyB,eAAexlD,KAC3BshE,UAAYvuC,KAAKyyB,eACjB+b,SAAWxuC,KAAKT,KAAKyzB,cACrBgb,QAAUO,UAAUP,QAAQjsD,KAAKwsD,WACjCN,UAAYM,UAAUN,UAAUlsD,KAAKwsD,WACrCL,SAAWK,UAAUL,SAASnsD,KAAKwsD,WACnCJ,OAASI,UAAUJ,OAAOpsD,KAAKwsD,WAC/Bz3B,KAAOy3B,UAAUz3B,KAAOy3B,UAAUz3B,KAAK/0B,KAAKwsD,WAAa,KACzDH,kBAAoBF,UAEnBhpD,YACDA,UAAY8a,KAAKyyB,eAAe,wBAChC0a,cAAgBjoD,UACbA,YACCopD,YAAcppD,UAAUopD,cAOf,IAAbpB,UAAmB9Z,UACnBA,QAAUmb,UAAU,4BAEnBnB,SACDA,OAASmB,UAAU,KAEvB2C,aAAelxC,KAAK0jB,YAAa1jB,KAAK0jB,UAAUzxE,WAC9BgmD,SACdA,OAAS+H,KAAK0jB,UAAU,GAAG+O,gBAE/B16D,KAAOtiB,KAAK8pD,KAAKC,cAAc/pD,KAAK8pD,KAAKU,WAAWsC,UAChDyqC,gBACAyC,SAAWhB,eAAe12E,OAE9B+2E,sBACAr5F,KAAK47F,kBAAoBrxC,KAAKC,WAAWC,QAGX,UAA1ByuC,aAAa5yC,WACb4yC,aAAeA,aAAa7tD,GAGzB6tD,cAEX,OAAOwC,kBAIX,OADA1lD,GAAGshD,mBAAqBA,mBACjBthD,GAvpBa,GAypBpB6lD,kBAwEI,CACNC,kBAvEE,SAA2BvxC,EAAKn3C,EAAK7S,GAC9B6S,EAAK9J,IACJ/I,EAAK9D,GAAI,EACT8D,EAAK+I,GAAI,EACT/I,EAAK+2F,mBAAqB/C,kBAAkB+C,mBAC5C/2F,EAAKmqD,gBAAgBvtD,KAAKoD,EAAK+2F,mBAAmB/sC,EAAKn3C,EAAK7S,GAAM+rC,KAAK/rC,MAmEjFw7F,eAnDE,SAAwB71C,GACpB,IACI0G,EAAK5sD,KAAK+sD,eAAe7G,GACzB2G,EAAK7sD,KAAK+sD,eAAe7G,GAFhB,KAGT9nB,EAAQ,EACZ,GAAGwuB,EAAGpwD,OAAO,CACT,IAAIS,EACJ,IAAIA,EAAE,EAAEA,EAAE2vD,EAAGpwD,OAAOS,GAAG,EACnBmhC,GAASj7B,KAAKG,IAAIupD,EAAG5vD,GAAK2vD,EAAG3vD,GAAI,GAErCmhC,EAA2B,IAAnBj7B,KAAKklC,KAAKjK,QAElBA,EAAQ,EAEZ,OAAOA,GAsCb27D,kBAnCE,SAA2B7zC,GACvB,QAAgBzmD,IAAbO,KAAKkrD,IACJ,OAAOlrD,KAAKkrD,IAEhB,IAII8uC,EAGI/8F,EALJ2vD,EAAK5sD,KAAK+sD,eAAe7G,GACzB2G,EAAK7sD,KAAK+sD,eAAe7G,GAHjB,MAKZ,GAAG0G,EAAGpwD,OAGF,IAFAw9F,EAAWxtD,iBAAiB,UAAWogB,EAAGpwD,QAEtCS,EAAE,EAAEA,EAAE2vD,EAAGpwD,OAAOS,GAAG,EAInB+8F,EAAS/8F,IAAM4vD,EAAG5vD,GAAK2vD,EAAG3vD,KAZtB,UAeR+8F,GAAYntC,EAAKD,IAfT,KAiBZ,OAAOotC,GAebjtC,eAjEE,SAAwB7G,GAQpB,OAPAA,GAAYlmD,KAAKuqD,KAAKC,WAAWsC,WACjC5G,GAAYlmD,KAAKqmD,cACDrmD,KAAKg8F,eAAe10C,YAChCtnD,KAAKg8F,eAAej3F,UAAY/E,KAAKg8F,eAAe10C,UAAYpB,EAAWlmD,KAAKg8F,eAAej3F,UAAY,EAC3G/E,KAAKg8F,eAAex1F,MAAQxG,KAAKimD,iBAAiBC,EAAUlmD,KAAKg8F,gBACjEh8F,KAAKg8F,eAAe10C,UAAYpB,GAE7BlmD,KAAKg8F,eAAex1F,OA0DjCy1F,qBAbE,WACI,OAAOj8F,KAAKumD,IAalB21C,iBAVE,SAA0BC,GACtBn8F,KAAKm8F,cAAgBA,KAY5B,WAEG,SAAS/D,EAAQrqE,EAAK7S,EAASkhF,GAC3B,IAAIp8F,KAAKvD,IAAMuD,KAAK4mD,UAChB,OAAO5mD,KAAKumD,GAEhBx4B,EAAOA,EAAOA,EAAKzoB,cAAgB,GACnC,IAMQ+2F,EAAeC,EAefr/F,EAAGgD,EAAKyd,EArBZqyD,EAAe/vE,KAAK8pD,KAAKC,cACzBnD,EAAY5mD,KAAK4mD,UACjB21C,EAAe31C,EAAUA,EAAUpqD,OAAS,GAAGuD,EACnD,GAAGgwE,GAAcwsB,EACb,OAAOv8F,KAAKumD,GAkBZ,GAfI61C,EAYAE,EAAgBC,GAFZF,EAHAnhF,EAGgB/X,KAAKC,IAAIm5F,EAAehyC,KAAKT,KAAKU,WAAWsC,UAAU5xC,GAFvD/X,KAAKI,IAAI,EAAEg5F,EAAev8F,KAAKuqD,KAAKn3C,KAAKu5D,QAPzDzxD,GAAYA,EAAW0rC,EAAUpqD,OAAS,KAC1C0e,EAAW0rC,EAAUpqD,OAAS,GAGlC6/F,EAAgBE,GADhBD,EAAgB11C,EAAUA,EAAUpqD,OAAS,EAAI0e,GAAUnb,IAWnD,aAATguB,EAAqB,CAEpB,GADiB5qB,KAAKiD,OAAO2pE,EAAeusB,GAAeD,GAC3C,GAAM,EAClB,OAAOr8F,KAAK+sD,gBAAiBsvC,GAAiBtsB,EAAeusB,GAAiBD,EAAiBC,GAAkBt8F,KAAK8pD,KAAKU,WAAWsC,UAAW,OAElJ,IAAY,WAAT/+B,EAAkB,CACxB,IAAIyuE,EAAQx8F,KAAK+sD,eAAeuvC,EAAgBt8F,KAAK8pD,KAAKU,WAAWsC,UAAW,GAC5E2vC,EAAOz8F,KAAK+sD,eAAewvC,EAAev8F,KAAK8pD,KAAKU,WAAWsC,UAAW,GAC1E4vC,EAAU18F,KAAK+sD,iBAAiBgjB,EAAeusB,GAAiBD,EAAiBC,GAAiBt8F,KAAK8pD,KAAKU,WAAWsC,UAAW,GAClI6vC,EAAUx5F,KAAKiD,OAAO2pE,EAAeusB,GAAeD,GACxD,GAAGr8F,KAAKumD,GAAG/pD,OAAO,CAGd,IADAyD,GADAyd,EAAM,IAAI/hB,MAAM6gG,EAAMhgG,SACZA,OACNS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbygB,EAAIzgB,IAAMw/F,EAAKx/F,GAAGu/F,EAAMv/F,IAAI0/F,EAAUD,EAAQz/F,GAElD,OAAOygB,EAEX,OAAQ++E,EAAKD,GAAOG,EAAUD,EAC3B,GAAY,aAAT3uE,EAAoB,CAC1B,IAAI6uE,EAAY58F,KAAK+sD,eAAewvC,EAAev8F,KAAK8pD,KAAKU,WAAWsC,UAAW,GAC/E+vC,EAAgB78F,KAAK+sD,gBAAgBwvC,EAAe,MAASv8F,KAAK8pD,KAAKU,WAAWsC,UAAW,GACjG,GAAG9sD,KAAKumD,GAAG/pD,OAAO,CAGd,IADAyD,GADAyd,EAAM,IAAI/hB,MAAMihG,EAAUpgG,SAChBA,OACNS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbygB,EAAIzgB,GAAK2/F,EAAU3/F,IAAM2/F,EAAU3/F,GAAG4/F,EAAc5/F,MAAM8yE,EAAewsB,GAAev8F,KAAK8pD,KAAKU,WAAWsC,WAAW,KAE5H,OAAOpvC,EAEX,OAAOk/E,GAAyC7sB,EAAewsB,GAAe,MAA1DK,EAAUC,IAElC,OAAO78F,KAAK+sD,iBAAkBgjB,EAAeusB,GAAiBD,EAAiBC,GAAkBt8F,KAAK8pD,KAAKU,WAAWsC,UAAW,GAIzI,SAASorC,EAAOnqE,EAAK7S,EAAUkhF,GAC3B,IAAIp8F,KAAKvD,EACL,OAAOuD,KAAKumD,GAEhBx4B,EAAOA,EAAOA,EAAKzoB,cAAgB,GACnC,IAMQ+2F,EAAeE,EAeft/F,EAAGgD,EAAKyd,EArBZqyD,EAAe/vE,KAAK8pD,KAAKC,cACzBnD,EAAY5mD,KAAK4mD,UACjB01C,EAAgB11C,EAAU,GAAG7mD,EACjC,GAAGgwE,GAAcusB,EACb,OAAOt8F,KAAKumD,GAkBZ,GAfI61C,EAYAG,EAAeD,GAFXD,EAHAnhF,EAGgB/X,KAAKC,IAAImnD,KAAKT,KAAKU,WAAWsC,UAAU5xC,GAFxC/X,KAAKI,IAAI,EAAEvD,KAAKuqD,KAAKn3C,KAAKilD,GAAKikC,OAP/CphF,GAAYA,EAAW0rC,EAAUpqD,OAAS,KAC1C0e,EAAW0rC,EAAUpqD,OAAS,GAGlC6/F,GADAE,EAAe31C,EAAU1rC,GAAUnb,GACJu8F,GAUvB,aAATvuE,EAAqB,CAEpB,GADiB5qB,KAAKiD,OAAOk2F,EAAgBvsB,GAAcssB,GAC3C,GAAM,EAClB,OAAOr8F,KAAK+sD,iBAAkBuvC,EAAgBvsB,GAAcssB,EAAiBC,GAAkBt8F,KAAK8pD,KAAKU,WAAWsC,UAAW,OAEhI,IAAY,WAAT/+B,EAAkB,CACxB,IAAIyuE,EAAQx8F,KAAK+sD,eAAeuvC,EAAgBt8F,KAAK8pD,KAAKU,WAAWsC,UAAW,GAC5E2vC,EAAOz8F,KAAK+sD,eAAewvC,EAAev8F,KAAK8pD,KAAKU,WAAWsC,UAAW,GAC1E4vC,EAAU18F,KAAK+sD,gBAAgBsvC,GAAiBC,EAAgBvsB,GAAcssB,EAAiBC,GAAiBt8F,KAAK8pD,KAAKU,WAAWsC,UAAW,GAChJ6vC,EAAUx5F,KAAKiD,OAAOk2F,EAAgBvsB,GAAcssB,GAAe,EACvE,GAAGr8F,KAAKumD,GAAG/pD,OAAO,CAGd,IADAyD,GADAyd,EAAM,IAAI/hB,MAAM6gG,EAAMhgG,SACZA,OACNS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbygB,EAAIzgB,GAAKy/F,EAAQz/F,IAAIw/F,EAAKx/F,GAAGu/F,EAAMv/F,IAAI0/F,EAE3C,OAAOj/E,EAEX,OAAOg/E,GAASD,EAAKD,GAAOG,EACzB,GAAY,aAAT5uE,EAAoB,CAC1B,IAAI+uE,EAAa98F,KAAK+sD,eAAeuvC,EAAgBt8F,KAAK8pD,KAAKU,WAAWsC,UAAW,GACjFiwC,EAAiB/8F,KAAK+sD,gBAAgBuvC,EAAgB,MAASt8F,KAAK8pD,KAAKU,WAAWsC,UAAW,GACnG,GAAG9sD,KAAKumD,GAAG/pD,OAAO,CAGd,IADAyD,GADAyd,EAAM,IAAI/hB,MAAMmhG,EAAWtgG,SACjBA,OACNS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbygB,EAAIzgB,GAAK6/F,EAAW7/F,IAAM6/F,EAAW7/F,GAAG8/F,EAAe9/F,KAAKq/F,EAAgBvsB,GAAc,KAE9F,OAAOryD,EAEX,OAAOo/E,GAAcA,EAAWC,IAAiBT,EAAgBvsB,GAAc,MAEnF,OAAO/vE,KAAK+sD,gBAAiBsvC,GAAiBC,EAAgBvsB,GAAgBssB,EAAiBC,GAAkBt8F,KAAK8pD,KAAKU,WAAWsC,UAAW,GAIzJ,SAASwrC,EAAOz5D,EAAOm+D,GACnB,IAAKh9F,KAAKvD,EACN,OAAOuD,KAAKumD,GAIhB,GAFA1nB,EAAyB,IAAhBA,GAAS,KAClBm+D,EAAU75F,KAAKiD,MAAM42F,GAAW,KACjB,EACX,OAAOh9F,KAAKumD,GAEhB,IAKI//C,EAMAy2F,EAXA9yD,EAAcnqC,KAAK8pD,KAAKC,cAAgB/pD,KAAK8pD,KAAKU,WAAWsC,UAC7D/G,EAAY5b,EAActL,EAE1Bq+D,EAAkBF,EAAU,GADjB7yD,EAActL,EACmBknB,IAAci3C,EAAU,GAAK,EACzE//F,EAAI,EAAG2W,EAAI,EAQf,IALIpN,EADAxG,KAAKumD,GAAG/pD,OACAgwC,iBAAiB,UAAWxsC,KAAKumD,GAAG/pD,QAEpC,EAGLS,EAAI+/F,GAAS,CAEhB,GADAC,EAAcj9F,KAAK+sD,eAAehH,EAAY9oD,EAAIigG,GAC/Cl9F,KAAKumD,GAAG/pD,OACP,IAAKoX,EAAI,EAAGA,EAAI5T,KAAKumD,GAAG/pD,OAAQoX,GAAK,EACjCpN,EAAMoN,IAAMqpF,EAAYrpF,QAG5BpN,GAASy2F,EAEbhgG,GAAK,EAET,GAAG+C,KAAKumD,GAAG/pD,OACP,IAAKoX,EAAI,EAAGA,EAAI5T,KAAKumD,GAAG/pD,OAAQoX,GAAK,EACjCpN,EAAMoN,IAAMopF,OAGhBx2F,GAASw2F,EAEb,OAAOx2F,EAeX,SAAS22F,EAAwB76E,GACxBtiB,KAAKo9F,0BACNp9F,KAAKo9F,wBAA0B,CAC3B/xD,EAAG,IAAIuC,SAIf,IAAI0oB,EAASt2D,KAAKo9F,wBAAwB/xD,EAE1C,GADAirB,EAAOxkB,eAAe9xC,KAAK4rD,IAAI7uB,OAC3B/8B,KAAK6rD,uBAAyB,EAAG,CACjC,IAAInsC,EAAS1f,KAAK9D,EAAE6wD,eAAezqC,GACnCg0C,EAAOj+B,WAAW3Y,EAAO,IAAKA,EAAO,GAAIA,EAAO,IAEpD,GAAI1f,KAAK6rD,uBAAyB,EAAG,CACjC,IAAI1c,EAAQnvC,KAAK8I,EAAEikD,eAAezqC,GAClCg0C,EAAOnnB,MAAMA,EAAM,GAAIA,EAAM,GAAIA,EAAM,IAE3C,GAAInvC,KAAKosD,IAAMpsD,KAAK6rD,uBAAyB,EAAG,CAC5C,IAAI9c,EAAO/uC,KAAKosD,GAAGW,eAAezqC,GAC9B+6E,EAAWr9F,KAAKqsD,GAAGU,eAAezqC,GACtCg0C,EAAOpnB,cAAcH,EAAMsuD,GAE/B,GAAIr9F,KAAKsrC,GAAKtrC,KAAK6rD,uBAAyB,EAAG,CAC3C,IAAI+sC,EAAW54F,KAAKsrC,EAAEyhB,eAAezqC,GACrCg0C,EAAOjoB,QAAQuqD,QACZ,IAAK54F,KAAKsrC,GAAKtrC,KAAK6rD,uBAAyB,EAAE,CAClD,IAAIyxC,EAAYt9F,KAAKksD,GAAGa,eAAezqC,GACnCi7E,EAAYv9F,KAAKisD,GAAGc,eAAezqC,GACnCk7E,EAAYx9F,KAAKgsD,GAAGe,eAAezqC,GACnCm7E,EAAcz9F,KAAKmsD,GAAGY,eAAezqC,GACzCg0C,EAAO3nB,SAAS2uD,EAAUjyD,GACzBqD,QAAQ6uD,EAAUlyD,GAClBoD,QAAQ+uD,EAAUnyD,GAClBsD,SAAS8uD,EAAY,IACrB/uD,QAAQ+uD,EAAY,IACpBhvD,QAAQgvD,EAAY,IAEzB,GAAIz9F,KAAKoT,KAAKo4B,GAAKxrC,KAAKoT,KAAKo4B,EAAE1iC,EAAG,CAC9B,IAAI40F,EAAY19F,KAAKywB,GAAGs8B,eAAezqC,GACnCq7E,EAAY39F,KAAK8rD,GAAGiB,eAAezqC,GACvC,GAAItiB,KAAKoT,KAAKo4B,EAAEwG,EAAG,CACf,IAAI4rD,EAAY59F,KAAK+rD,GAAGgB,eAAezqC,GACvCg0C,EAAOj+B,UAAUqlE,EAAWC,GAAYC,QAExCtnC,EAAOj+B,UAAUqlE,EAAWC,EAAW,OAExC,CACH,IAAIn0D,EAAWxpC,KAAKwrC,EAAEuhB,eAAezqC,GACrCg0C,EAAOj+B,UAAUmR,EAAS,GAAIA,EAAS,IAAKA,EAAS,IAEzD,OAAO8sB,EAIX,SAASunC,EAA8Bv7E,IAIvC,IAAI4qC,EAAuBzB,yBAAyByB,qBACpDzB,yBAAyByB,qBAAuB,SAAS3C,EAAMn3C,EAAMmqB,GACjE,IAAIh9B,EAAO2sD,EAAqB3C,EAAMn3C,EAAMmqB,GAO5C,OANGh9B,EAAK0sC,kBAAkBzwC,OACtB+D,EAAKwsD,eAAiBowC,EAAwB7wD,KAAK/rC,GAEnDA,EAAKwsD,eAAiB8wC,EAA8BvxD,KAAK/rC,GAE7DA,EAAK27F,iBAAmBL,kBAAkBK,iBACnC37F,GAGX,IAAIu9F,EAAkBh4C,gBAAgB0F,QACtC1F,gBAAgB0F,QAAU,SAASjB,EAAKn3C,EAAK2a,EAAMs8B,EAAM9sB,GACrD,IAAIh9B,EAAOu9F,EAAgBvzC,EAAKn3C,EAAK2a,EAAMs8B,EAAM9sB,GAI9Ch9B,EAAKuqD,GACJvqD,EAAKwsD,eAAiB8uC,kBAAkB9uC,eAAezgB,KAAK/rC,GAE5DA,EAAKwsD,eAAiB8uC,kBAAkBI,qBAAqB3vD,KAAK/rC,GAEtEA,EAAK27F,iBAAmBL,kBAAkBK,iBAC1C37F,EAAK63F,QAAUA,EACf73F,EAAK23F,OAASA,EACd33F,EAAK+3F,OAASA,EACd/3F,EAAKw5F,kBAAoB8B,kBAAkB9B,kBAAkBztD,KAAK/rC,GAClEA,EAAKw7F,eAAiBF,kBAAkBE,eAAezvD,KAAK/rC,GAC5DA,EAAK+4F,QAAqB,IAAXlmF,EAAKlX,EAAUkX,EAAK3W,EAAED,OAAS,EAC9C+D,EAAKw9F,cAAgB3qF,EAAK4qF,GAC1B,IAAIx3F,EAAQ,EAcZ,OAbY,IAATunB,IACCvnB,EAAQgmC,iBAAiB,UAAsB,IAAXp5B,EAAKlX,EAAWkX,EAAK3W,EAAE,GAAGqM,EAAEtM,OAAS4W,EAAK3W,EAAED,SAEpF+D,EAAKy7F,eAAiB,CAClB10C,UAAW5f,oBACX3iC,UAAW,EACXyB,MAAOA,GAEXq1F,kBAAkBC,kBAAkBvxC,EAAKn3C,EAAK7S,GAC3CA,EAAK9D,GACJ8gC,EAAUyP,mBAAmBzsC,GAG1BA,GAuBX,IAAI09F,EAAmCzvC,qBAAqB0vC,yBACxDC,EAA4C3vC,qBAAqB4vC,kCAErE,SAASC,KACTA,EAAiBxiG,UAAY,CACzBsyD,SAAU,SAAS5tD,EAAM+hB,GACjBtiB,KAAKvD,GACLuD,KAAKqtC,WAET,IAAIunB,EAAY50D,KAAKqrC,OACT5rC,IAAT6iB,IACCsyC,EAAY50D,KAAK+sD,eAAezqC,EAAM,IAE1C,IAAIrlB,EAAGgD,EAAM20D,EAAUpZ,QACnB2S,EAAWyG,EAAUr0D,GACrBo2C,EAASie,EAAUvpB,EACnBtuC,EAAMgsC,iBAAiB9oC,GAC3B,IAAIhD,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EAEjBF,EAAIE,GADI,MAATsD,GAAyB,MAATA,EACN,CAAC4tD,EAASlxD,GAAG,GAAK05C,EAAO15C,GAAG,GAAIkxD,EAASlxD,GAAG,GAAK05C,EAAO15C,GAAG,IAE3D,CAACkxD,EAASlxD,GAAG,GAAIkxD,EAASlxD,GAAG,IAI9C,OAAOF,GAEX45C,OAAQ,SAASr0B,GACb,OAAOtiB,KAAKmuD,SAAS,IAAK7rC,IAE9B20E,WAAY,SAAS30E,GACjB,OAAOtiB,KAAKmuD,SAAS,IAAK7rC,IAE9B40E,YAAa,SAAS50E,GAClB,OAAOtiB,KAAKmuD,SAAS,IAAK7rC,IAE9Bg8E,SAAU,WACN,OAAOt+F,KAAKqrC,EAAEl0B,GAElBonF,YAAa,SAAS/kD,EAAMl3B,GACxB,IAAIsyC,EAAY50D,KAAKqrC,OACT5rC,IAAT6iB,IACCsyC,EAAY50D,KAAK+sD,eAAezqC,EAAM,IAEtCtiB,KAAKw+F,kBACLx+F,KAAKw+F,gBAAkBrgD,IAAInD,kBAAkB4Z,IASjD,IANA,IAK2BpiB,EALvB0I,EAAiBl7C,KAAKw+F,gBACtBvkD,EAAUiB,EAAejB,QACzBY,EAAYK,EAAeO,YAAcjC,EACzCv8C,EAAI,EAAGgD,EAAMg6C,EAAQz9C,OAErBiiG,EAAoB,EAClBxhG,EAAIgD,GAAK,CACX,GAAGw+F,EAAoBxkD,EAAQh9C,GAAG08C,YAAckB,EAAW,CACvD,IAAI6jD,EAAYzhG,EACZ0hG,EAAY/pC,EAAUz9C,GAAKla,IAAMgD,EAAM,EAAK,EAAIhD,EAAI,EACpDmqD,GAAevM,EAAY4jD,GAAmBxkD,EAAQh9C,GAAG08C,YAC7DnH,EAAK2L,IAAIlB,kBAAkB2X,EAAUvpB,EAAEqzD,GAAY9pC,EAAUvpB,EAAEszD,GAAW/pC,EAAUprD,EAAEk1F,GAAY9pC,EAAU33D,EAAE0hG,GAAWv3C,EAAanN,EAAQh9C,IAC9I,MAEAwhG,GAAqBxkD,EAAQh9C,GAAG08C,YAEpC18C,GAAK,EAKT,OAHIu1C,IACAA,EAAKoiB,EAAUz9C,EAAI,CAACy9C,EAAUvpB,EAAE,GAAG,GAAGupB,EAAUvpB,EAAE,GAAG,IAAI,CAACupB,EAAUvpB,EAAEupB,EAAUpZ,QAAQ,GAAG,GAAGoZ,EAAUvpB,EAAEupB,EAAUpZ,QAAQ,GAAG,KAE5HhJ,GAEXosD,aAAc,SAASplD,EAAMl3B,EAAMu8E,GAE/BrlD,EAAe,GAARA,EAAYx5C,KAAKqrC,EAAEl0B,EAAI,EAAI,KAAQqiC,EAC1C,IAAI1G,EAAM9yC,KAAKu+F,YAAY/kD,EAAMl3B,GAC7BywB,EAAM/yC,KAAKu+F,YAAY/kD,EAAO,KAAOl3B,GACrCw8E,EAAU/rD,EAAI,GAAKD,EAAI,GACvBisD,EAAUhsD,EAAI,GAAKD,EAAI,GACvBksD,EAAY77F,KAAKklC,KAAKllC,KAAKG,IAAIw7F,EAAQ,GAAK37F,KAAKG,IAAIy7F,EAAQ,IACjE,OAAkB,IAAdC,EACO,CAAC,EAAE,GAEkB,YAAfH,EAA2B,CAACC,EAAQE,EAAWD,EAAQC,GAAa,EAAED,EAAQC,EAAWF,EAAQE,IAGtHC,cAAe,SAASzlD,EAAMl3B,GAC1B,OAAOtiB,KAAK4+F,aAAaplD,EAAMl3B,EAAM,YAEzC48E,aAAc,SAAS1lD,EAAMl3B,GACzB,OAAOtiB,KAAK4+F,aAAaplD,EAAMl3B,EAAM,WAEzC45E,iBAAkBL,kBAAkBK,iBACpCnvC,eAAgB8uC,kBAAkBI,sBAEtC7jD,gBAAgB,CAACimD,GAAmBJ,GACpC7lD,gBAAgB,CAACimD,GAAmBF,GACpCA,EAA0CtiG,UAAUkxD,eApHpD,SAA6B7G,GAiBzB,OAfKlmD,KAAKg8F,iBACNh8F,KAAKg8F,eAAiB,CAClBmD,WAAY9vC,WAAWpyC,MAAMjd,KAAKumD,IAClCxhD,UAAW,EACX44C,SAAUjW,sBAIlBwe,GAAYlmD,KAAKuqD,KAAKC,WAAWsC,WACjC5G,GAAYlmD,KAAKqmD,cACDrmD,KAAKg8F,eAAer+C,WAChC39C,KAAKg8F,eAAej3F,UAAY/E,KAAKg8F,eAAer+C,SAAWuI,EAAWlmD,KAAKiqD,SAASllD,UAAY,EACpG/E,KAAKg8F,eAAer+C,SAAWuI,EAC/BlmD,KAAKyuD,iBAAiBvI,EAAUlmD,KAAKg8F,eAAemD,WAAYn/F,KAAKg8F,iBAElEh8F,KAAKg8F,eAAemD,YAoG/BhB,EAA0CtiG,UAAUy7F,mBAAqB/C,kBAAkB+C,mBAE3F,IAAI8H,EAAuB5wC,qBAAqBmc,aAChDnc,qBAAqBmc,aAAe,SAASpgB,EAAKn3C,EAAK2a,EAAMhxB,EAAKsiG,GAC9D,IAAI9+F,EAAO6+F,EAAqB70C,EAAKn3C,EAAK2a,EAAMhxB,EAAKsiG,GAWrD,OAVA9+F,EAAKw9F,cAAgB3qF,EAAK4qF,GAC1Bz9F,EAAKoqD,MAAO,EACA,IAAT58B,EACC8tE,kBAAkBC,kBAAkBvxC,EAAKn3C,EAAKo/B,GAAGjyC,GAClC,IAATwtB,GACN8tE,kBAAkBC,kBAAkBvxC,EAAKn3C,EAAKssC,GAAGn/C,GAElDA,EAAK9D,GACJ8tD,EAAKvd,mBAAmBzsC,GAErBA,GApaf,GAibIy+D,aAAanjE,UAAUyjG,mBAAqB,SAASp7B,EAAc1sC,GAC/D,IAAI4uB,EAAWpmD,KAAKu/F,oBAAoB/nE,GACxC,GAAG0sC,EAAankE,IAAMqmD,EAAU,CAC5B,IAAI0f,EAAU,GAId,OAHA9lE,KAAKqgE,SAASyF,EAAS5B,GACvB4B,EAAQ/lE,EAAIqmD,EAAStqD,WACrBgqE,EAAQ7kB,YAAa,EACd6kB,EAEX,OAAO5B,GAGXlF,aAAanjE,UAAUykE,eAAiB,WAEpC,IAAIk/B,EAAcx/F,KAAK+jE,kBACnB07B,EAAiBz/F,KAAK87F,oBAE1B,OADA97F,KAAK8qD,GAAK00C,GAAeC,EAClBz/F,KAAK8qD,IAGhBkU,aAAanjE,UAAUigG,kBA5BvB,WACI,GAAG97F,KAAKoT,KAAKpH,EAAE1C,EAGX,OAFAtJ,KAAKu/F,oBAAsBhL,kBAAkB+C,mBAAmBhrD,KAAKtsC,KAA1Cu0F,CAAgDv0F,KAAKuqD,KAAKvqD,KAAKoT,KAAKpH,EAAEhM,MACjGA,KAAK+qD,UAAU/qD,KAAKs/F,mBAAmBhzD,KAAKtsC,QACrC,GA2BnB,IAAI0/F,mBAIK,SAA8BzsC,EAAM0sC,EAAKxD,GAC5C,IAAI57F,EAAOo/F,EAAK53C,GAEhB,SAAS63C,EAAkBp/F,GACvB,GAAW,UAARA,GAA2B,UAARA,GAA2B,SAARA,GAA0B,SAARA,GAA0B,sBAARA,GAAuC,IAARA,EACxG,OAAOo/F,EAAkBjgD,KAIjC,IAAIkgD,EAAiBC,qBAAqBF,EAAmBzD,GAyB7D,OAxBA57F,EAAK27F,iBAAiB6D,kBAAkB,OAAQF,IAChDjkG,OAAOimC,iBAAiB+9D,EAAmB,CACvC,KAAQ,CACJ/4F,IAAK,WAID,OAHGtG,EAAK9D,GACJ8D,EAAK8sC,WAEF9sC,IAGf,MAAS,CACLsG,IAAK,WAID,OAHGtG,EAAK9D,GACJ8D,EAAK8sC,WAEF9sC,IAGf,MAAS,CAAEiG,MAAOysD,EAAMhd,IACxB,GAAM,CAAEzvC,MAAOysD,EAAM+qC,IACrB,cAAiB,CAAEx3F,MAAOysD,EAAM+qC,IAChC,GAAM,CAAEx3F,MAAOysD,EAAM+sC,IACrB,cAAiB,CAACx5F,MAAO21F,KAEtByD,GAITE,qBACI,SAASF,EAAmBK,GAClC,OAAO,SAASz/F,GAEf,OADAA,OAAcf,IAARe,EAAoB,EAAIA,IACpB,EACCo/F,EAEAK,EAAoBz/F,EAAI,KAKlCu/F,kBACI,SAASG,EAAc/D,GAE7B,IAAIyD,EAAoB,CACvBO,MAAOD,GAYR,OATA,SAAwB1/F,GAEpB,OADAA,OAAcf,IAARe,EAAoB,EAAIA,IACpB,EACCo/F,EAEAzD,IAAgB37F,KAO7Bk9E,yBAA4B,WAE5B,SAAS0iB,EAAgB9gD,EAAOqgD,EAAMxD,GAClC,IACIl/F,EADAF,EAAM,GACHkD,EAAMq/C,EAASA,EAAO9iD,OAAS,EACtC,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACM,MAAhBqiD,EAAOriD,GAAGsyC,GACTxyC,EAAII,KAAKkjG,EAAsB/gD,EAAOriD,GAAG0iG,EAAK1iG,GAAGk/F,IAC5B,MAAhB78C,EAAOriD,GAAGsyC,GACfxyC,EAAII,KAAKmjG,EAAqBhhD,EAAOriD,GAAG0iG,EAAK1iG,GAAGk/F,IAC3B,MAAhB78C,EAAOriD,GAAGsyC,GACfxyC,EAAII,KAAKojG,EAAuBjhD,EAAOriD,GAAG0iG,EAAK1iG,GAAGk/F,IAC7B,MAAhB78C,EAAOriD,GAAGsyC,GACfxyC,EAAII,KAAKqjG,EAAqBlhD,EAAOriD,GAAG0iG,EAAK1iG,GAAGk/F,IAC3B,MAAhB78C,EAAOriD,GAAGsyC,KAEM,MAAhB+P,EAAOriD,GAAGsyC,GACfxyC,EAAII,KAAKsjG,EAAwBnhD,EAAOriD,GAAG0iG,EAAK1iG,GAAGk/F,IAC9B,MAAhB78C,EAAOriD,GAAGsyC,GACfxyC,EAAII,KAAKujG,EAAqBphD,EAAOriD,GAAG0iG,EAAK1iG,GAAGk/F,IAC1B,MAAhB78C,EAAOriD,GAAGsyC,GAChBxyC,EAAII,KAAKuiG,mBAAmBpgD,EAAOriD,GAAG0iG,EAAK1iG,GAAGk/F,IACxB,MAAhB78C,EAAOriD,GAAGsyC,GAChBxyC,EAAII,KAAKwjG,EAAqBrhD,EAAOriD,GAAG0iG,EAAK1iG,GAAGk/F,IAC1B,MAAhB78C,EAAOriD,GAAGsyC,GAChBxyC,EAAII,KAAKyjG,EAAwBthD,EAAOriD,GAAG0iG,EAAK1iG,GAAGk/F,IAC7B,MAAhB78C,EAAOriD,GAAGsyC,IAChBxyC,EAAII,KAAK0jG,EAAyBvhD,EAAOriD,GAAG0iG,EAAK1iG,GAAGk/F,KAG5D,OAAOp/F,EA6BX,SAASsjG,EAAsBptC,EAAM0sC,EAAMxD,GACvC,IAAIyD,EAAoB,SAA4Bp5F,GAChD,OAAOA,GACH,IAAK,qBACL,IAAK,WACL,KAAK,EACD,OAAOo5F,EAAkBjiB,QAI7B,QACI,OAAOiiB,EAAkBnwD,YAGrCmwD,EAAkBzD,cAAgB2D,qBAAqBF,EAAmBzD,GAC1E,IAAIxe,EAzCR,SAAkC1qB,EAAM0sC,EAAMxD,GAC3C,IAAI2E,EACAlB,EAAoB,SAA4Bp5F,GAE/C,IADD,IAAIvJ,EAAI,EAAGgD,EAAM6gG,EAAWtkG,OACrBS,EAAEgD,GAAI,CACR,GAAG6gG,EAAW7jG,GAAGkjG,QAAU35F,GAASs6F,EAAW7jG,GAAG+iG,KAAOx5F,GAASs6F,EAAW7jG,GAAG8gG,gBAAkBv3F,GAASs6F,EAAW7jG,GAAG+gG,KAAOx3F,GAASs6F,EAAW7jG,GAAGgqD,MAAQzgD,EAC5J,OAAOs6F,EAAW7jG,GAErBA,GAAG,EAEP,GAAoB,iBAAVuJ,EACP,OAAOs6F,EAAWt6F,EAAM,IAIhCo5F,EAAkBzD,cAAgB2D,qBAAqBF,EAAmBzD,GAC1E2E,EAAaV,EAAgBntC,EAAMvjC,GAAIiwE,EAAKjwE,GAAIkwE,EAAkBzD,eAClEyD,EAAkBmB,cAAgBD,EAAWtkG,OAC7C,IAAIwkG,EAAqBC,EAA0BhuC,EAAMvjC,GAAGujC,EAAMvjC,GAAGlzB,OAAS,GAAGmjG,EAAKjwE,GAAGiwE,EAAKjwE,GAAGlzB,OAAS,GAAGojG,EAAkBzD,eAK/H,OAJAyD,EAAkBnwD,UAAYuxD,EAC9BpB,EAAkB7B,cAAgB9qC,EAAMiuC,IACxCtB,EAAkBO,MAAQltC,EAAMhd,GAEzB2pD,EAkBQuB,CAAyBluC,EAAM0sC,EAAKC,EAAkBzD,eAChE6E,EAAqBC,EAA0BhuC,EAAMvjC,GAAGujC,EAAMvjC,GAAGlzB,OAAS,GAAGmjG,EAAKjwE,GAAGiwE,EAAKjwE,GAAGlzB,OAAS,GAAGojG,EAAkBzD,eAa/H,OAZAyD,EAAkBjiB,QAAUA,EAC5BiiB,EAAkBnwD,UAAYuxD,EAC9BplG,OAAO8xB,eAAekyE,EAAmB,QAAS,CAC9C/4F,IAAK,WACD,OAAOosD,EAAMhd,MAIrB2pD,EAAkBmB,cAAgB9tC,EAAMmuC,GACxCxB,EAAkB7B,cAAgB9qC,EAAM+qC,GACxC4B,EAAkB3pD,GAAKgd,EAAMhd,GAC7B2pD,EAAkBI,GAAK/sC,EAAM+sC,GACtBJ,EAGX,SAASU,EAAqBrtC,EAAM0sC,EAAKxD,GACrC,SAASyD,EAAkBp/F,GACvB,MAAW,UAARA,GAA2B,UAARA,EACXo/F,EAAkBh0D,MACX,YAARprC,GAA6B,YAARA,EACpBo/F,EAAkBjc,aADtB,EAiBX,OAbA/nF,OAAOimC,iBAAiB+9D,EAAmB,CACvC,MAAS,CACL/4F,IAAKw6F,4BAA4B1B,EAAKxoF,IAE1C,QAAW,CACPtQ,IAAKw6F,4BAA4B1B,EAAKn2F,IAE1C,MAAS,CAAEhD,MAAOysD,EAAMhd,IACxB,GAAM,CAAEzvC,MAAOysD,EAAM+sC,MAGzBL,EAAKxoF,EAAE+kF,iBAAiB6D,kBAAkB,QAAS5D,IACnDwD,EAAKn2F,EAAE0yF,iBAAiB6D,kBAAkB,UAAW5D,IAC9CyD,EAGX,SAASW,EAAuBttC,EAAM0sC,EAAKxD,GACvC,IAAI0D,EAAiBC,qBAAqBF,EAAmBzD,GACzDmF,EAAqBxB,qBAAqByB,EAAQ1B,GACtD,SAAS2B,EAAoBvkG,GACzBrB,OAAO8xB,eAAe6zE,EAAQtuC,EAAMjnD,EAAE/O,GAAGg5C,GAAI,CACzCpvC,IAAKw6F,4BAA4B1B,EAAK3zF,EAAEomD,UAAUn1D,GAAGuuC,KAG7D,IAAIvuC,EAAGgD,EAAMgzD,EAAMjnD,EAAIinD,EAAMjnD,EAAExP,OAAS,EACpC+kG,EAAS,GACb,IAAKtkG,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACtBukG,EAAoBvkG,GACpB0iG,EAAK3zF,EAAEomD,UAAUn1D,GAAGuuC,EAAE0wD,iBAAiBoF,GAG3C,SAAS1B,EAAkBp/F,GACvB,MAAW,UAARA,GAA2B,UAARA,EACXo/F,EAAkBh0D,MACX,YAARprC,GAA6B,YAARA,EACpBo/F,EAAkBjc,QACX,iBAARnjF,GAAkC,iBAARA,EACzBo/F,EAAkBtS,iBADtB,EA0BX,OAtBA1xF,OAAOimC,iBAAiB+9D,EAAmB,CACvC,MAAS,CACL/4F,IAAKw6F,4BAA4B1B,EAAKxoF,IAE1C,QAAW,CACPtQ,IAAKw6F,4BAA4B1B,EAAKn2F,IAE1C,YAAe,CACX3C,IAAKw6F,4BAA4B1B,EAAKztF,IAE1C,KAAQ,CACJrL,IAAK,WACD,OAAO06F,IAGf,MAAS,CAAE/6F,MAAOysD,EAAMhd,IACxB,GAAM,CAAEzvC,MAAOysD,EAAM+sC,MAGzBL,EAAKxoF,EAAE+kF,iBAAiB6D,kBAAkB,QAASF,IACnDF,EAAKn2F,EAAE0yF,iBAAiB6D,kBAAkB,UAAWF,IACrDF,EAAKztF,EAAEgqF,iBAAiB6D,kBAAkB,eAAgBF,IACnDD,EAGX,SAASY,EAAqBvtC,EAAM0sC,EAAKxD,GAErC,SAASyD,EAAkBp/F,GACvB,OAAGA,IAAQyyD,EAAM//C,EAAE8qF,IAAc,QAARx9F,GAAyB,QAARA,EAC/Bo/F,EAAkBzM,IAE1B3yF,IAAQyyD,EAAMnqD,EAAEk1F,GACR4B,EAAkB6B,MAE1BjhG,IAAQyyD,EAAMzpD,EAAEw0F,GACR4B,EAAkBvjF,YAD7B,EAKJ,IAAIwjF,EAAiBC,qBAAqBF,EAAmBzD,GAsB7D,OArBAyD,EAAkB7B,cAAgB9qC,EAAM+qC,GAExC2B,EAAK72F,EAAEozF,iBAAiB6D,kBAAkB,QAASF,IACnDF,EAAKzsF,EAAEgpF,iBAAiB6D,kBAAkB,MAAOF,IACjDF,EAAKn2F,EAAE0yF,iBAAiB6D,kBAAkB,SAAUF,IACpDD,EAAkB7B,cAAgB9qC,EAAM+qC,GACxC4B,EAAkBzD,cAAgBA,EAElCvgG,OAAOimC,iBAAiB+9D,EAAmB,CACvC,MAAS,CACL/4F,IAAKw6F,4BAA4B1B,EAAK72F,IAE1C,IAAO,CACHjC,IAAKw6F,4BAA4B1B,EAAKzsF,IAE1C,OAAU,CACNrM,IAAKw6F,4BAA4B1B,EAAKn2F,IAE1C,MAAS,CAAEhD,MAAOysD,EAAMhd,MAE5B2pD,EAAkBI,GAAK/sC,EAAM+sC,GACtBJ,EAGX,SAASqB,EAA0BhuC,EAAM0sC,EAAKxD,GAE1C,SAASyD,EAAkBp5F,GACvB,OAAGysD,EAAM/2D,EAAE8hG,KAAOx3F,GAAmB,iBAAVA,EAChBo5F,EAAkB/G,YAE1B5lC,EAAMzpD,EAAEw0F,KAAOx3F,GAAmB,YAAVA,EAChBo5F,EAAkBjc,QAE1B1wB,EAAMznB,EAAEwyD,KAAOx3F,GAAmB,aAAVA,EAChBo5F,EAAkBp2D,SAE1BypB,EAAM3nB,EAAE0yD,KAAOx3F,GAAmB,aAAVA,GAAkC,yBAAVA,EACxCo5F,EAAkBhH,SAE1B3lC,EAAMnqD,EAAEk1F,KAAOx3F,GAAmB,UAAVA,EAChBo5F,EAAkBzwD,MAE1B8jB,EAAM7G,IAAM6G,EAAM7G,GAAG4xC,KAAOx3F,GAAmB,SAAVA,EAC7Bo5F,EAAkB7wD,KAE1BkkB,EAAM5G,IAAM4G,EAAM5G,GAAG2xC,KAAOx3F,GAAmB,cAAVA,EAC7Bo5F,EAAkBvC,cAD7B,EAKJ,IAAIwC,EAAiBC,qBAAqBF,EAAmBzD,GAsC7D,OArCAwD,EAAKlwD,UAAU2oB,OAAO5uD,EAAE0yF,iBAAiB6D,kBAAkB,UAAWF,IACtEF,EAAKlwD,UAAU2oB,OAAO5sB,EAAE0wD,iBAAiB6D,kBAAkB,WAAYF,IACvEF,EAAKlwD,UAAU2oB,OAAOl8D,EAAEggG,iBAAiB6D,kBAAkB,eAAgBF,IAC3EF,EAAKlwD,UAAU2oB,OAAOtvD,EAAEozF,iBAAiB6D,kBAAkB,QAASF,IACpEF,EAAKlwD,UAAU2oB,OAAO9sB,EAAE4wD,iBAAiB6D,kBAAkB,WAAYF,IACpEF,EAAKlwD,UAAU2oB,OAAOhM,KACrBuzC,EAAKlwD,UAAU2oB,OAAOhM,GAAG8vC,iBAAiB6D,kBAAkB,OAAQF,IACpEF,EAAKlwD,UAAU2oB,OAAO/L,GAAG6vC,iBAAiB6D,kBAAkB,aAAcF,KAE9EF,EAAKlwD,UAAU4oB,GAAG6jC,iBAAiB6D,kBAAkB,UAAWF,IAChEjkG,OAAOimC,iBAAiB+9D,EAAmB,CACvC,QAAW,CACP/4F,IAAKw6F,4BAA4B1B,EAAKlwD,UAAU2oB,OAAO5uD,IAE3D,SAAY,CACR3C,IAAKw6F,4BAA4B1B,EAAKlwD,UAAU2oB,OAAO5sB,IAE3D,YAAe,CACX3kC,IAAKw6F,4BAA4B1B,EAAKlwD,UAAU2oB,OAAOl8D,IAE3D,MAAS,CACL2K,IAAKw6F,4BAA4B1B,EAAKlwD,UAAU2oB,OAAOtvD,IAE3D,SAAY,CACRjC,IAAKw6F,4BAA4B1B,EAAKlwD,UAAU2oB,OAAO9sB,IAE3D,KAAQ,CACJzkC,IAAKw6F,4BAA4B1B,EAAKlwD,UAAU2oB,OAAOhM,KAE3D,SAAY,CACRvlD,IAAKw6F,4BAA4B1B,EAAKlwD,UAAU2oB,OAAO/L,KAE3D,MAAS,CAAE7lD,MAAOysD,EAAMhd,MAE5B2pD,EAAkBrwD,GAAK,KACvBqwD,EAAkBI,GAAK/sC,EAAM+sC,GAC7BJ,EAAkBzD,cAAgBA,EAC3ByD,EAGX,SAASa,EAAwBxtC,EAAM0sC,EAAKxD,GAExC,SAASyD,EAAkBp5F,GACvB,OAAGysD,EAAMznB,EAAEwyD,KAAOx3F,EACPo5F,EAAkBp2D,SAE1BypB,EAAMnqD,EAAEk1F,KAAOx3F,EACPo5F,EAAkBv+C,UAD7B,EAIJ,IAAIw+C,EAAiBC,qBAAqBF,EAAmBzD,GAC7DyD,EAAkB7B,cAAgB9qC,EAAM+qC,GACxC,IAAIz9F,EAAsB,OAAfo/F,EAAK53C,GAAGxY,GAAcowD,EAAK53C,GAAGxnD,KAAOo/F,EAAK53C,GAcrD,OAbAxnD,EAAKuI,EAAEozF,iBAAiB6D,kBAAkB,OAAQF,IAClDt/F,EAAKirC,EAAE0wD,iBAAiB6D,kBAAkB,WAAYF,IAEtDjkG,OAAOimC,iBAAiB+9D,EAAmB,CACvC,KAAQ,CACJ/4F,IAAKw6F,4BAA4B9gG,EAAKuI,IAE1C,SAAY,CACRjC,IAAKw6F,4BAA4B9gG,EAAKirC,IAE1C,MAAS,CAAEhlC,MAAOysD,EAAMhd,MAE5B2pD,EAAkBI,GAAK/sC,EAAM+sC,GACtBJ,EAGX,SAASc,EAAqBztC,EAAM0sC,EAAKxD,GAErC,SAASyD,EAAkBp5F,GACvB,OAAGysD,EAAMznB,EAAEwyD,KAAOx3F,EACPo5F,EAAkBp2D,SAE1BypB,EAAM3nB,EAAE0yD,KAAOx3F,EACPo5F,EAAkBhH,SAE1B3lC,EAAMzgB,GAAGwrD,KAAOx3F,EACRo5F,EAAkBjpD,OAE1Bsc,EAAM9G,GAAG6xC,KAAOx3F,GAAS,kCAAoCA,EACrDo5F,EAAkB8B,YAE1BzuC,EAAM1C,GAAGytC,KAAOx3F,EACRo5F,EAAkB+B,gBAE1B1uC,EAAM9C,IAAO8C,EAAM9C,GAAG6tC,KAAOx3F,GAAS,kCAAoCA,EAG1EysD,EAAMvgC,IAAMugC,EAAMvgC,GAAGsrE,KAAOx3F,EACpBo5F,EAAkBgC,oBAD7B,EAFWhC,EAAkBiC,YAQjC,IAAIhC,EAAiBC,qBAAqBF,EAAmBzD,GACzD57F,EAAsB,OAAfo/F,EAAK53C,GAAGxY,GAAcowD,EAAK53C,GAAGxnD,KAAOo/F,EAAK53C,GAqCrD,OApCA63C,EAAkB7B,cAAgB9qC,EAAM+qC,GACxCz9F,EAAK4rD,GAAG+vC,iBAAiB6D,kBAAkB,eAAgBF,IAC3Dt/F,EAAKgwD,GAAG2rC,iBAAiB6D,kBAAkB,kBAAmBF,IAC9Dt/F,EAAKiyC,GAAG0pD,iBAAiB6D,kBAAkB,SAAUF,IACrDt/F,EAAKirC,EAAE0wD,iBAAiB6D,kBAAkB,WAAYF,IACtDt/F,EAAK+qC,EAAE4wD,iBAAiB6D,kBAAkB,WAAYF,IACnD5sC,EAAM9C,KACL5vD,EAAK4vD,GAAG+rC,iBAAiB6D,kBAAkB,eAAgBF,IAC3Dt/F,EAAKmyB,GAAGwpE,iBAAiB6D,kBAAkB,kBAAmBF,KAGlEjkG,OAAOimC,iBAAiB+9D,EAAmB,CACvC,SAAY,CACR/4F,IAAKw6F,4BAA4B9gG,EAAKirC,IAE1C,SAAY,CACR3kC,IAAKw6F,4BAA4B9gG,EAAK+qC,IAE1C,OAAU,CACNzkC,IAAKw6F,4BAA4B9gG,EAAKiyC,KAE1C,YAAe,CACX3rC,IAAKw6F,4BAA4B9gG,EAAK4rD,KAE1C,eAAkB,CACdtlD,IAAKw6F,4BAA4B9gG,EAAKgwD,KAE1C,YAAe,CACX1pD,IAAKw6F,4BAA4B9gG,EAAK4vD,KAE1C,eAAkB,CACdtpD,IAAKw6F,4BAA4B9gG,EAAKmyB,KAE1C,MAAS,CAAElsB,MAAOysD,EAAMhd,MAE5B2pD,EAAkBI,GAAK/sC,EAAM+sC,GACtBJ,EAGX,SAASe,EAAqB1tC,EAAM0sC,EAAKxD,GAErC,SAASyD,EAAkBp5F,GACvB,OAAGysD,EAAMznB,EAAEwyD,KAAOx3F,EACPo5F,EAAkBp2D,SAE1BypB,EAAM3nB,EAAE0yD,KAAOx3F,EACPo5F,EAAkBnvC,UAE1BwC,EAAMnqD,EAAEk1F,KAAOx3F,GAAmB,SAAVA,GAA8B,0BAAVA,EACpCo5F,EAAkBv+C,UAD7B,EAKJ,IAAIw+C,EAAiBC,qBAAqBF,EAAmBzD,GAEzD57F,EAAsB,OAAfo/F,EAAK53C,GAAGxY,GAAcowD,EAAK53C,GAAGxnD,KAAOo/F,EAAK53C,GAmBrD,OAlBA63C,EAAkB7B,cAAgB9qC,EAAM+qC,GACxCz9F,EAAKirC,EAAE0wD,iBAAiB6D,kBAAkB,WAAYF,IACtDt/F,EAAKuI,EAAEozF,iBAAiB6D,kBAAkB,OAAQF,IAClDt/F,EAAK+qC,EAAE4wD,iBAAiB6D,kBAAkB,WAAYF,IAEtDjkG,OAAOimC,iBAAiB+9D,EAAmB,CACvC,SAAY,CACR/4F,IAAKw6F,4BAA4B9gG,EAAKirC,IAE1C,UAAa,CACT3kC,IAAKw6F,4BAA4B9gG,EAAK+qC,IAE1C,KAAQ,CACJzkC,IAAKw6F,4BAA4B9gG,EAAKuI,IAE1C,MAAS,CAAEtC,MAAOysD,EAAMhd,MAE5B2pD,EAAkBI,GAAK/sC,EAAM+sC,GACtBJ,EAGX,SAASgB,EAAwB3tC,EAAM0sC,EAAKxD,GAExC,SAASyD,EAAkBp5F,GACvB,GAAGysD,EAAM3nB,EAAE0yD,KAAOx3F,GAAS,oBAAsBA,EAC7C,OAAOo5F,EAAkBkC,OAIjC,IAAIjC,EAAiBC,qBAAqBF,EAAmBzD,GACzD57F,EAAOo/F,EAWX,OAVAC,EAAkB7B,cAAgB9qC,EAAM+qC,GACxCz9F,EAAK40D,GAAG+mC,iBAAiB6D,kBAAkB,SAAUF,IAErDjkG,OAAOimC,iBAAiB+9D,EAAmB,CACvC,OAAU,CACN/4F,IAAKw6F,4BAA4B9gG,EAAK40D,KAE1C,MAAS,CAAE3uD,MAAOysD,EAAMhd,MAE5B2pD,EAAkBI,GAAK/sC,EAAM+sC,GACtBJ,EAGX,SAASiB,EAAyB5tC,EAAM0sC,EAAKxD,GAEzC,SAASyD,EAAkBp5F,GACvB,OAAGysD,EAAM97C,EAAE6mF,KAAOx3F,GAAS,WAAaA,EAC7Bo5F,EAAkBjoC,OACnB1E,EAAMzpD,EAAEw0F,KAAOx3F,GAAS,WAAaA,EACpCo5F,EAAkBvjF,YADtB,EAKX,IAAIwjF,EAAiBC,qBAAqBF,EAAmBzD,GACzD57F,EAAOo/F,EAcX,OAbAC,EAAkB7B,cAAgB9qC,EAAM+qC,GACxCz9F,EAAK4W,EAAE+kF,iBAAiB6D,kBAAkB,SAAUF,IACpDt/F,EAAKiJ,EAAE0yF,iBAAiB6D,kBAAkB,SAAUF,IACpDjkG,OAAOimC,iBAAiB+9D,EAAmB,CACvC,OAAU,CACN/4F,IAAKw6F,4BAA4B9gG,EAAK4W,IAE1C,OAAU,CACNtQ,IAAKw6F,4BAA4B9gG,EAAKiJ,IAE1C,MAAS,CAAEhD,MAAOysD,EAAMhd,MAE5B2pD,EAAkBI,GAAK/sC,EAAM+sC,GACtBJ,EAGX,OAAO,SAAStgD,EAAOqgD,EAAKxD,GACxB,IAAI2E,EACJ,SAASiB,EAAmBv7F,GACxB,GAAoB,iBAAVA,EAEN,OAAc,KADdA,OAAkB/G,IAAV+G,EAAsB,EAAIA,GAEvB21F,EAEA2E,EAAWt6F,EAAM,GAI5B,IADA,IAAIvJ,EAAI,EAAGgD,EAAM6gG,EAAWtkG,OACtBS,EAAEgD,GAAI,CACR,GAAG6gG,EAAW7jG,GAAGkjG,QAAU35F,EACvB,OAAOs6F,EAAW7jG,GAEtBA,GAAG,GAOf,OAHA8kG,EAAmB5F,cAAgBA,EACnC2E,EAAaV,EAAgB9gD,EAAQqgD,EAAMoC,GAC3CA,EAAmBhB,cAAgBD,EAAWtkG,OACvCulG,GA/dgB,GAme3BlkB,wBACI,SAAStzB,GACT,IAAgBy3C,EAChB,SAASC,EAAmB3/F,GACxB,OAAOA,GACH,IAAK,qBACD,OAAO2/F,EAAmBC,YAgBtC,OAbAtmG,OAAO8xB,eAAeu0E,EAAoB,aAAc,CACpDp7F,IAAK,WACD0jD,EAAKmc,aAAar5B,WAClB,IAAI80D,EAAc53C,EAAKmc,aAAatH,YAAYr/D,EAOhD,YAjBJqiG,IAWOD,IACC53C,EAAKmc,aAAatH,YAAYr/D,OAZtCqiG,GAaQJ,EAAc,IAAIrjF,OAAOwjF,IAEb37F,MAAQ27F,GAA4B,IAAIxjF,OAAOwjF,IAExDH,KAGRC,GAGXhlB,yBAA4B,WAC5B,SAASsb,EAAQx7F,EAAKulB,GAClB,IAAI+/E,EAAa,IAAIz0D,OASrB,GARAy0D,EAAWj0D,aAEE3uC,IAAT6iB,EACA+/E,EAAariG,KAAK69D,MAAM2W,eAAeC,MAAM1nB,eAAezqC,GAE7CtiB,KAAK69D,MAAM2W,eAAeC,MAC5BloB,cAAc81C,GAE5BriG,KAAK69D,MAAMoQ,WAAajuE,KAAK69D,MAAMoQ,UAAUzxE,OAAO,CACnD,IAAIS,EAAGgD,EAAMD,KAAK69D,MAAMoQ,UAAUzxE,OAClC,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb+C,KAAK69D,MAAMoQ,UAAUhxE,GAAGu3E,eAAeC,MAAMloB,cAAc81C,GAE/D,OAAOA,EAAW5vD,kBAAkB11C,EAAI,GAAGA,EAAI,GAAGA,EAAI,IAAI,GAE9D,OAAOslG,EAAW5vD,kBAAkB11C,EAAI,GAAGA,EAAI,GAAGA,EAAI,IAAI,GAE9D,SAASy7F,EAAUz7F,EAAKulB,GACpB,IAAI+/E,EAAa,IAAIz0D,OASrB,GARAy0D,EAAWj0D,aAEE3uC,IAAT6iB,EACA+/E,EAAariG,KAAK69D,MAAM2W,eAAeC,MAAM1nB,eAAezqC,GAE7CtiB,KAAK69D,MAAM2W,eAAeC,MAC5BloB,cAAc81C,GAE3BriG,KAAK69D,MAAMoQ,WAAajuE,KAAK69D,MAAMoQ,UAAUzxE,OAAO,CACpD,IAAIS,EAAGgD,EAAMD,KAAK69D,MAAMoQ,UAAUzxE,OAClC,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb+C,KAAK69D,MAAMoQ,UAAUhxE,GAAGu3E,eAAeC,MAAMloB,cAAc81C,GAE/D,OAAOA,EAAW9vD,aAAax1C,GAEnC,OAAOslG,EAAW9vD,aAAax1C,GAEnC,SAAS07F,EAAS17F,GACd,IAAIslG,EAAa,IAAIz0D,OAGrB,GAFAy0D,EAAWj0D,QACXpuC,KAAK69D,MAAM2W,eAAeC,MAAMloB,cAAc81C,GAC3CriG,KAAK69D,MAAMoQ,WAAajuE,KAAK69D,MAAMoQ,UAAUzxE,OAAO,CACnD,IAAIS,EAAGgD,EAAMD,KAAK69D,MAAMoQ,UAAUzxE,OAClC,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACb+C,KAAK69D,MAAMoQ,UAAUhxE,GAAGu3E,eAAeC,MAAMloB,cAAc81C,GAE/D,OAAOA,EAAW9vD,aAAax1C,GAEnC,OAAOslG,EAAW9vD,aAAax1C,GAGnC,SAASulG,IACL,MAAO,CAAC,EAAE,EAAE,EAAE,GAIlB,OAAO,SAAS/3C,GAEZ,IAAIy2C,EASJ,SAASiB,EAAmB3/F,GACxB,OAAOA,GACH,IAAK,0BACL,IAAK,WACL,KAAK,EACD,OAAO2/F,EAAmBxkB,eAC9B,KAAK,EACL,KAAK,EACL,IAAK,YACL,IAAK,YACL,IAAK,uBACD,OAAOujB,EACX,KAAK,EACL,IAAK,qBACL,IAAK,UACL,IAAK,UACD,OAAOiB,EAAmBtK,OAC9B,IAAK,uBACD,OAAOsK,EAAmBrkB,eAGtCqkB,EAAmB1J,QAAUA,EAC7B0J,EAAmBzJ,UAAYA,EAC/ByJ,EAAmBvJ,OAASH,EAC5B0J,EAAmBxJ,SAAWA,EAC9BwJ,EAAmBK,YAAcA,EACjCL,EAAmB7rB,iBAAmB7rB,EAAK6rB,iBAAiB9pC,KAAKie,GACjE03C,EAAmBpkC,MAAQtT,EAE3B,IAAIg4C,EAAwB9pD,cAD5BuoD,EAAqBwB,6BAA6Bj4C,EAAKiqB,eAAeC,OACR,eAyC9D,OAxCA74E,OAAOimC,iBAAiBogE,EAAmB,CACvCxG,UAAW,CACP50F,IAAK,WACD,OAAO0jD,EAAK0jB,UAAUzxE,SAG9BgmD,OAAQ,CACJ37C,IAAK,WACD,OAAO0jD,EAAK0jB,UAAU,GAAG+O,iBAGjC4b,SAAUngD,cAAcuoD,EAAoB,YAC5C7xD,MAAOsJ,cAAcuoD,EAAoB,SACzCx3D,SAAUiP,cAAcuoD,EAAoB,YAC5Crd,QAASlrC,cAAcuoD,EAAoB,WAC3CnI,YAAa0J,EACbE,aAAcF,EACd9yD,UAAW,CACP5oC,IAAK,WACD,OAAOm6F,IAGfzH,OAAQ,CACJ1yF,IAAK,WACD,OAAO0jD,EAAKmrB,cAKxBusB,EAAmBS,UAAYn4C,EAAKn3C,KAAKi4C,GACzC42C,EAAmBx6E,MAAQ8iC,EAAKn3C,KAAK6zC,IACrCg7C,EAAmBt5E,OAAS4hC,EAAKn3C,KAAKgsC,MACtC6iD,EAAmBnjE,OAA0B,IAAjByrB,EAAKn3C,KAAKm8B,GAAWgb,EAAKn3C,KAAKnH,EAAI,IAC/Dg2F,EAAmBpjE,MAAyB,IAAjB0rB,EAAKn3C,KAAKm8B,GAAWgb,EAAKn3C,KAAKlB,EAAI,IAC9D+vF,EAAmBjK,QAAUztC,EAAKn3C,KAAKu5D,GAAGpiB,EAAKT,KAAKU,WAAWsC,UAC/Dm1C,EAAmBhK,SAAW1tC,EAAKn3C,KAAKilD,GAAG9N,EAAKT,KAAKU,WAAWsC,UAChEm1C,EAAmB9B,MAAQ51C,EAAKn3C,KAAK6iC,GAErCgsD,EAAmB/kB,sBA3EnB,SAAgCzc,GAC5BwhC,EAAmB5gC,KAAO,IAAIshC,qBAAqBliC,EAAalW,IA2EpE03C,EAAmB3kB,yBAzEnB,SAAmCslB,GAC/BX,EAAmBtK,OAASiL,GAyEzBX,GA3IgB,GA+I3BzkB,wBACO,SAAS1zB,GACZ,SAASm4C,EAAmB3/F,GAExB,IADA,IAAIrF,EAAI,EAAGgD,EAAM6pD,EAAKxL,OAAO9hD,OACrBS,EAAIgD,GAAK,CACb,GAAI6pD,EAAKxL,OAAOrhD,GAAGg5C,KAAO3zC,GAAQwnD,EAAKxL,OAAOrhD,GAAGgqD,MAAQ3kD,EACrD,OAAOwnD,EAAKmN,SAASh6D,GAAG+/E,eAE5B//E,GAAK,EAET,OAAO,KAYX,OATArB,OAAO8xB,eAAeu0E,EAAoB,QAAS,CAAEz7F,MAAOsjD,EAAK12C,KAAK6iC,KACtEgsD,EAAmBl1B,MAAQk1B,EAC3BA,EAAmBY,YAAc,EACjCZ,EAAmBnjE,OAASgrB,EAAK12C,KAAKnH,GAAK69C,EAAKU,WAAWykB,SAAShjE,EACpEg2F,EAAmBpjE,MAAQirB,EAAK12C,KAAKlB,GAAK43C,EAAKU,WAAWykB,SAAS/8D,EACnE+vF,EAAmBY,YAAc,EACjCZ,EAAmBnK,cAAgB,EAAIhuC,EAAKU,WAAWsC,UACvDm1C,EAAmBlK,iBAAmB,EACtCkK,EAAmBa,UAAYh5C,EAAKxL,OAAO9hD,OACpCylG,GAGXO,6BACO,SAAS/yD,GACZ,SAASszD,EAAczgG,GACnB,OAAOA,GACH,IAAK,QACL,IAAK,QACL,IAAK,aACL,KAAK,EACD,OAAOygG,EAAc5zD,MACzB,IAAK,WACL,IAAK,WACL,IAAK,gBACL,IAAK,gBACL,KAAK,GACD,OAAO4zD,EAAcnK,SACzB,IAAK,gBACD,OAAOmK,EAAcC,UACzB,IAAK,gBACD,OAAOD,EAAcE,UACzB,IAAK,WACL,IAAK,WACL,IAAK,gBACL,KAAK,EACD,OAAOF,EAAcv5D,SACzB,IAAK,kBACD,OAAOu5D,EAAcG,UACzB,IAAK,kBACD,OAAOH,EAAcI,UACzB,IAAK,kBACD,OAAOJ,EAAcK,UACzB,IAAK,cACL,IAAK,cACL,IAAK,eACL,IAAK,mBACL,KAAK,EACD,OAAOL,EAAclK,YACzB,IAAK,UACL,IAAK,UACL,KAAK,GACD,OAAOkK,EAAcpf,SAuBjC,GAnBA/nF,OAAO8xB,eAAeq1E,EAAe,WAAY,CAC7Cl8F,IAAKw6F,4BAA4B5xD,EAAUnE,GAAKmE,EAAUyc,MAG9DtwD,OAAO8xB,eAAeq1E,EAAe,YAAa,CAC9Cl8F,IAAKw6F,4BAA4B5xD,EAAUyc,IAAMzc,EAAUnE,KAG/D1vC,OAAO8xB,eAAeq1E,EAAe,YAAa,CAC9Cl8F,IAAKw6F,4BAA4B5xD,EAAUuc,MAG/CpwD,OAAO8xB,eAAeq1E,EAAe,YAAa,CAC9Cl8F,IAAKw6F,4BAA4B5xD,EAAUwc,MAE/CrwD,OAAO8xB,eAAeq1E,EAAe,QAAS,CAC1Cl8F,IAAKw6F,4BAA4B5xD,EAAU3mC,KAG5C2mC,EAAUjE,EACT,IAAI63D,EAAoBhC,4BAA4B5xD,EAAUjE,OAC3D,CACH,IAEI83D,EAFAC,EAAMlC,4BAA4B5xD,EAAUhf,IAC5C+yE,EAAMnC,4BAA4B5xD,EAAUqc,IAE5Crc,EAAUsc,KACVu3C,EAAMjC,4BAA4B5xD,EAAUsc,KAgDpD,OA7CAnwD,OAAO8xB,eAAeq1E,EAAe,WAAY,CAC7Cl8F,IAAK,WACD,OAAG4oC,EAAUjE,EACF63D,IAEA,CACHE,IACAC,IACAF,EAAMA,IAAQ,MAK9B1nG,OAAO8xB,eAAeq1E,EAAe,YAAa,CAC9Cl8F,IAAKw6F,4BAA4B5xD,EAAUhf,MAG/C70B,OAAO8xB,eAAeq1E,EAAe,YAAa,CAC9Cl8F,IAAKw6F,4BAA4B5xD,EAAUqc,MAG/ClwD,OAAO8xB,eAAeq1E,EAAe,YAAa,CAC9Cl8F,IAAKw6F,4BAA4B5xD,EAAUsc,MAG/CnwD,OAAO8xB,eAAeq1E,EAAe,cAAe,CAChDl8F,IAAKw6F,4BAA4B5xD,EAAUvzC,KAG/CN,OAAO8xB,eAAeq1E,EAAe,UAAW,CAC5Cl8F,IAAKw6F,4BAA4B5xD,EAAUjmC,KAG/C5N,OAAO8xB,eAAeq1E,EAAe,OAAQ,CACzCl8F,IAAKw6F,4BAA4B5xD,EAAU2c,MAG/CxwD,OAAO8xB,eAAeq1E,EAAe,WAAY,CAC7Cl8F,IAAKw6F,4BAA4B5xD,EAAU4c,MAG/CzwD,OAAO8xB,eAAeq1E,EAAe,cAAe,CAChDl8F,IAAKw6F,4BAA4B5xD,EAAU0c,MAGxC42C,GAGXn6D,iBAAoB,WAEpB,SAAS4lC,EAAoB1kB,GACzB9pD,KAAKyjG,aAAatmG,KAAK2sD,GAG3B,OAAO,WACH,SAAS45C,EAAqBphG,GAE1B,IADA,IAAIrF,EAAI,EAAGgD,EAAMD,KAAKyjG,aAAajnG,OAC7BS,EAAEgD,GAAI,CACR,GAAGD,KAAKyjG,aAAaxmG,GAAGmW,MAAQpT,KAAKyjG,aAAaxmG,GAAGmW,KAAK6iC,KAAO3zC,EAI7D,OAHGtC,KAAKyjG,aAAaxmG,GAAG+yE,cAAgBhwE,KAAKyjG,aAAaxmG,GAAGmW,KAAKk7D,IAC9DtuE,KAAKyjG,aAAaxmG,GAAG+yE,aAAahwE,KAAK+vE,cAEpC/vE,KAAKyjG,aAAaxmG,GAAGsgF,cAEhCtgF,GAAG,GAWX,OAPAymG,EAAqBD,aAAe,GACpCC,EAAqB3zB,aAAe,EAEpC2zB,EAAqBl1B,oBAAsBA,EAIpCk1B,GA3BQ,GA8BnBtmB,2BAA8B,WAkC9B,SAASumB,EAAqBvwF,EAAK6jD,EAAUklC,EAAe5xC,GAExD,SAASq5C,EAAethG,GAEpB,IADA,IAAIsgG,EAAUxvF,EAAK2yE,GAAI9oF,EAAI,EAAGgD,EAAM2iG,EAAQpmG,OACtCS,EAAEgD,GAAK,CACT,GAAGqC,IAASsgG,EAAQ3lG,GAAGg5C,IAAM3zC,IAASsgG,EAAQ3lG,GAAG+iG,IAAM19F,IAASsgG,EAAQ3lG,GAAG+gG,GACvE,OAAqB,IAAlB4E,EAAQ3lG,GAAGsyC,GACH4rC,EAAel+E,GAEfk+E,EAAel+E,KAG9BA,GAAK,EAET,MAAM,IAAIgF,MAEd,IAGIhF,EAHA4iG,EAAiBC,qBAAqB8D,EAAgBzH,GAEtDhhB,EAAiB,GACdl7E,EAAMmT,EAAK2yE,GAAGvpF,OACrB,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACQ,IAAlBmW,EAAK2yE,GAAG9oF,GAAGsyC,GACV4rC,EAAeh+E,KAAKwmG,EAAqBvwF,EAAK2yE,GAAG9oF,GAAGg6D,EAASkkB,eAAel+E,GAAGg6D,EAASkkB,eAAel+E,GAAGk/F,cAAe5xC,IAEzH4wB,EAAeh+E,KAAK0mG,EAAqB5sC,EAASkkB,eAAel+E,GAAGmW,EAAK2yE,GAAG9oF,GAAGsyC,GAAIgb,EAAMs1C,IAqBjG,MAjBe,uBAAZzsF,EAAK4sF,IACJpkG,OAAO8xB,eAAek2E,EAAgB,QAAS,CAC3C/8F,IAAK,WACD,OAAOs0E,EAAe,QAIlCv/E,OAAOimC,iBAAiB+hE,EAAgB,CACpC7C,cAAe,CACXl6F,IAAK,WACD,OAAOuM,EAAKguF,KAGpBjB,MAAO,CAAE35F,MAAO4M,EAAK6iC,IACrBkmD,cAAe,CAAC31F,MAAOq5F,KAE3B+D,EAAerK,OAASqK,EAAeE,QAAsB,IAAZ1wF,EAAK2wF,GAC/CH,EAGX,SAASC,EAAqBt6D,EAASxb,EAAMw8B,EAAM4xC,GAC/C,IAAI6H,EAAqB3C,4BAA4B93D,EAAQiC,GAY7D,OAJGjC,EAAQiC,EAAE0wD,kBACT3yD,EAAQiC,EAAE0wD,iBAAiB6D,kBAAkB,GAAI5D,IARrD,WACI,OAAY,KAATpuE,EACQw8B,EAAKT,KAAKyzB,cAAch0C,EAAQiC,EAAEH,GAEtC24D,KAUf,MAjGS,CACL3mB,uBAGJ,SAAgC9yB,EAAM4xC,GAClC,GAAG5xC,EAAK2zB,eAAe,CAEnB,IAEIjhF,EAFAk+E,EAAiB,GACjB8oB,EAAc15C,EAAKn3C,KAAK2yE,GACrB9lF,EAAMsqD,EAAK2zB,eAAe/C,eAAe3+E,OAChD,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EACbk+E,EAAeh+E,KAAKwmG,EAAqBM,EAAYhnG,GAAGstD,EAAK2zB,eAAe/C,eAAel+E,GAAGk/F,EAAc5xC,IAGhH,IAAIq4C,EAAUr4C,EAAKn3C,KAAK2yE,IAAM,GAC1B6d,EAAiB,SAASthG,GAE1B,IADArF,EAAI,EAAGgD,EAAM2iG,EAAQpmG,OACfS,EAAEgD,GAAK,CACT,GAAGqC,IAASsgG,EAAQ3lG,GAAGg5C,IAAM3zC,IAASsgG,EAAQ3lG,GAAG+iG,IAAM19F,IAASsgG,EAAQ3lG,GAAG+gG,GACvE,OAAO7iB,EAAel+E,GAE1BA,GAAK,IAQb,OALArB,OAAO8xB,eAAek2E,EAAgB,gBAAiB,CACnD/8F,IAAK,WACD,OAAO+7F,EAAQpmG,UAGhBonG,KA9Bc,GAqG7BjB,qBAAwB,WAE3B,SAASuB,EAAc7iC,EAAMjuD,GAC5BpT,KAAKmkG,MAAQ9iC,EACbrhE,KAAKgc,MAAQ5I,EAEdxX,OAAO8xB,eAAew2E,EAAcroG,UAAW,WAAY,CACpDgL,IAAK,WAID,OAHG7G,KAAKmkG,MAAM5jG,KAAK9D,GACfuD,KAAKmkG,MAAM5jG,KAAK8sC,WAEbrtC,KAAKmkG,MAAM5jG,QAG7B3E,OAAO8xB,eAAew2E,EAAcroG,UAAW,cAAe,CACvDgL,IAAK,WAID,OAHG7G,KAAKmkG,MAAM9rC,GAAG57D,GACbuD,KAAKmkG,MAAM9rC,GAAGhrB,WAEO,IAAlBrtC,KAAKmkG,MAAM9rC,GAAGhtB,KAwBhC,OApBkB,SAASo1B,EAAalW,GACvC,IAGIttD,EADAmnG,EAAmBr7D,iBAAiB03B,EAAYmJ,SAASptE,QACtDyD,EAAMwgE,EAAYmJ,SAASptE,OAClC,IAAIS,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EACxBmnG,EAAiBnnG,GAAK,IAAIinG,EAAczjC,EAAYmJ,SAAS3sE,GAAIwjE,EAAYxhB,gBAAgBhiD,IAY9F,OATmB,SAASqF,GAExB,IADHrF,EAAI,EACKA,EAAEgD,GAAI,CACR,GAAGwgE,EAAYxhB,gBAAgBhiD,GAAGg5C,KAAO3zC,EACrC,OAAO8hG,EAAiBnnG,GAE5BA,GAAK,KAtCY,GA8CvBokG,4BAA+B,WAE/B,IAAIgD,EAA6B,CAAC99C,GAAG,EAAGlb,EAAE,EAAGgf,KAAM,GAC/Ci6C,EAA+B,CAAC/9C,GAAG,CAAC,EAAE,EAAE,GAAIlb,EAAE,CAAC,EAAE,EAAE,GAAIgf,KAAM,GAEjE,SAASk6C,EAAiBC,EAAiBtlF,EAAU6O,GACjDnyB,OAAO8xB,eAAe82E,EAAiB,WAAY,CAC/C39F,IAAK,WACD,OAAOqY,EAAS66E,kBAAkB76E,EAAS4qC,KAAKimB,iBAGxDy0B,EAAgBlL,QAAUp6E,EAAS0nC,UAAY1nC,EAAS0nC,UAAUpqD,OAAS,EAC3EgoG,EAAgB3iG,IAAM,SAAS0O,GAC3B,GAAKi0F,EAAgBlL,QAEd,CACH,IAAI9yF,EAAQ,GAERA,EADA,MAAO0Y,EAAS0nC,UAAUr2C,EAAI,GACtB2O,EAAS0nC,UAAUr2C,EAAI,GAAGzH,EAC3B,MAAOoW,EAAS0nC,UAAUr2C,EAAI,GAC7B2O,EAAS0nC,UAAUr2C,EAAI,GAAG2C,EAE1BgM,EAAS0nC,UAAUr2C,EAAI,GAAGzH,EAEtC,IAAI27F,EAAqB,mBAAT12E,EAA4B,IAAI4mE,OAAOnuF,GAAS5K,OAAOgwB,OAAO,GAAIplB,GAGlF,OAFAi+F,EAAUniF,KAAOpD,EAAS0nC,UAAUr2C,EAAI,GAAGxQ,EAAImf,EAASqrC,KAAKT,KAAKU,WAAWsC,UAC7E23C,EAAUj+F,MAAiB,mBAATunB,EAA4BvnB,EAAM,GAAKA,EAClDi+F,EAbP,OAAO,GAgBfD,EAAgB3M,YAAc34E,EAAS6tC,eACvCy3C,EAAgBE,YAAcxlF,EAAS68E,eACvCyI,EAAgBxL,eAAiB95E,EAAS66E,kBAC1CyK,EAAgBrI,cAAgBj9E,EAASi9E,cAkD7C,SAASwI,IACL,OAAON,EAGX,OAAO,SAASnlF,GACZ,OAAIA,EAE6B,mBAAtBA,EAASonC,SAtDxB,SAAyCpnC,GACjCA,GAAc,OAAQA,IACtBA,EAAWmlF,GAEf,IAAIh6C,EAAO,EAAInrC,EAASmrC,KACpB7pD,EAAM0e,EAASqnC,GAAK8D,EACpBm6C,EAAkB,IAAI7P,OAAOn0F,GAIjC,OAHAgkG,EAAgBh+F,MAAQhG,EACxB+jG,EAAiBC,EAAiBtlF,EAAU,kBAErC,WAUH,OATIA,EAASziB,GACTyiB,EAASmuB,WAEb7sC,EAAM0e,EAASmsB,EAAIgf,EAChBm6C,EAAgBh+F,QAAUhG,KACzBgkG,EAAkB,IAAI7P,OAAOn0F,IACbgG,MAAQhG,EACxB+jG,EAAiBC,EAAiBtlF,EAAU,mBAEzCslF,GAmCAI,CAAgC1lF,GA/B/C,SAA2CA,GACnCA,GAAc,OAAQA,IACtBA,EAAWolF,GAEf,IAAIj6C,EAAO,EAAInrC,EAASmrC,KACpBpqD,EAAMif,EAASqnC,GAAG/pD,OAClBgoG,EAAkBh4D,iBAAiB,UAAWvsC,GAC9C4kG,EAAWr4D,iBAAiB,UAAWvsC,GAI3C,OAHAukG,EAAgBh+F,MAAQq+F,EACxBN,EAAiBC,EAAiBtlF,EAAU,oBAErC,WACCA,EAASziB,GACTyiB,EAASmuB,WAEb,IAAK,IAAIpwC,EAAI,EAAGA,EAAIgD,EAAKhD,GAAK,EAC1BunG,EAAgBvnG,GAAK4nG,EAAS5nG,GAAKiiB,EAASmsB,EAAEpuC,GAAKotD,EAEvD,OAAOm6C,GAeAM,CAAkC5lF,GAJlCylF,GAzFe,GAoG1BI,2BAgCHC,oBASL,SAASC,aAAa7xF,EAAKm3C,EAAMhtB,GAC7Bv9B,KAAKwrC,EAAIsa,gBAAgB0F,QAAQjB,EAAKn3C,EAAKi4B,EAAE,EAAE,EAAE9N,GAErD,SAAS2nE,YAAY9xF,EAAKm3C,EAAMhtB,GAC5Bv9B,KAAKwrC,EAAIsa,gBAAgB0F,QAAQjB,EAAKn3C,EAAKi4B,EAAE,EAAE,EAAE9N,GAErD,SAAS4nE,YAAY/xF,EAAKm3C,EAAMhtB,GAC5Bv9B,KAAKwrC,EAAIsa,gBAAgB0F,QAAQjB,EAAKn3C,EAAKi4B,EAAE,EAAE,EAAE9N,GAErD,SAAS6nE,YAAYhyF,EAAKm3C,EAAMhtB,GAC5Bv9B,KAAKwrC,EAAIsa,gBAAgB0F,QAAQjB,EAAKn3C,EAAKi4B,EAAE,EAAE,EAAE9N,GAErD,SAAS8nE,iBAAiBjyF,EAAKm3C,EAAMhtB,GACjCv9B,KAAKwrC,EAAIsa,gBAAgB0F,QAAQjB,EAAKn3C,EAAKi4B,EAAE,EAAE,EAAE9N,GAErD,SAAS+nE,gBAAgBlyF,EAAKm3C,EAAMhtB,GAChCv9B,KAAKwrC,EAAIsa,gBAAgB0F,QAAQjB,EAAKn3C,EAAKi4B,EAAE,EAAE,EAAE9N,GAErD,SAASgoE,eAAenyF,EAAKm3C,EAAMhtB,GAC/Bv9B,KAAKwrC,EAAIsa,gBAAgB0F,QAAQjB,EAAKn3C,EAAKi4B,EAAE,EAAE,EAAE9N,GAErD,SAASioE,gBACLxlG,KAAKwrC,EAAI,GAEb,SAAS2yC,kBACT,SAASA,eAAe/qE,EAAKm2B,GACzB,IAAIq5D,EAAUxvF,EAAK2yE,IAAM,GACzB/lF,KAAKm7E,eAAiB,GACtB,IAAIl+E,EACAwoG,EADExlG,EAAM2iG,EAAQpmG,OAEpB,IAAIS,EAAE,EAAEA,EAAEgD,EAAIhD,IACVwoG,EAAa,IAAIC,YAAY9C,EAAQ3lG,GAAGssC,GACxCvpC,KAAKm7E,eAAeh+E,KAAKsoG,GAIjC,SAASC,YAAYtyF,EAAKm2B,GACtBvpC,KAAKsuD,KAAKl7C,EAAKm2B,GA9EXw7D,2BAA8B,WAE9B,SAASY,EAAcl+E,EAAM2D,GAIzB,OAHAprB,KAAKi6F,UAAYxyE,EAAM,EACvBznB,KAAKk6F,UAAY9uE,EACjBprB,KAAKqrC,EAAIrrC,KAAKqtC,WAAartC,KAAKqqD,KACzBrqD,KAAKqrC,EAGhB,OAAO,SAAoCkf,EAAKn3C,GAC5CpT,KAAKumD,GAAK,EACVvmD,KAAK8pD,KAAOS,EAAKT,KACjB9pD,KAAKuqD,KAAOA,EACZvqD,KAAKqqD,KAAO,IACZrqD,KAAKsmD,SAAW,eAChBtmD,KAAKk6F,UAAY9mF,EAAKiwD,WACtBrjE,KAAKm6F,cAAgB,IACrBn6F,KAAK48F,UAAY,CAAC,EAAE,EAAE,GACtB58F,KAAKvD,GAAI,EACTuD,KAAKsJ,GAAI,EACTtJ,KAAKqtC,SAAWknD,kBAAkB+C,mBAAmBhrD,KAAKtsC,KAA1Cu0F,CAAgDhqC,EAAKn3C,EAAKpT,MAC1EA,KAAKmjE,QAAUwiC,EACf3lG,KAAK+5F,kBAAoB8B,kBAAkB9B,kBACxC/5F,KAAK8qD,GACJ9qD,KAAK+sD,eAAiB8uC,kBAAkB9uC,eAAezgB,KAAKtsC,MAE5DA,KAAK+sD,eAAiB8uC,kBAAkBI,qBAAqB3vD,KAAKtsC,MAEtEA,KAAKk8F,iBAAmBL,kBAAkBK,kBA5BjB,GAgChC8I,oBAAsBnmC,iBAAiBC,oBAC3CD,iBAAiBC,oBAAsB,SAASvU,EAAMn3C,EAAKrW,GACvD,OAAc,IAAXqW,EAAKrT,EACG,IAAIglG,2BAA2Bx6C,EAAMn3C,EAAKrW,GAE1CioG,oBAAoBz6C,EAAKn3C,EAAKrW,IA4C9Cq7C,gBAAgB,CAACrL,0BAA2B24D,aAE5CA,YAAY7pG,UAAUwxC,SAAWq4D,YAAY7pG,UAAUsxC,yBAEvDu4D,YAAY7pG,UAAUyyD,KAAO,SAASl7C,EAAKm2B,GACvCvpC,KAAKoT,KAAOA,EACZpT,KAAKm7E,eAAiB,GACtBn7E,KAAKstC,6BAA6B/D,GAClC,IAAItsC,EACA2oG,EADG3lG,EAAMD,KAAKoT,KAAK2yE,GAAGvpF,OACjBomG,EAAU5iG,KAAKoT,KAAK2yE,GAC7B,IAAI9oF,EAAE,EAAEA,EAAEgD,EAAIhD,GAAG,EAAE,CAEf,OADA2oG,EAAM,KACChD,EAAQ3lG,GAAGsyC,IACd,KAAK,EACDq2D,EAAM,IAAIX,aAAarC,EAAQ3lG,GAAGssC,EAAQvpC,MAC1C,MACJ,KAAK,EACD4lG,EAAM,IAAIV,YAAYtC,EAAQ3lG,GAAGssC,EAAQvpC,MACzC,MACJ,KAAK,EACD4lG,EAAM,IAAIT,YAAYvC,EAAQ3lG,GAAGssC,EAAQvpC,MACzC,MACJ,KAAK,EACD4lG,EAAM,IAAIR,YAAYxC,EAAQ3lG,GAAGssC,EAAQvpC,MACzC,MACJ,KAAK,EACL,KAAK,EACD4lG,EAAM,IAAIL,eAAe3C,EAAQ3lG,GAAGssC,EAAQvpC,MAC5C,MACJ,KAAK,GACD4lG,EAAM,IAAIP,iBAAiBzC,EAAQ3lG,GAAGssC,EAAQvpC,MAC9C,MACJ,KAAK,GACD4lG,EAAM,IAAIN,gBAAgB1C,EAAQ3lG,GAAGssC,EAAQvpC,MAC7C,MACJ,KAAK,EACD4lG,EAAM,IAAIznB,eAAeykB,EAAQ3lG,GAAGssC,EAAQvpC,MAC5C,MAEJ,QACI4lG,EAAM,IAAIJ,cAAc5C,EAAQ3lG,GAAGssC,EAAQvpC,MAGhD4lG,GACC5lG,KAAKm7E,eAAeh+E,KAAKyoG,KAKrC,IAAIC,OAAS,GAETpX,WAAY,EAEhB,SAASqX,gBAAiBhhD,GACtBrd,aAAeqd,EAGnB,SAAS8qC,oBACc,IAAfz4D,WACAk3D,iBAAiBuB,iBAAiBxyD,cAAejG,WAAYsG,UAE7D4wD,iBAAiBuB,mBAIzB,SAASmW,qBAAqB18D,GAC1B1B,gBAAkB0B,EAGtB,SAAS3L,cAAc+xD,GAInB,OAHmB,IAAft4D,aACAs4D,EAAOryD,cAAgB6G,KAAKwb,MAAMriB,gBAE/BixD,iBAAiB3wD,cAAc+xD,GAG1C,SAASuW,WAAWx/F,GAChB,GAAqB,iBAAVA,EACP,OAAQA,GACJ,IAAK,OACDwiC,qBAAuB,IACvB,MACJ,IAAK,SACDA,qBAAuB,GACvB,MACJ,IAAK,MACDA,qBAAuB,QAGvB5pC,MAAMoH,IAAUA,EAAQ,IAChCwiC,qBAAuBxiC,GAGvB4iC,cADAJ,sBAAwB,KAOhC,SAASi9D,YACL,MAA4B,oBAAdn+D,UAGlB,SAASo+D,cAAcn4E,EAAMo4E,GACZ,gBAATp4E,IACA6Z,kBAAoBu+D,GAI5B,SAASC,WAAW9jG,GAChB,OAAQA,GACJ,IAAK,kBACD,OAAOwjD,gBACX,IAAK,uBACD,OAAO0I,qBACX,IAAK,SACD,OAAO5gB,QA+BnB,SAASy4D,aACuB,aAAxB10E,SAASyrC,aACTkpC,cAAcC,yBACd3W,oBAIR,SAAS4W,iBAAiBC,GAEtB,IADA,IAAIC,EAAOC,YAAY58F,MAAM,KACpB9M,EAAI,EAAGA,EAAIypG,EAAKlqG,OAAQS,IAAK,CAClC,IAAI2pG,EAAOF,EAAKzpG,GAAG8M,MAAM,KACzB,GAAI88F,mBAAmBD,EAAK,KAAOH,EAC/B,OAAOI,mBAAmBD,EAAK,KAvC3Cf,OAAOjpE,KAAOyxD,iBAAiBzxD,KAC/BipE,OAAOhpE,MAAQwxD,iBAAiBxxD,MAChCgpE,OAAOC,gBAAkBA,gBACzBD,OAAOlW,YAActB,iBAAiBsB,YACtCkW,OAAO3nE,SAAWmwD,iBAAiBnwD,SACnC2nE,OAAO1nE,aAAekwD,iBAAiBlwD,aACvC0nE,OAAO7nE,KAAOqwD,iBAAiBrwD,KAC/B6nE,OAAOjW,iBAAmBA,iBAC1BiW,OAAO9W,kBAAoBV,iBAAiBU,kBAC5C8W,OAAOnoE,cAAgBA,cACvBmoE,OAAOE,qBAAuBA,qBAC9BF,OAAO5V,OAAS5B,iBAAiB4B,OAEjC4V,OAAO3V,YAAc7B,iBAAiB6B,YACtC2V,OAAO/nE,QAAUuwD,iBAAiBvwD,QAClC+nE,OAAOG,WAAaA,WACpBH,OAAOI,UAAYA,UACnBJ,OAAOK,cAAgBA,cACvBL,OAAOzV,OAAS/B,iBAAiB+B,OACjCyV,OAAOxV,SAAWhC,iBAAiBgC,SACnCwV,OAAOhsC,UAAYw0B,iBAAiBx0B,UACpCgsC,OAAO7rC,KAAOq0B,iBAAiBr0B,KAC/B6rC,OAAO5rC,OAASo0B,iBAAiBp0B,OACjC4rC,OAAOvV,wBAA0BjC,iBAAiBiC,wBAClDuV,OAAOiB,aAAeV,WACtBP,OAAO75E,QAAU,QAkBjB,IAAImL,WAAa,mBACbiG,cAAgB,sBAChBK,SAAW,GACf,GAAItG,WAAY,CACZ,IAAI4vE,QAAUp1E,SAASo+D,qBAAqB,UACxCtoE,MAAQs/E,QAAQvqG,OAAS,EACzBwqG,SAAWD,QAAQt/E,QAAU,CAC7BgK,IAAK,IAELk1E,YAAcK,SAASv1E,IAAIjtB,QAAQ,aAAc,IACrDi5B,SAAW+oE,iBAAiB,YAEhC,IAAID,wBAA0BU,YAAYZ,WAAY,KAEtD,OAAOR,W,qMCn9cQ,EArJM,CAEnBqB,OAAQ,WACN,OAAO,OAETC,aAAc,SAAsBzxF,GAClC,OAAO,IAAOA,EAAQ,eAExB0xF,WAAY,SAAoBrgG,GAE9B,OADYA,EAAKkW,QACJ6F,MAAM,UAErBukF,WAAY,SAAoBtgG,GAC9B,IAAIkW,EAAQlW,EAAKkW,QAAQzf,OAAO,SAChC,OAAOyf,EAAMhQ,UAAYgQ,EAAM9Y,aAAa8kB,kBAE9Cq+E,QAAS,SAAiBvgG,GACxB,OAAOA,EAAKd,QAEd4R,SAAU,SAAkB9Q,GAC1B,OAAOA,EAAKD,SAEdgR,QAAS,SAAiB/Q,GACxB,OAAOA,EAAKA,QAEdwgG,QAAS,SAAiBxgG,GACxB,OAAOA,EAAKmS,QAEdsuF,UAAW,SAAmBzgG,GAC5B,OAAOA,EAAKqT,UAEdqtF,UAAW,SAAmB1gG,GAC5B,OAAOA,EAAKsT,UAGdqtF,QAAS,SAAiB3gG,EAAMiW,GAE9B,OADYjW,EAAKkW,QACJvC,IAAIsC,EAAM,SAEzB2qF,SAAU,SAAkB5gG,EAAMiW,GAEhC,OADYjW,EAAKkW,QACJvC,IAAIsC,EAAM,UAEzB4qF,QAAS,SAAiB7gG,EAAMiW,GAE9B,OADYjW,EAAKkW,QACJvC,IAAIsC,EAAM,QAEzB6qF,QAAS,SAAiB9gG,EAAMd,GAE9B,OADYc,EAAKkW,QACJhX,KAAKA,IAEpB2E,SAAU,SAAkB7D,EAAMD,GAEhC,OADYC,EAAKkW,QACJnW,MAAMA,IAErBghG,QAAS,SAAiB/gG,EAAMkwB,GAE9B,OADYlwB,EAAKkW,QACJlW,KAAKkwB,IAEpB8wE,QAAS,SAAiBhhG,EAAMmS,GAE9B,OADYnS,EAAKkW,QACJ/D,KAAKA,IAEpB8uF,UAAW,SAAmBjhG,EAAMqT,GAElC,OADYrT,EAAKkW,QACJ7C,OAAOA,IAEtB6tF,UAAW,SAAmBlhG,EAAMsT,GAElC,OADYtT,EAAKkW,QACJ5C,OAAOA,IAGtB4D,QAAS,SAAiBiqF,EAAOC,GAC/B,OAAOD,EAAMjqF,QAAQkqF,IAEvBC,WAAY,SAAoBrhG,GAC9B,OAAOA,EAAKhI,WAEdvB,OAAQ,CACN6qG,gBAAiB,SAAyB7qG,GAExC,OADW,MAASA,OAAOA,GACf2G,aAAa8kB,kBAE3Bq/E,iBAAkB,SAA0B9qG,EAAQuJ,GAGlD,OAFYA,EAAKkW,QACEzf,OAAOA,GACZyP,QAAQ,IAExBs7F,QAAS,SAAiB/qG,EAAQuJ,GAGhC,OAFYA,EAAKkW,QACEzf,OAAOA,GACZwP,QAEhBw7F,iBAAkB,SAA0BhrG,GAE1C,OADW,MAASA,OAAOA,GACf2G,aAAa2J,eAE3B26F,eAAgB,SAAwBjrG,GAEtC,OADW,MAASA,OAAOA,GACf2G,aAAasF,eAE3BlM,OAAQ,SAAgBC,EAAQuJ,EAAM2hG,GAGpC,OAFY3hG,EAAKkW,QACEzf,OAAOA,GACZD,OAAOmrG,IAEvBjpD,MAAO,SAAejiD,EAAQg6B,EAAMjV,GAGlC,IAFA,IAAIomF,EAAqB,GAEhB1rG,EAAI,EAAGA,EAAIslB,EAAQ/lB,OAAQS,GAAK,EAAG,CAC1C,IAAIM,EAASglB,EAAQtlB,GACjB2rG,EAAapxE,EAEjB,GAAIj6B,EAAOsrG,SAAS,OAAStrG,EAAOsrG,SAAS,MAAO,CAElD,IAAIC,GADJvrG,EAASA,EAAOiH,QAAQ,MAAO,KAAKA,QAAQ,MAAO,MAC1BD,MAAM,uBAC3BwkG,EAAYH,EAAWrkG,MAAM,WAE7BukG,GAAeC,GACjBxrG,EAASurG,EAAY9mG,KAAK,IAC1B4mG,EAAaG,EAAU/mG,KAAK,KAE5B2mG,EAAmBxrG,KAAKI,EAAOiH,QAAQ,KAAM,KAIjD,IAAIuC,EAAO,IAAO6hG,EAAYrrG,EAAQC,GAAQ,GAE9C,GAAIuJ,EAAKhI,UACP,OAAOgI,EAKX,IAAK,IAAIrG,EAAK,EAAGA,EAAKioG,EAAmBnsG,OAAQkE,GAAM,EAAG,CACxD,IAAIsoG,EAAQ,IAAOxxE,EAAMmxE,EAAmBjoG,GAAKlD,GAAQ,GAIzD,GAAIwrG,EAAMjqG,UAER,OADA,oBAAS,EAAO,sGACTiqG,EAIX,OAAO,Q,uFChJTC,EAAgC,SAAUngG,EAAGoK,GAC/C,IAAInT,EAAI,GAER,IAAK,IAAIyrC,KAAK1iC,EACRlN,OAAOC,UAAUO,eAAeL,KAAK+M,EAAG0iC,IAAMt4B,EAAEnK,QAAQyiC,GAAK,IAAGzrC,EAAEyrC,GAAK1iC,EAAE0iC,IAG/E,GAAS,MAAL1iC,GAAqD,mBAAjClN,OAAOm1B,sBAA2C,KAAI9zB,EAAI,EAAb,IAAgBuuC,EAAI5vC,OAAOm1B,sBAAsBjoB,GAAI7L,EAAIuuC,EAAEhvC,OAAQS,IAClIiW,EAAEnK,QAAQyiC,EAAEvuC,IAAM,GAAKrB,OAAOC,UAAU80B,qBAAqB50B,KAAK+M,EAAG0iC,EAAEvuC,MAAK8C,EAAEyrC,EAAEvuC,IAAM6L,EAAE0iC,EAAEvuC,KAEhG,OAAO8C,GAiCM,EA1BI,SAAsBsJ,GACvC,IAAI6/F,EAEAC,EAAqB9/F,EAAG+/F,UACxB7gC,EAAYl/D,EAAGk/D,UACf8gC,EAAUhgG,EAAGggG,QACbC,EAAWjgG,EAAGigG,SACd5pE,EAAUr2B,EAAGq2B,QACb6pE,EAAYN,EAAO5/F,EAAI,CAAC,YAAa,YAAa,UAAW,WAAY,YAUzE+/F,GAAYI,EARQ,aAAiB,KACJA,cAOR,MAAOL,GAChCM,EAAM,IAAWL,GAAYF,EAAc,GAAI,YAAgBA,EAAa,GAAGr7F,OAAOu7F,EAAW,eAAe,GAAO,YAAgBF,EAAa,GAAGr7F,OAAOu7F,EAAW,sBAAuBC,GAAUH,GAAc3gC,GAC5N,OAAoB,gBAAoB,OAAQ,YAAS,GAAIghC,EAAW,CACtEhhC,UAAWkhC,EACX/pE,QATgB,SAAqBxsB,GACrCo2F,SAAoDA,GAAUD,GAC9D3pE,SAAkDA,EAAQxsB,Q,SClCnDw2F,EAAyB,YAAM,UAAW,aAAc,QAAS,UAAW,WAE5EC,EAAmB,YAAM,OAAQ,MAAO,SAAU,SAAU,OAAQ,QAAS,OAAQ,SAAU,WAAY,UAAW,UAAW,OAAQ,Q,SCChJ,EAAgC,SAAU7gG,EAAGoK,GAC/C,IAAInT,EAAI,GAER,IAAK,IAAIyrC,KAAK1iC,EACRlN,OAAOC,UAAUO,eAAeL,KAAK+M,EAAG0iC,IAAMt4B,EAAEnK,QAAQyiC,GAAK,IAAGzrC,EAAEyrC,GAAK1iC,EAAE0iC,IAG/E,GAAS,MAAL1iC,GAAqD,mBAAjClN,OAAOm1B,sBAA2C,KAAI9zB,EAAI,EAAb,IAAgBuuC,EAAI5vC,OAAOm1B,sBAAsBjoB,GAAI7L,EAAIuuC,EAAEhvC,OAAQS,IAClIiW,EAAEnK,QAAQyiC,EAAEvuC,IAAM,GAAKrB,OAAOC,UAAU80B,qBAAqB50B,KAAK+M,EAAG0iC,EAAEvuC,MAAK8C,EAAEyrC,EAAEvuC,IAAM6L,EAAE0iC,EAAEvuC,KAEhG,OAAO8C,GAWL6pG,EAAmB,IAAIrhG,OAAO,KAAKsF,OAAO87F,EAAiB3nG,KAAK,KAAM,kBACtE6nG,EAAyB,IAAIthG,OAAO,KAAKsF,OAAO67F,EAAuB1nG,KAAK,KAAM,OAElF,EAAc,SAAqBqH,EAAIo2B,GACzC,IAAIypE,EAEAC,EAAqB9/F,EAAG+/F,UACxB7gC,EAAYl/D,EAAGk/D,UACfj3C,EAAQjoB,EAAGioB,MACX8yD,EAAW/6E,EAAG+6E,SACd0lB,EAAOzgG,EAAGygG,KACVl+D,EAAQviC,EAAGuiC,MACXm+D,EAAU1gG,EAAG0gG,QACbC,EAAY3gG,EAAG2gG,UACfC,EAAc5gG,EAAG6gG,SACjBA,OAA2B,IAAhBD,GAAiCA,EAC5CltE,EAAQ,EAAO1zB,EAAI,CAAC,YAAa,YAAa,QAAS,WAAY,OAAQ,QAAS,UAAW,YAAa,aAE5G8gG,EAAoB,aAAiB,KACrCX,EAAeW,EAAkBX,aACjCrrF,EAAYgsF,EAAkBhsF,UAE9BisF,EAAkB,YAAe,GACjCC,EAAmB,YAAeD,EAAiB,GACnDE,EAAUD,EAAiB,GAC3BE,EAAaF,EAAiB,GAElC,aAAgB,WACV,YAAattE,GACfwtE,EAAWxtE,EAAMutE,WAElB,CAACvtE,EAAMutE,UAEV,IAAIE,EAAgB,WAClB,QAAK5+D,IAIEg+D,EAAiB5kG,KAAK4mC,IAAUi+D,EAAuB7kG,KAAK4mC,KAGjE6+D,EAAW,YAAS,CACtBjf,gBAAiB5/C,IAAU4+D,IAAkB5+D,OAAQnsC,GACpD6xB,GAECo5E,EAAcF,IACdpB,EAAYI,EAAa,MAAOL,GAChCwB,EAAe,IAAWvB,GAAYF,EAAc,GAAI,YAAgBA,EAAa,GAAGr7F,OAAOu7F,EAAW,KAAKv7F,OAAO+9B,GAAQ8+D,GAAc,YAAgBxB,EAAa,GAAGr7F,OAAOu7F,EAAW,cAAex9D,IAAU8+D,GAAc,YAAgBxB,EAAa,GAAGr7F,OAAOu7F,EAAW,YAAakB,GAAU,YAAgBpB,EAAa,GAAGr7F,OAAOu7F,EAAW,QAAuB,QAAdjrF,GAAsB+qF,GAAc3gC,GAE7YqiC,EAAmB,SAA0B13F,GAC/CA,EAAE23F,kBACFd,SAAkDA,EAAQ72F,GAEtDA,EAAE43F,kBAIA,YAAa/tE,GACjBwtE,GAAW,IAkBXQ,EAAa,YAAahuE,GAASqnD,GAA8B,MAAlBA,EAASr2D,KACxDi9E,EAAW,kBAAKjuE,EAAO,CAAC,YACxBkuE,EAAWnB,GAAQ,KACnBoB,EAAOD,EAAwB,gBAAoB,WAAgB,KAAMA,EAAuB,gBAAoB,OAAQ,KAAM7mB,IAAaA,EAC/I+mB,EAAuB,gBAAoB,OAAQ,YAAS,GAAIH,EAAU,CAC5EvrE,IAAKA,EACL8oC,UAAWoiC,EACXr5E,MAAOm5E,IACLS,EArBEhB,EACKF,EAAyB,gBAAoB,OAAQ,CAC1DzhC,UAAW,GAAG16D,OAAOu7F,EAAW,eAChC1pE,QAASkrE,GACRZ,GAA0B,gBAAoBoB,EAAA,EAAe,CAC9D7iC,UAAW,GAAG16D,OAAOu7F,EAAW,eAChC1pE,QAASkrE,IAIN,MAYT,OAAOG,EAA0B,gBAAoB,IAAM,KAAMI,GAAWA,GAG1EE,EAAmB,aAAiB,GACxCA,EAAIC,YAAc,MAClBD,EAAIE,aAAe,EACJ,Q,oCClHA,EADQ,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,mWAAuW,KAAQ,WAAY,MAAS,Y,QCK9hB,EAAmB,SAA0BxuE,EAAO0C,GACtD,OAAoB,gBAAoB+rE,EAAA,EAAU5vG,OAAOgwB,OAAO,GAAImR,EAAO,CACzE0C,IAAKA,EACLqqE,KAAM,MAIV,EAAiBwB,YAAc,mBACH,mBAAiB,GCZ9B,EADW,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,kLAAqL,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,yKAA6K,KAAQ,eAAgB,MAAS,YCKjkB,EAAsB,SAA6BvuE,EAAO0C,GAC5D,OAAoB,gBAAoB+rE,EAAA,EAAU5vG,OAAOgwB,OAAO,GAAImR,EAAO,CACzE0C,IAAKA,EACLqqE,KAAM,MAIV,EAAoBwB,YAAc,sBACN,mBAAiB,G,sGCZ9B,EADiB,gBAAoB,ICChDG,EAAe,CACjBC,WAAY,UAsDC,OAnDf,SAAgBxvE,GACd,IAAIktE,EAAYltE,EAAKktE,UACjBuC,EAAgBzvE,EAAK0vE,SACrBA,OAA6B,IAAlBD,EAA2B,IAAWA,EACjDE,EAAgB3vE,EAAK4vE,SACrBA,OAA6B,IAAlBD,EAA2B,IAAWA,EACjDE,EAAqB7vE,EAAK8vE,cAC1BA,OAAuC,IAAvBD,EAAgC,IAASA,EACzDE,EAAqB/vE,EAAKgwE,cAC1BA,OAAuC,IAAvBD,EAAgC,IAASA,EACzDE,EAAcjwE,EAAKiwE,YACnBC,EAAclwE,EAAKkwE,YACnBC,EAASnwE,EAAKmwE,OACdC,EAASpwE,EAAKowE,OACdloB,EAAWloD,EAAKkoD,SAEhB+lB,EAAoB,aAAiB,GACrCoC,EAAcpC,EAAkBoC,YAChCC,EAAcrC,EAAkBqC,YAEpC,OAAoB,gBAAoB,MAAO,CAC7CjkC,UAAW6gC,GACV+C,GAA4B,gBAAoB,SAAU,CAC3Dp+E,KAAM,SACN2R,QAASysE,EACTvsE,UAAW,EACX2oC,UAAW,GAAG16D,OAAOu7F,EAAW,mBAChC93E,MAAOk7E,EAAcf,EAAe,IACnCO,GAAgBK,GAAuB,gBAAoB,SAAU,CACtEt+E,KAAM,SACN2R,QAAS2sE,EACTzsE,UAAW,EACX2oC,UAAW,GAAG16D,OAAOu7F,EAAW,aAChC93E,MAAOk7E,EAAcf,EAAe,IACnCG,GAAwB,gBAAoB,MAAO,CACpDrjC,UAAW,GAAG16D,OAAOu7F,EAAW,UAC/BhlB,GAAWkoB,GAAuB,gBAAoB,SAAU,CACjEv+E,KAAM,SACN2R,QAAS4sE,EACT1sE,UAAW,EACX2oC,UAAW,GAAG16D,OAAOu7F,EAAW,aAChC93E,MAAOi7E,EAAcd,EAAe,IACnCK,GAAWM,GAA4B,gBAAoB,SAAU,CACtEr+E,KAAM,SACN2R,QAAS0sE,EACTxsE,UAAW,EACX2oC,UAAW,GAAG16D,OAAOu7F,EAAW,mBAChC93E,MAAOi7E,EAAcd,EAAe,IACnCS,KCvBU,OAzBf,SAAsBnvE,GACpB,IAAIqsE,EAAYrsE,EAAMqsE,UAClBqD,EAAiB1vE,EAAM0vE,eACvBC,EAAW3vE,EAAM2vE,SACjBC,EAAgB5vE,EAAM4vE,cACtBC,EAAgB7vE,EAAM6vE,cAK1B,GAHwB,aAAiB,GACNC,WAGjC,OAAO,KAGT,IAAIC,EAAkB,GAAGj/F,OAAOu7F,EAAW,WACvC2D,EAAaN,EAAenF,QAAQoF,GACpCM,EAAY7pG,KAAKiD,MAAM2mG,EAAaE,IAAyBA,GAC7DC,EAAUF,EAAYC,GAAwB,EAClD,OAAoB,gBAAoB,GAAQ,kBAAS,GAAIlwE,EAAO,CAClEqsE,UAAW0D,EACXX,YAAaQ,EACbP,YAAaQ,IACXI,EAAW,IAAKE,IC5Bf,SAAS,GAAQT,EAAgB1lG,EAAMmS,EAAMkB,EAAQC,GAC1D,IAAI8yF,EAAWV,EAAe1E,QAAQhhG,EAAMmS,GAG5C,OAFAi0F,EAAWV,EAAezE,UAAUmF,EAAU/yF,GAC9C+yF,EAAWV,EAAexE,UAAUkF,EAAU9yF,GAGzC,SAAS+yF,GAAYX,EAAgB1lG,EAAMsmG,GAChD,IAAKA,EACH,OAAOtmG,EAGT,IAAIumG,EAAUvmG,EAId,OAHAumG,EAAUb,EAAe1E,QAAQuF,EAASb,EAAelF,QAAQ8F,IACjEC,EAAUb,EAAezE,UAAUsF,EAASb,EAAejF,UAAU6F,IACrEC,EAAUb,EAAexE,UAAUqF,EAASb,EAAehF,UAAU4F,IAmBhE,SAASE,GAAWd,EAAgB1lG,GACzC,IAAId,EAAOwmG,EAAenF,QAAQvgG,GAC9BD,EAAQ2lG,EAAe50F,SAAS9Q,GAAQ,EACxCymG,EAAUf,EAAerF,WAAWqF,EAAetF,aAAa,GAAGt5F,OAAO5H,EAAM,KAAK4H,OAAO/G,EAAO,SACnGmK,EAAUw7F,EAAe30F,QAAQ01F,GACjCC,EAAY3mG,EAAQ,GAAK,IAAI+G,OAAO/G,GAAS,GAAG+G,OAAO/G,GAC3D,MAAO,GAAG+G,OAAO5H,EAAM,KAAK4H,OAAO4/F,EAAW,KAAK5/F,OAAOoD,GChC7C,SAASy8F,GAAUxxE,GA2BhC,IA1BA,IAAIktE,EAAYltE,EAAKktE,UACjBuE,EAAezxE,EAAKyxE,aACpBC,EAAW1xE,EAAK0xE,SAChBC,EAAS3xE,EAAK2xE,OACdC,EAAS5xE,EAAK4xE,OACdC,EAAS7xE,EAAK6xE,OACdC,EAAe9xE,EAAK8xE,aACpBC,EAAe/xE,EAAK+xE,aACpBC,EAAWhyE,EAAKgyE,SAChBC,EAAmBjyE,EAAKiyE,iBACxBC,EAAclyE,EAAKkyE,YACnBC,EAAcnyE,EAAKmyE,YACnBC,EAAcpyE,EAAKoyE,YACnB7B,EAAiBvwE,EAAKuwE,eACtB8B,EAAYryE,EAAKqyE,UACjBC,EAActyE,EAAKsyE,YAEnBrE,EAAoB,aAAiB,GACrCsE,EAAmBtE,EAAkBsE,iBACrCC,EAAmBvE,EAAkBuE,iBACrC79E,EAAOs5E,EAAkBt5E,KAEzB89E,EAAgB,GAAG9gG,OAAOu7F,EAAW,SAErCwF,EAAO,GAEF3xG,EAAI,EAAGA,EAAI6wG,EAAQ7wG,GAAK,EAAG,CAiDlC,IAhDA,IAAI4xG,EAAM,GACNC,OAAe,EAEfC,EAAQ,SAAen7F,GACzB,IAAIo7F,EAGA33F,EAAci3F,EAAYJ,EADjBjxG,EAAI8wG,EAASn6F,GAEtBq7F,EAAWC,GAAoB,CACjCC,SAAU93F,EACVwZ,KAAMA,EACN88E,aAAcA,EACdlB,eAAgBA,IAGR,IAAN74F,IACFk7F,EAAez3F,EAEX22F,GACFa,EAAI1xG,KAAK6wG,EAAac,KAI1B,IAAI5vE,EAAQqvE,GAAaA,EAAUl3F,GACnCw3F,EAAI1xG,KAAmB,gBAAoB,KAAM,CAC/C0E,IAAK+R,EACLsrB,MAAOA,EACPqpC,UAAW,IAAWomC,EAAe,mBAAeK,EAAiB,GAAI,kBAAgBA,EAAgB,GAAGnhG,OAAO8gG,EAAe,aAAcM,GAAW,kBAAgBD,EAAgB,GAAGnhG,OAAO8gG,EAAe,UAAwC,IAA7BP,EAAY/2F,IAAiC,SAAXw2F,GAAqBlZ,OAAOz1D,GAAS,IAAO,GAAI,kBAAgB8vE,EAAgB,GAAGnhG,OAAO8gG,EAAe,QAASzvE,IAAUquE,GAAWd,EAAgBp1F,IAA2B,SAAXw2F,GAAqBlZ,OAAOz1D,GAAS,IAAO,GAAI8vE,GAAiBb,EAAiB92F,KAC1fqoB,QAAS,WACFuvE,GACHrB,EAASv2F,IAGb+3F,aAAc,YACPH,GAAYR,GACfA,EAAiBp3F,IAGrBg4F,aAAc,YACPJ,GAAYP,GACfA,EAAiBr3F,KAGpBg3F,EAAcA,EAAYh3F,GAA4B,gBAAoB,MAAO,CAClFkxD,UAAW,GAAG16D,OAAO8gG,EAAe,WACnCP,EAAY/2F,OAGRzD,EAAI,EAAGA,EAAIm6F,EAAQn6F,GAAK,EAC/Bm7F,EAAMn7F,GAGRg7F,EAAKzxG,KAAmB,gBAAoB,KAAM,CAChD0E,IAAK5E,EACLsrE,UAAW0lC,GAAgBA,EAAaa,IACvCD,IAGL,OAAoB,gBAAoB,MAAO,CAC7CtmC,UAAW,GAAG16D,OAAOu7F,EAAW,UAClB,gBAAoB,QAAS,CAC3C7gC,UAAW,GAAG16D,OAAOu7F,EAAW,aAC/BoF,GAA4B,gBAAoB,QAAS,KAAmB,gBAAoB,KAAM,KAAMA,IAA4B,gBAAoB,QAAS,KAAMI,KCtDjK,OAnCf,SAAoB7xE,GAClB,IAAIuyE,EAAuBC,GAAmB,EAC1CnG,EAAYrsE,EAAMqsE,UAClBsD,EAAW3vE,EAAM2vE,SACjBD,EAAiB1vE,EAAM0vE,eACvBkC,EAAgB,GAAG9gG,OAAOu7F,EAAW,SACrC2D,EAAaN,EAAenF,QAAQoF,GACpC8C,EAAmBrsG,KAAKiD,MAAM2mG,EAAawC,IAAoBA,GAC/DE,EAAkBtsG,KAAKiD,MAAM2mG,EAAaE,IAAyBA,GACnEyC,EAAgBD,EAAkBxC,GAAwB,EAC1D0C,EAAiBlD,EAAe5E,QAAQ6E,EAAU+C,EAAkBtsG,KAAKgD,MAAMypG,GAAsCL,GAAmBtC,IAAyB,IAUrK,OAAoB,gBAAoBS,GAAW,kBAAS,GAAI3wE,EAAO,CACrE+wE,OAvBmB,EAwBnBC,OAzB0B,EA0B1BG,SAAUyB,EACVvB,YAAa,SAAqBrnG,GAChC,IAAI8oG,EAAoBpD,EAAenF,QAAQvgG,GAC/C,MAAO,GAAG8G,OAAOgiG,EAAmB,KAAKhiG,OAAOgiG,EAAoBP,IAEtEnB,iBAhBqB,SAA0BpnG,GAC/C,IAAIm1B,EAEA2zE,EAAoBpD,EAAenF,QAAQvgG,GAC3C+oG,EAAkBD,EAAoBP,EAC1C,OAAOpzE,EAAO,GAAI,kBAAgBA,EAAM,GAAGruB,OAAO8gG,EAAe,YAAac,GAAmBI,GAAqBC,GAAmBJ,GAAgB,kBAAgBxzE,EAAM,GAAGruB,OAAO8gG,EAAe,aAAckB,IAAsBL,GAAmBtzE,GAY/PoyE,YAAa,SAAqBvnG,EAAMsV,GACtC,OAAOowF,EAAe/E,QAAQ3gG,EAAMsV,EAASkzF,S,8BClC/CQ,GAAY,IAAIC,IAuBb,SAASC,GAAS1mE,EAASlpC,EAAI6a,GAMpC,GALI60F,GAAUlpG,IAAI0iC,IAChBuU,qBAAqBiyD,GAAUlpG,IAAI0iC,IAIjCruB,GAAY,EACd60F,GAAUltG,IAAI0mC,EAASsU,uBAAsB,WAC3CtU,EAAQ2mE,UAAY7vG,UAFxB,CAOA,IACI8vG,GADa9vG,EAAKkpC,EAAQ2mE,WACHh1F,EAAW,GACtC60F,GAAUltG,IAAI0mC,EAASsU,uBAAsB,WAC3CtU,EAAQ2mE,WAAaC,EAEjB5mE,EAAQ2mE,YAAc7vG,GACxB4vG,GAAS1mE,EAASlpC,EAAI6a,EAAW,SAIhC,SAASk1F,GAAqBC,EAAOn0E,GAC1C,IAAIo0E,EAAcp0E,EAAKo0E,YACnBC,EAAkBr0E,EAAKq0E,gBACvBC,EAAWt0E,EAAKs0E,SAChBC,EAAev0E,EAAKu0E,aACpBC,EAAUx0E,EAAKw0E,QACfC,EAAQN,EAAMM,MACdC,EAAUP,EAAMO,QAChBC,EAAUR,EAAMQ,QAEpB,OAAQF,GACN,KAAK,UAAQG,KACX,GAAIF,GAAWC,GACb,GAAIN,EAEF,OADAA,GAAiB,IACV,OAEJ,GAAID,EAET,OADAA,GAAa,IACN,EAKT,MAEF,KAAK,UAAQS,MACX,GAAIH,GAAWC,GACb,GAAIN,EAEF,OADAA,EAAgB,IACT,OAEJ,GAAID,EAET,OADAA,EAAY,IACL,EAKT,MAEF,KAAK,UAAQU,GACX,GAAIR,EAEF,OADAA,GAAU,IACH,EAKT,MAEF,KAAK,UAAQS,KACX,GAAIT,EAEF,OADAA,EAAS,IACF,EAKT,MAEF,KAAK,UAAQU,QACX,GAAIT,EAEF,OADAA,GAAc,IACP,EAKT,MAEF,KAAK,UAAQU,UACX,GAAIV,EAEF,OADAA,EAAa,IACN,EAKT,MAEF,KAAK,UAAQW,MACX,GAAIV,EAEF,OADAA,KACO,EAQb,OAAO,EAGF,SAASW,GAAiB9zG,EAAQswG,EAAQyD,EAAUC,GACzD,IAAIC,EAAej0G,EAEnB,IAAKi0G,EACH,OAAQ3D,GACN,IAAK,OACH2D,EAAeD,EAAa,aAAe,WAC3C,MAEF,IAAK,OACHC,EAAe,UACf,MAEF,IAAK,QACHA,EAAe,UACf,MAEF,IAAK,UACHA,EAAe,YACf,MAEF,IAAK,OACHA,EAAe,OACf,MAEF,QACEA,EAAeF,EAAW,sBAAwB,aAIxD,OAAOE,EAEF,SAASC,GAAa5D,EAAQtwG,EAAQkvG,GAC3C,IAAIiF,EAAyB,SAAX7D,EAAoB,EAAI,GACtCrxG,EAA2B,mBAAXe,EAAwBA,EAAOkvG,EAAevF,UAAU1qG,OAASe,EAAOf,OAC5F,OAAO2G,KAAKI,IAAImuG,EAAal1G,GAAU,EAEzC,IAAI,GAAkB,KAClBm1G,GAAiB,IAAIC,IAmCzB,IAgCWC,GAAgB,CACzB5rG,KAjCoB,SAAyB4N,GAC7C,MAAa,UAATA,GAA6B,SAATA,EACf,OAGFA,GA6BP/M,MA1BqB,SAA0B+M,GAC/C,MAAa,SAATA,EACK,QAGFA,GAsBPwH,QAnBuB,SAA4BxH,GACnD,MAAa,UAATA,GAA6B,SAATA,EACf,UAGFA,GAeP7G,KAZoB,SAAyB6G,GAC7C,MAAa,SAATA,EACK,OAGFA,GAQPyO,KAAM,KACNvb,KAAM,MAED,SAAS+qG,GAAiB76C,EAAUpoC,GACzC,OAAOooC,EAAS57D,MAAK,SAAU02G,GAC7B,OAAOA,GAAOA,EAAIC,SAASnjF,MC/PxB,IAAI0gF,GAAmB,GACnBtC,GAA2C,GAAnBsC,GA0DpB,OAxDf,SAAqBxyE,GACnB,IAAIqsE,EAAYrsE,EAAMqsE,UAClB6I,EAAmBl1E,EAAMk1E,iBACzBxF,EAAiB1vE,EAAM0vE,eACvBC,EAAW3vE,EAAM2vE,SACjBwF,EAAen1E,EAAMm1E,aACrBtE,EAAW7wE,EAAM6wE,SACjBuE,EAAgBp1E,EAAMo1E,cACtBC,EAAiB,GAAGvkG,OAAOu7F,EAAW,iBAE1C8I,EAAaxV,QAAU,CACrB2V,UAAW,SAAmBhC,GAC5B,OAAOD,GAAqBC,EAAO,CACjCC,YAAa,SAAqBtzF,GAChC4wF,EAASnB,EAAe/E,QAAQgF,EAAU1vF,EAAOuyF,IAAmB,QAEtEgB,gBAAiB,SAAyBvzF,GACxC4wF,EAASnB,EAAe/E,QAAQgF,EAAU1vF,EAAOiwF,IAAwB,QAE3EuD,SAAU,SAAkBxzF,GAC1B4wF,EAASnB,EAAe/E,QAAQgF,EAAU1vF,EAAOuyF,GFvB7B,GEuBmE,QAEzFmB,QAAS,WACPyB,EAAc,OAAQzF,QAM9B,IAAI4F,EAAkB,SAAyBt1F,GAC7C,IAAIswF,EAAUb,EAAe/E,QAAQgF,EAAU1vF,EAAOiwF,IACtDgF,EAAiB3E,GACjB6E,EAAc,KAAM7E,IAQtB,OAAoB,gBAAoB,MAAO,CAC7C/kC,UAAW6pC,GACG,gBAAoB,GAAc,kBAAS,GAAIr1E,EAAO,CACpEqsE,UAAWA,EACXuD,cAAe,WACb2F,GAAiB,IAEnB1F,cAAe,WACb0F,EAAgB,OAEF,gBAAoB,GAAY,kBAAS,GAAIv1E,EAAO,CACpEqsE,UAAWA,EACXwE,SAjBqB,SAA0B7mG,GAC/C6mG,EAAS7mG,EAAM,SACforG,EAAc,OAAQprG,SC3CnB,SAASwrG,GAAY3b,EAAQC,GAClC,OAAKD,IAAWC,MAIXD,IAAWC,SAAhB,EAiBK,SAAS2b,GAAW/F,EAAgBgG,EAAOC,GAChD,IAAIC,EAAQJ,GAAYE,EAAOC,GAE/B,MAAqB,kBAAVC,EACFA,EAGFlG,EAAenF,QAAQmL,KAAWhG,EAAenF,QAAQoL,GAE3D,SAASE,GAAWnG,EAAgB1lG,GAEzC,OADY5D,KAAKiD,MAAMqmG,EAAe50F,SAAS9Q,GAAQ,GACxC,EAEV,SAAS8rG,GAAcpG,EAAgBqG,EAAUC,GACtD,IAAIJ,EAAQJ,GAAYO,EAAUC,GAElC,MAAqB,kBAAVJ,EACFA,EAGFH,GAAW/F,EAAgBqG,EAAUC,IAAaH,GAAWnG,EAAgBqG,KAAcF,GAAWnG,EAAgBsG,GAExH,SAASC,GAAYvG,EAAgBwG,EAAQC,GAClD,IAAIP,EAAQJ,GAAYU,EAAQC,GAEhC,MAAqB,kBAAVP,EACFA,EAGFH,GAAW/F,EAAgBwG,EAAQC,IAAWzG,EAAe50F,SAASo7F,KAAYxG,EAAe50F,SAASq7F,GAE5G,SAASC,GAAW1G,EAAgBvE,EAAOC,GAChD,IAAIwK,EAAQJ,GAAYrK,EAAOC,GAE/B,MAAqB,kBAAVwK,EACFA,EAGFlG,EAAenF,QAAQY,KAAWuE,EAAenF,QAAQa,IAAUsE,EAAe50F,SAASqwF,KAAWuE,EAAe50F,SAASswF,IAAUsE,EAAe30F,QAAQowF,KAAWuE,EAAe30F,QAAQqwF,GAWnM,SAASiL,GAAW3G,EAAgBjvG,EAAQ0qG,EAAOC,GACxD,IAAIwK,EAAQJ,GAAYrK,EAAOC,GAE/B,MAAqB,kBAAVwK,EACFA,EAGFlG,EAAejvG,OAAO+qG,QAAQ/qG,EAAQ0qG,KAAWuE,EAAejvG,OAAO+qG,QAAQ/qG,EAAQ2qG,GAEzF,SAASkL,GAAQ5G,EAAgB7V,EAAQC,GAC9C,OAAOsc,GAAW1G,EAAgB7V,EAAQC,IAnBrC,SAAoB4V,EAAgB6G,EAAOC,GAChD,IAAIZ,EAAQJ,GAAYe,EAAOC,GAE/B,MAAqB,kBAAVZ,EACFA,EAGFlG,EAAelF,QAAQ+L,KAAW7G,EAAelF,QAAQgM,IAAU9G,EAAejF,UAAU8L,KAAW7G,EAAejF,UAAU+L,IAAU9G,EAAehF,UAAU6L,KAAW7G,EAAehF,UAAU8L,GAYzJC,CAAW/G,EAAgB7V,EAAQC,GAInF,SAASnhB,GAAU+2B,EAAgBgH,EAAWjG,EAAS9Q,GAC5D,SAAK+W,GAAcjG,GAAY9Q,MAIvByW,GAAW1G,EAAgBgH,EAAW/W,KAAayW,GAAW1G,EAAgBe,EAAS9Q,IAAY+P,EAAexuF,QAAQy+E,EAAS+W,IAAchH,EAAexuF,QAAQuvF,EAAS9Q,IAcpL,SAASgX,GAAmBhH,EAAUmB,EAAQpB,GACnD,IAAIpwF,EAAS7gB,UAAUgB,OAAS,QAAsBiD,IAAjBjE,UAAU,GAAmBA,UAAU,GAAK,EAEjF,OAAQqyG,GACN,IAAK,OACH,OAAOpB,EAAe/E,QAAQgF,EAAmB,GAATrwF,GAE1C,IAAK,UACL,IAAK,QACH,OAAOowF,EAAe/E,QAAQgF,EAAUrwF,GAE1C,QACE,OAAOowF,EAAe9E,SAAS+E,EAAUrwF,IAGxC,SAASs3F,GAAYntG,EAAO01B,GACjC,IAAIuwE,EAAiBvwE,EAAKuwE,eACtBjvG,EAAS0+B,EAAK1+B,OACdD,EAAS2+B,EAAK3+B,OAClB,MAAyB,mBAAXA,EAAwBA,EAAOiJ,GAASimG,EAAejvG,OAAOD,OAAOC,EAAOA,OAAQgJ,EAAOjJ,GAEpG,SAASq2G,GAAWptG,EAAOqtG,GAChC,IAAIpH,EAAiBoH,EAAMpH,eACvBjvG,EAASq2G,EAAMr2G,OACfs2G,EAAaD,EAAMC,WAEvB,OAAKttG,GAAkC,mBAAlBstG,EAAW,GAIzBrH,EAAejvG,OAAOiiD,MAAMjiD,EAAOA,OAAQgJ,EAAOstG,GAHhD,KAMJ,SAAS5E,GAAoB6E,GAClC,IAAI5E,EAAW4E,EAAM5E,SACjBt+E,EAAOkjF,EAAMljF,KACb88E,EAAeoG,EAAMpG,aACrBlB,EAAiBsH,EAAMtH,eAC3B,IAAKkB,EAAc,OAAO,EAE1B,IAAIqG,EAAuB,SAA8BC,EAAaxS,EAAOtO,GAG3E,IAFA,IAAIuJ,EAAU+E,EAEP/E,GAAWvJ,GAAK,CACrB,IAAIpsF,OAAO,EAEX,OAAQktG,GACN,IAAK,OAID,GAFAltG,EAAO0lG,EAAe3E,QAAQqH,EAAUzS,IAEnCiR,EAAa5mG,GAChB,OAAO,EAGT,MAGJ,IAAK,QAID,IAAKmoG,GAAoB,CACvBC,SAHFpoG,EAAO0lG,EAAe7hG,SAASukG,EAAUzS,GAIvC7rE,KAAM,QACN47E,eAAgBA,EAChBkB,aAAcA,IAEd,OAAO,EAGT,MAGJ,IAAK,OAID,IAAKuB,GAAoB,CACvBC,SAHFpoG,EAAO0lG,EAAe5E,QAAQsH,EAAUzS,GAItC7rE,KAAM,OACN47E,eAAgBA,EAChBkB,aAAcA,IAEd,OAAO,EAOfjR,GAAW,EAGb,OAAO,GAGT,OAAQ7rE,GACN,IAAK,OACL,IAAK,OAED,OAAO88E,EAAawB,GAGxB,IAAK,QAID,OAAO6E,EAAqB,OAFZ,EACFvH,EAAe30F,QAAQ20F,EAAerF,WAAW+H,KAInE,IAAK,UAED,IAAI+E,EAAiE,EAApD/wG,KAAKiD,MAAMqmG,EAAe50F,SAASs3F,GAAY,GAEhE,OAAO6E,EAAqB,QAASE,EADtBA,EAAa,GAIhC,IAAK,OAED,OAAOF,EAAqB,QAAS,EAAG,IAG5C,IAAK,SAED,IAAI/tG,EAAOwmG,EAAenF,QAAQ6H,GAC9BnC,EAAY7pG,KAAKiD,MAAMH,EAAOspG,IAAoBA,GAEtD,OAAOyE,EAAqB,OAAQhH,EADtBA,EAAYuC,GAAmB,IC7MtC,OAvBf,SAAoBxyE,GAIlB,GAHwB,aAAiB,GACN8vE,WAGjC,OAAO,KAGT,IAAIzD,EAAYrsE,EAAMqsE,UAClBqD,EAAiB1vE,EAAM0vE,eACvBjvG,EAASu/B,EAAMv/B,OACfgJ,EAAQu2B,EAAMv2B,MACdjJ,EAASw/B,EAAMx/B,OACfuvG,EAAkB,GAAGj/F,OAAOu7F,EAAW,WAC3C,OAAoB,gBAAoB,GAAQ,CAC9CA,UAAW0D,GACVtmG,EAAQmtG,GAAYntG,EAAO,CAC5BhJ,OAAQA,EACRD,OAAQA,EACRkvG,eAAgBA,IACb,M,UCsDQ,OAxEf,SAAwB1vE,GACtB,IAAIqsE,EAAYrsE,EAAMqsE,UAClB5jG,EAAQu3B,EAAMv3B,MACdooG,EAAW7wE,EAAM6wE,SACjBpnG,EAAQu2B,EAAMv2B,MACd+yF,EAASx8D,EAAMw8D,OACf4a,EAAsBp3E,EAAMo3E,oBAC5BxF,EAAgB,GAAG9gG,OAAOu7F,EAAW,SAGrCx3E,EADoB,aAAiB,GACZA,KAEzBwiF,EAAQ,iBAAO,MACfC,EAAS,iBAAO,IAAIrE,KACpBsE,EAAY,mBA0BhB,OAxBA,2BAAgB,WACd,IAAIC,EAAKF,EAAO3X,QAAQ71F,IAAIL,GAExB+tG,IAAe,IAAT3iF,GACRq+E,GAASmE,EAAM1X,QAAS6X,EAAGC,UAAW,OAEvC,CAAChuG,IACJ,2BAAgB,WACd,GAAIorB,EAAM,CACR,IAAI2iF,EAAKF,EAAO3X,QAAQ71F,IAAIL,GAExB+tG,IACFD,EAAU5X,SJ5BenzD,EI4BYgrE,EJ5BHtwG,EI4BO,WACvCgsG,GAASmE,EAAM1X,QAAS6X,EAAGC,UAAW,IJ1B9C,SAASC,IACH,mBAAUlrE,GACZtlC,IAEAusB,EAAK,oBAAI,WACPikF,OAKNA,GACO,WACL,WAAIC,OAAOlkF,MAfR,IAA0B+Y,EAAStlC,EACpCusB,EIiCF,OAAO,WACL,IAAImkF,EAEyC,QAA5CA,EAAqBL,EAAU5X,eAA4C,IAAvBiY,GAAyCA,EAAmB54G,KAAKu4G,MAEvH,CAAC1iF,IACgB,gBAAoB,KAAM,CAC5C22C,UAAW,IAAW,GAAG16D,OAAOu7F,EAAW,WAAY,kBAAgB,GAAI,GAAGv7F,OAAOu7F,EAAW,kBAAmB7P,IACnH95D,IAAK20E,EACL9iF,MAAO,CACLkY,SAAU,aAEXhkC,EAAM1I,KAAI,SAAUqI,GACrB,IAAIyvG,EAEJ,OAAIT,GAAuBhvG,EAAK8pG,SACvB,KAGW,gBAAoB,KAAM,CAC5CptG,IAAKsD,EAAKqB,MACVi5B,IAAK,SAAa8J,GAChB8qE,EAAO3X,QAAQ75F,IAAIsC,EAAKqB,MAAO+iC,IAEjCg/B,UAAW,IAAWomC,GAAgBiG,EAAe,GAAI,kBAAgBA,EAAc,GAAG/mG,OAAO8gG,EAAe,aAAcxpG,EAAK8pG,UAAW,kBAAgB2F,EAAc,GAAG/mG,OAAO8gG,EAAe,aAAcnoG,IAAUrB,EAAKqB,OAAQouG,IAC1Ol1E,QAAS,WACHv6B,EAAK8pG,UAITrB,EAASzoG,EAAKqB,SAEF,gBAAoB,MAAO,CACzC+hE,UAAW,GAAG16D,OAAO8gG,EAAe,WACnCxpG,EAAK0vG,aC3EL,SAASC,GAAQ1+E,EAAK55B,GAI3B,IAHA,IAAI6pF,EAAO7qF,UAAUgB,OAAS,QAAsBiD,IAAjBjE,UAAU,GAAmBA,UAAU,GAAK,IAC3EkhG,EAAU/9E,OAAOyX,GAEdsmE,EAAQlgG,OAASA,GACtBkgG,EAAU,GAAG7uF,OAAOw4E,GAAMx4E,OAAOuoB,GAGnC,OAAOsmE,EASF,SAASp4E,GAAQ9jB,GACtB,OAAIA,QACK,GAGF7E,MAAMF,QAAQ+E,GAAOA,EAAM,CAACA,GAEtB,SAASu0G,GAAmBh4E,GACzC,IAAIi4E,EAAW,GAMf,OALAp5G,OAAOuG,KAAK46B,GAAOrpB,SAAQ,SAAU7R,GACT,UAArBA,EAAI2B,OAAO,EAAG,IAAuC,UAArB3B,EAAI2B,OAAO,EAAG,IAA0B,SAAR3B,GAA0B,SAARA,GAAwC,YAArBA,EAAI2B,OAAO,EAAG,KACtHwxG,EAASnzG,GAAOk7B,EAAMl7B,OAGnBmzG,EAEF,SAAS3nE,GAASl6B,EAAQsU,GAC/B,OAAOtU,EAASA,EAAOsU,GAAS,KAE3B,SAASwtF,GAAa9hG,EAAQ3M,EAAOihB,GAC1C,IAAIytF,EAAY,CAAC7nE,GAASl6B,EAAQ,GAAIk6B,GAASl6B,EAAQ,IAGvD,OAFA+hG,EAAUztF,GAA0B,mBAAVjhB,EAAuBA,EAAM0uG,EAAUztF,IAAUjhB,EAEtE0uG,EAAU,IAAOA,EAAU,GAIzBA,EAHE,KCjCX,SAASC,GAAkBC,EAAWC,GACpC,GAAID,EAAU54G,SAAW64G,EAAU74G,OAAQ,OAAO,EAElD,IAAK,IAAIS,EAAI,EAAGA,EAAIm4G,EAAU54G,OAAQS,GAAK,EACzC,GAAIm4G,EAAUn4G,GAAGgyG,WAAaoG,EAAUp4G,GAAGgyG,SAAU,OAAO,EAG9D,OAAO,EAGT,SAASqG,GAAc7T,EAAOtO,EAAKjwD,EAAMqyE,GAGvC,IAFA,IAAI/vG,EAAQ,GAEHvI,EAAIwkG,EAAOxkG,GAAKk2F,EAAKl2F,GAAKimC,EACjC19B,EAAMrI,KAAK,CACT03G,MAAOC,GAAQ73G,EAAG,GAClBuJ,MAAOvJ,EACPgyG,UAAWsG,GAAiB,IAAI1M,SAAS5rG,KAI7C,OAAOuI,EAqLM,OAlLf,SAAkBu3B,GAChB,IAuBI1sB,EAvBAo8F,EAAiB1vE,EAAM0vE,eACvBrD,EAAYrsE,EAAMqsE,UAClB8I,EAAen1E,EAAMm1E,aACrBsD,EAAoBz4E,EAAMy4E,kBAC1BhvG,EAAQu2B,EAAMv2B,MACdivG,EAAW14E,EAAM04E,SACjBC,EAAa34E,EAAM24E,WACnBC,EAAa54E,EAAM44E,WACnBpE,EAAax0E,EAAMw0E,WACnBqE,EAAkB74E,EAAM84E,SACxBA,OAA+B,IAApBD,EAA6B,EAAIA,EAC5CE,EAAoB/4E,EAAMg5E,WAC1BA,OAAmC,IAAtBD,EAA+B,EAAIA,EAChDE,EAAoBj5E,EAAMk5E,WAC1BA,OAAmC,IAAtBD,EAA+B,EAAIA,EAChDE,EAAgBn5E,EAAMm5E,cACtBC,EAAkBp5E,EAAMo5E,gBACxBC,EAAkBr5E,EAAMq5E,gBACxBjC,EAAsBp3E,EAAMo3E,oBAC5BvG,EAAW7wE,EAAM6wE,SACjByI,EAAU,GACVC,EAAmB,GAAGzoG,OAAOu7F,EAAW,YACxCmN,EAAkB,GAAG1oG,OAAOu7F,EAAW,eAEvCoN,EAAahwG,EAAQimG,EAAelF,QAAQ/gG,IAAU,EACtD0S,EAAOs9F,EACPp8F,EAAS5T,EAAQimG,EAAejF,UAAUhhG,IAAU,EACpD6T,EAAS7T,EAAQimG,EAAehF,UAAUjhG,IAAU,EAEpD0W,EAAU,SAAiBu5F,EAASC,EAASC,EAAWC,GAC1D,IAAItJ,EAAU9mG,GAASimG,EAAevF,SAClC2P,EAAa1zG,KAAKI,IAAI,EAAGmzG,GACzBI,EAAe3zG,KAAKI,IAAI,EAAGozG,GAC3BI,EAAe5zG,KAAKI,IAAI,EAAGqzG,GAE/B,OADAtJ,EAAU,GAAYb,EAAgBa,EAAUiE,GAAekF,EAAuBI,EAAa,GAA1BA,EAA8BC,EAAcC,IAKnHC,EAAW1B,GAAc,EAAG,GAAIO,EAAUK,GAAiBA,KAC3De,EAAoB,oBAAQ,WAC9B,OAAOD,IACNA,EAAU7B,IAET5D,IACFlhG,EAAO6I,GAAQ,GAEfA,GAAQ,IAGV,IAAIg+F,EAAiB,WAAc,WACjC,IAAK3F,EACH,MAAO,EAAC,GAAO,GAGjB,IAAI4F,EAAe,EAAC,GAAM,GAY1B,OAXAF,EAAkBvjG,SAAQ,SAAUwoB,GAClC,IAAI+yE,EAAW/yE,EAAK+yE,SAChBmI,EAAYl7E,EAAK11B,MACjByoG,IAEAmI,GAAa,GACfD,EAAa,IAAK,EAElBA,EAAa,IAAK,MAGfA,IACN,CAAC5F,EAAY0F,IACZI,EAAkB,kBAAeH,EAAgB,GACjDI,EAAaD,EAAgB,GAC7BE,EAAaF,EAAgB,GAE7BxnG,EAAQ,WAAc,WACxB,OAAK0hG,EACE0F,EAAkBl4F,OAAO1O,EAAO,SAAUmnG,GAC/C,OAAOA,EAAShxG,OAAS,IACvB,SAAUgxG,GACZ,OAAOA,EAAShxG,MAAQ,KACvB1J,KAAI,SAAU06G,GACf,IAAIJ,EAAYI,EAAShxG,MAAQ,GAC7BixG,EAA0B,IAAdL,EAAkB,KAAOtC,GAAQsC,EAAW,GAC5D,OAAO,kBAAc,kBAAc,GAAII,GAAW,GAAI,CACpD3C,MAAO4C,EACPjxG,MAAO4wG,OAVaH,IAavB,CAAC1F,EAAYlhG,EAAM4mG,IAClBlnG,EAAUulG,GAAc,EAAG,GAAIS,EAAYI,GAAmBA,EAAgBK,IAC9EtmG,EAAUolG,GAAc,EAAG,GAAIW,EAAYG,GAAmBA,EAAgBI,EAAYp8F,IAwB9F,SAASs9F,EAAcC,EAAW/1D,EAAMg2D,EAAapyG,EAAOqyG,IACxC,IAAdF,GACFtB,EAAQl5G,KAAK,CACXykD,KAAmB,eAAmBA,EAAM,CAC1CwnD,UAAWmN,EACX/vG,MAAOoxG,EACPre,OAAQic,IAAsBa,EAAQ75G,OACtCoxG,SAAUiK,EACVryG,MAAOA,EACP2uG,oBAAqBA,IAEvBvG,SAAUiK,EACVrxG,MAAOoxG,EACPpyG,MAAOA,IAnCb0sG,EAAaxV,QAAU,CACrB8T,SAAU,SAAkBxzF,GAC1B,IAAI86F,EAASzB,EAAQb,GAErB,GAAIsC,EAMF,IALA,IAAIC,EAAaD,EAAOtyG,MAAMwyG,WAAU,SAAU7yG,GAChD,OAAOA,EAAKqB,QAAUsxG,EAAOtxG,SAE3ByxG,EAAUH,EAAOtyG,MAAMhJ,OAElBS,EAAI,EAAGA,EAAIg7G,EAASh7G,GAAK,EAAG,CACnC,IAAIi7G,EAAWJ,EAAOtyG,OAAOuyG,EAAa/6F,EAAO/f,EAAIg7G,GAAWA,GAEhE,IAA0B,IAAtBC,EAASjJ,SAAmB,CAC9B6I,EAAOlK,SAASsK,EAAS1xG,OACzB,UA0BVkxG,EAAcjC,EAAuB,gBAAoB,GAAgB,CACvE5zG,IAAK,SACHqX,EAAMrJ,GAAO,SAAUonB,GACzB22E,EAAS1wF,EAAQ7M,EAAM4mB,EAAK7c,EAAQC,GAAS,YAG/Cq9F,EAAchC,EAAyB,gBAAoB,GAAgB,CACzE7zG,IAAK,WACHuY,EAAQrK,GAAS,SAAUknB,GAC7B22E,EAAS1wF,EAAQ7M,EAAM6I,EAAM+d,EAAK5c,GAAS,YAG7Cq9F,EAAc/B,EAAyB,gBAAoB,GAAgB,CACzE9zG,IAAK,WACHwY,EAAQnK,GAAS,SAAU+mB,GAC7B22E,EAAS1wF,EAAQ7M,EAAM6I,EAAMkB,EAAQ6c,GAAM,YAG7C,IAAIkhF,GAAW,EAmBf,MAjBoB,kBAAT9nG,IACT8nG,EAAU9nG,EAAO,EAAI,GAGvBqnG,GAA6B,IAAfnG,EAAkC,gBAAoB,GAAgB,CAClF1vG,IAAK,YACHs2G,EAAS,CAAC,CACZtD,MAAO,KACPruG,MAAO,EACPyoG,SAAUqI,GACT,CACDzC,MAAO,KACPruG,MAAO,EACPyoG,SAAUsI,KACR,SAAUtgF,GACZ22E,EAAS1wF,IAAU+Z,EAAK/d,EAAMkB,EAAQC,GAAS,YAE7B,gBAAoB,MAAO,CAC7CkuD,UAAW+tC,GACVD,EAAQv5G,KAAI,SAAU+2G,GAEvB,OADWA,EAAMjyD,UCpIN,OA1Df,SAAmB7kB,GACjB,IAAI0vE,EAAiB1vE,EAAM0vE,eACvB2L,EAAgBr7E,EAAMx/B,OACtBA,OAA2B,IAAlB66G,EAA2B,WAAaA,EACjDhP,EAAYrsE,EAAMqsE,UAClB7P,EAASx8D,EAAMw8D,OACf2Y,EAAen1E,EAAMm1E,aACrBuD,EAAW14E,EAAM04E,SACjBC,EAAa34E,EAAM24E,WACnBC,EAAa54E,EAAM44E,WACnB0C,EAAoBt7E,EAAMw0E,WAC1BA,OAAmC,IAAtB8G,GAAuCA,EACpDzK,EAAW7wE,EAAM6wE,SACjBpnG,EAAQu2B,EAAMv2B,MACd4rG,EAAiB,GAAGvkG,OAAOu7F,EAAW,eACtCkP,EAAmB,WAEnBlO,EAAkB,YAAgB,GAClCC,EAAmB,kBAAeD,EAAiB,GACnDoL,EAAoBnL,EAAiB,GACrCkO,EAAuBlO,EAAiB,GAExCmO,EAA4B,CAAC/C,EAAUC,EAAYC,EAAYpE,GA3BnDxyF,QAAO,SAAUmhB,GAC/B,OAAgB,IAATA,KACN1jC,OAiDH,OAvBA01G,EAAaxV,QAAU,CACrB2V,UAAW,SAAmBhC,GAC5B,OAAOD,GAAqBC,EAAO,CACjCC,YAAa,SAAqBtzF,GAChCu7F,GAAsB/C,EAAoBx4F,EAAOw7F,GAAgBA,IAEnEhI,SAAU,SAAkBxzF,IACC,IAAvBw4F,EACF+C,EAAqB,GACZD,EAAiB5b,SAC1B4b,EAAiB5b,QAAQ8T,SAASxzF,IAGtC0zF,QAAS,WACP9C,EAASpnG,GAASimG,EAAevF,SAAU,OAC3CqR,GAAsB,OAI5BE,OAAQ,WACNF,GAAsB,KAGN,gBAAoB,MAAO,CAC7ChwC,UAAW,IAAW6pC,EAAgB,kBAAgB,GAAI,GAAGvkG,OAAOukG,EAAgB,WAAY7Y,KAClF,gBAAoB,GAAY,kBAAS,GAAIx8D,EAAO,CAClEx/B,OAAQA,EACR6rG,UAAWA,KACK,gBAAoB,GAAU,kBAAS,GAAIrsE,EAAO,CAClEqsE,UAAWA,EACXoM,kBAAmBA,EACnBtD,aAAcoG,OCnEH,GADiB,gBAAoB,ICErC,SAASI,GAAiBx8E,GACvC,IAAIyyE,EAAgBzyE,EAAKyyE,cACrBlC,EAAiBvwE,EAAKuwE,eACtBkM,EAAcz8E,EAAKy8E,YACnBC,EAAmB18E,EAAK08E,iBACxBC,EAAW38E,EAAK28E,SAChBC,EAAa58E,EAAK48E,WAClBC,EAAa78E,EAAK68E,WAClBC,EAAQ98E,EAAK88E,MACbxyG,EAAQ01B,EAAK11B,MA4BjB,OA1BA,SAAsB6Q,GACpB,IAAIw8F,EAEAoF,EAAWF,EAAW1hG,GAAc,GACpC6hG,EAAWH,EAAW1hG,EAAa,GACnC8hG,EAAa9rE,GAASsrE,EAAa,GACnCS,EAAW/rE,GAASsrE,EAAa,GACjCU,EAAahsE,GAASurE,EAAkB,GACxCU,EAAWjsE,GAASurE,EAAkB,GACtCW,EAAiB7jC,GAAU+2B,EAAgB4M,EAAYC,EAAUjiG,GAErE,SAASmiG,EAAazyG,GACpB,OAAO+xG,EAAWK,EAAYpyG,GAGhC,SAAS0yG,EAAW1yG,GAClB,OAAO+xG,EAAWM,EAAUryG,GAG9B,IAAI2yG,EAAeZ,EAAWO,EAAYhiG,GACtCsiG,EAAab,EAAWQ,EAAUjiG,GAClCuiG,GAAoBL,GAAkBI,MAAiBd,EAASI,IAAaQ,EAAWR,IACxFY,GAAkBN,GAAkBG,MAAmBb,EAASK,IAAaM,EAAaN,IAC9F,OAAOrF,EAAQ,GAAI,kBAAgBA,EAAO,GAAGhmG,OAAO8gG,EAAe,YAAakK,EAASxhG,IAAe,kBAAgBw8F,EAAO,GAAGhmG,OAAO8gG,EAAe,aAAcj5B,GAAU+2B,EAAgB0M,EAAYC,EAAU/hG,IAAe,kBAAgBw8F,EAAO,GAAGhmG,OAAO8gG,EAAe,gBAAiB6K,EAAaniG,IAAe,kBAAgBw8F,EAAO,GAAGhmG,OAAO8gG,EAAe,cAAe8K,EAAWpiG,IAAe,kBAAgBw8F,EAAO,GAAGhmG,OAAO8gG,EAAe,uBAAwB6K,EAAaniG,KAAiB+hG,GAAW,kBAAgBvF,EAAO,GAAGhmG,OAAO8gG,EAAe,qBAAsB8K,EAAWpiG,KAAiB8hG,GAAa,kBAAgBtF,EAAO,GAAGhmG,OAAO8gG,EAAe,2BAA4B6K,EAAaniG,KAAiByhG,EAAWG,EAAUI,IAAe3jC,GAAU+2B,EAAgB4M,EAAYC,EAAUL,KAAa,kBAAgBpF,EAAO,GAAGhmG,OAAO8gG,EAAe,yBAA0B8K,EAAWpiG,KAAiByhG,EAAWI,EAAUI,IAAa5jC,GAAU+2B,EAAgB4M,EAAYC,EAAUJ,KAAa,kBAAgBrF,EAAO,GAAGhmG,OAAO8gG,EAAe,gBAAiB4K,GAAiB,kBAAgB1F,EAAO,GAAGhmG,OAAO8gG,EAAe,sBAAuB+K,GAAe,kBAAgB7F,EAAO,GAAGhmG,OAAO8gG,EAAe,oBAAqBgL,GAAa,kBAAgB9F,EAAO,GAAGhmG,OAAO8gG,EAAe,2BAA4BiL,GAAmB,kBAAgB/F,EAAO,GAAGhmG,OAAO8gG,EAAe,yBAA0BkL,GAAiB,kBAAgBhG,EAAO,GAAGhmG,OAAO8gG,EAAe,sCAAuCiL,GAAoBd,EAAWG,EAAUG,IAAY,kBAAgBvF,EAAO,GAAGhmG,OAAO8gG,EAAe,oCAAqCkL,GAAkBf,EAAWI,EAAUC,IAAc,kBAAgBtF,EAAO,GAAGhmG,OAAO8gG,EAAe,UAAWmK,EAAWE,EAAO3hG,IAAe,kBAAgBw8F,EAAO,GAAGhmG,OAAO8gG,EAAe,aAAcmK,EAAWtyG,EAAO6Q,IAAew8F,GC6Cr4D,OA3Ef,SAAkB92E,GAChB,IAAIqsE,EAAYrsE,EAAMqsE,UAClBqD,EAAiB1vE,EAAM0vE,eACvBuB,EAAejxE,EAAMixE,aACrBxwG,EAASu/B,EAAMv/B,OACfs8G,EAAW/8E,EAAM+8E,SACjBpN,EAAW3vE,EAAM2vE,SACjBlmG,EAAQu2B,EAAMv2B,MACduzG,EAAah9E,EAAMg9E,WAEnB5P,EAAoB,aAAiB,IACrCwO,EAAcxO,EAAkBwO,YAChCC,EAAmBzO,EAAkByO,iBAErC1K,ERyEC,SAA0B1wG,EAAQivG,EAAgBjmG,GACvD,IAAIwzG,EAAevN,EAAejvG,OAAO6qG,gBAAgB7qG,GACrDy8G,EAAiBxN,EAAe3E,QAAQthG,EAAO,GAC/C0zG,EAAmBzN,EAAepF,WAAW4S,GAC7CE,EAAiB1N,EAAe7E,QAAQqS,EAAgBD,EAAeE,GAM3E,OAJIzN,EAAe50F,SAASsiG,KAAoB1N,EAAe50F,SAASrR,IAAUimG,EAAe30F,QAAQqiG,GAAkB,IACzHA,EAAiB1N,EAAe7E,QAAQuS,GAAiB,IAGpDA,EQnFQC,CAAiB58G,EAAOA,OAAQivG,EAAgBC,GAC3DiC,EAAgB,GAAG9gG,OAAOu7F,EAAW,SACrC4Q,EAAevN,EAAejvG,OAAO6qG,gBAAgB7qG,EAAOA,QAC5Dw7G,EAAQvM,EAAevF,SAEvBsH,EAAc,GACd6L,EAAiB78G,EAAO88G,gBAAkB7N,EAAejvG,OAAOgrG,iBAAmBiE,EAAejvG,OAAOgrG,iBAAiBhrG,EAAOA,QAAU,IAE3IwwG,GACFQ,EAAYrxG,KAAmB,gBAAoB,KAAM,CACvD0E,IAAK,QACL,aAAc,gBAIlB,IAAK,IAAI5E,EAAI,EAAGA,ERnCU,EQmCUA,GAAK,EACvCuxG,EAAYrxG,KAAmB,gBAAoB,KAAM,CACvD0E,IAAK5E,GACJo9G,GAAgBp9G,EAAI+8G,GRtCC,KQ0C1B,IAAI7L,EAAmBuK,GAAiB,CACtC/J,cAAeA,EACfqK,MAAOA,EACPxyG,MAAOA,EACPimG,eAAgBA,EAChBkM,YAAa3K,EAAe,KAAO2K,EACnCC,iBAAkB5K,EAAe,KAAO4K,EACxCE,WAAY,SAAoBpc,EAAS7tE,GACvC,OAAOskF,GAAW1G,EAAgB/P,EAAS7tE,IAE7CgqF,SAAU,SAAkB9xG,GAC1B,OAAOisG,GAAYvG,EAAgB1lG,EAAM2lG,IAE3CqM,WAAY,SAAoBhyG,EAAMsV,GACpC,OAAOowF,EAAe7E,QAAQ7gG,EAAMsV,MAGpCgyF,EAAc0L,EAAa,SAAUhzG,GACvC,OAAOgzG,EAAWhzG,EAAMiyG,SACtBv5G,EACJ,OAAoB,gBAAoBiuG,GAAW,kBAAS,GAAI3wE,EAAO,CACrE+wE,OAAQgM,EACR/L,ORhEwB,EQiExBG,SAAUA,EACVG,YAAaA,EACbD,YAAa3B,EAAe30F,QAC5Bq2F,iBAAkBA,EAClBG,YAAa7B,EAAe7E,QAC5B2G,UAAW,SAAmBxnG,GAC5B,OAAO4sG,GAAY5sG,EAAM,CACvBvJ,OAAQA,EACRD,OAAQ,aACRkvG,eAAgBA,KAGpB+B,YAAaA,MCjBF,OAvDf,SAAoBzxE,GAClB,IAAIqsE,EAAYrsE,EAAMqsE,UAClBqD,EAAiB1vE,EAAM0vE,eACvBjvG,EAASu/B,EAAMv/B,OACfkvG,EAAW3vE,EAAM2vE,SACjB6N,EAAcx9E,EAAMw9E,YACpBC,EAAcz9E,EAAMy9E,YACpBC,EAAa19E,EAAM09E,WACnBC,EAAa39E,EAAM29E,WACnBC,EAAc59E,EAAM49E,YACpBC,EAAe79E,EAAM69E,aAKzB,GAHwB,aAAiB,GACN/N,WAGjC,OAAO,KAGT,IAAIC,EAAkB,GAAGj/F,OAAOu7F,EAAW,WACvCyR,EAAer9G,EAAOs9G,cAAgBrO,EAAejvG,OAAOirG,eAAiBgE,EAAejvG,OAAOirG,eAAejrG,EAAOA,QAAU,IACnIsJ,EAAQ2lG,EAAe50F,SAAS60F,GAEhCqO,EAAwB,gBAAoB,SAAU,CACxDhtF,KAAM,SACNlsB,IAAK,OACL69B,QAASi7E,EACT/6E,UAAW,EACX2oC,UAAW,GAAG16D,OAAOu7F,EAAW,cAC/BuK,GAAYjH,EAAU,CACvBlvG,OAAQA,EACRD,OAAQC,EAAOw9G,WACfvO,eAAgBA,KAEdwO,EAAyB,gBAAoB,SAAU,CACzDltF,KAAM,SACNlsB,IAAK,QACL69B,QAASk7E,EACTh7E,UAAW,EACX2oC,UAAW,GAAG16D,OAAOu7F,EAAW,eAC/B5rG,EAAO09G,YAAcvH,GAAYjH,EAAU,CAC5ClvG,OAAQA,EACRD,OAAQC,EAAO09G,YACfzO,eAAgBA,IACboO,EAAa/zG,IACdq0G,EAAiB39G,EAAO49G,gBAAkB,CAACH,EAAWF,GAAY,CAACA,EAAUE,GACjF,OAAoB,gBAAoB,GAAQ,kBAAS,GAAIl+E,EAAO,CAClEqsE,UAAW0D,EACXX,YAAauO,EACbrO,OAAQmO,EACRlO,OAAQiO,EACRnO,YAAaqO,IACXU,ICmCS,OAlFf,SAAmBp+E,GACjB,IAAIqsE,EAAYrsE,EAAMqsE,UAClBiS,EAAmBt+E,EAAMu+E,UACzBA,OAAiC,IAArBD,EAA8B,OAASA,EACnDE,EAAiBx+E,EAAMw+E,eACvBhiB,EAASx8D,EAAMw8D,OACf2Y,EAAen1E,EAAMm1E,aACrBzF,EAAiB1vE,EAAM0vE,eACvBjmG,EAAQu2B,EAAMv2B,MACdkmG,EAAW3vE,EAAM2vE,SACjBuF,EAAmBl1E,EAAMk1E,iBACzBE,EAAgBp1E,EAAMo1E,cACtBqJ,EAAYz+E,EAAM6wE,SAClBwE,EAAiB,GAAGvkG,OAAOu7F,EAAW,KAAKv7F,OAAOytG,EAAW,UAEjEpJ,EAAaxV,QAAU,CACrB2V,UAAW,SAAmBhC,GAC5B,OAAOD,GAAqBC,EAAO,kBAAc,CAC/CC,YAAa,SAAqBtzF,GAChCw+F,EAAU/O,EAAe7E,QAAQphG,GAASkmG,EAAU1vF,GAAO,QAE7DuzF,gBAAiB,SAAyBvzF,GACxCw+F,EAAU/O,EAAe/E,QAAQlhG,GAASkmG,EAAU1vF,GAAO,QAE7DwzF,SAAU,SAAkBxzF,GAC1Bw+F,EAAU/O,EAAe7E,QAAQphG,GAASkmG,EVnCxB,EUmCkC1vF,GAAwB,QAE9EyzF,aAAc,SAAsBzzF,GAClCw+F,EAAU/O,EAAe9E,SAASnhG,GAASkmG,EAAU1vF,GAAO,SAE7Du+F,MAIP,IAAIE,EAAe,SAAsBz+F,GACvC,IAAIswF,EAAUb,EAAe/E,QAAQgF,EAAU1vF,GAC/Ci1F,EAAiB3E,GACjB6E,EAAc,KAAM7E,IAGlBoO,EAAgB,SAAuB1+F,GACzC,IAAIswF,EAAUb,EAAe9E,SAAS+E,EAAU1vF,GAChDi1F,EAAiB3E,GACjB6E,EAAc,KAAM7E,IAGtB,OAAoB,gBAAoB,MAAO,CAC7C/kC,UAAW,IAAW6pC,EAAgB,kBAAgB,GAAI,GAAGvkG,OAAOukG,EAAgB,WAAY7Y,KAClF,gBAAoB,GAAY,kBAAS,GAAIx8D,EAAO,CAClEqsE,UAAWA,EACX5iG,MAAOA,EACPkmG,SAAUA,EAEVgO,WAAY,WACVe,GAAc,IAEhBhB,WAAY,WACVgB,EAAa,IAEfjB,YAAa,WACXkB,GAAe,IAEjBnB,YAAa,WACXmB,EAAc,IAEhBd,aAAc,WACZzI,EAAc,QAASzF,IAEzBiO,YAAa,WACXxI,EAAc,OAAQzF,OAER,gBAAoB,GAAU,kBAAS,GAAI3vE,EAAO,CAClE6wE,SAAU,SAAkB7mG,GAC1B,OAAOy0G,EAAUz0G,EAAM,UAEzBqiG,UAAWA,EACX5iG,MAAOA,EACPkmG,SAAUA,EACVoN,SAhFiB,OCGjB6B,GRFe,WACjB,IAAK,IAAIr/E,EAAO9gC,UAAUgB,OAAQsF,EAAO,IAAInG,MAAM2gC,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/Ez6B,EAAKy6B,GAAQ/gC,UAAU+gC,GAGzB,OAAOz6B,EQHU85G,CAAM,OAAQ,QAkHlB,OAhHf,SAAuB7+E,GACrB,IAAIqsE,EAAYrsE,EAAMqsE,UAClB8I,EAAen1E,EAAMm1E,aACrBzF,EAAiB1vE,EAAM0vE,eACvBjmG,EAAQu2B,EAAMv2B,MACdq1G,EAAe9+E,EAAM8+E,aACrBC,EAAe/+E,EAAM++E,aACrBxK,EAAWv0E,EAAMu0E,SACjB1D,EAAW7wE,EAAM6wE,SACjBwE,EAAiB,GAAGvkG,OAAOu7F,EAAW,mBAEtCgB,EAAkB,WAAe,MACjCC,EAAmB,kBAAeD,EAAiB,GACnD2R,EAAc1R,EAAiB,GAC/B2R,EAAiB3R,EAAiB,GAElC4R,EAAmB,SAAa,IAChCC,EAAmB,SAAa,IAChCC,EAAkC,WAAtB,kBAAQ7K,GAAyB,kBAAc,GAAIA,GAAY,GAQ3EmH,EAAS,SAAgBvlG,GACvBgpG,EAAiBxf,QAAQ+b,QAC3ByD,EAAiBxf,QAAQ+b,OAAOvlG,GAGlC8oG,EAAe,OAGjB9J,EAAaxV,QAAU,CACrB2V,UAAW,SAAmBhC,GAE5B,GAAIA,EAAMM,QAAU,UAAQyL,IAAK,CAC/B,IAAIC,GAlBahgG,EAkBmBg0F,EAAMiM,UAAY,EAAI,EAjB1DC,EAAcZ,GAAa5yG,QAAQgzG,GAAe1/F,EAChCs/F,GAAaY,IAAgB,MAuB/C,OANAP,EAAeK,GAEXA,GACFhM,EAAMmM,kBAGD,EAzBb,IAAuBngG,EACjBkgG,EA4BF,GAAIR,EAAa,CACf,IAAIt8E,EAAsB,SAAhBs8E,EAAyBE,EAAmBC,EAMtD,OAJIz8E,EAAIi9D,SAAWj9D,EAAIi9D,QAAQ2V,WAC7B5yE,EAAIi9D,QAAQ2V,UAAUhC,IAGjB,EAIT,QAAI,CAAC,UAAQS,KAAM,UAAQC,MAAO,UAAQC,GAAI,UAAQC,MAAMpI,SAASwH,EAAMM,SACzEqL,EAAe,SACR,IAKXvD,OAAQA,EACR1O,QAAS0O,GAGX,IAAIgE,EAAmB,SAA0B11G,EAAM4hB,GACrD,IAAI+zF,EAAe31G,EAEJ,SAAX4hB,IAAsBniB,GAAS21G,EAAUN,cAE3Ca,EAAejQ,EAAe1E,QAAQ2U,EAAcjQ,EAAelF,QAAQ4U,EAAUN,eACrFa,EAAejQ,EAAezE,UAAU0U,EAAcjQ,EAAejF,UAAU2U,EAAUN,eACzFa,EAAejQ,EAAexE,UAAUyU,EAAcjQ,EAAehF,UAAU0U,EAAUN,gBACrE,SAAXlzF,IAAsBniB,GAASq1G,IACxCa,EAAejQ,EAAe5E,QAAQ6U,EAAcjQ,EAAenF,QAAQuU,IAC3Ea,EAAejQ,EAAe7hG,SAAS8xG,EAAcjQ,EAAe50F,SAASgkG,IAC7Ea,EAAejQ,EAAe3E,QAAQ4U,EAAcjQ,EAAe30F,QAAQ+jG,KAGzEjO,GACFA,EAAS8O,EAAc,UAKvBC,EAAgBb,EAAeA,EAAat1G,GAAS,MAAQ,GACjE,OAAoB,gBAAoB,MAAO,CAC7C+hE,UAAW,IAAW6pC,EAAgB,kBAAgB,GAAI,GAAGvkG,OAAOukG,EAAgB,WAAY2J,KAClF,gBAAoB,GAAW,kBAAS,GAAIh/E,EAAO,CACjEm1E,aAAc+J,EACd1iB,OAAwB,SAAhBwiB,EACRnO,SAAU,SAAkB7mG,GAC1B01G,EAAiB,GAAQhQ,EAAgB1lG,EAAMuqG,GAAkC,WAAtB,kBAAQA,GAAyBA,EAASuK,aAAe,MAAO,YAE7G,gBAAoB,GAAW,kBAAS,GAAI9+E,EAAO,CACnEx/B,YAAQkC,GACP08G,EAAWQ,EAAe,CAC3Bd,kBAAcp8G,EACdyyG,aAAcgK,EACd3iB,OAAwB,SAAhBwiB,EACRnO,SAAU,SAAkB7mG,GAC1B01G,EAAiB11G,EAAM,cClFd,OAhCf,SAAmBg2B,GACjB,IAAIqsE,EAAYrsE,EAAMqsE,UAClBqD,EAAiB1vE,EAAM0vE,eACvBjvG,EAASu/B,EAAMv/B,OACfgJ,EAAQu2B,EAAMv2B,MAEdmoG,EAAgB,GAAG9gG,OAAOu7F,EAAW,SAUrCwT,EAAe,GAAG/uG,OAAOu7F,EAAW,mBAMxC,OAAoB,gBAAoB,GAAW,kBAAS,GAAIrsE,EAAO,CACrEu+E,UAAW,OACXtN,aAhBiB,SAAsBjnG,GACvC,OAAoB,gBAAoB,KAAM,CAC5ClF,IAAK,OACL0mE,UAAW,IAAWomC,EAAe,GAAG9gG,OAAO8gG,EAAe,WAC7DlC,EAAejvG,OAAO+qG,QAAQ/qG,EAAOA,OAAQuJ,KAahDknG,aAPiB,SAAsBlnG,GACvC,OAAO,IAAW61G,EAAc,kBAAgB,GAAI,GAAG/uG,OAAO+uG,EAAc,aAAcxJ,GAAW3G,EAAgBjvG,EAAOA,OAAQgJ,EAAOO,MAO3Iw0G,eAAgB,CACdjL,YAAa,UCIJ,OAhCf,SAAqBvzE,GACnB,IAAIqsE,EAAYrsE,EAAMqsE,UAClBqD,EAAiB1vE,EAAM0vE,eACvBjvG,EAASu/B,EAAMv/B,OACfkvG,EAAW3vE,EAAM2vE,SACjB+N,EAAa19E,EAAM09E,WACnBC,EAAa39E,EAAM29E,WACnBC,EAAc59E,EAAM49E,YAKxB,GAHwB,aAAiB,GACN9N,WAGjC,OAAO,KAGT,IAAIC,EAAkB,GAAGj/F,OAAOu7F,EAAW,WAC3C,OAAoB,gBAAoB,GAAQ,kBAAS,GAAIrsE,EAAO,CAClEqsE,UAAW0D,EACXX,YAAauO,EACbtO,YAAaqO,IACE,gBAAoB,SAAU,CAC7C1sF,KAAM,SACN2R,QAASi7E,EACTpyC,UAAW,GAAG16D,OAAOu7F,EAAW,cAC/BuK,GAAYjH,EAAU,CACvBlvG,OAAQA,EACRD,OAAQC,EAAOw9G,WACfvO,eAAgBA,OCiCL,OA1Df,SAAmB1vE,GACjB,IAAIqsE,EAAYrsE,EAAMqsE,UAClB5rG,EAASu/B,EAAMv/B,OACfgJ,EAAQu2B,EAAMv2B,MACdkmG,EAAW3vE,EAAM2vE,SACjBD,EAAiB1vE,EAAM0vE,eACvBoQ,EAAkB9/E,EAAM8/E,gBAExB1S,EAAoB,aAAiB,IACrCwO,EAAcxO,EAAkBwO,YAChCC,EAAmBzO,EAAkByO,iBAGrCzK,EAAmBuK,GAAiB,CACtC/J,cAFkB,GAAG9gG,OAAOu7F,EAAW,SAGvC5iG,MAAOA,EACPimG,eAAgBA,EAChBkM,YAAaA,EACbC,iBAAkBA,EAClBE,WAAY,SAAoBpc,EAAS7tE,GACvC,OAAOmkF,GAAYvG,EAAgB/P,EAAS7tE,IAE9CgqF,SAAU,WACR,OAAO,GAETE,WAAY,SAAoBhyG,EAAMsV,GACpC,OAAOowF,EAAe9E,SAAS5gG,EAAMsV,MAGrCw+F,EAAer9G,EAAOs9G,cAAgBrO,EAAejvG,OAAOirG,eAAiBgE,EAAejvG,OAAOirG,eAAejrG,EAAOA,QAAU,IACnIs/G,EAAYrQ,EAAe7hG,SAAS8hG,EAAU,GAC9C2B,EAAcwO,EAAkB,SAAU91G,GAC5C,OAAO81G,EAAgB91G,EAAMvJ,SAC3BiC,EACJ,OAAoB,gBAAoBiuG,GAAW,kBAAS,GAAI3wE,EAAO,CACrE+wE,OArCkB,EAsClBC,OAvCyB,EAwCzBG,SAAU4O,EACVzO,YAAaA,EACbD,YAAa,SAAqBrnG,GAChC,OAAOvJ,EAAO09G,YAAcvH,GAAY5sG,EAAM,CAC5CvJ,OAAQA,EACRD,OAAQC,EAAO09G,YACfzO,eAAgBA,IACboO,EAAapO,EAAe50F,SAAS9Q,KAE5ConG,iBAAkBA,EAClBG,YAAa7B,EAAe9E,SAC5B4G,UAAW,SAAmBxnG,GAC5B,OAAO4sG,GAAY5sG,EAAM,CACvBvJ,OAAQA,EACRD,OAAQ,UACRkvG,eAAgBA,SCIT,OA3Df,SAAoB1vE,GAClB,IAAIqsE,EAAYrsE,EAAMqsE,UAClB8I,EAAen1E,EAAMm1E,aACrBD,EAAmBl1E,EAAMk1E,iBACzBxF,EAAiB1vE,EAAM0vE,eACvBjmG,EAAQu2B,EAAMv2B,MACdkmG,EAAW3vE,EAAM2vE,SACjByF,EAAgBp1E,EAAMo1E,cACtBqJ,EAAYz+E,EAAM6wE,SAClBwE,EAAiB,GAAGvkG,OAAOu7F,EAAW,gBAE1C8I,EAAaxV,QAAU,CACrB2V,UAAW,SAAmBhC,GAC5B,OAAOD,GAAqBC,EAAO,CACjCC,YAAa,SAAqBtzF,GAChCw+F,EAAU/O,EAAe9E,SAASnhG,GAASkmG,EAAU1vF,GAAO,QAE9DuzF,gBAAiB,SAAyBvzF,GACxCw+F,EAAU/O,EAAe/E,QAAQlhG,GAASkmG,EAAU1vF,GAAO,QAE7DwzF,SAAU,SAAkBxzF,GAC1Bw+F,EAAU/O,EAAe9E,SAASnhG,GAASkmG,EDrBxB,ECqBkC1vF,GAAyB,QAEhF0zF,QAAS,WACPyB,EAAc,OAAQ3rG,GAASkmG,QAMvC,IAAI+O,EAAe,SAAsBz+F,GACvC,IAAIswF,EAAUb,EAAe/E,QAAQgF,EAAU1vF,GAC/Ci1F,EAAiB3E,GACjB6E,EAAc,KAAM7E,IAGtB,OAAoB,gBAAoB,MAAO,CAC7C/kC,UAAW6pC,GACG,gBAAoB,GAAa,kBAAS,GAAIr1E,EAAO,CACnEqsE,UAAWA,EACXsR,WAAY,WACVe,GAAc,IAEhBhB,WAAY,WACVgB,EAAa,IAEfd,YAAa,WACXxI,EAAc,OAAQzF,OAER,gBAAoB,GAAW,kBAAS,GAAI3vE,EAAO,CACnEqsE,UAAWA,EACXwE,SAAU,SAAkB7mG,GAC1By0G,EAAUz0G,EAAM,SAEhBorG,EAAc,OAAQprG,SCtBb,OAhCf,SAAuBg2B,GACrB,IAAIqsE,EAAYrsE,EAAMqsE,UAClBqD,EAAiB1vE,EAAM0vE,eACvBjvG,EAASu/B,EAAMv/B,OACfkvG,EAAW3vE,EAAM2vE,SACjB+N,EAAa19E,EAAM09E,WACnBC,EAAa39E,EAAM29E,WACnBC,EAAc59E,EAAM49E,YAKxB,GAHwB,aAAiB,GACN9N,WAGjC,OAAO,KAGT,IAAIC,EAAkB,GAAGj/F,OAAOu7F,EAAW,WAC3C,OAAoB,gBAAoB,GAAQ,kBAAS,GAAIrsE,EAAO,CAClEqsE,UAAW0D,EACXX,YAAauO,EACbtO,YAAaqO,IACE,gBAAoB,SAAU,CAC7C1sF,KAAM,SACN2R,QAASi7E,EACTpyC,UAAW,GAAG16D,OAAOu7F,EAAW,cAC/BuK,GAAYjH,EAAU,CACvBlvG,OAAQA,EACRD,OAAQC,EAAOw9G,WACfvO,eAAgBA,OC6BL,OAtDf,SAAqB1vE,GACnB,IAAIqsE,EAAYrsE,EAAMqsE,UAClB5rG,EAASu/B,EAAMv/B,OACfgJ,EAAQu2B,EAAMv2B,MACdkmG,EAAW3vE,EAAM2vE,SACjBD,EAAiB1vE,EAAM0vE,eAEvBtC,EAAoB,aAAiB,IACrCwO,EAAcxO,EAAkBwO,YAChCC,EAAmBzO,EAAkByO,iBAGrCzK,EAAmBuK,GAAiB,CACtC/J,cAFkB,GAAG9gG,OAAOu7F,EAAW,SAGvC5iG,MAAOA,EACPimG,eAAgBA,EAChBkM,YAAaA,EACbC,iBAAkBA,EAClBE,WAAY,SAAoBpc,EAAS7tE,GACvC,OAAOgkF,GAAcpG,EAAgB/P,EAAS7tE,IAEhDgqF,SAAU,WACR,OAAO,GAETE,WAAY,SAAoBhyG,EAAMsV,GACpC,OAAOowF,EAAe9E,SAAS5gG,EAAe,EAATsV,MAGrC0gG,EAActQ,EAAe3E,QAAQ2E,EAAe7hG,SAAS8hG,EAAU,GAAI,GAC/E,OAAoB,gBAAoBgB,GAAW,kBAAS,GAAI3wE,EAAO,CACrE+wE,OAhCoB,EAiCpBC,OAlC2B,EAmC3BG,SAAU6O,EACV3O,YAAa,SAAqBrnG,GAChC,OAAO4sG,GAAY5sG,EAAM,CACvBvJ,OAAQA,EACRD,OAAQC,EAAOw/G,eAAiB,OAChCvQ,eAAgBA,KAGpB0B,iBAAkBA,EAClBG,YAAa,SAAqBvnG,EAAMsV,GACtC,OAAOowF,EAAe9E,SAAS5gG,EAAe,EAATsV,IAEvCkyF,UAAW,SAAmBxnG,GAC5B,OAAO4sG,GAAY5sG,EAAM,CACvBvJ,OAAQA,EACRD,OAAQ,YACRkvG,eAAgBA,SCGT,OAtDf,SAAsB1vE,GACpB,IAAIqsE,EAAYrsE,EAAMqsE,UAClB8I,EAAen1E,EAAMm1E,aACrBD,EAAmBl1E,EAAMk1E,iBACzBxF,EAAiB1vE,EAAM0vE,eACvBjmG,EAAQu2B,EAAMv2B,MACdkmG,EAAW3vE,EAAM2vE,SACjByF,EAAgBp1E,EAAMo1E,cACtBqJ,EAAYz+E,EAAM6wE,SAClBwE,EAAiB,GAAGvkG,OAAOu7F,EAAW,kBAE1C8I,EAAaxV,QAAU,CACrB2V,UAAW,SAAmBhC,GAC5B,OAAOD,GAAqBC,EAAO,CACjCC,YAAa,SAAqBtzF,GAChCw+F,EAAU/O,EAAe9E,SAASnhG,GAASkmG,EAAiB,EAAP1vF,GAAW,QAElEuzF,gBAAiB,SAAyBvzF,GACxCw+F,EAAU/O,EAAe/E,QAAQlhG,GAASkmG,EAAU1vF,GAAO,QAE7DwzF,SAAU,SAAkBxzF,GAC1Bw+F,EAAU/O,EAAe/E,QAAQlhG,GAASkmG,EAAU1vF,GAAO,YAMnE,IAAIy+F,EAAe,SAAsBz+F,GACvC,IAAIswF,EAAUb,EAAe/E,QAAQgF,EAAU1vF,GAC/Ci1F,EAAiB3E,GACjB6E,EAAc,KAAM7E,IAGtB,OAAoB,gBAAoB,MAAO,CAC7C/kC,UAAW6pC,GACG,gBAAoB,GAAe,kBAAS,GAAIr1E,EAAO,CACrEqsE,UAAWA,EACXsR,WAAY,WACVe,GAAc,IAEhBhB,WAAY,WACVgB,EAAa,IAEfd,YAAa,WACXxI,EAAc,OAAQzF,OAER,gBAAoB,GAAa,kBAAS,GAAI3vE,EAAO,CACrEqsE,UAAWA,EACXwE,SAAU,SAAkB7mG,GAC1By0G,EAAUz0G,EAAM,eCnBP,OA9Bf,SAAoBg2B,GAClB,IAAIqsE,EAAYrsE,EAAMqsE,UAClBqD,EAAiB1vE,EAAM0vE,eACvBC,EAAW3vE,EAAM2vE,SACjBuQ,EAAelgF,EAAMkgF,aACrBC,EAAengF,EAAMmgF,aACrBC,EAAgBpgF,EAAMogF,cAK1B,GAHwB,aAAiB,GACNtQ,WAGjC,OAAO,KAGT,IAAIC,EAAkB,GAAGj/F,OAAOu7F,EAAW,WACvC2D,EAAaN,EAAenF,QAAQoF,GACpCM,EAAY7pG,KAAKiD,MAAM2mG,EAAaqQ,IAAqBA,GACzDlQ,EAAUF,EAAYoQ,GAAoB,EAC9C,OAAoB,gBAAoB,GAAQ,kBAAS,GAAIrgF,EAAO,CAClEqsE,UAAW0D,EACXX,YAAa8Q,EACb7Q,YAAa8Q,IACE,gBAAoB,SAAU,CAC7CnvF,KAAM,SACN2R,QAASy9E,EACT50C,UAAW,GAAG16D,OAAOu7F,EAAW,gBAC/B4D,EAAW,IAAKE,KC+BN,OAtDf,SAAkBnwE,GAChB,IAAIqsE,EAAYrsE,EAAMqsE,UAClB5iG,EAAQu2B,EAAMv2B,MACdkmG,EAAW3vE,EAAM2vE,SACjBlvG,EAASu/B,EAAMv/B,OACfivG,EAAiB1vE,EAAM0vE,eAEvBtC,EAAoB,aAAiB,IACrCwO,EAAcxO,EAAkBwO,YAChCC,EAAmBzO,EAAkByO,iBAErCyE,EAAgB,GAAGxvG,OAAOu7F,EAAW,SAErC2D,EAAaN,EAAenF,QAAQoF,GACpCM,EAAY7pG,KAAKiD,MAAM2mG,EAAaqQ,IAAqBA,GACzDlQ,EAAUF,EAAYoQ,GAAoB,EAC1CE,EAAW7Q,EAAe5E,QAAQ6E,EAAUM,EAAY7pG,KAAKgD,MAAMo3G,GAAkCH,IAAqB,IAO1HjP,EAAmBuK,GAAiB,CACtC/J,cAAe0O,EACf72G,MAAOA,EACPimG,eAAgBA,EAChBkM,YAAaA,EACbC,iBAAkBA,EAClBE,WAAY,SAAoBpc,EAAS7tE,GACvC,OAAO2jF,GAAW/F,EAAgB/P,EAAS7tE,IAE7CgqF,SAda,SAAkB9xG,GAC/B,IAAIy2G,EAAoB/Q,EAAenF,QAAQvgG,GAC/C,OAAOimG,GAAawQ,GAAqBA,GAAqBtQ,GAa9D6L,WAAY,SAAoBhyG,EAAMsV,GACpC,OAAOowF,EAAe/E,QAAQ3gG,EAAMsV,MAGxC,OAAoB,gBAAoBqxF,GAAW,kBAAS,GAAI3wE,EAAO,CACrE+wE,OAxCiB,EAyCjBC,OA1CwB,EA2CxBG,SAAUoP,EACVlP,YAAa3B,EAAenF,QAC5B6G,iBAAkBA,EAClBG,YAAa7B,EAAe/E,QAC5B6G,UAAW,SAAmBxnG,GAC5B,OAAO4sG,GAAY5sG,EAAM,CACvBvJ,OAAQA,EACRD,OAAQ,OACRkvG,eAAgBA,SCrDb2Q,GAAoB,GA8DhB,OA5Df,SAAmBrgF,GACjB,IAAIqsE,EAAYrsE,EAAMqsE,UAClB8I,EAAen1E,EAAMm1E,aACrBD,EAAmBl1E,EAAMk1E,iBACzBxF,EAAiB1vE,EAAM0vE,eACvBjmG,EAAQu2B,EAAMv2B,MACdkmG,EAAW3vE,EAAM2vE,SACjB+Q,EAAa1gF,EAAM0gF,WACnBjC,EAAYz+E,EAAM6wE,SAClBuE,EAAgBp1E,EAAMo1E,cACtBC,EAAiB,GAAGvkG,OAAOu7F,EAAW,eAE1C8I,EAAaxV,QAAU,CACrB2V,UAAW,SAAmBhC,GAC5B,OAAOD,GAAqBC,EAAO,CACjCC,YAAa,SAAqBtzF,GAChCw+F,EAAU/O,EAAe/E,QAAQlhG,GAASkmG,EAAU1vF,GAAO,QAE7DuzF,gBAAiB,SAAyBvzF,GACxCw+F,EAAU/O,EAAe/E,QAAQlhG,GAASkmG,EAAU1vF,EAAOogG,IAAoB,QAEjF5M,SAAU,SAAkBxzF,GAC1Bw+F,EAAU/O,EAAe/E,QAAQlhG,GAASkmG,EDtBxB,ECsBkC1vF,GAAwB,QAE9E0zF,QAAS,WACPyB,EAA6B,SAAfsL,EAAwB,OAAS,QAASj3G,GAASkmG,QAMzE,IAAIgR,EAAiB,SAAwB1gG,GAC3C,IAAIswF,EAAUb,EAAe/E,QAAQgF,EAAiB,GAAP1vF,GAC/Ci1F,EAAiB3E,GACjB6E,EAAc,KAAM7E,IAGtB,OAAoB,gBAAoB,MAAO,CAC7C/kC,UAAW6pC,GACG,gBAAoB,GAAY,kBAAS,GAAIr1E,EAAO,CAClEqsE,UAAWA,EACX6T,aAAc,WACZS,GAAgB,IAElBR,aAAc,WACZQ,EAAe,IAEjBP,cAAe,WACbhL,EAAc,SAAUzF,OAEV,gBAAoB,GAAU,kBAAS,GAAI3vE,EAAO,CAClEqsE,UAAWA,EACXwE,SAAU,SAAkB7mG,GAC1BorG,EAA6B,SAAfsL,EAAwB,OAAS,QAAS12G,GAExDy0G,EAAUz0G,EAAM,eC7DP,SAAS42G,GAAevU,EAAWv4E,EAAM+sF,GACtD,OAAKA,EAIe,gBAAoB,MAAO,CAC7Cr1C,UAAW,GAAG16D,OAAOu7F,EAAW,kBAC/BwU,EAAkB/sF,IALZ,KCFI,SAASgtF,GAAU3hF,GAChC,IAWI4hF,EACAC,EAZA3U,EAAYltE,EAAKktE,UACjB4U,EAAiB9hF,EAAK+hF,UACtBA,OAA+B,IAAnBD,EAA4B,GAAKA,EAC7CE,EAAkBhiF,EAAKiiF,WACvBA,OAAiC,IAApBD,EAA6B,GAAKA,EAC/CE,EAAoBliF,EAAKkiF,kBACzBC,EAAQniF,EAAKmiF,MACbC,EAAOpiF,EAAKoiF,KACZC,EAAariF,EAAKqiF,WAClBC,EAAUtiF,EAAKsiF,QACfhhH,EAAS0+B,EAAK1+B,OAIlB,GAAIygH,EAAUzhH,OAAQ,CACpB,IAAIiiH,EAAON,EAAWO,WAAa,OACnCZ,EAA0B,gBAAoB,WAAgB,KAAMG,EAAUnhH,KAAI,SAAU+2G,GAC1F,IAAIgB,EAAQhB,EAAMgB,MACdn1E,EAAUm0E,EAAMn0E,QAChB0vE,EAAeyE,EAAMzE,aACrBC,EAAewE,EAAMxE,aACzB,OAAoB,gBAAoB,KAAM,CAC5CxtG,IAAKgzG,EACLtsC,UAAW,GAAG16D,OAAOu7F,EAAW,YAClB,gBAAoBqV,EAAM,CACxC/+E,QAASA,EACT0vE,aAAcA,EACdC,aAAcA,GACbwF,QAIP,GAAIuJ,EAAmB,CACrB,IAAIO,EAASR,EAAWS,QAAU,SAE9BP,IAAUP,IAA0B,IAAZU,IAC1BV,EAA0B,gBAAoB,KAAM,CAClDv1C,UAAW,GAAG16D,OAAOu7F,EAAW,SAClB,gBAAoB,IAAK,CACvC7gC,UAAW,GAAG16D,OAAOu7F,EAAW,YAChC1pE,QAAS2+E,GACR7gH,EAAOia,OAGZsmG,EAASK,GAAkC,gBAAoB,KAAM,CACnE71C,UAAW,GAAG16D,OAAOu7F,EAAW,QAClB,gBAAoBuV,EAAQ,CAC1C1P,SAAUsP,EACV7+E,QAAS4+E,GACR9gH,EAAOqhH,KAGZ,OAAKf,GAAeC,EAIA,gBAAoB,KAAM,CAC5Cx1C,UAAW,GAAG16D,OAAOu7F,EAAW,YAC/B0U,EAAYC,GALN,KCsXI,OA5Yf,SAAqBhhF,GACnB,IAAImsE,EAEA4V,EAAmB/hF,EAAMqsE,UACzBA,OAAiC,IAArB0V,EAA8B,YAAcA,EACxDv2C,EAAYxrC,EAAMwrC,UAClBj3C,EAAQyL,EAAMzL,MACd9zB,EAASu/B,EAAMv/B,OACfivG,EAAiB1vE,EAAM0vE,eACvBjmG,EAAQu2B,EAAMv2B,MACdq1G,EAAe9+E,EAAM8+E,aACrBkD,EAAchiF,EAAMgiF,YACpBC,EAAqBjiF,EAAMiiF,mBAC3BrR,EAAe5wE,EAAM4wE,aACrB98E,EAAOkM,EAAMlM,KACbouF,EAAgBliF,EAAM8wE,OACtBA,OAA2B,IAAlBoR,EAA2B,OAASA,EAC7CC,EAAkBniF,EAAM6C,SACxBA,OAA+B,IAApBs/E,EAA6B,EAAIA,EAC5CV,EAAUzhF,EAAMyhF,QAChBlN,EAAWv0E,EAAMu0E,SACjB6N,EAAYpiF,EAAMoiF,UAClBvB,EAAoB7gF,EAAM6gF,kBAC1B/Q,EAAa9vE,EAAM8vE,WACnBe,EAAW7wE,EAAM6wE,SACjBtE,EAAWvsE,EAAMusE,SACjB6I,EAAgBp1E,EAAMo1E,cACtBiN,EAAcriF,EAAMqiF,YACpBC,EAAsBtiF,EAAMsiF,oBAC5BC,EAAQviF,EAAMuhF,KACdH,EAAaphF,EAAMohF,WACnBhgG,EAAY4e,EAAM5e,UAClBy3F,EAAkB74E,EAAM84E,SACxBA,OAA+B,IAApBD,EAA6B,EAAIA,EAC5CE,EAAoB/4E,EAAMg5E,WAC1BA,OAAmC,IAAtBD,EAA+B,EAAIA,EAChDE,EAAoBj5E,EAAMk5E,WAC1BA,OAAmC,IAAtBD,EAA+B,EAAIA,EAChDoI,EAA+B,SAAXvQ,KAAuByD,GAAuB,SAAXzD,EACvD0R,EAAkB,GAAK1J,GAAa,EACpC2J,EAAoB,GAAKzJ,GAAe,EACxC0J,EAAoB,GAAKxJ,GAAe,EAWxCyJ,EAAe,aAAiB,GAChCxN,EAAewN,EAAaxN,aAC5ByN,GAAcD,EAAaE,SAC3BC,GAAkBH,EAAa9R,SAC/BkS,GAAaJ,EAAaI,WAC1BC,GAAmBL,EAAaK,iBAEhC5V,GAAoB,aAAiB,IACrC6V,GAAU7V,GAAkB6V,QAC5BC,GAAgB9V,GAAkB8V,cAClCtH,GAAcxO,GAAkBwO,YAChCC,GAAmBzO,GAAkByO,iBAErCgH,GAAW,SAAa,IAExBM,GAAU,UAAa,GAEvBC,GAAkB,kBAAe,KAAM,CACzC35G,MAAOA,EACPq1G,aAAcA,EACduE,UAAW,SAAmB5/G,GAC5B,OAAKA,GAAOu/G,IAA+B,SAAXlS,EACvBkS,GAGFv/G,KAGP6/G,GAAmB,kBAAeF,GAAiB,GACnDG,GAAcD,GAAiB,GAC/BE,GAAgBF,GAAiB,GAGjCG,GAAmB,kBAAe,KAAM,CAC1Ch6G,MAAOu4G,EACPlD,aAAcmD,GAAsBsB,GACpCF,UAAW,SAAmBr5G,GAC5B,IAAI0Q,EAAMg1F,EAAevF,SACzB,OAAKngG,GAEAu5G,IAAehP,EACQ,WAAtB,kBAAQA,GACHlE,GAAYX,EAAgB1lG,EAAMuqG,EAASuK,cAAgBpkG,GAI3D21F,GAAYX,EAAgB1lG,EADjC80G,GAIqCpkG,GAGpC1Q,EAdW0Q,KAiBlBgpG,GAAmB,kBAAeD,GAAkB,GACpD9T,GAAW+T,GAAiB,GAC5BC,GAAmBD,GAAiB,GAEpCE,GAAc,SAAqB55G,GACrC25G,GAAiB35G,GAEbs4G,GACFA,EAAoBt4G,IAKpB65G,GAAsB,SAA6BC,GACrD,IAAIC,EAAcjP,GAAchE,GAEhC,OAAIiT,EACKA,EAAYD,GAGdA,GAILE,GAAmB,mBAAe,WACpC,MAAe,SAAXlT,EACK,OAGF+S,GAAoB,UAC1B,CACDp6G,MAAOqqB,IAELmwF,GAAmB,kBAAeD,GAAkB,GACpDE,GAAaD,GAAiB,GAC9BE,GAAeF,GAAiB,GAEpC,aAAgB,WACdE,GAAarT,KACZ,CAACA,IAEJ,IAqFIsT,GArFA/W,GAAkB,YAAe,WACnC,OAAO6W,MAEL5W,GAAmB,kBAAeD,GAAiB,GACnDqT,GAAapT,GAAiB,GAC9B+W,GAAgB/W,GAAiB,GAYjCgX,GAAgB,SAAuBt6G,EAAMgnB,GAC/C,IAAIuzF,EAAqB9lH,UAAUgB,OAAS,QAAsBiD,IAAjBjE,UAAU,IAAmBA,UAAU,IAEpFylH,KAAepT,GAAUyT,KAC3Bf,GAAcx5G,GAEV6mG,GACFA,EAAS7mG,GAGP84G,IACFA,GAAgB94G,EAAMgnB,IAGpBu7E,GAAa+J,GAAQ5G,EAAgB1lG,EAAMu5G,MAAkB3S,aAAmD,EAASA,EAAa5mG,KACxIuiG,EAASviG,KAMXw6G,GAAoB,SAA2BruG,GACjD,OAAI0sG,GAASljB,SAAWkjB,GAASljB,QAAQ2V,WACnC,CAAC,UAAQvB,KAAM,UAAQC,MAAO,UAAQC,GAAI,UAAQC,KAAM,UAAQC,QAAS,UAAQC,UAAW,UAAQC,OAAOvI,SAAS31F,EAAEy9F,QACxHz9F,EAAEspG,iBAGGoD,GAASljB,QAAQ2V,UAAUn/F,KAQlC,mBAAQ,EAAO,kFACR,IAWPg/F,GAAkC,UAAlB+N,KAClB/N,EAAaxV,QAAU,CACrB2V,UAAWkP,GACXxX,QAAS,WACH6V,GAASljB,SAAWkjB,GAASljB,QAAQqN,SACvC6V,GAASljB,QAAQqN,aAOzB,aAAgB,WACVvjG,IAAU05G,GAAQxjB,SACpBgkB,GAAiBl6G,KAElB,CAACA,IACJ,aAAgB,WACd05G,GAAQxjB,SAAU,IACjB,IAIH,IA0FI8kB,GACAC,GAiCAC,GA5HAC,GAAc,kBAAc,kBAAc,GAAI5kF,GAAQ,GAAI,CAC5Dm1E,aAAc0N,GACdxW,UAAWA,EACXsD,SAAUA,GACVlmG,MAAO85G,GACPrO,iBAAkB0O,GAClBlD,WAAYA,GACZtL,cAvF0B,SAA+ByP,EAASC,GAClE,IAAIhB,EAAWD,GAAoBgB,GAAWX,IAC9CG,GAAcH,IACdC,GAAaL,GAET1O,IAAkB8O,KAAeJ,GAAYxN,GAAQ5G,EAAgBC,GAAUA,MACjFyF,EAAc0P,EAAWhB,IAkF3BlT,aAAcA,IAMhB,cAHOgU,GAAYrY,gBACZqY,GAAY/T,SAEXqT,IACN,IAAK,SACHE,GAAyB,gBAAoB,GAAa,kBAAS,GAAIQ,GAAa,CAClF/T,SAAU,SAAkB7mG,EAAMgnB,GAChC4yF,GAAY55G,GACZs6G,GAAct6G,EAAMgnB,OAGxB,MAEF,IAAK,OACHozF,GAAyB,gBAAoB,GAAW,kBAAS,GAAIQ,GAAa,CAChF/T,SAAU,SAAkB7mG,EAAMgnB,GAChC4yF,GAAY55G,GACZs6G,GAAct6G,EAAMgnB,OAGxB,MAEF,IAAK,QACHozF,GAAyB,gBAAoB,GAAY,kBAAS,GAAIQ,GAAa,CACjF/T,SAAU,SAAkB7mG,EAAMgnB,GAChC4yF,GAAY55G,GACZs6G,GAAct6G,EAAMgnB,OAGxB,MAEF,IAAK,UACHozF,GAAyB,gBAAoB,GAAc,kBAAS,GAAIQ,GAAa,CACnF/T,SAAU,SAAkB7mG,EAAMgnB,GAChC4yF,GAAY55G,GACZs6G,GAAct6G,EAAMgnB,OAGxB,MAEF,IAAK,OACHozF,GAAyB,gBAAoB,GAAW,kBAAS,GAAIQ,GAAa,CAChF/T,SAAU,SAAkB7mG,EAAMgnB,GAChC4yF,GAAY55G,GACZs6G,GAAct6G,EAAMgnB,OAGxB,MAEF,IAAK,cACI4zF,GAAYrQ,SACnB6P,GAAyB,gBAAoB,GAAW,kBAAS,GAAIQ,GAAmC,WAAtB,kBAAQrQ,GAAyBA,EAAW,KAAM,CAClI1D,SAAU,SAAkB7mG,EAAMgnB,GAChC4yF,GAAY55G,GACZs6G,GAAct6G,EAAMgnB,OAGxB,MAEF,QAEIozF,GADE7P,EACuB,gBAAoB,GAAe,kBAAS,GAAIqQ,GAAa,CACpF/T,SAAU,SAAkB7mG,EAAMgnB,GAChC4yF,GAAY55G,GACZs6G,GAAct6G,EAAMgnB,OAIC,gBAAoB,GAAW,kBAAS,GAAI4zF,GAAa,CAChF/T,SAAU,SAAkB7mG,EAAMgnB,GAChC4yF,GAAY55G,GACZs6G,GAAct6G,EAAMgnB,OA4C9B,GAxBK+xF,KACH0B,GAAc7D,GAAevU,EAAW6X,GAAYrD,GACpD6D,GAAa5D,GAAU,CACrBzU,UAAWA,EACX+U,WAAYA,EACZC,kBAAmBA,EACnBG,YAAa+B,IAAe3S,GAAgBA,EAAa2S,IACzD9iH,OAAQA,EACRghH,QAASA,EACTH,MAAOD,GAlBC,WACV,IAAI3mG,EAAMg1F,EAAevF,SACrB4a,E7B1VD,SAA2B5oG,EAAMkB,EAAQC,EAAQw7F,EAAUE,EAAYE,GAC5E,IAAI8L,EAAiB5+G,KAAKiD,MAAM8S,EAAO28F,GAAYA,EAEnD,GAAIkM,EAAiB7oG,EACnB,MAAO,CAAC6oG,EAAgB,GAAKhM,EAAY,GAAKE,GAGhD,IAAI+L,EAAmB7+G,KAAKiD,MAAMgU,EAAS27F,GAAcA,EAEzD,OAAIiM,EAAmB5nG,EACd,CAAC2nG,EAAgBC,EAAkB,GAAK/L,GAI1C,CAAC8L,EAAgBC,EADD7+G,KAAKiD,MAAMiU,EAAS47F,GAAcA,G6B6UlCgM,CAAkBxV,EAAelF,QAAQ9vF,GAAMg1F,EAAejF,UAAU/vF,GAAMg1F,EAAehF,UAAUhwF,GAAM8nG,EAAkB1J,EAAW,EAAG2J,EAAoBzJ,EAAa,EAAG0J,EAAoBxJ,EAAa,GACnOiM,EAAc,GAAQzV,EAAgBh1F,EAAKqqG,EAAe,GAC9DA,EAAe,GACfA,EAAe,IACfT,GAAca,EAAa,WAazB5D,KAAM,WACAgC,KACFe,GAAcf,GAAa,UAAU,GAEjChB,GACFA,EAAMgB,SASZnB,GAA4B,SAAf8B,IAAoC,SAAXpT,IAAsByD,EAAU,CACxE,IAAI75F,GAAMg1F,EAAevF,SACrBib,GAAW,GAAGt0G,OAAOu7F,EAAW,cAChC6F,GAAWtB,GAAgBA,EAAal2F,IAC5CiqG,GAAyB,gBAAoB,IAAK,CAChDn5C,UAAW,IAAW45C,GAAUlT,IAAY,GAAGphG,OAAOs0G,GAAU,cAChE,gBAAiBlT,GACjBvvE,QAAS,WACFuvE,IACHoS,GAAc5pG,GAAK,SAAS,KAG/Bja,EAAOw7G,OAGZ,OAAoB,gBAAoB,EAAaoJ,SAAU,CAC7D57G,MAAO,kBAAc,kBAAc,GAAIk5G,GAAe,GAAI,CACxD7uF,KAAMowF,GACNpU,WAAY,eAAgB9vE,EAAQ8vE,EAAa6S,EAAa7S,WAC9DL,YAAawT,IAA6B,UAAlBC,GACxB1T,YAAayT,IAA6B,SAAlBC,MAEZ,gBAAoB,MAAO,CACzCrgF,SAAUA,EACV2oC,UAAW,IAAW,GAAG16D,OAAOu7F,EAAW,UAAW7gC,GAAY2gC,EAAc,GAAI,kBAAgBA,EAAa,GAAGr7F,OAAOu7F,EAAW,oBAAqBuP,IAAeA,GAAY,IAAMA,GAAY,IAAK,kBAAgBzP,EAAa,GAAGr7F,OAAOu7F,EAAW,0BAA2BwP,IAAoBA,GAAiB,IAAMA,GAAiB,IAAK,kBAAgB1P,EAAa,GAAGr7F,OAAOu7F,EAAW,cAA6B,QAAdjrF,GAAsB+qF,IAClb53E,MAAOA,EACP+gF,UAAWkP,GACX9I,OAtLmB,SAAwBvlG,GACvC0sG,GAASljB,SAAWkjB,GAASljB,QAAQ+b,QACvCmH,GAASljB,QAAQ+b,OAAOvlG,IAqL1BksG,YAAaA,EACb3/E,IAAKkgF,IACJwB,GAAWK,IAAeC,IAAcC,GAAyB,gBAAoB,MAAO,CAC7Fn5C,UAAW,GAAG16D,OAAOu7F,EAAW,YAC/BoY,GAAaC,GAAYC,IAAa,Q,UCtavCW,GAAsB,CACxBC,WAAY,CACV3rE,OAAQ,CAAC,KAAM,MACft6B,OAAQ,CAAC,EAAG,GACZne,SAAU,CACRqkH,QAAS,EACTC,QAAS,IAGbC,YAAa,CACX9rE,OAAQ,CAAC,KAAM,MACft6B,OAAQ,CAAC,EAAG,GACZne,SAAU,CACRqkH,QAAS,EACTC,QAAS,IAGbE,QAAS,CACP/rE,OAAQ,CAAC,KAAM,MACft6B,OAAQ,CAAC,GAAI,GACbne,SAAU,CACRqkH,QAAS,EACTC,QAAS,IAGbG,SAAU,CACRhsE,OAAQ,CAAC,KAAM,MACft6B,OAAQ,CAAC,GAAI,GACbne,SAAU,CACRqkH,QAAS,EACTC,QAAS,KA8CA,OAzCf,SAAuBtmF,GACrB,IAAIgtE,EAEAE,EAAYltE,EAAKktE,UACjBwZ,EAAe1mF,EAAK0mF,aACpBC,EAAa3mF,EAAK2mF,WAClBvY,EAAUpuE,EAAKouE,QACfwY,EAAoB5mF,EAAK4mF,kBACzBC,EAAgB7mF,EAAK6mF,cACrBC,EAAiB9mF,EAAK8mF,eACtBC,EAAoB/mF,EAAK+mF,kBACzB7+B,EAAWloD,EAAKkoD,SAChB8+B,EAAQhnF,EAAKgnF,MACbC,EAAiBjnF,EAAKinF,eACtBhlG,EAAY+d,EAAK/d,UACjBilG,EAAoB,GAAGv1G,OAAOu7F,EAAW,aAU7C,OAAoB,gBAAoB,WAAS,CAC/Cia,WAAY,GACZC,WAAY,GACZH,oBAVuB1jH,IAAnB0jH,EACKA,EAGY,QAAdhlG,EAAsB,cAAgB,aAO7ColG,kBAAmBlB,GACnBjZ,UAAWga,EACXI,oBAAqBR,EACrBS,MAAOb,EACPc,WAAYX,EACZY,aAAcrZ,EACdsZ,eAAgB,IAAWd,GAAoB5Z,EAAc,GAAI,kBAAgBA,EAAa,GAAGr7F,OAAOu1G,EAAmB,UAAWF,GAAQ,kBAAgBha,EAAa,GAAGr7F,OAAOu1G,EAAmB,QAAuB,QAAdjlG,GAAsB+qF,IACvO2Z,WAAYA,EACZI,kBAAmBA,GAClB7+B,ICzEU,SAASy/B,GAAe3nF,GACrC,IAAItK,EAAOsK,EAAKtK,KACZprB,EAAQ01B,EAAK11B,MACbs9G,EAAiB5nF,EAAK4nF,eACtBC,EAAc7nF,EAAK6nF,YACnBC,EAAiB9nF,EAAK8nF,eACtBC,EAAa/nF,EAAKm2E,UAClB6R,EAAehoF,EAAKgoF,aACpBC,EAAWjoF,EAAKioF,SAChBC,EAAWloF,EAAKkoF,SAChBC,EAAWnoF,EAAKooF,QAChBC,EAAUroF,EAAKu8E,OAEf+L,EAAY,oBAAS,GACrBC,EAAa,kBAAeD,EAAW,GACvCE,EAASD,EAAW,GACpBE,EAAYF,EAAW,GAEvBG,EAAa,oBAAS,GACtBC,EAAa,kBAAeD,EAAY,GACxCE,EAAUD,EAAW,GACrBE,EAAaF,EAAW,GAOxBG,EAAiB,kBAAO,GACxBC,EAAkB,kBAAO,GACzBC,EAAoB,kBAAO,GAC3BC,EAAa,CACf/F,YAAa,WACXuF,GAAU,GACVZ,GAAY,IAEd1R,UAAW,SAAmBn/F,GAO5B,GAFA+wG,EAAW/wG,GAJU,WACnBgyG,EAAkBxoB,SAAU,MAK1BwoB,EAAkBxoB,QAAtB,CAEA,OAAQxpF,EAAEy9F,OACR,KAAK,UAAQS,MAST,OAPKx/E,GAEqB,IAAfuyF,KACTQ,GAAU,GAFVZ,GAAY,QAKd7wG,EAAEspG,iBAIN,KAAK,UAAQJ,IAYT,YAVIsI,GAAU9yF,IAAS1e,EAAEopG,UACvBqI,GAAU,GACVzxG,EAAEspG,mBACQkI,GAAU9yF,IACfoyF,EAAe9wG,IAAMA,EAAEopG,WAC1BqI,GAAU,GACVzxG,EAAEspG,mBAOV,KAAK,UAAQ4I,IAIT,OAFAT,GAAU,QACVP,IAKDxyF,GAAS,CAAC,UAAQyzF,OAAOxc,SAAS31F,EAAEy9F,OAE7B+T,GAEVV,EAAe9wG,GAHf6wG,GAAY,KAMhBO,QAAS,SAAiBpxG,GACxByxG,GAAU,GACVI,GAAW,GAEPV,GACFA,EAASnxG,IAGbulG,OAAQ,SAAgBvlG,IAClB8xG,EAAetoB,SAAYonB,EAAenyF,SAAS2zF,gBAKnDpB,EACFjmE,YAAW,WAIT,IAHA,IACIqnE,EADY3zF,SACc2zF,cAEvBA,GAAiBA,EAAcC,YACpCD,EAAgBA,EAAcC,WAAWD,cAGvCxB,EAAewB,IACjBlB,MAED,GACMxyF,IACTmyF,GAAY,GAERkB,EAAgBvoB,SAClBynB,KAIJY,GAAW,GAEPR,GACFA,EAAQrxG,IA5BR8xG,EAAetoB,SAAU,IA2D/B,OA1BA,qBAAU,WACRuoB,EAAgBvoB,SAAU,IACzB,CAAC9qE,IACJ,qBAAU,WACRqzF,EAAgBvoB,SAAU,IACzB,CAACl2F,IAEJ,qBAAU,WACR,O5ByCoCvC,E4BzCL,SAAUiP,GACvC,IAAI2b,E5B8DH,SAA4B3b,GACjC,IAGMsyG,EAHF32F,EAAS3b,EAAE2b,OAEf,OAAI3b,EAAEuyG,UAAY52F,EAAO02F,aAGwB,QAAtCC,EAAkBtyG,EAAEwyG,oBAA8C,IAApBF,OAA6B,EAASA,EAAgBzpH,KAAKmX,GAAG,KAGhH2b,E4BvEU82F,CAAmBzyG,GAEhC,GAAI0e,EAAM,CACR,IAAIg0F,EAAiB9B,EAAej1F,GAE/B+2F,EAMOd,IAAWc,GACrB7B,GAAY,IANZiB,EAAetoB,SAAU,EAEzB7+C,uBAAsB,WACpBmnE,EAAetoB,SAAU,S5BgC9B,IAAqC,oBAAXnvE,QAA0BA,OAAOgR,mBAC9D,GAAkB,SAAyBrrB,GAEzC,mBAAmBy+F,IAAgBj+F,SAAQ,SAAUmyG,GACnDA,EAAU3yG,OAIdqa,OAAOgR,iBAAiB,YAAa,KAGvCozE,GAAej3F,IAAIzW,GACZ,WACL0tG,GAAemU,OAAO7hH,GAEM,IAAxB0tG,GAAetwD,OACjB9zB,OAAOmR,oBAAoB,YAAa,IACxC,GAAkB,OAlBjB,IAAiCz6B,K4BvB/B,CAACkhH,EAAY,CAClBL,QAASA,EACTJ,OAAQA,ICjKG,SAASqB,GAAoB7pF,GAC1C,IAAI8pF,EAAa9pF,EAAK8pF,WAClBC,EAAe/pF,EAAK+pF,aAEpB7b,EAAkB,WAAe,IACjCC,EAAmB,kBAAeD,EAAiB,GACnD5yE,EAAO6yE,EAAiB,GACxB6b,EAAe7b,EAAiB,GAEhC8b,EAAgB,SAAa,IAQjC,SAASC,IACPF,EAAaC,EAAczpB,QAAQ,IAUrC,OAlBAypB,EAAczpB,QAAUspB,EAWxB,aAAgB,WACVA,EAAWK,OAAM,SAAUC,GAC7B,OAAOA,IAAY9uF,MAEnB4uF,MAED,CAACJ,EAAWhkH,KAAK,QACb,CAACw1B,EAhBR,SAA2BhxB,GACzB0/G,EAAa1/G,GACby/G,EAAaz/G,IAckB4/G,G,yBC3BpB,SAASG,GAAc//G,EAAO01B,GAC3C,IAAI43E,EAAa53E,EAAK43E,WAClBrH,EAAiBvwE,EAAKuwE,eACtBjvG,EAAS0+B,EAAK1+B,OAClB,OAAO,oBAAQ,WACb,IAAKgJ,EACH,MAAO,CAAC,CAAC,IAAK,IAOhB,IAHA,IAAIggH,EAAiB,GACjBC,EAAiB,GAEZxpH,EAAI,EAAGA,EAAI62G,EAAWt3G,OAAQS,GAAK,EAAG,CAC7C,IAAIM,EAASu2G,EAAW72G,GACpBypH,EAAY/S,GAAYntG,EAAO,CACjCimG,eAAgBA,EAChBjvG,OAAQA,EACRD,OAAQA,IAEVkpH,EAAetpH,KAAKupH,GAEV,IAANzpH,IACFupH,EAAiBE,GAIrB,MAAO,CAACD,EAAgBD,KACvB,CAAChgH,EAAOstG,IAAa,SAAU6S,EAAM9yG,GACtC,OAAO8yG,EAAK,KAAO9yG,EAAK,KAAO,KAAa8yG,EAAK,GAAI9yG,EAAK,OC7B/C,SAAS+yG,GAAcC,EAAW3qF,GAC/C,IAAI43E,EAAa53E,EAAK43E,WAClBrH,EAAiBvwE,EAAKuwE,eACtBjvG,EAAS0+B,EAAK1+B,OAEdgnH,EAAY,mBAAS,MACrBC,EAAa,kBAAeD,EAAW,GACvCh+G,EAAQi+G,EAAW,GACnBqC,EAAmBrC,EAAW,GAE9BsC,EAAM,iBAAO,MAEjB,SAASC,EAASxmH,GAChB,IAAIymH,EAAczrH,UAAUgB,OAAS,QAAsBiD,IAAjBjE,UAAU,IAAmBA,UAAU,GACjFsiD,qBAAqBipE,EAAIrqB,SAErBuqB,EACFH,EAAiBtmH,GAInBumH,EAAIrqB,QAAU7+C,uBAAsB,WAClCipE,EAAiBtmH,MAIrB,IAAI0mH,EAAiBX,GAAc//G,EAAO,CACxCstG,WAAYA,EACZrH,eAAgBA,EAChBjvG,OAAQA,IAGN2pH,EADkB,kBAAeD,EAAgB,GACrB,GAMhC,SAASE,IACP,IAAIH,EAAczrH,UAAUgB,OAAS,QAAsBiD,IAAjBjE,UAAU,IAAmBA,UAAU,GACjFwrH,EAAS,KAAMC,GAWjB,OARA,qBAAU,WACRG,GAAQ,KACP,CAACP,IACJ,qBAAU,WACR,OAAO,WACL,OAAO/oE,qBAAqBipE,EAAIrqB,YAEjC,IACI,CAACyqB,EAjBR,SAAiBpgH,GACfigH,EAASjgH,IAgBiBqgH,GClB9B,SAASC,GAAYtqF,GACnB,IAAI63E,EAEAkK,EAAmB/hF,EAAMqsE,UACzBA,OAAiC,IAArB0V,EAA8B,YAAcA,EACxDtuF,EAAKuM,EAAMvM,GACXoP,EAAW7C,EAAM6C,SACjBtO,EAAQyL,EAAMzL,MACdi3C,EAAYxrC,EAAMwrC,UAClBu6C,EAAoB/lF,EAAM+lF,kBAC1BC,EAAgBhmF,EAAMgmF,cACtBF,EAAa9lF,EAAM8lF,WACnBG,EAAiBjmF,EAAMimF,eACvBvW,EAAiB1vE,EAAM0vE,eACvBjvG,EAASu/B,EAAMv/B,OACf8pH,EAAgBvqF,EAAMuqF,cACtBC,EAAaxqF,EAAMwqF,WACnBC,EAAYzqF,EAAMyqF,UAClBlW,EAAWv0E,EAAMu0E,SACjB2N,EAAgBliF,EAAM8wE,OACtBA,OAA2B,IAAlBoR,EAA2B,OAASA,EAC7C1hH,EAASw/B,EAAMx/B,OACfg0G,EAAax0E,EAAMw0E,WACnB/qG,EAAQu2B,EAAMv2B,MACdq1G,EAAe9+E,EAAM8+E,aACrBjqF,EAAOmL,EAAMnL,KACb61F,EAAc1qF,EAAM0qF,YACpB1H,EAAmBhjF,EAAMgjF,iBACzB2H,EAAa3qF,EAAM2qF,WACnBC,EAAY5qF,EAAM4qF,UAClB1Y,EAAWlyE,EAAMkyE,SACjBtB,EAAe5wE,EAAM4wE,aACrBia,EAAc7qF,EAAM6qF,YACpB3E,EAAoBlmF,EAAMkmF,kBAC1B4E,EAAY9qF,EAAM8qF,UAClBC,EAAc/qF,EAAM+qF,YACpBxe,EAAWvsE,EAAMusE,SACjBye,EAAehrF,EAAMgrF,aACrBzD,EAAUvnF,EAAMunF,QAChB7L,EAAS17E,EAAM07E,OACf2G,EAAcriF,EAAMqiF,YACpB4I,EAAYjrF,EAAMirF,UAClB5Y,EAAeryE,EAAMqyE,aACrBC,EAAetyE,EAAMsyE,aACrB4Y,EAAgBlrF,EAAMkrF,cACtBvoF,EAAU3C,EAAM2C,QAChBukF,GAAalnF,EAAMs1E,UACnBmJ,GAAYz+E,EAAM6wE,SAClBzvF,GAAY4e,EAAM5e,UAClB+pG,GAAsBnrF,EAAMorF,aAC5BA,QAAuC,IAAxBD,GAAiC,MAAQA,GACxDE,GAAW,SAAa,MACxBhK,GAA+B,SAAXvQ,KAAuByD,GAAuB,SAAXzD,EAEvDiG,GAAaxvF,GAAQ+sF,GAAiB9zG,EAAQswG,EAAQyD,EAAUC,IAEhEoO,GAAc,SAAa,MAC3B0I,GAAc,SAAa,MAE3BlI,GAAkB,kBAAe,KAAM,CACzC35G,MAAOA,EACPq1G,aAAcA,IAEZwE,GAAmB,kBAAeF,GAAiB,GACnDG,GAAcD,GAAiB,GAC/BE,GAAgBF,GAAiB,GAGjCjW,GAAkB,WAAekW,IACjCjW,GAAmB,kBAAeD,GAAiB,GACnDke,GAAgBje,GAAiB,GACjCke,GAAmBle,GAAiB,GAGpC6H,GAAe,SAAa,MAE5BsO,GAAmB,mBAAe,EAAO,CAC3Ch6G,MAAOorB,EACPiqF,aAAc4L,EACdrH,UAAW,SAAmBoI,GAC5B,OAAOvZ,GAAmBuZ,GAE5Blf,SAAU,SAAkBmf,GACtBV,GACFA,EAAaU,IAGVA,GAAWvW,GAAaxV,SAAWwV,GAAaxV,QAAQqN,SAC3DmI,GAAaxV,QAAQqN,aAIvB0W,GAAmB,kBAAeD,GAAkB,GACpDkI,GAAajI,GAAiB,GAC9BkI,GAAmBlI,GAAiB,GAGpCyG,GAAiBX,GAAc+B,GAAe,CAChDxU,WAAYA,GACZrH,eAAgBA,EAChBjvG,OAAQA,IAENorH,GAAkB,kBAAe1B,GAAgB,GACjDlB,GAAa4C,GAAgB,GAC7BpC,GAAiBoC,GAAgB,GAEjCC,GAAuB9C,GAAoB,CAC7CC,WAAYA,GACZC,aAAc,SAAsB6C,GAClC,IAAIC,EAAYnV,GAAWkV,EAAS,CAClCtrH,OAAQA,EACRs2G,WAAYA,GACZrH,eAAgBA,KAGdsc,GAAepb,GAAiBA,EAAaob,IAC/CR,GAAiBQ,MAInBC,GAAwB,kBAAeH,GAAsB,GAC7DrxF,GAAOwxF,GAAsB,GAC7BC,GAAoBD,GAAsB,GAC1C5C,GAAY4C,GAAsB,GAGlCE,GAAgB,SAAuB9iE,GACzCmiE,GAAiBniE,GACjBm6D,GAAcn6D,GAEVkjD,IAAa+J,GAAQ5G,EAAgB6T,GAAal6D,IACpDkjD,EAASljD,EAAUA,EAAWutD,GAAYvtD,EAAU,CAClDqmD,eAAgBA,EAChBjvG,OAAQA,EACRD,OAAQu2G,GAAW,KAChB,KAILiQ,GAAc,SAAqB0E,GACjCxZ,GAAYwZ,GAIhBE,GAAiBF,IA+BfU,GAAkBtF,GAAe,CACnCK,aAAc9F,GACdxsF,KAAM82F,GACNliH,MAAOgxB,GACPusF,YAAaA,GACbC,eAjCmB,SAAwB9wG,GAC3C,OAAIw1G,IAAcxW,GAAaxV,SAAWwV,GAAaxV,QAAQ2V,UAEtDH,GAAaxV,QAAQ2V,UAAUn/F,IAQtC,mBAAQ,EAAO,wFACR,IAsBT4wG,eAAgB,SAAwBj1F,GACtC,OAAQijF,GAAiB,CAAC6N,GAAYjjB,QAAS2rB,GAAY3rB,SAAU7tE,IAEvEs1F,SAAU,WACR,QAAIxW,IAAgBA,EAAa2a,OAIjCY,GAAcZ,IACdvE,IAAY,GACZqC,MACO,IAEThC,SAAU,WACRL,IAAY,GACZwE,GAAiBjI,IACjB8F,MAEF/T,UAAW,SAAmBn/F,EAAGspG,GAC/ByH,UAAwDA,GAAW/wG,EAAGspG,IAExE8H,QAASA,EACT7L,OAAQA,IAEN2Q,GAAmB,kBAAeD,GAAiB,GACnDhE,GAAaiE,GAAiB,GAC9BC,GAAoBD,GAAiB,GACrCtE,GAAUuE,GAAkBvE,QAC5BJ,GAAS2E,GAAkB3E,OAI/B,aAAgB,WACTgE,KACHH,GAAiBjI,IAEZ0F,GAAWxpH,QAA4B,KAAlBwpH,GAAW,GAE1BQ,KAAmBhvF,IAC5B4uF,KAFA6C,GAAkB,OAKrB,CAACP,GAAY1C,KAEhB,aAAgB,WACT0C,IACHtC,OAED,CAACvY,IAEJ,aAAgB,WAEd0a,GAAiBjI,MAChB,CAACA,KAEAuH,IACFA,EAAUnrB,QAAU,CAClB4sB,MAAO,WACDlB,GAAS1rB,SACX0rB,GAAS1rB,QAAQ4sB,SAGrBC,KAAM,WACAnB,GAAS1rB,SACX0rB,GAAS1rB,QAAQ6sB,UAMzB,IAAIC,GAAiB5C,GAAcpvF,GAAM,CACvCs8E,WAAYA,GACZrH,eAAgBA,EAChBjvG,OAAQA,IAENisH,GAAkB,kBAAeD,GAAgB,GACjDE,GAAaD,GAAgB,GAC7B/Y,GAAU+Y,GAAgB,GAC1BrC,GAAUqC,GAAgB,GAG1BE,GAAa,kBAAc,kBAAc,GAAI5sF,GAAQ,GAAI,CAC3DwrC,eAAW9oE,EACX6xB,WAAO7xB,EACPs/G,iBAAat/G,EACb4/G,yBAAqB5/G,EACrB6pG,SAAU,OAGR6X,GAAyB,gBAAoB,GAAa,kBAAS,GAAIwI,GAAY,CACrFld,eAAgBA,EAChBlkC,UAAW,IAAW,kBAAgB,GAAI,GAAG16D,OAAOu7F,EAAW,mBAAoBsb,KACnFl+G,MAAO8hH,GACP9qH,OAAQA,EACRoiC,UAAW,EACXguE,SAAU,SAAkB7mG,GAC1By0G,UAAsDA,GAAUz0G,GAChEwhH,GAAiBxhH,IAEnBoX,UAAWA,GACXg0F,cAAe,SAAuBzF,EAAU77E,GAC9C,IAAIshF,EAAgBp1E,EAAMo1E,cAC1BiV,IAAQ,GACRjV,SAA8DA,EAAczF,EAAU77E,OAItFi3F,IACF3G,GAAY2G,EAAY3G,KAG1B,IAMIyI,GAQAC,GAdAC,GAAqB,gBAAoB,MAAO,CAClDvhD,UAAW,GAAG16D,OAAOu7F,EAAW,oBAChCgW,YAAa,SAAqBlsG,GAChCA,EAAEspG,mBAEH2E,IAGCuG,IACFkC,GAA0B,gBAAoB,OAAQ,CACpDrhD,UAAW,GAAG16D,OAAOu7F,EAAW,YAC/Bse,IAKDH,GAAcjH,KAAgBrR,IAChC4a,GAAyB,gBAAoB,OAAQ,CACnDzK,YAAa,SAAqBlsG,GAChCA,EAAEspG,iBACFtpG,EAAE23F,mBAEJmd,UAAW,SAAmB90G,GAC5BA,EAAEspG,iBACFtpG,EAAE23F,kBACFqe,GAAc,MACdnF,IAAY,IAEdx7C,UAAW,GAAG16D,OAAOu7F,EAAW,WAC/Bue,GAA0B,gBAAoB,OAAQ,CACvDp/C,UAAW,GAAG16D,OAAOu7F,EAAW,kBAUpC,IAQI+Z,GAA+B,QAAdhlG,GAAsB,cAAgB,aAC3D,OAAoB,gBAAoB,EAAaikG,SAAU,CAC7D57G,MAAO,CACL0rG,aAAcA,GACdrF,WAAuB,SAAXgB,EACZ+R,SAAUD,GACV/R,SAdkB,SAAyB7mG,EAAMgnB,IACtC,WAATA,GAA8B,QAATA,IAAmBqwF,MAE1C8K,GAAcniH,GACdg9G,IAAY,KAWZnyF,KAAM82F,GACN3I,iBAAkBA,EAClBtR,iBAAkBiC,GAClBhC,iBAAkB0Y,KAEN,gBAAoB,GAAe,CACjD9c,QAASoe,GACT9F,aAAckH,GACdjH,WAAYA,EACZzZ,UAAWA,EACX0Z,kBAAmBA,EACnBC,cAAeA,EACfE,kBAAmBA,EACnBD,eAAgBA,EAChBG,eAAgBA,GAChBhlG,UAAWA,IACG,gBAAoB,MAAO,CACzCoqD,UAAW,IAAW6gC,EAAW7gC,GAAYqsC,EAAe,GAAI,kBAAgBA,EAAc,GAAG/mG,OAAOu7F,EAAW,aAAc6F,GAAW,kBAAgB2F,EAAc,GAAG/mG,OAAOu7F,EAAW,YAAa0b,IAAU,kBAAgBlQ,EAAc,GAAG/mG,OAAOu7F,EAAW,QAAuB,QAAdjrF,IAAsBy2F,IACxStjF,MAAOA,EACP8tF,YAAaA,EACb4I,UA5MsB,WAClBA,GACFA,EAAUzsH,WAAM,EAAQC,WAGtB4sH,GAAS1rB,UACX0rB,GAAS1rB,QAAQ4sB,QACjBvF,IAAY,KAsMd3U,aAAcA,EACdC,aAAcA,EACd4Y,cAAeA,EACfvoF,QAASA,GACK,gBAAoB,MAAO,CACzC6oC,UAAW,IAAW,GAAG16D,OAAOu7F,EAAW,UAAW,kBAAgB,GAAI,GAAGv7F,OAAOu7F,EAAW,wBAAyBsgB,KACxHjqF,IAAK4oF,IACS,gBAAoB,QAAS,kBAAS,CACpD73F,GAAIA,EACJoP,SAAUA,EACVqvE,SAAUA,EACV8a,SAAUzC,GAA0C,mBAAlBxT,GAAW,KAAsB4Q,GACnEl+G,MAAOkjH,IAAclyF,GACrB8xE,SAAU,SAAkBp2F,GAC1B+1G,GAAkB/1G,EAAE2b,OAAOroB,QAE7BghH,UAAWA,EACXI,YAAaA,EACbnoF,IAAK2oF,GACLlpF,MAAO1H,IACN2tF,GAAY,CACb9jE,KAAMowD,GAAa5D,EAAQiG,GAAW,GAAIrH,IACzCsI,GAAmBh4E,GAAQ,CAC5BorF,aAAcA,MACXyB,GAAYC,OAInB,IAwCe,GAxCW,SAAU5tF,GAClC,kBAAU+tF,EAAQ/tF,GAElB,IAAIguF,EAAS,kBAAaD,GAE1B,SAASA,IACP,IAAI5tF,EAmBJ,OAjBA,kBAAgBp8B,KAAMgqH,IAEtB5tF,EAAQ6tF,EAAO1uH,MAAMyE,KAAMxE,YACrBqsH,UAAyB,cAE/BzrF,EAAMktF,MAAQ,WACRltF,EAAMyrF,UAAUnrB,SAClBtgE,EAAMyrF,UAAUnrB,QAAQ4sB,SAI5BltF,EAAMmtF,KAAO,WACPntF,EAAMyrF,UAAUnrB,SAClBtgE,EAAMyrF,UAAUnrB,QAAQ6sB,QAIrBntF,EAYT,OATA,kBAAa4tF,EAAQ,CAAC,CACpBnoH,IAAK,SACL2E,MAAO,WACL,OAAoB,gBAAoB6gH,GAAa,kBAAS,GAAIrnH,KAAK+8B,MAAO,CAC5E8qF,UAAW7nH,KAAK6nH,iBAKfmC,EArCiB,CAsCxB,aCjdF,SAASE,GAAoBzW,EAAWjG,EAASK,EAAQpB,GACvD,IAAI0d,EAAYzW,GAAmBD,EAAW5F,EAAQpB,EAAgB,GAEtE,SAAS2d,EAAYC,GACnB,OAAIA,EAAY5W,EAAWjG,GAClB,OAGL6c,EAAYF,EAAW3c,GAClB,UAGF,MAGT,OAAQK,GACN,IAAK,OACH,OAAOuc,GAAY,SAAU3oB,EAAOtO,GAClC,O/BVD,SAAsBsZ,EAAgB6d,EAASC,GACpD,IAAI5X,EAAQJ,GAAY+X,EAASC,GAEjC,MAAqB,kBAAV5X,EACFA,EAGExvG,KAAKiD,MAAMqmG,EAAenF,QAAQgjB,GAAW,MAC7CnnH,KAAKiD,MAAMqmG,EAAenF,QAAQijB,GAAW,I+BE3CC,CAAa/d,EAAgBhL,EAAOtO,MAG/C,IAAK,UACL,IAAK,QACH,OAAOi3B,GAAY,SAAU3oB,EAAOtO,GAClC,OAAOqf,GAAW/F,EAAgBhL,EAAOtO,MAG7C,QACE,OAAOi3B,GAAY,SAAU3oB,EAAOtO,GAClC,OAAO6f,GAAYvG,EAAgBhL,EAAOtO,OA+BnC,SAASs3B,GAAkBvuF,GACxC,IAAI/oB,EAAS+oB,EAAK/oB,OACd06F,EAAS3xE,EAAK2xE,OACd6c,EAAexuF,EAAKwuF,aACpBje,EAAiBvwE,EAAKuwE,eAEtBrC,EAAkB,YAAe,WACnC,MAAO,CAAC/8D,GAASq9E,EAAc,GAAIr9E,GAASq9E,EAAc,OAExDrgB,EAAmB,kBAAeD,EAAiB,GACnDugB,EAAmBtgB,EAAiB,GACpCugB,EAAsBvgB,EAAiB,GAEvCwgB,EAAmB,WAAe,MAClCC,EAAmB,kBAAeD,EAAkB,GACpDE,EAAYD,EAAiB,GAC7BE,EAAuBF,EAAiB,GAExCrX,EAAYpmE,GAASl6B,EAAQ,GAC7Bq6F,EAAUngE,GAASl6B,EAAQ,GA+B/B,MAAO,CA7BP,SAAqBsU,GAEnB,OAAIkjG,EAAiBljG,GACZkjG,EAAiBljG,GAGnB4lB,GAAS09E,EAAWtjG,IArD/B,SAA0BtU,EAAQsU,EAAOomF,EAAQpB,GAC/C,IAAIgH,EAAYpmE,GAASl6B,EAAQ,GAC7Bq6F,EAAUngE,GAASl6B,EAAQ,GAE/B,GAAc,IAAVsU,EACF,OAAOgsF,EAGT,GAAIA,GAAajG,EAGf,OAFe0c,GAAoBzW,EAAWjG,EAASK,EAAQpB,IAG7D,IAAK,OAGL,IAAK,UACH,OAAOgH,EAET,QACE,OAAOC,GAAmBlG,EAASK,EAAQpB,GAAiB,GAIlE,OAAOgH,EA8BgCwX,CAAiB93G,EAAQsU,EAAOomF,EAAQpB,IAAmBgH,GAAajG,GAAWf,EAAevF,UAGzI,SAAqBwF,EAAUjlF,GAC7B,GAAIilF,EAAU,CACZ,IAAIwe,EAAejW,GAAa8V,EAAWre,EAAUjlF,GAErDmjG,EACA3V,GAAa0V,EAAkB,KAAMljG,IAAU,CAAC,KAAM,OAEtD,IAAI0jG,GAAgB1jG,EAAQ,GAAK,EAE5B4lB,GAASl6B,EAAQg4G,KACpBD,EAAejW,GAAaiW,EAAcxe,EAAUye,IAGtDH,EAAqBE,QACZzX,GAAajG,IAEtBwd,EAAqB,QCjF3B,SAASI,GAAcj4G,EAAQs5F,GAC7B,OAAIt5F,GAAUA,EAAO,IAAMA,EAAO,IAAMs5F,EAAexuF,QAAQ9K,EAAO,GAAIA,EAAO,IACxE,CAACA,EAAO,GAAIA,EAAO,IAGrBA,EAGT,SAASk4G,GAAgB7kH,EAAOihB,EAAOwnF,EAAUqc,GAC/C,QAAI9kH,OAIA8kH,IAAcA,EAAW7jG,OAIzBwnF,GAAUxnF,EAAQ,GAAK,IAO7B,SAAS8jG,GAAiBxuF,GACxB,IAAI63E,EAAc4W,EAAcC,EAE5B3M,EAAmB/hF,EAAMqsE,UACzBA,OAAiC,IAArB0V,EAA8B,YAAcA,EACxDtuF,EAAKuM,EAAMvM,GACXc,EAAQyL,EAAMzL,MACdi3C,EAAYxrC,EAAMwrC,UAClBs6C,EAAa9lF,EAAM8lF,WACnBC,EAAoB/lF,EAAM+lF,kBAC1BE,EAAiBjmF,EAAMimF,eACvBD,EAAgBhmF,EAAMgmF,cACtBE,EAAoBlmF,EAAMkmF,kBAC1BxW,EAAiB1vE,EAAM0vE,eACvBjvG,EAASu/B,EAAMv/B,OACfoqH,EAAc7qF,EAAM6qF,YACpBJ,EAAYzqF,EAAMyqF,UAClBvY,EAAWlyE,EAAMkyE,SACjB1xG,EAASw/B,EAAMx/B,OACf0hH,EAAgBliF,EAAM8wE,OACtBA,OAA2B,IAAlBoR,EAA2B,OAASA,EAC7C3N,EAAWv0E,EAAMu0E,SACjBC,EAAax0E,EAAMw0E,WACnBma,EAAmB3uF,EAAMzgB,UACzBA,OAAiC,IAArBovG,EAA8B,IAAMA,EAChDllH,EAAQu2B,EAAMv2B,MACdq1G,EAAe9+E,EAAM8+E,aACrBmD,EAAqBjiF,EAAMiiF,mBAC3BptF,EAAOmL,EAAMnL,KACb61F,EAAc1qF,EAAM0qF,YACpB9Z,EAAe5wE,EAAM4wE,aACrBge,EAAgB5uF,EAAM++E,aACtB/B,EAAah9E,EAAMg9E,WACnB+N,EAAc/qF,EAAM+qF,YACpB8D,EAAS7uF,EAAM6uF,OACfN,EAAavuF,EAAMuuF,WACnB/D,EAAaxqF,EAAMwqF,WACnBG,EAAa3qF,EAAM2qF,WACnBC,EAAY5qF,EAAM4qF,UAClBE,EAAY9qF,EAAM8qF,UAClBP,EAAgBvqF,EAAMuqF,cACtBz2F,EAAOkM,EAAMlM,KACb+sF,EAAoB7gF,EAAM6gF,kBAC1BtU,GAAWvsE,EAAMusE,SACjBye,GAAehrF,EAAMgrF,aACrB5V,GAAgBp1E,EAAMo1E,cACtB0Z,GAAmB9uF,EAAM8uF,iBACzBxH,GAAWtnF,EAAMunF,QACjB7L,GAAS17E,EAAM07E,OACf6G,GAAQviF,EAAMuhF,KACd2F,GAAalnF,EAAMs1E,UACnB8L,GAAaphF,EAAMohF,WACnB2N,GAAQ/uF,EAAM+uF,MACd3tG,GAAY4e,EAAM5e,UAClB4tG,GAAoBhvF,EAAMgvF,kBAC1B7D,GAAsBnrF,EAAMorF,aAC5BA,QAAuC,IAAxBD,GAAiC,MAAQA,GACxD9J,GAA+B,SAAXvQ,KAAuByD,GAAuB,SAAXzD,EAEvDme,GAAiB,iBAAO,IACxBC,GAAe,iBAAO,MACtBtM,GAAc,iBAAO,MACrBuM,GAAmB,iBAAO,MAC1BC,GAAiB,iBAAO,MACxBC,GAAe,iBAAO,MACtBC,GAAgB,iBAAO,MACvBC,GAAc,iBAAO,MAErBxY,GAAaxvF,GAAQ+sF,GAAiB9zG,EAAQswG,EAAQyD,EAAUC,IAEhE4O,GAAkB,kBAAe,EAAG,CACtC35G,MAAOulH,KAEL1L,GAAmB,kBAAeF,GAAiB,GACnDoM,GAA0BlM,GAAiB,GAC3CmM,GAA6BnM,GAAiB,GAG9CnO,GAAe,iBAAO,MACtBua,GAAiB,WAAc,WACjC,OAAI9wH,MAAMF,QAAQwzG,GACTA,EAGF,CAACA,IAAY,EAAOA,IAAY,KACtC,CAACA,IAEAuR,GAAmB,kBAAe,KAAM,CAC1Ch6G,MAAOA,EACPq1G,aAAcA,EACduE,UAAW,SAAmBjtG,GAC5B,MAAkB,SAAX06F,GAAsBie,GAAiBV,GAAcj4G,EAAQs5F,GAA/Bt5F,KAGrCstG,GAAmB,kBAAeD,GAAkB,GACpDF,GAAcG,GAAiB,GAC/BF,GAAgBE,GAAiB,GAIjCiM,GAAqBjC,GAAkB,CACzCt3G,OAAQmtG,GACRzS,OAAQA,EACR6c,aAAc1L,EACdvS,eAAgBA,IAEdkgB,GAAsB,kBAAeD,GAAoB,GACzDE,GAAcD,GAAoB,GAClChM,GAAcgM,GAAoB,GAGlC5L,GAAmB,kBAAeT,GAAa,CACjDF,UAAW,SAAmBjtG,GAC5B,IAAI05G,EAAa15G,EAEjB,GAAIs5G,GAAe,IAAMA,GAAe,GACtC,OAAOI,EAIT,IAAK,IAAI5vH,EAAI,EAAGA,EAAI,EAAGA,GAAK,GACtBwvH,GAAexvH,IAAOowC,GAASw/E,EAAY5vH,IAAOowC,GAASi+E,EAAYruH,KACzE4vH,EAAa5X,GAAa4X,EAAYpgB,EAAevF,SAAUjqG,IAInE,OAAO4vH,KAGP7L,GAAmB,kBAAeD,GAAkB,GACpDuH,GAAgBtH,GAAiB,GACjCuH,GAAmBvH,GAAiB,GAGpC8L,GAAmB,kBAAe,CAACjf,EAAQA,GAAS,CACtDrnG,MAAOqqB,IAELk8F,GAAmB,kBAAeD,GAAkB,GACpDE,GAAcD,GAAiB,GAC/BE,GAAgBF,GAAiB,GAErC,qBAAU,WACRE,GAAc,CAACpf,EAAQA,MACtB,CAACA,IAEJ,IAAIqf,GAAqB,SAA4BC,EAAOh6G,GAC1D85G,GAAcE,GAEVhb,IACFA,GAAch/F,EAAQg6G,IAKtBC,GC7MS,SAA0BlxF,EAAMmxF,EAAeC,GAC5D,IAAIzf,EAAS3xE,EAAK2xE,OACdrwG,EAAS0+B,EAAK1+B,OACd8qH,EAAgBpsF,EAAKosF,cACrB3a,EAAezxE,EAAKyxE,aACpBsB,EAAW/yE,EAAK+yE,SAChBxC,EAAiBvwE,EAAKuwE,eACtBgH,EAAYpmE,GAASi7E,EAAe,GACpC9a,EAAUngE,GAASi7E,EAAe,GAEtC,SAASiF,EAAcxmH,GACrB,OAAO0lG,EAAejvG,OAAO8qG,iBAAiB9qG,EAAOA,OAAQuJ,GAG/D,SAASymH,EAAYzmH,GAGnB,OAAc,IAFH0lG,EAAenF,QAAQvgG,GACtB0lG,EAAe50F,SAAS9Q,GAItC,SAAS0mH,EAAc1mH,GAGrB,OAAc,GAFH0lG,EAAenF,QAAQvgG,GACpB6rG,GAAWnG,EAAgB1lG,GA8D3C,MAAO,CA1DiB,eAAkB,SAAUA,GAClD,GAAI4mG,GAAgBA,EAAa5mG,GAC/B,OAAO,EAIT,GAAIkoG,EAAS,IAAMzB,EACjB,OAAQ2F,GAAW1G,EAAgB1lG,EAAMymG,IAAYf,EAAexuF,QAAQlX,EAAMymG,GAIpF,GAAI6f,GAAiB7f,EACnB,OAAQK,GACN,IAAK,UACH,OAAO4f,EAAc1mH,GAAQ0mH,EAAcjgB,GAE7C,IAAK,QACH,OAAOggB,EAAYzmH,GAAQymH,EAAYhgB,GAEzC,IAAK,OACH,OAAO+f,EAAcxmH,GAAQwmH,EAAc/f,GAE7C,QACE,OAAQ2F,GAAW1G,EAAgB1lG,EAAMymG,IAAYf,EAAexuF,QAAQlX,EAAMymG,GAIxF,OAAO,IACN,CAACG,EAAcsB,EAAS,GAAIzB,EAAS6f,IAClB,eAAkB,SAAUtmH,GAChD,GAAI4mG,GAAgBA,EAAa5mG,GAC/B,OAAO,EAIT,GAAIkoG,EAAS,IAAMwE,EACjB,OAAQN,GAAW1G,EAAgB1lG,EAAMymG,IAAYf,EAAexuF,QAAQw1F,EAAW1sG,GAIzF,GAAIumH,GAAe7Z,EACjB,OAAQ5F,GACN,IAAK,UACH,OAAO4f,EAAc1mH,GAAQ0mH,EAAcha,GAE7C,IAAK,QACH,OAAO+Z,EAAYzmH,GAAQymH,EAAY/Z,GAEzC,IAAK,OACH,OAAO8Z,EAAcxmH,GAAQwmH,EAAc9Z,GAE7C,QACE,OAAQN,GAAW1G,EAAgB1lG,EAAM0sG,IAAchH,EAAexuF,QAAQw1F,EAAW1sG,GAI/F,OAAO,IACN,CAAC4mG,EAAcsB,EAAS,GAAIwE,EAAW6Z,KD0HlBI,CAAiB,CACvC7f,OAAQA,EACRya,cAAeA,GACf9qH,OAAQA,EACRyxG,SAAUwd,GACV9e,aAAcA,EACdlB,eAAgBA,GACfuf,GAAetvB,QAAQ,GAAIsvB,GAAetvB,QAAQ,IACjDixB,GAAqB,kBAAeP,GAAmB,GACvDQ,GAAoBD,GAAmB,GACvCE,GAAkBF,GAAmB,GAGrCG,GAAmB,mBAAe,EAAO,CAC3CtnH,MAAOorB,EACPiqF,aAAc4L,EACdrH,UAAW,SAAmBoI,GAC5B,OAAOiE,GAAeF,KAAmC/D,GAE3Dlf,SAAU,SAAkBmf,GACtBV,IACFA,GAAaU,IAGVA,GAAWvW,GAAaxV,SAAWwV,GAAaxV,QAAQqN,SAC3DmI,GAAaxV,QAAQqN,aAIvBgkB,GAAoB,kBAAeD,GAAkB,GACrDpF,GAAaqF,GAAkB,GAC/BpF,GAAmBoF,GAAkB,GAErCC,GAAYtF,IAA0C,IAA5B6D,GAC1B0B,GAAUvF,IAA0C,IAA5B6D,GAGxB/H,GAAY,mBAAS,GACrBC,GAAa,kBAAeD,GAAW,GACvC0J,GAAgBzJ,GAAW,GAC3B0J,GAAmB1J,GAAW,GAElC,qBAAU,YACHiE,IAAcuD,GAAavvB,SAC9ByxB,GAAiBlC,GAAavvB,QAAQt6C,eAEvC,CAACsmE,KAEJ,IAAI0F,GAAa,WAEjB,SAASC,GAAa5F,EAAShhG,GAC7B,GAAIghG,EACFvqE,aAAakwE,GAAW1xB,SACxBsvB,GAAetvB,QAAQj1E,IAAS,EAChC+kG,GAA2B/kG,GAC3BkhG,GAAiBF,GAEZC,IACH/H,GAAY,KAAMl5F,QAEf,GAAI8kG,KAA4B9kG,EAAO,CAC5CkhG,GAAiBF,GAGjB,IAAI6F,EAActC,GAAetvB,QACjC0xB,GAAW1xB,QAAUz+C,YAAW,WAC1BqwE,IAAgBtC,GAAetvB,UACjCsvB,GAAetvB,QAAU,QAMjC,SAAS6xB,GAAoB9mG,GAC3B4mG,IAAa,EAAM5mG,GAGnBw2B,YAAW,WACT,IAAImqE,EAAW,CAACiE,GAAeC,IAAa7kG,GAExC2gG,EAAS1rB,SACX0rB,EAAS1rB,QAAQ4sB,UAElB,GAGL,SAASJ,GAAc9iE,EAAUooE,GAC/B,IAAIr7G,EAASizC,EACTqoE,EAAaphF,GAASl6B,EAAQ,GAC9B0zC,EAAWxZ,GAASl6B,EAAQ,GAE5Bs7G,GAAc5nE,GAAY4lD,EAAexuF,QAAQwwG,EAAY5nE,KAEpD,SAAXgnD,IAAsBuF,GAAW3G,EAAgBjvG,EAAOA,OAAQixH,EAAY5nE,IACjE,YAAXgnD,IAAyBgF,GAAcpG,EAAgBgiB,EAAY5nE,IACxD,SAAXgnD,GAAgC,YAAXA,GAAmC,SAAXA,IAAsBsF,GAAW1G,EAAgBgiB,EAAY5nE,IAEpF,IAAhB2nE,GACFr7G,EAAS,CAACs7G,EAAY,MACtB5nE,EAAW,OAEX4nE,EAAa,KACbt7G,EAAS,CAAC,KAAM0zC,IAIlBmlE,GAAetvB,QAAU,kBAAgB,GAAI8xB,GAAa,IACtC,SAAX3gB,IAA+B,IAAVie,KAE9B34G,EAASi4G,GAAcj4G,EAAQs5F,KAInC8b,GAAiBp1G,GACjB,IAAIu7G,EAAWv7G,GAAUA,EAAO,GAAKwgG,GAAYxgG,EAAO,GAAI,CAC1Ds5F,eAAgBA,EAChBjvG,OAAQA,EACRD,OAAQu2G,GAAW,KAChB,GACD6a,EAASx7G,GAAUA,EAAO,GAAKwgG,GAAYxgG,EAAO,GAAI,CACxDs5F,eAAgBA,EAChBjvG,OAAQA,EACRD,OAAQu2G,GAAW,KAChB,GAED+X,IAIFA,GAAiB14G,EAAQ,CAACu7G,EAAUC,GAHzB,CACTzL,MAAuB,IAAhBsL,EAAoB,QAAU,QAMzC,IAAII,EAAuBvD,GAAgBoD,EAAY,EAAGhC,GAAgBnB,GACtEuD,EAAqBxD,GAAgBxkE,EAAU,EAAG4lE,GAAgBnB,IAC1C,OAAXn4G,GAAmBy7G,GAAwBC,KAI1DtO,GAAcptG,IAEVm2F,IAAc+J,GAAQ5G,EAAgBp/D,GAASizE,GAAa,GAAImO,IAAgBpb,GAAQ5G,EAAgBp/D,GAASizE,GAAa,GAAIz5D,IACpIyiD,GAASn2F,EAAQ,CAACu7G,EAAUC,KAMhC,IAAIG,EAAgB,KAEA,IAAhBN,GAAsB/B,GAAe,GAEd,IAAhB+B,GAAsB/B,GAAe,KAC9CqC,EAAgB,GAFhBA,EAAgB,EAKI,OAAlBA,GAA0BA,IAAkBvC,IAA6BP,GAAetvB,QAAQoyB,IAAmBzhF,GAASl6B,EAAQ27G,KAAmBzhF,GAASl6B,EAAQq7G,GAI1KH,IAAa,EAAOG,GAFpBD,GAAoBO,GAMxB,IAAI9K,GAAiB,SAAwB9wG,GAC3C,OAAIw1G,IAAcxW,GAAaxV,SAAWwV,GAAaxV,QAAQ2V,UAEtDH,GAAaxV,QAAQ2V,UAAUn/F,IAQtC,mBAAQ,EAAO,wFACR,IAKP67G,GAAuB,CACzBjb,WAAYA,GACZrH,eAAgBA,EAChBjvG,OAAQA,GAGN0pH,GAAiBX,GAAcl5E,GAASi7E,GAAe,GAAIyG,IAC3DnG,GAAkB,kBAAe1B,GAAgB,GACjD8H,GAAkBpG,GAAgB,GAClCqG,GAAsBrG,GAAgB,GAEtCsG,GAAkB3I,GAAcl5E,GAASi7E,GAAe,GAAIyG,IAC5DI,GAAkB,kBAAeD,GAAiB,GAClDE,GAAgBD,GAAgB,GAChCE,GAAoBF,GAAgB,GAEpCG,GAAgB,SAAsBxG,EAASrhG,GACjD,IAAIshG,EAAYnV,GAAWkV,EAAS,CAClCtrH,OAAQA,EACRs2G,WAAYA,GACZrH,eAAgBA,IAIdsc,KAFyB,IAAVthG,EAAcmmG,GAAoBC,IAEtB9E,KAC7BR,GAAiBtT,GAAaqT,GAAeS,EAAWthG,IACxDk5F,GAAYoI,EAAWthG,KAIvBohG,GAAuB9C,GAAoB,CAC7CC,WAAYgJ,GACZ/I,aAAc,SAAsB6C,GAClC,OAAOwG,GAAcxG,EAAS,MAG9BE,GAAwB,kBAAeH,GAAsB,GAC7D0G,GAAYvG,GAAsB,GAClCwG,GAAyBxG,GAAsB,GAC/CyG,GAAiBzG,GAAsB,GAEvC0G,GAAwB3J,GAAoB,CAC9CC,WAAYoJ,GACZnJ,aAAc,SAAsB6C,GAClC,OAAOwG,GAAcxG,EAAS,MAG9B6G,GAAwB,kBAAeD,GAAuB,GAC9DE,GAAUD,GAAsB,GAChCE,GAAuBF,GAAsB,GAC7CG,GAAeH,GAAsB,GAErC/K,GAAa,mBAAS,MACtBC,GAAa,kBAAeD,GAAY,GACxCmL,GAAkBlL,GAAW,GAC7BmL,GAAqBnL,GAAW,GAGhCoL,GAAa,mBAAS,MACtBC,GAAa,kBAAeD,GAAY,GACxCrX,GAAmBsX,GAAW,GAC9BC,GAAsBD,GAAW,GAEjC1G,GAAiB5C,GAAc2I,GAAW,CAC5Czb,WAAYA,GACZrH,eAAgBA,EAChBjvG,OAAQA,IAENisH,GAAkB,kBAAeD,GAAgB,GACjD4G,GAAkB3G,GAAgB,GAClC4G,GAAe5G,GAAgB,GAC/B6G,GAAe7G,GAAgB,GAE/B8G,GAAkB3J,GAAcgJ,GAAS,CAC3C9b,WAAYA,GACZrH,eAAgBA,EAChBjvG,OAAQA,IAENgzH,GAAkB,kBAAeD,GAAiB,GAClDE,GAAgBD,GAAgB,GAChCE,GAAaF,GAAgB,GAC7BG,GAAaH,GAAgB,GAuB7BI,GAA0B,SAAiCnpG,EAAO2+F,GACpE,MAAO,CACLlC,aAAc9F,GACd4F,eAAgBA,GAChBvL,OAAQA,GACRqL,eAAgB,SAAwBj1F,GACtC,OAAQijF,GAAiB,CAAC6N,GAAYjjB,QAASwvB,GAAiBxvB,QAASyvB,GAAezvB,SAAU7tE,IAEpGy1F,QAAS,SAAiBpxG,GACxBs5G,GAA2B/kG,GAEvB48F,IACFA,GAASnxG,IAGb6wG,YAAa,SAAqB0E,GAChC4F,GAAa5F,EAAShhG,IAExB08F,SAAU,WACR+E,GAAcZ,GAAe7gG,GAC7B2+F,KAEFhC,SAAU,WACRiK,IAAa,EAAO5mG,GAEpB8gG,GAAiBjI,IACjB8F,OAKF+C,GAAkBtF,GAAe,kBAAc,kBAAc,GAAI+M,GAAwB,EAAGnB,KAAkB,GAAI,CACpH79F,KAAMo8F,GACNxnH,MAAO+oH,GACPld,UAAW,SAAmBn/F,EAAGspG,GAC/ByH,UAAwDA,GAAW/wG,EAAGspG,OAGtE4M,GAAmB,kBAAeD,GAAiB,GACnD0H,GAAkBzH,GAAiB,GACnCC,GAAoBD,GAAiB,GACrC0H,GAAezH,GAAkBvE,QACjCiM,GAAc1H,GAAkB3E,OAEhCsM,GAAmBnN,GAAe,kBAAc,kBAAc,GAAI+M,GAAwB,EAAGd,KAAgB,GAAI,CACnHl+F,KAAMq8F,GACNznH,MAAOopH,GACPvd,UAAW,SAAmBn/F,EAAGspG,GAC/ByH,UAAwDA,GAAW/wG,EAAGspG,OAGtEyU,GAAmB,kBAAeD,GAAkB,GACpDE,GAAgBD,GAAiB,GACjCE,GAAoBF,GAAiB,GACrCG,GAAaD,GAAkBrM,QAC/BuM,GAAYF,GAAkBzM,OAwB9BgK,GAAWpO,IAAeA,GAAY,GAAK3M,GAAY2M,GAAY,GAAI,CACzE9iH,OAAQA,EACRD,OAAQ,iBACRkvG,eAAgBA,IACb,GACDkiB,GAASrO,IAAeA,GAAY,GAAK3M,GAAY2M,GAAY,GAAI,CACvE9iH,OAAQA,EACRD,OAAQ,iBACRkvG,eAAgBA,IACb,GACL,qBAAU,WACHic,KACHH,GAAiBjI,IAEZ0O,GAAgBxyH,QAAiC,KAAvBwyH,GAAgB,GAEpCC,KAAwBM,IACjCE,KAFAD,GAAuB,IAKpBJ,GAAc5yH,QAA+B,KAArB4yH,GAAc,GAEhCC,KAAsBO,IAC/BE,KAFAD,GAAqB,OAKxB,CAACnH,GAAYsG,GAAiBI,KAEjC,qBAAU,WACR7G,GAAiBjI,MAChB,CAACoO,GAAUC,KASV9G,IACFA,EAAUnrB,QAAU,CAClB4sB,MAAO,WACD+C,GAAc3vB,SAChB2vB,GAAc3vB,QAAQ4sB,SAG1BC,KAAM,WACA8C,GAAc3vB,SAChB2vB,GAAc3vB,QAAQ6sB,OAGpB+C,GAAY5vB,SACd4vB,GAAY5vB,QAAQ6sB,UAO5B,IACItL,GADcriH,OAAOuG,KAAKypH,GAAU,IACZ9uH,KAAI,SAAU+3G,GACxC,IAAIqO,EAAQ0I,EAAO/W,GACfK,EAA6B,mBAAVgO,EAAuBA,IAAUA,EACxD,MAAO,CACLrO,MAAOA,EACPn1E,QAAS,WACPwpF,GAAchU,EAAW,MAEzBmZ,IAAa,EAAO9B,KAEtBnd,aAAc,WACZ4gB,GAAmB9a,IAErB7F,aAAc,WACZ2gB,GAAmB,WAKzB,SAASsB,KACP,IAAIrR,EAAgBzkH,UAAUgB,OAAS,QAAsBiD,IAAjBjE,UAAU,IAAmBA,UAAU,GAC/EmuH,EAAanuH,UAAUgB,OAAS,QAAsBiD,IAAjBjE,UAAU,GAAmBA,UAAU,GAAK,GACjF+1H,EAAwB,KAExB7I,IAAc9P,IAAoBA,GAAiB,IAAMA,GAAiB,IAAMnM,EAAexuF,QAAQ26F,GAAiB,GAAIA,GAAiB,MAC/I2Y,EAAwB3Y,IAG1B,IAAI4Y,EAAgBlgB,EAEpB,GAAIA,GAAkC,WAAtB,kBAAQA,IAA0BA,EAASuK,aAAc,CACvE,IAAI4V,EAAoBngB,EAASuK,aACjC2V,EAAgB,kBAAc,kBAAc,GAAIlgB,GAAW,GAAI,CAC7DuK,aAAcxuE,GAASokF,EAAmBlF,UAA4B9sH,IAI1E,IAAIiyH,EAAkB,KAUtB,OARI3X,IACF2X,EAAkB,SAAyB3qH,EAAMiyG,GAC/C,OAAOe,EAAWhzG,EAAMiyG,EAAO,CAC7BkK,MAAOqJ,GAA0B,MAAQ,YAK3B,gBAAoB,GAAanK,SAAU,CAC7D57G,MAAO,CACLw5G,SAAS,EACTC,cAAeA,EACftH,YAAaoX,IAAmBzH,GAChC1P,iBAAkB2Y,IAEN,gBAAoB,GAAa,kBAAS,GAAIx0F,EAAO4sF,EAAY,CAC/E5P,WAAY2X,EACZpgB,SAAUkgB,EACV3gG,KAAMm8F,GAAYT,IAClB9f,eAAgBA,EAChBn7E,WAAO7xB,EACP0e,UAAWA,GACXwvF,aAA0C,IAA5B4e,GAAgCqB,GAAoBC,GAClE/R,aAAc,SAAsB/0G,GAClC,QAAI4kH,GACKA,EAAc5kH,EAAkC,IAA5BwlH,GAAgC,QAAU,QAKzEhkD,UAAW,IAAW,kBAAgB,GAAI,GAAG16D,OAAOu7F,EAAW,kBAA+C,IAA5BmjB,IAAiCwE,IAAeM,KAClI7qH,MAAO6mC,GAASi7E,GAAeiE,IAC/B/uH,OAAQA,EACRoiC,UAAW,EACXuyE,cAAe,SAAuBprG,EAAM66G,GAEV,IAA5B2K,IACF+D,IAAa,GAGiB,IAA5B/D,IACFoE,IAAW,GAGbzD,GAAmBjY,GAAa+X,GAAapL,EAAS2K,IAA0BtX,GAAaqT,GAAevhH,EAAMwlH,KAClH,IAAI7f,EAAW3lG,EAEO,UAAlBk5G,GAA6B+M,GAAYT,MAA6B3K,IACxElV,EAAWgH,GAAmBhH,EAAUkV,EAASnV,GAAiB,IAGpEkU,GAAYjU,EAAU6f,KAExBjO,KAAM,KACN1Q,cAAUnuG,EACV6pG,cAAU7pG,EACVo8G,aAA8CxuE,GAASi7E,GAAb,IAA5BiE,GAAwD,EAA6B,GACnGvN,wBAAoBv/G,MAIxB,IAAIkyH,GAAY,EACZC,GAAY,EAEZrF,IAA2BL,GAAiBxvB,SAAW0vB,GAAa1vB,SAAWijB,GAAYjjB,UAE7Fi1B,GAAYzF,GAAiBxvB,QAAQt6C,YAAcgqE,GAAa1vB,QAAQt6C,YAEpEu9D,GAAYjjB,QAAQt6C,aAAeuvE,GAAYhS,GAAYjjB,QAAQt6C,cACrEwvE,GAAYD,KAIhB,IAAIE,GAAmC,QAAd1zG,GAAsB,CAC7CquE,MAAOmlC,IACL,CACFjoF,KAAMioF,IA0ER,IAUI/H,GAQAC,GAlBAiI,GAA0B,gBAAoB,MAAO,CACvDvpD,UAAW,IAAW,GAAG16D,OAAOu7F,EAAW,kBAAmB,GAAGv7F,OAAOu7F,EAAW,KAAKv7F,OAAOggG,EAAQ,mBACvGv8E,MAAO,CACLygG,SAAU7D,KAEE,gBAAoB,MAAO,CACzC3lD,UAAW,GAAG16D,OAAOu7F,EAAW,gBAChC93E,MAAOugG,KA9ET,WACE,IAAIG,EACAC,EAAYtU,GAAevU,EAAW4jB,GAAYT,IAA0B3O,GAC5E6D,EAAa5D,GAAU,CACzBzU,UAAWA,EACX+U,WAAYA,GACZC,kBAAmBA,GACnBG,YAAalxE,GAASi7E,GAAeiE,KAA4B5e,GAAgBA,EAAa2a,GAAciE,KAC5G/uH,OAAQA,EACRygH,UAAWA,GACXK,KAAM,WACAjxE,GAASi7E,GAAeiE,MAE1BrD,GAAcZ,GAAeiE,IAEzBjN,IACFA,GAAMgJ,QAMd,GAAe,SAAXza,GAAsByD,EAwBxB0gB,EAASV,SAxByB,CAClC,IAAI5kB,EAAWkgB,GAAYL,IACvB2F,EAAexe,GAAmBhH,EAAUmB,EAAQpB,GAEpD0lB,EADcnF,GAAYT,MACQ1e,EAClCukB,EAAYd,KAAYa,GAAkB,OAAgB,CAC5DpT,YAAarS,EACb2S,oBAAqB,SAA6BgT,GAChD1R,GAAY0R,EAAa9F,OAGzB+F,EAAahB,GAAY,QAAS,CACpCvS,YAAamT,EACb7S,oBAAqB,SAA6BgT,GAChD1R,GAAYjN,GAAmB2e,EAAaxkB,EAAQpB,GAAiB,GAAI8f,OAK3EyF,EADgB,QAAd7zG,GACoB,gBAAoB,WAAgB,KAAMm0G,EAAYH,GAAmBC,GAEzE,gBAAoB,WAAgB,KAAMA,EAAWD,GAAmBG,GAMlG,IAAIC,EAA2B,gBAAoB,WAAgB,KAAmB,gBAAoB,MAAO,CAC/GhqD,UAAW,GAAG16D,OAAOu7F,EAAW,YAC/B4oB,IAAUC,GAAaxQ,IAA4B,gBAAoB,MAAO,CAC/El5C,UAAW,GAAG16D,OAAOu7F,EAAW,YAC/B6oB,EAAWxQ,IAMd,OAJIqG,IACFyK,EAAczK,EAAYyK,IAGR,gBAAoB,MAAO,CAC7ChqD,UAAW,GAAG16D,OAAOu7F,EAAW,oBAChC93E,MAAO,CACLkhG,WAAYZ,IAEdnyF,IAAKkgF,GACLP,YAAa,SAAqBlsG,GAChCA,EAAEspG,mBAEH+V,GAWDE,IAIA/K,IACFkC,GAA0B,gBAAoB,OAAQ,CACpDrhD,UAAW,GAAG16D,OAAOu7F,EAAW,YAC/Bse,IAKDH,IAAel6E,GAASizE,GAAa,KAAOmM,GAAe,IAAMp/E,GAASizE,GAAa,KAAOmM,GAAe,MAC/G5C,GAAyB,gBAAoB,OAAQ,CACnDzK,YAAa,SAAqBlsG,GAChCA,EAAEspG,iBACFtpG,EAAE23F,mBAEJmd,UAAW,SAAmB90G,GAC5BA,EAAEspG,iBACFtpG,EAAE23F,kBACF,IAAI13F,EAASmtG,GAERmM,GAAe,KAClBt5G,EAAS8hG,GAAa9hG,EAAQ,KAAM,IAGjCs5G,GAAe,KAClBt5G,EAAS8hG,GAAa9hG,EAAQ,KAAM,IAGtC+1G,GAAc/1G,EAAQ,MAEtBk7G,IAAa,EAAO9B,KAEtBhkD,UAAW,GAAG16D,OAAOu7F,EAAW,WAC/Bue,GAA0B,gBAAoB,OAAQ,CACvDp/C,UAAW,GAAG16D,OAAOu7F,EAAW,kBAIpC,IAAIspB,GAAmB,CACrBrxE,KAAMowD,GAAa5D,EAAQiG,GAAW,GAAIrH,IAExCkmB,GAAgB,EAChBC,GAAiB,EAEjB1G,GAAiBxvB,SAAWyvB,GAAezvB,SAAW0vB,GAAa1vB,UACrC,IAA5B6vB,GACFqG,GAAiB1G,GAAiBxvB,QAAQt6C,aAE1CuwE,GAAgBhB,GAChBiB,GAAiBzG,GAAezvB,QAAQt6C,cAI5C,IAAIywE,GAAuC,QAAd10G,GAAsB,CACjDquE,MAAOmmC,IACL,CACFjpF,KAAMipF,IAoBR,OAAoB,gBAAoB,EAAavQ,SAAU,CAC7D57G,MAAO,CACL0rG,aAAcA,GACdrF,WAAuB,SAAXgB,EACZY,iBAxbmB,SAA0B1nG,GAC/CopH,GAAoBlb,GAAaqT,GAAevhH,EAAMwlH,KAEtB,IAA5BA,GACF8D,GAAatpH,GAEb2pH,GAAW3pH,IAmbX2nG,iBA/amB,WACrByhB,GAAoBlb,GAAaqT,GAAe,KAAMiE,KAEtB,IAA5BA,GACF+D,KAEAK,MA0aA7Q,YAAY,EACZlS,SAxBkB,SAAyB7mG,EAAMgnB,GACnD,IAAI5a,EAAS8hG,GAAaqT,GAAevhH,EAAMwlH,IAElC,WAATx+F,GAA8B,QAATA,IAAmBqwF,IAE1C8K,GAAc/1G,EAAQo5G,IAEU,IAA5BA,GACF+D,KAEAK,MAGFpI,GAAiBp1G,IAYjBye,KAAM82F,KAEM,gBAAoB,GAAe,CACjDpe,QAASoe,GACT9F,aAAckP,GACdjP,WAAYA,EACZzZ,UAAWA,EACX0Z,kBAAmBA,EACnBC,cAAeA,EACfE,kBAAmBA,EACnBD,eAAgBA,EAChBE,OAAO,EACP/kG,UAAWA,IACG,gBAAoB,MAAO,kBAAS,CAClDshB,IAAKwsF,GACL1jD,UAAW,IAAW6gC,EAAW,GAAGv7F,OAAOu7F,EAAW,UAAW7gC,GAAYqsC,EAAe,GAAI,kBAAgBA,EAAc,GAAG/mG,OAAOu7F,EAAW,aAAcqjB,GAAe,IAAMA,GAAe,IAAK,kBAAgB7X,EAAc,GAAG/mG,OAAOu7F,EAAW,YAAyC,IAA5BmjB,GAAgCuE,GAAeM,IAAa,kBAAgBxc,EAAc,GAAG/mG,OAAOu7F,EAAW,QAAuB,QAAdjrF,IAAsBy2F,IACxZtjF,MAAOA,EACPoO,QA9XkB,SAAuBxsB,GAGpCw1G,IAAe2D,GAAc3vB,QAAQsV,SAAS9+F,EAAE2b,SAAYy9F,GAAY5vB,QAAQsV,SAAS9+F,EAAE2b,UACzF49F,GAAe,GAERA,GAAe,IACzB8B,GAAoB,GAFpBA,GAAoB,KA0XxBnP,YAnXsB,SAA2BlsG,IAE7Cw1G,KAAeoI,KAAgBM,IAAgB/E,GAAc3vB,QAAQsV,SAAS9+F,EAAE2b,SAAYy9F,GAAY5vB,QAAQsV,SAAS9+F,EAAE2b,SAC7H3b,EAAEspG,mBAiXHzH,GAAmBh4E,IAAsB,gBAAoB,MAAO,CACrEwrC,UAAW,IAAW,GAAG16D,OAAOu7F,EAAW,WAAYoiB,EAAe,GAAI,kBAAgBA,EAAc,GAAG39G,OAAOu7F,EAAW,iBAA8C,IAA5BmjB,IAAgC,kBAAgBf,EAAc,GAAG39G,OAAOu7F,EAAW,wBAAyBgnB,IAAkB5E,IAC7Q/rF,IAAKysF,IACS,gBAAoB,QAAS,kBAAS,CACpD17F,GAAIA,EACJy+E,SAAUwd,GAAe,GACzB1C,SAAUzC,GAA0C,mBAAlBxT,GAAW,KAAsBid,GACnEvqH,MAAO4pH,IAAmBb,GAC1BjmB,SAAU,SAAkBp2F,GAC1Bs8G,GAAuBt8G,EAAE2b,OAAOroB,QAElCghH,UAAWA,EACXI,YAAav6E,GAASu6E,EAAa,IAAM,GACzCnoF,IAAK4sF,IACJwE,GAAiB6B,GAAkB,CACpCvK,aAAcA,OACG,gBAAoB,MAAO,CAC5C5/C,UAAW,GAAG16D,OAAOu7F,EAAW,oBAChC3pE,IAAK2sF,IACJ9vG,GAAyB,gBAAoB,MAAO,CACrDisD,UAAW,IAAW,GAAG16D,OAAOu7F,EAAW,WAAYqiB,EAAe,GAAI,kBAAgBA,EAAc,GAAG59G,OAAOu7F,EAAW,iBAA8C,IAA5BmjB,IAAgC,kBAAgBd,EAAc,GAAG59G,OAAOu7F,EAAW,wBAAyBqnB,IAAgBhF,IAC3QhsF,IAAK0sF,IACS,gBAAoB,QAAS,kBAAS,CACpDld,SAAUwd,GAAe,GACzB1C,SAAUzC,GAA0C,mBAAlBxT,GAAW,KAAsBud,GACnE7qH,MAAOiqH,IAAiBb,GACxBtmB,SAAU,SAAkBp2F,GAC1B28G,GAAqB38G,EAAE2b,OAAOroB,QAEhCohH,YAAav6E,GAASu6E,EAAa,IAAM,GACzCnoF,IAAK6sF,IACJ4E,GAAewB,GAAkB,CAClCvK,aAAcA,OACG,gBAAoB,MAAO,CAC5C5/C,UAAW,GAAG16D,OAAOu7F,EAAW,eAChC93E,MAAO,kBAAc,kBAAc,GAAIuhG,IAAyB,GAAI,CAClEh0F,MAAO+zF,GACPppF,SAAU,eAEVogF,GAAYC,MAIlB,IAwCe,GAxCgB,SAAU5tF,GACvC,kBAAU62F,EAAa72F,GAEvB,IAAIguF,EAAS,kBAAa6I,GAE1B,SAASA,IACP,IAAI12F,EAmBJ,OAjBA,kBAAgBp8B,KAAM8yH,IAEtB12F,EAAQ6tF,EAAO1uH,MAAMyE,KAAMxE,YACrBqsH,UAAyB,cAE/BzrF,EAAMktF,MAAQ,WACRltF,EAAMyrF,UAAUnrB,SAClBtgE,EAAMyrF,UAAUnrB,QAAQ4sB,SAI5BltF,EAAMmtF,KAAO,WACPntF,EAAMyrF,UAAUnrB,SAClBtgE,EAAMyrF,UAAUnrB,QAAQ6sB,QAIrBntF,EAYT,OATA,kBAAa02F,EAAa,CAAC,CACzBjxH,IAAK,SACL2E,MAAO,WACL,OAAoB,gBAAoB+kH,GAAkB,kBAAS,GAAIvrH,KAAK+8B,MAAO,CACjF8qF,UAAW7nH,KAAK6nH,iBAKfiL,EArCsB,CAsC7B,aEp/Ba,M,SCJR,SAASC,GAAellB,EAAQrwG,EAAQw1H,GAC7C,YAA6BvzH,IAAzBuzH,EACKA,EAGM,SAAXnlB,GAAqBrwG,EAAOsiB,KAAKmzG,gBAC5Bz1H,EAAOsiB,KAAKmzG,gBAGN,YAAXplB,GAAwBrwG,EAAOsiB,KAAKozG,mBAC/B11H,EAAOsiB,KAAKozG,mBAGN,UAAXrlB,GAAsBrwG,EAAOsiB,KAAKqzG,iBAC7B31H,EAAOsiB,KAAKqzG,iBAGN,SAAXtlB,GAAqBrwG,EAAOsiB,KAAKszG,gBAC5B51H,EAAOsiB,KAAKszG,gBAGN,SAAXvlB,GAAqBrwG,EAAO61H,iBAAiBzL,YACxCpqH,EAAO61H,iBAAiBzL,YAG1BpqH,EAAOsiB,KAAK8nG,YAEd,SAAS0L,GAAoBzlB,EAAQrwG,EAAQw1H,GAClD,YAA6BvzH,IAAzBuzH,EACKA,EAGM,SAAXnlB,GAAqBrwG,EAAOsiB,KAAKmzG,gBAC5Bz1H,EAAOsiB,KAAKyzG,qBAGN,UAAX1lB,GAAsBrwG,EAAOsiB,KAAKqzG,iBAC7B31H,EAAOsiB,KAAK0zG,sBAGN,SAAX3lB,GAAqBrwG,EAAOsiB,KAAKszG,gBAC5B51H,EAAOsiB,KAAK2zG,qBAGN,SAAX5lB,GAAqBrwG,EAAO61H,iBAAiBzL,YACxCpqH,EAAO61H,iBAAiBK,iBAG1Bl2H,EAAOsiB,KAAK4zG,iB,iCCzCjB,GAAgC,SAAU5qH,EAAGoK,GAC/C,IAAInT,EAAI,GAER,IAAK,IAAIyrC,KAAK1iC,EACRlN,OAAOC,UAAUO,eAAeL,KAAK+M,EAAG0iC,IAAMt4B,EAAEnK,QAAQyiC,GAAK,IAAGzrC,EAAEyrC,GAAK1iC,EAAE0iC,IAG/E,GAAS,MAAL1iC,GAAqD,mBAAjClN,OAAOm1B,sBAA2C,KAAI9zB,EAAI,EAAb,IAAgBuuC,EAAI5vC,OAAOm1B,sBAAsBjoB,GAAI7L,EAAIuuC,EAAEhvC,OAAQS,IAClIiW,EAAEnK,QAAQyiC,EAAEvuC,IAAM,GAAKrB,OAAOC,UAAU80B,qBAAqB50B,KAAK+M,EAAG0iC,EAAEvuC,MAAK8C,EAAEyrC,EAAEvuC,IAAM6L,EAAE0iC,EAAEvuC,KAEhG,OAAO8C,GChBT,IACe,GADS,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,+JAAmK,KAAQ,aAAc,MAAS,YCK7V,GAAoB,SAA2Bg9B,EAAO0C,GACxD,OAAoB,gBAAoB+rE,EAAA,EAAU5vG,OAAOgwB,OAAO,GAAImR,EAAO,CACzE0C,IAAKA,EACLqqE,KAAM,OAIV,GAAkBwB,YAAc,oBACJ,oBAAiB,ICPzC,GAAgC,SAAUxiG,EAAGoK,GAC/C,IAAInT,EAAI,GAER,IAAK,IAAIyrC,KAAK1iC,EACRlN,OAAOC,UAAUO,eAAeL,KAAK+M,EAAG0iC,IAAMt4B,EAAEnK,QAAQyiC,GAAK,IAAGzrC,EAAEyrC,GAAK1iC,EAAE0iC,IAG/E,GAAS,MAAL1iC,GAAqD,mBAAjClN,OAAOm1B,sBAA2C,KAAI9zB,EAAI,EAAb,IAAgBuuC,EAAI5vC,OAAOm1B,sBAAsBjoB,GAAI7L,EAAIuuC,EAAEhvC,OAAQS,IAClIiW,EAAEnK,QAAQyiC,EAAEvuC,IAAM,GAAKrB,OAAOC,UAAU80B,qBAAqB50B,KAAK+M,EAAG0iC,EAAEvuC,MAAK8C,EAAEyrC,EAAEvuC,IAAM6L,EAAE0iC,EAAEvuC,KAEhG,OAAO8C,GCZF,IAAI4zH,GAAa,CACtB/U,OCHa,SAAsB7hF,GACnC,OAAoB,gBAAoB,IAAQ,YAAS,CACvDskB,KAAM,QACNtzB,KAAM,WACLgP,KDAH2hF,UEJa,SAAmB3hF,GAChC,OAAoB,gBAAoB,EAAK,YAAS,CACpD6O,MAAO,QACN7O,MFYE,SAAS62F,GAAa72F,GAC3B,IATemnB,EASX3mD,EAASw/B,EAAMx/B,OACfswG,EAAS9wE,EAAM8wE,OACf4H,EAAW14E,EAAM04E,SACjBC,EAAa34E,EAAM24E,WACnBC,EAAa54E,EAAM44E,WACnBpE,EAAax0E,EAAMw0E,WACnBsiB,GAfW3vE,EAeW3mD,EAdrB2mD,EAIEvoD,MAAMF,QAAQyoD,GAAQA,EAAO,CAACA,GAH5B,IAayB,GAE9B4vE,EAAc,YAAS,GAAI/2F,GAoB/B,OAlBI82F,GAAsC,iBAAhBA,IACnBA,EAAYhrB,SAAS,WAAuBppG,IAAfk2G,IAChCme,EAAYne,YAAa,GAGtBke,EAAYhrB,SAAS,WAAuBppG,IAAfi2G,IAChCoe,EAAYpe,YAAa,GAGtBme,EAAYhrB,SAAS,MAASgrB,EAAYhrB,SAAS,WAAqBppG,IAAbg2G,IAC9Dqe,EAAYre,UAAW,IAGpBoe,EAAYhrB,SAAS,MAAQgrB,EAAYhrB,SAAS,YAAwBppG,IAAf8xG,IAC9DuiB,EAAYviB,YAAa,IAId,SAAX1D,EACKimB,GAGkB,mBAAhBD,UAEFC,EAAYv2H,OAGd,CACL+zG,SAAUwiB,IA0BC,IGjFX,GH2DJ,SAAwBrnB,GAEtB,IAAIsnB,EJ9BS,SAAwBtnB,GACrC,SAASunB,EAAUnmB,EAAQvC,GACzB,IAAI0e,EAAsB,SAAU/tF,GAClC,YAAU+tF,EAAQ/tF,GAElB,IAAIguF,EAAS,YAAaD,GAE1B,SAASA,EAAOjtF,GACd,IAAIX,EAgGJ,OA9FA,YAAgBp8B,KAAMgqH,IAEtB5tF,EAAQ6tF,EAAOluH,KAAKiE,KAAM+8B,IACpB8qF,UAAyB,cAE/BzrF,EAAMktF,MAAQ,WACRltF,EAAMyrF,UAAUnrB,SAClBtgE,EAAMyrF,UAAUnrB,QAAQ4sB,SAI5BltF,EAAMmtF,KAAO,WACPntF,EAAMyrF,UAAUnrB,SAClBtgE,EAAMyrF,UAAUnrB,QAAQ6sB,QAI5BntF,EAAM63F,aAAe,SAAUC,GAC7B,IAAI12H,EAAS,YAAS,YAAS,GAAI02H,GAAgB93F,EAAMW,MAAMv/B,QAE3D22H,EAAgB/3F,EAAM2sC,QACtBygC,EAAe2qB,EAAc3qB,aAC7BrrF,EAAYg2G,EAAch2G,UAC1B8kG,EAAoBkR,EAAclR,kBAElC55G,EAAK+yB,EAAMW,MACXosE,EAAqB9/F,EAAG+/F,UACxBgrB,EAA6B/qH,EAAG45G,kBAChC16C,EAAYl/D,EAAGk/D,UACf8rD,EAAgBhrH,EAAGg4C,KACnBizE,EAAcjrH,EAAGkrH,SACjBA,OAA2B,IAAhBD,GAAgCA,EAC3C1M,EAAcv+G,EAAGu+G,YACjBre,EAAY,GAAOlgG,EAAI,CAAC,YAAa,oBAAqB,YAAa,OAAQ,WAAY,gBAE3FmrH,EAAcp4F,EAAMW,MACpBx/B,EAASi3H,EAAYj3H,OACrB+zG,EAAWkjB,EAAYljB,SACvBlI,EAAYI,EAAa,SAAUL,GACnCsrB,EAAkB,CACpBtV,WAAW,GAETuV,EAA0B,GAE1B7mB,IACF6mB,EAAwB7mB,OAASA,GAGnC,IAAI8mB,EAAe9mB,GAAUzxE,EAAMW,MAAM8wE,OACzC6mB,EAA0B,YAAS,YAAS,YAAS,GAAIA,GAA0BpjB,EAAWsiB,GAAa,YAAS,CAClHr2H,OAAQA,EACRswG,OAAQ8mB,GACPrjB,IAAa,IAAsB,SAAjBqjB,EAA0Bf,GAAa,YAAS,YAAS,CAC5Er2H,OAAQA,GACP6+B,EAAMW,OAAQ,CACf8wE,OAAQ8mB,KACJ,IACN,IAAIC,EAAgBprB,IACpB,OAAoB,gBAAoBqrB,GAAA,EAAYC,SAAU,MAAM,SAAUzzE,GAC5E,IAAI6nD,EAEA6rB,EAAaV,GAAiBhzE,EAClC,OAAoB,gBAAoB,GAAU,YAAS,CACzD5hB,IAAKrD,EAAMyrF,UACXD,YAAamL,GAAe4B,EAAcn3H,EAAQoqH,GAClDF,WAA6B,SAAjBiN,EAAuC,gBAAoB,EAAqB,MAAqB,gBAAoB,EAAkB,MACvJhN,UAAwB,gBAAoBqN,EAAA,EAAmB,MAC/DzN,YAAY,EACZvE,eAAgB,GAAGn1G,OAAO+mH,EAAe,cACxCH,EAAiBlrB,EAAWmrB,EAAyB,CACtDl3H,OAAQA,EAAOsiB,KACfyoD,UAAW,KAAY2gC,EAAc,GAAI,YAAgBA,EAAa,GAAGr7F,OAAOu7F,EAAW,KAAKv7F,OAAOknH,GAAaA,GAAa,YAAgB7rB,EAAa,GAAGr7F,OAAOu7F,EAAW,gBAAiBmrB,GAAWrrB,GAAc3gC,GAC7N6gC,UAAWA,EACX6Z,kBAAmBmR,GAA8BnR,EACjDxW,eAAgBA,EAChBb,SAAuB,gBAAoB,OAAQ,CACjDrjC,UAAW,GAAG16D,OAAOu7F,EAAW,gBAElC0C,SAAuB,gBAAoB,OAAQ,CACjDvjC,UAAW,GAAG16D,OAAOu7F,EAAW,gBAElC4C,cAA4B,gBAAoB,OAAQ,CACtDzjC,UAAW,GAAG16D,OAAOu7F,EAAW,sBAElC8C,cAA4B,gBAAoB,OAAQ,CACtD3jC,UAAW,GAAG16D,OAAOu7F,EAAW,sBAElC+U,WAAYwV,GACZx1G,UAAWA,SAKjB,OAAA82G,GAAA,GAAsB,YAAXpnB,EAAsBvC,EAAa,cAAcz9F,OAAOy9F,EAAa,oDAAoDz9F,OAAOggG,EAAQ,iBAC5IzxE,EAaT,OAVA,YAAa4tF,EAAQ,CAAC,CACpBnoH,IAAK,SACL2E,MAAO,WACL,OAAoB,gBAAoB0uH,GAAA,EAAgB,CACtDC,cAAe,aACfC,cAAe,MACdp1H,KAAKi0H,kBAILjK,EAnHiB,CAoHxB,aAQF,OANAA,EAAOqL,YAAc,IAEjB/pB,IACF0e,EAAO1e,YAAcA,GAGhB0e,EAST,MAAO,CACLsL,WAPetB,IAQfuB,WAPevB,EAAU,OAAQ,cAQjCwB,YAPgBxB,EAAU,QAAS,eAQnCyB,WAPezB,EAAU,OAAQ,cAQjC0B,WAPe1B,EAAU,OAAQ,cAQjC2B,cAPkB3B,EAAU,UAAW,kBIxGb,CAAqBvnB,GAC7C6oB,EAAavB,EAAsBuB,WACnCC,EAAaxB,EAAsBwB,WACnCC,EAAczB,EAAsByB,YACpCC,EAAa1B,EAAsB0B,WACnCC,EAAa3B,EAAsB2B,WACnCC,EAAgB5B,EAAsB4B,cAGtC7C,EDvCS,SAA6BrmB,GAC1C,IAAIqmB,EAA2B,SAAU72F,GACvC,YAAU62F,EAAa72F,GAEvB,IAAIguF,EAAS,YAAa6I,GAE1B,SAASA,IACP,IAAI12F,EA2FJ,OAzFA,YAAgBp8B,KAAM8yH,IAEtB12F,EAAQ6tF,EAAO1uH,MAAMyE,KAAMxE,YACrBqsH,UAAyB,cAE/BzrF,EAAMktF,MAAQ,WACRltF,EAAMyrF,UAAUnrB,SAClBtgE,EAAMyrF,UAAUnrB,QAAQ4sB,SAI5BltF,EAAMmtF,KAAO,WACPntF,EAAMyrF,UAAUnrB,SAClBtgE,EAAMyrF,UAAUnrB,QAAQ6sB,QAI5BntF,EAAM63F,aAAe,SAAUC,GAC7B,IAAI12H,EAAS,YAAS,YAAS,GAAI02H,GAAgB93F,EAAMW,MAAMv/B,QAE3D22H,EAAgB/3F,EAAM2sC,QACtBygC,EAAe2qB,EAAc3qB,aAC7BrrF,EAAYg2G,EAAch2G,UAC1B8kG,EAAoBkR,EAAclR,kBAElC55G,EAAK+yB,EAAMW,MACXosE,EAAqB9/F,EAAG+/F,UACxBwsB,EAA0BvsH,EAAG45G,kBAC7B16C,EAAYl/D,EAAGk/D,UACf8rD,EAAgBhrH,EAAGg4C,KACnBizE,EAAcjrH,EAAGkrH,SACjBA,OAA2B,IAAhBD,GAAgCA,EAC3C1M,EAAcv+G,EAAGu+G,YACjBre,EAAY,GAAOlgG,EAAI,CAAC,YAAa,oBAAqB,YAAa,OAAQ,WAAY,gBAE3FmrH,EAAcp4F,EAAMW,MACpBx/B,EAASi3H,EAAYj3H,OACrB+zG,EAAWkjB,EAAYljB,SACvBzD,EAAS2mB,EAAY3mB,OACrBzE,EAAYI,EAAa,SAAUL,GACnCurB,EAA0B,GAC9BA,EAA0B,YAAS,YAAS,YAAS,GAAIA,GAA0BpjB,EAAWsiB,GAAa,YAAS,CAClHr2H,OAAQA,EACRswG,OAAQA,GACPyD,IAAa,IAAgB,SAAXzD,EAAoB+lB,GAAa,YAAS,YAAS,CACtEr2H,OAAQA,GACP6+B,EAAMW,OAAQ,CACf8wE,OAAQA,KACJ,IACN,IAAI+mB,EAAgBprB,IACpB,OAAoB,gBAAoBqrB,GAAA,EAAYC,SAAU,MAAM,SAAUzzE,GAC5E,IAAI6nD,EAEA6rB,EAAaV,GAAiBhzE,EAClC,OAAoB,gBAAoB,GAAe,YAAS,CAC9D/kC,UAAwB,gBAAoB,OAAQ,CAClD,aAAc,KACdisD,UAAW,GAAG16D,OAAOu7F,EAAW,eAClB,gBAAoB,GAAmB,OACvD3pE,IAAKrD,EAAMyrF,UACXD,YAAa0L,GAAoBzlB,EAAQrwG,EAAQoqH,GACjDF,WAAuB,SAAX7Z,EAAiC,gBAAoB,EAAqB,MAAqB,gBAAoB,EAAkB,MACjJ8Z,UAAwB,gBAAoBqN,EAAA,EAAmB,MAC/DzN,YAAY,EACZvE,eAAgB,GAAGn1G,OAAO+mH,EAAe,cACxCrrB,EAAWmrB,EAAyB,CACrCnsD,UAAW,KAAY2gC,EAAc,GAAI,YAAgBA,EAAa,GAAGr7F,OAAOu7F,EAAW,KAAKv7F,OAAOknH,GAAaA,GAAa,YAAgB7rB,EAAa,GAAGr7F,OAAOu7F,EAAW,gBAAiBmrB,GAAWrrB,GAAc3gC,GAC7N/qE,OAAQA,EAAOsiB,KACfspF,UAAWA,EACX6Z,kBAAmB2S,GAA2B3S,EAC9CxW,eAAgBA,EAChBb,SAAuB,gBAAoB,OAAQ,CACjDrjC,UAAW,GAAG16D,OAAOu7F,EAAW,gBAElC0C,SAAuB,gBAAoB,OAAQ,CACjDvjC,UAAW,GAAG16D,OAAOu7F,EAAW,gBAElC4C,cAA4B,gBAAoB,OAAQ,CACtDzjC,UAAW,GAAG16D,OAAOu7F,EAAW,sBAElC8C,cAA4B,gBAAoB,OAAQ,CACtD3jC,UAAW,GAAG16D,OAAOu7F,EAAW,sBAElC+U,WAAYwV,GACZx1G,UAAWA,SAKVie,EAaT,OAVA,YAAa02F,EAAa,CAAC,CACzBjxH,IAAK,SACL2E,MAAO,WACL,OAAoB,gBAAoB0uH,GAAA,EAAgB,CACtDC,cAAe,aACfC,cAAe,MACdp1H,KAAKi0H,kBAILnB,EA9GsB,CA+G7B,aAGF,OADAA,EAAYuC,YAAc,IACnBvC,EC5EW+C,CAAoBppB,GAClCqpB,EAAmBR,EAOvB,OANAQ,EAAiBP,WAAaA,EAC9BO,EAAiBN,YAAcA,EAC/BM,EAAiBL,WAAaA,EAC9BK,EAAiBhD,YAAcA,EAC/BgD,EAAiBJ,WAAaA,EAC9BI,EAAiBH,cAAgBA,EAC1BG,EG9EQ,CAAe,GACjB,Q,yICCA,SAASrX,EAAKviF,GAC3B,IAAIqsC,EAAYrsC,EAAKqsC,UACjBpqD,EAAY+d,EAAK/d,UACjBsJ,EAAQyU,EAAKzU,MACbsuG,EAAkB75F,EAAK65F,gBACvB3xC,EAAWloD,EAAKkoD,SAChBr6E,EAAQmyB,EAAKnyB,MACbg7B,EAAO7I,EAAK6I,KAEZolE,EAAoB,aAAiB6rB,GACrCC,EAAiB9rB,EAAkB8rB,eACnCC,EAAe/rB,EAAkB+rB,aACjCC,EAAchsB,EAAkBgsB,YAEhC7kG,EAAQ,GAcZ,MAZkB,aAAdnT,EACEsJ,EAAQ0uG,IACV7kG,EAAQ,CACN8kG,aAAcH,GAAkBlsH,EAAQ,EAAI,KAIhDunB,EAAQ,YAAS,YAAS,GAAI7J,EAAQ0uG,GAAe,YAAgB,GAAIJ,EAAiBE,GAAkBlsH,EAAQ,EAAI,KAAMg7B,GAAQ,CACpIsxF,cAAeH,IAIf9xC,QACK,KAGW,gBAAoB,WAAgB,KAAmB,gBAAoB,MAAO,CACpG7b,UAAWA,EACXj3C,MAAOA,GACN8yD,GAAW38D,EAAQ0uG,GAAepsH,GAAsB,gBAAoB,OAAQ,CACrFw+D,UAAW,GAAG16D,OAAO06D,EAAW,UAChCj3C,MAAOA,GACNvnB,ICtCL,IAAIk/F,EAAgC,SAAUngG,EAAGoK,GAC/C,IAAInT,EAAI,GAER,IAAK,IAAIyrC,KAAK1iC,EACRlN,OAAOC,UAAUO,eAAeL,KAAK+M,EAAG0iC,IAAMt4B,EAAEnK,QAAQyiC,GAAK,IAAGzrC,EAAEyrC,GAAK1iC,EAAE0iC,IAG/E,GAAS,MAAL1iC,GAAqD,mBAAjClN,OAAOm1B,sBAA2C,KAAI9zB,EAAI,EAAb,IAAgBuuC,EAAI5vC,OAAOm1B,sBAAsBjoB,GAAI7L,EAAIuuC,EAAEhvC,OAAQS,IAClIiW,EAAEnK,QAAQyiC,EAAEvuC,IAAM,GAAKrB,OAAOC,UAAU80B,qBAAqB50B,KAAK+M,EAAG0iC,EAAEvuC,MAAK8C,EAAEyrC,EAAEvuC,IAAM6L,EAAE0iC,EAAEvuC,KAEhG,OAAO8C,GAQEi2H,EAA4B,gBAAoB,CACzDG,YAAa,EACbF,eAAgB,EAChBC,aAAc,IAEZI,EAAY,CACdC,MAAO,EACPC,OAAQ,GACRC,MAAO,IAsFM,IA/EH,SAAe15F,GACzB,IAAImsE,EAEAiB,EAAoB,aAAiB,KACrCX,EAAeW,EAAkBX,aACjCktB,EAAQvsB,EAAkBusB,MAC1BC,EAAkBxsB,EAAkBhsF,UAEpCy4G,EAAc75F,EAAMskB,KACpBA,OAAuB,IAAhBu1E,GAA0BF,aAAqC,EAASA,EAAMr1E,OAAS,QAAUu1E,EACxGC,EAAQ95F,EAAM85F,MACdtuD,EAAYxrC,EAAMwrC,UAClB6b,EAAWrnD,EAAMqnD,SACjB0yC,EAAmB/5F,EAAM5e,UACzBA,OAAiC,IAArB24G,EAA8B,aAAeA,EACzD3tB,EAAqBpsE,EAAMqsE,UAC3Br/F,EAAQgzB,EAAMhzB,MACdunB,EAAQyL,EAAMzL,MACdylG,EAAch6F,EAAMgI,KACpBA,OAAuB,IAAhBgyF,GAAiCA,EACxCC,EAAa/tB,EAAOlsE,EAAO,CAAC,OAAQ,QAAS,YAAa,WAAY,YAAa,YAAa,QAAS,QAAS,SAElHm6E,EAAiB,WAAc,WACjC,OAAQv7G,MAAMF,QAAQ4lD,GAAQA,EAAO,CAACA,EAAMA,IAAOvkD,KAAI,SAAUkiB,GAC/D,OA5BN,SAAuBqiC,GACrB,MAAuB,iBAATA,EAAoBi1E,EAAUj1E,GAAQA,GAAQ,EA2BjD41E,CAAcj4G,QAEtB,CAACqiC,IACAg2D,EAAkB,YAAeH,EAAgB,GACjD+e,EAAiB5e,EAAgB,GACjC6e,EAAe7e,EAAgB,GAE/BhzB,EAAa,kBAAQD,EAAU,CACjC8yC,WAAW,IAGb,GAA0B,IAAtB7yC,EAAW7nF,OACb,OAAO,KAGT,IAAI26H,OAAwB13H,IAAVo3H,GAAqC,eAAd14G,EAA6B,SAAW04G,EAC7EztB,EAAYI,EAAa,QAASL,GAClCiuB,EAAK,IAAWhuB,EAAW,GAAGv7F,OAAOu7F,EAAW,KAAKv7F,OAAOsQ,IAAa+qF,EAAc,GAAI,YAAgBA,EAAa,GAAGr7F,OAAOu7F,EAAW,QAA6B,QAApButB,GAA4B,YAAgBztB,EAAa,GAAGr7F,OAAOu7F,EAAW,WAAWv7F,OAAOspH,GAAcA,GAAcjuB,GAAc3gC,GAChS8uD,EAAgB,GAAGxpH,OAAOu7F,EAAW,SACrC2sB,EAAsC,QAApBY,EAA4B,aAAe,cAE7DR,EAAc,EACdvsC,EAAQvF,EAAWvnF,KAAI,SAAUw6H,EAAOr6H,GAO1C,OANIq6H,UACFnB,EAAcl5H,GAKI,gBAAoBwhH,EAAM,CAC5Cl2C,UAAW8uD,EACXx1H,IAAK,GAAGgM,OAAOwpH,EAAe,KAAKxpH,OAAO5Q,GAC1CkhB,UAAWA,EACXsJ,MAAOxqB,EACP84H,gBAAiBA,EACjBhsH,MAAOA,EACPg7B,KAAMA,GACLuyF,MAGL,OAAoB,gBAAoB,MAAO,YAAS,CACtD/uD,UAAW6uD,EACX9lG,MAAO,YAAS,YAAS,GAAIyT,GAAQ,CACnCwyF,SAAU,OACVnB,cAAeF,IACb5kG,IACH0lG,GAA0B,gBAAoBhB,EAAa5T,SAAU,CACtE57G,MAAO,CACLyvH,eAAgBA,EAChBC,aAAcA,EACdC,YAAaA,IAEdvsC","file":"chunks/vendors~PetMemorial.chunk.b896629aadea04a9eeff.js","sourcesContent":["//! moment.js\n//! version : 2.29.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key;\n for (i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i;\n for (i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (\n matched,\n p1,\n p2,\n p3,\n p4\n ) {\n return p1 || p2 || p3 || p4;\n })\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split(\n '_'\n ),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (\n input,\n week,\n config,\n token\n ) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^)]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (\n input,\n array,\n config,\n token\n ) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n });\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (\n input,\n week,\n config,\n token\n ) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.1';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","var core = module.exports = { version: '2.6.11' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","module.exports = true;\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","exports.f = {}.propertyIsEnumerable;\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","exports.f = Object.getOwnPropertySymbols;\n","module.exports = {};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","module.exports = require('./_hide');\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var af = moment.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n '_'\n ),\n weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM: function (input) {\n return /^nm$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Vandag om] LT',\n nextDay: '[Môre om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[Gister om] LT',\n lastWeek: '[Laas] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oor %s',\n past: '%s gelede',\n s: \"'n paar sekondes\",\n ss: '%d sekondes',\n m: \"'n minuut\",\n mm: '%d minute',\n h: \"'n uur\",\n hh: '%d ure',\n d: \"'n dag\",\n dd: '%d dae',\n M: \"'n maand\",\n MM: '%d maande',\n y: \"'n jaar\",\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n ); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1, // Maandag is die eerste dag van die week.\n doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n },\n });\n\n return af;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var ar = moment.defineLocale('ar', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ar;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'جانفي',\n 'فيفري',\n 'مارس',\n 'أفريل',\n 'ماي',\n 'جوان',\n 'جويلية',\n 'أوت',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arDz = moment.defineLocale('ar-dz', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arDz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arKw = moment.defineLocale('ar-kw', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arKw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Lybia) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 0: '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arLy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arMa = moment.defineLocale('ar-ma', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n };\n\n var arSa = moment.defineLocale('ar-sa', {\n months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return arSa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arTn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı',\n };\n\n var az = moment.defineLocale('az', {\n months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n '_'\n ),\n monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n '_'\n ),\n weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[sabah saat] LT',\n nextWeek: '[gələn həftə] dddd [saat] LT',\n lastDay: '[dünən] LT',\n lastWeek: '[keçən həftə] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s əvvəl',\n s: 'bir neçə saniyə',\n ss: '%d saniyə',\n m: 'bir dəqiqə',\n mm: '%d dəqiqə',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir il',\n yy: '%d il',\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM: function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal: function (number) {\n if (number === 0) {\n // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return az;\n\n})));\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n dd: 'дзень_дні_дзён',\n MM: 'месяц_месяцы_месяцаў',\n yy: 'год_гады_гадоў',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n '_'\n ),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n '_'\n ),\n },\n monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split(\n '_'\n ),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n '_'\n ),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n '_'\n ),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) &&\n number % 100 !== 12 &&\n number % 100 !== 13\n ? number + '-і'\n : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return be;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bg = moment.defineLocale('bg', {\n months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Днес в] LT',\n nextDay: '[Утре в] LT',\n nextWeek: 'dddd [в] LT',\n lastDay: '[Вчера в] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Миналата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Миналия] dddd [в] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'след %s',\n past: 'преди %s',\n s: 'няколко секунди',\n ss: '%d секунди',\n m: 'минута',\n mm: '%d минути',\n h: 'час',\n hh: '%d часа',\n d: 'ден',\n dd: '%d дена',\n w: 'седмица',\n ww: '%d седмици',\n M: 'месец',\n MM: '%d месеца',\n y: 'година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bm = moment.defineLocale('bm', {\n months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n '_'\n ),\n monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'MMMM [tile] D [san] YYYY',\n LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n },\n calendar: {\n sameDay: '[Bi lɛrɛ] LT',\n nextDay: '[Sini lɛrɛ] LT',\n nextWeek: 'dddd [don lɛrɛ] LT',\n lastDay: '[Kunu lɛrɛ] LT',\n lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s kɔnɔ',\n past: 'a bɛ %s bɔ',\n s: 'sanga dama dama',\n ss: 'sekondi %d',\n m: 'miniti kelen',\n mm: 'miniti %d',\n h: 'lɛrɛ kelen',\n hh: 'lɛrɛ %d',\n d: 'tile kelen',\n dd: 'tile %d',\n M: 'kalo kelen',\n MM: 'kalo %d',\n y: 'san kelen',\n yy: 'san %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return bm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n var bn = moment.defineLocale('bn', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n var bnBd = moment.defineLocale('bn-bd', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n\n meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'রাত') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ভোর') {\n return hour;\n } else if (meridiem === 'সকাল') {\n return hour;\n } else if (meridiem === 'দুপুর') {\n return hour >= 3 ? hour : hour + 12;\n } else if (meridiem === 'বিকাল') {\n return hour + 12;\n } else if (meridiem === 'সন্ধ্যা') {\n return hour + 12;\n }\n },\n\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 6) {\n return 'ভোর';\n } else if (hour < 12) {\n return 'সকাল';\n } else if (hour < 15) {\n return 'দুপুর';\n } else if (hour < 18) {\n return 'বিকাল';\n } else if (hour < 20) {\n return 'সন্ধ্যা';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bnBd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '༡',\n 2: '༢',\n 3: '༣',\n 4: '༤',\n 5: '༥',\n 6: '༦',\n 7: '༧',\n 8: '༨',\n 9: '༩',\n 0: '༠',\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0',\n };\n\n var bo = moment.defineLocale('bo', {\n months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n '_'\n ),\n monthsShort: 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n '_'\n ),\n monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n monthsParseExact: true,\n weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n '_'\n ),\n weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n '_'\n ),\n weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[དི་རིང] LT',\n nextDay: '[སང་ཉིན] LT',\n nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay: '[ཁ་སང] LT',\n lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ལ་',\n past: '%s སྔན་ལ',\n s: 'ལམ་སང',\n ss: '%d སྐར་ཆ།',\n m: 'སྐར་མ་གཅིག',\n mm: '%d སྐར་མ',\n h: 'ཆུ་ཚོད་གཅིག',\n hh: '%d ཆུ་ཚོད',\n d: 'ཉིན་གཅིག',\n dd: '%d ཉིན་',\n M: 'ཟླ་བ་གཅིག',\n MM: '%d ཟླ་བ',\n y: 'ལོ་གཅིག',\n yy: '%d ལོ',\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n mm: 'munutenn',\n MM: 'miz',\n dd: 'devezh',\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n m: 'v',\n b: 'v',\n d: 'z',\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var monthsParse = [\n /^gen/i,\n /^c[ʼ\\']hwe/i,\n /^meu/i,\n /^ebr/i,\n /^mae/i,\n /^(mez|eve)/i,\n /^gou/i,\n /^eos/i,\n /^gwe/i,\n /^her/i,\n /^du/i,\n /^ker/i,\n ],\n monthsRegex = /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n monthsStrictRegex = /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n monthsShortStrictRegex = /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n fullWeekdaysParse = [\n /^sul/i,\n /^lun/i,\n /^meurzh/i,\n /^merc[ʼ\\']her/i,\n /^yaou/i,\n /^gwener/i,\n /^sadorn/i,\n ],\n shortWeekdaysParse = [\n /^Sul/i,\n /^Lun/i,\n /^Meu/i,\n /^Mer/i,\n /^Yao/i,\n /^Gwe/i,\n /^Sad/i,\n ],\n minWeekdaysParse = [\n /^Su/i,\n /^Lu/i,\n /^Me([^r]|$)/i,\n /^Mer/i,\n /^Ya/i,\n /^Gw/i,\n /^Sa/i,\n ];\n\n var br = moment.defineLocale('br', {\n months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n '_'\n ),\n monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParse: minWeekdaysParse,\n fullWeekdaysParse: fullWeekdaysParse,\n shortWeekdaysParse: shortWeekdaysParse,\n minWeekdaysParse: minWeekdaysParse,\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [a viz] MMMM YYYY',\n LLL: 'D [a viz] MMMM YYYY HH:mm',\n LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hiziv da] LT',\n nextDay: '[Warcʼhoazh da] LT',\n nextWeek: 'dddd [da] LT',\n lastDay: '[Decʼh da] LT',\n lastWeek: 'dddd [paset da] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'a-benn %s',\n past: '%s ʼzo',\n s: 'un nebeud segondennoù',\n ss: '%d eilenn',\n m: 'ur vunutenn',\n mm: relativeTimeWithMutation,\n h: 'un eur',\n hh: '%d eur',\n d: 'un devezh',\n dd: relativeTimeWithMutation,\n M: 'ur miz',\n MM: relativeTimeWithMutation,\n y: 'ur bloaz',\n yy: specialMutationForYears,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal: function (number) {\n var output = number === 1 ? 'añ' : 'vet';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n isPM: function (token) {\n return token === 'g.m.';\n },\n meridiem: function (hour, minute, isLower) {\n return hour < 12 ? 'a.m.' : 'g.m.';\n },\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ca = moment.defineLocale('ca', {\n months: {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n '_'\n ),\n format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a les] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextDay: function () {\n return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastDay: function () {\n return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [passat a ' +\n (this.hours() !== 1 ? 'les' : 'la') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'uns segons',\n ss: '%d segons',\n m: 'un minut',\n mm: '%d minuts',\n h: 'una hora',\n hh: '%d hores',\n d: 'un dia',\n dd: '%d dies',\n M: 'un mes',\n MM: '%d mesos',\n y: 'un any',\n yy: '%d anys',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ca;\n\n})));\n","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n '_'\n ),\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n monthsParse = [\n /^led/i,\n /^úno/i,\n /^bře/i,\n /^dub/i,\n /^kvě/i,\n /^(čvn|červen$|června)/i,\n /^(čvc|červenec|července)/i,\n /^srp/i,\n /^zář/i,\n /^říj/i,\n /^lis/i,\n /^pro/i,\n ],\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsRegex = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n function plural(n) {\n return n > 1 && n < 5 && ~~(n / 10) !== 1;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months: months,\n monthsShort: monthsShort,\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n l: 'D. M. YYYY',\n },\n calendar: {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'před %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cv = moment.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n '_'\n ),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n '_'\n ),\n weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (output) {\n var affix = /сехет$/i.exec(output)\n ? 'рен'\n : /ҫул$/i.exec(output)\n ? 'тан'\n : 'ран';\n return output + affix;\n },\n past: '%s каялла',\n s: 'пӗр-ик ҫеккунт',\n ss: '%d ҫеккунт',\n m: 'пӗр минут',\n mm: '%d минут',\n h: 'пӗр сехет',\n hh: '%d сехет',\n d: 'пӗр кун',\n dd: '%d кун',\n M: 'пӗр уйӑх',\n MM: '%d уйӑх',\n y: 'пӗр ҫул',\n yy: '%d ҫул',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal: '%d-мӗш',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n '_'\n ),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n '_'\n ),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n '_'\n ),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact: true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '',\n 'af',\n 'il',\n 'ydd',\n 'ydd',\n 'ed',\n 'ed',\n 'ed',\n 'fed',\n 'fed',\n 'fed', // 1af to 10fed\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'fed', // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var da = moment.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return de;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return deAt;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return deCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު',\n ],\n weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު',\n ];\n\n var dv = moment.defineLocale('dv', {\n months: months,\n monthsShort: months,\n weekdays: weekdays,\n weekdaysShort: weekdays,\n weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/M/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /މކ|މފ/,\n isPM: function (input) {\n return 'މފ' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar: {\n sameDay: '[މިއަދު] LT',\n nextDay: '[މާދަމާ] LT',\n nextWeek: 'dddd LT',\n lastDay: '[އިއްޔެ] LT',\n lastWeek: '[ފާއިތުވި] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ތެރޭގައި %s',\n past: 'ކުރިން %s',\n s: 'ސިކުންތުކޮޅެއް',\n ss: 'd% ސިކުންތު',\n m: 'މިނިޓެއް',\n mm: 'މިނިޓު %d',\n h: 'ގަޑިއިރެއް',\n hh: 'ގަޑިއިރު %d',\n d: 'ދުވަހެއް',\n dd: 'ދުވަސް %d',\n M: 'މަހެއް',\n MM: 'މަސް %d',\n y: 'އަހަރެއް',\n yy: 'އަހަރު %d',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 7, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return dv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n '_'\n ),\n monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n '_'\n ),\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (\n typeof format === 'string' &&\n /D/.test(format.substring(0, format.indexOf('MMMM')))\n ) {\n // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n '_'\n ),\n weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM: function (input) {\n return (input + '').toLowerCase()[0] === 'μ';\n },\n meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendarEl: {\n sameDay: '[Σήμερα {}] LT',\n nextDay: '[Αύριο {}] LT',\n nextWeek: 'dddd [{}] LT',\n lastDay: '[Χθες {}] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse: 'L',\n },\n calendar: function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n },\n relativeTime: {\n future: 'σε %s',\n past: '%s πριν',\n s: 'λίγα δευτερόλεπτα',\n ss: '%d δευτερόλεπτα',\n m: 'ένα λεπτό',\n mm: '%d λεπτά',\n h: 'μία ώρα',\n hh: '%d ώρες',\n d: 'μία μέρα',\n dd: '%d μέρες',\n M: 'ένας μήνας',\n MM: '%d μήνες',\n y: 'ένας χρόνος',\n yy: '%d χρόνια',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4st is the first week of the year.\n },\n });\n\n return el;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enAu = moment.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enCa = moment.defineLocale('en-ca', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'YYYY-MM-DD',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enGb = moment.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIe = moment.defineLocale('en-ie', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enIe;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIl = moment.defineLocale('en-il', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enIl;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIn = moment.defineLocale('en-in', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return enIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enNz = moment.defineLocale('en-nz', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enNz;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enSg = moment.defineLocale('en-sg', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enSg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eo = moment.defineLocale('eo', {\n months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: '[la] D[-an de] MMMM, YYYY',\n LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar: {\n sameDay: '[Hodiaŭ je] LT',\n nextDay: '[Morgaŭ je] LT',\n nextWeek: 'dddd[n je] LT',\n lastDay: '[Hieraŭ je] LT',\n lastWeek: '[pasintan] dddd[n je] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'post %s',\n past: 'antaŭ %s',\n s: 'kelkaj sekundoj',\n ss: '%d sekundoj',\n m: 'unu minuto',\n mm: '%d minutoj',\n h: 'unu horo',\n hh: '%d horoj',\n d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n dd: '%d tagoj',\n M: 'unu monato',\n MM: '%d monatoj',\n y: 'unu jaro',\n yy: '%d jaroj',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal: '%da',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n return es;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esMx = moment.defineLocale('es-mx', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n return esMx;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esUs = moment.defineLocale('es-us', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'MM/DD/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return esUs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n ss: [number + 'sekundi', number + 'sekundit'],\n m: ['ühe minuti', 'üks minut'],\n mm: [number + ' minuti', number + ' minutit'],\n h: ['ühe tunni', 'tund aega', 'üks tund'],\n hh: [number + ' tunni', number + ' tundi'],\n d: ['ühe päeva', 'üks päev'],\n M: ['kuu aja', 'kuu aega', 'üks kuu'],\n MM: [number + ' kuu', number + ' kuud'],\n y: ['ühe aasta', 'aasta', 'üks aasta'],\n yy: [number + ' aasta', number + ' aastat'],\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n '_'\n ),\n monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split(\n '_'\n ),\n weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n '_'\n ),\n weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Täna,] LT',\n nextDay: '[Homme,] LT',\n nextWeek: '[Järgmine] dddd LT',\n lastDay: '[Eile,] LT',\n lastWeek: '[Eelmine] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s pärast',\n past: '%s tagasi',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: '%d päeva',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return et;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eu = moment.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n '_'\n ),\n monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n '_'\n ),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '۱',\n 2: '۲',\n 3: '۳',\n 4: '۴',\n 5: '۵',\n 6: '۶',\n 7: '۷',\n 8: '۸',\n 9: '۹',\n 0: '۰',\n },\n numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0',\n };\n\n var fa = moment.defineLocale('fa', {\n months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n weekdays: 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysShort: 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar: {\n sameDay: '[امروز ساعت] LT',\n nextDay: '[فردا ساعت] LT',\n nextWeek: 'dddd [ساعت] LT',\n lastDay: '[دیروز ساعت] LT',\n lastWeek: 'dddd [پیش] [ساعت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'در %s',\n past: '%s پیش',\n s: 'چند ثانیه',\n ss: '%d ثانیه',\n m: 'یک دقیقه',\n mm: '%d دقیقه',\n h: 'یک ساعت',\n hh: '%d ساعت',\n d: 'یک روز',\n dd: '%d روز',\n M: 'یک ماه',\n MM: '%d ماه',\n y: 'یک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string\n .replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal: '%dم',\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return fa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n ' '\n ),\n numbersFuture = [\n 'nolla',\n 'yhden',\n 'kahden',\n 'kolmen',\n 'neljän',\n 'viiden',\n 'kuuden',\n numbersPast[7],\n numbersPast[8],\n numbersPast[9],\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n result = isFuture ? 'sekunnin' : 'sekuntia';\n break;\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10\n ? isFuture\n ? numbersFuture[number]\n : numbersPast[number]\n : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n '_'\n ),\n monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n '_'\n ),\n weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n '_'\n ),\n weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[ta] YYYY',\n LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l: 'D.M.YYYY',\n ll: 'Do MMM YYYY',\n lll: 'Do MMM YYYY, [klo] HH.mm',\n llll: 'ddd, Do MMM YYYY, [klo] HH.mm',\n },\n calendar: {\n sameDay: '[tänään] [klo] LT',\n nextDay: '[huomenna] [klo] LT',\n nextWeek: 'dddd [klo] LT',\n lastDay: '[eilen] [klo] LT',\n lastWeek: '[viime] dddd[na] [klo] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s päästä',\n past: '%s sitten',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fil = moment.defineLocale('fil', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fil;\n\n})));\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fo = moment.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D. MMMM, YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt ár',\n yy: '%d ár',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fo;\n\n})));\n","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsStrictRegex = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsShortStrictRegex = /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n monthsRegex = /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsParse = [\n /^janv/i,\n /^févr/i,\n /^mars/i,\n /^avr/i,\n /^mai/i,\n /^juin/i,\n /^juil/i,\n /^août/i,\n /^sept/i,\n /^oct/i,\n /^nov/i,\n /^déc/i,\n ];\n\n var fr = moment.defineLocale('fr', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n w: 'une semaine',\n ww: '%d semaines',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal: function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fr;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCa = moment.defineLocale('fr-ca', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n });\n\n return frCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCh = moment.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split(\n '_'\n ),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split(\n '_'\n );\n\n var fy = moment.defineLocale('fy', {\n months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact: true,\n weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(\n '_'\n ),\n weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oer %s',\n past: '%s lyn',\n s: 'in pear sekonden',\n ss: '%d sekonden',\n m: 'ien minút',\n mm: '%d minuten',\n h: 'ien oere',\n hh: '%d oeren',\n d: 'ien dei',\n dd: '%d dagen',\n M: 'ien moanne',\n MM: '%d moannen',\n y: 'ien jier',\n yy: '%d jierren',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Eanáir',\n 'Feabhra',\n 'Márta',\n 'Aibreán',\n 'Bealtaine',\n 'Meitheamh',\n 'Iúil',\n 'Lúnasa',\n 'Meán Fómhair',\n 'Deireadh Fómhair',\n 'Samhain',\n 'Nollaig',\n ],\n monthsShort = [\n 'Ean',\n 'Feabh',\n 'Márt',\n 'Aib',\n 'Beal',\n 'Meith',\n 'Iúil',\n 'Lún',\n 'M.F.',\n 'D.F.',\n 'Samh',\n 'Noll',\n ],\n weekdays = [\n 'Dé Domhnaigh',\n 'Dé Luain',\n 'Dé Máirt',\n 'Dé Céadaoin',\n 'Déardaoin',\n 'Dé hAoine',\n 'Dé Sathairn',\n ],\n weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n var ga = moment.defineLocale('ga', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Inniu ag] LT',\n nextDay: '[Amárach ag] LT',\n nextWeek: 'dddd [ag] LT',\n lastDay: '[Inné ag] LT',\n lastWeek: 'dddd [seo caite] [ag] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i %s',\n past: '%s ó shin',\n s: 'cúpla soicind',\n ss: '%d soicind',\n m: 'nóiméad',\n mm: '%d nóiméad',\n h: 'uair an chloig',\n hh: '%d uair an chloig',\n d: 'lá',\n dd: '%d lá',\n M: 'mí',\n MM: '%d míonna',\n y: 'bliain',\n yy: '%d bliain',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ga;\n\n})));\n","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Am Faoilleach',\n 'An Gearran',\n 'Am Màrt',\n 'An Giblean',\n 'An Cèitean',\n 'An t-Ògmhios',\n 'An t-Iuchar',\n 'An Lùnastal',\n 'An t-Sultain',\n 'An Dàmhair',\n 'An t-Samhain',\n 'An Dùbhlachd',\n ],\n monthsShort = [\n 'Faoi',\n 'Gear',\n 'Màrt',\n 'Gibl',\n 'Cèit',\n 'Ògmh',\n 'Iuch',\n 'Lùn',\n 'Sult',\n 'Dàmh',\n 'Samh',\n 'Dùbh',\n ],\n weekdays = [\n 'Didòmhnaich',\n 'Diluain',\n 'Dimàirt',\n 'Diciadain',\n 'Diardaoin',\n 'Dihaoine',\n 'Disathairne',\n ],\n weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[An-diugh aig] LT',\n nextDay: '[A-màireach aig] LT',\n nextWeek: 'dddd [aig] LT',\n lastDay: '[An-dè aig] LT',\n lastWeek: 'dddd [seo chaidh] [aig] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ann an %s',\n past: 'bho chionn %s',\n s: 'beagan diogan',\n ss: '%d diogan',\n m: 'mionaid',\n mm: '%d mionaidean',\n h: 'uair',\n hh: '%d uairean',\n d: 'latha',\n dd: '%d latha',\n M: 'mìos',\n MM: '%d mìosan',\n y: 'bliadhna',\n yy: '%d bliadhna',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return gd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var gl = moment.defineLocale('gl', {\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n '_'\n ),\n monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextDay: function () {\n return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n lastDay: function () {\n return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n },\n lastWeek: function () {\n return (\n '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past: 'hai %s',\n s: 'uns segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'unha hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return gl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n m: ['एका मिणटान', 'एक मिनूट'],\n mm: [number + ' मिणटांनी', number + ' मिणटां'],\n h: ['एका वरान', 'एक वर'],\n hh: [number + ' वरांनी', number + ' वरां'],\n d: ['एका दिसान', 'एक दीस'],\n dd: [number + ' दिसांनी', number + ' दीस'],\n M: ['एका म्हयन्यान', 'एक म्हयनो'],\n MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n y: ['एका वर्सान', 'एक वर्स'],\n yy: [number + ' वर्सांनी', number + ' वर्सां'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomDeva = moment.defineLocale('gom-deva', {\n months: {\n standalone: 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort: 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [वाजतां]',\n LTS: 'A h:mm:ss [वाजतां]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',\n },\n calendar: {\n sameDay: '[आयज] LT',\n nextDay: '[फाल्यां] LT',\n nextWeek: '[फुडलो] dddd[,] LT',\n lastDay: '[काल] LT',\n lastWeek: '[फाटलो] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s आदीं',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'वेर' only applies to day of the month\n case 'D':\n return number + 'वेर';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राती') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळीं') {\n return hour;\n } else if (meridiem === 'दनपारां') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'सांजे') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'राती';\n } else if (hour < 12) {\n return 'सकाळीं';\n } else if (hour < 16) {\n return 'दनपारां';\n } else if (hour < 20) {\n return 'सांजे';\n } else {\n return 'राती';\n }\n },\n });\n\n return gomDeva;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months: {\n standalone: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n '_'\n ),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /rati|sokallim|donparam|sanje/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokallim') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokallim';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n },\n });\n\n return gomLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '૧',\n 2: '૨',\n 3: '૩',\n 4: '૪',\n 5: '૫',\n 6: '૬',\n 7: '૭',\n 8: '૮',\n 9: '૯',\n 0: '૦',\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0',\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n '_'\n ),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(\n '_'\n ),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પહેલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ',\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return gu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var he = moment.defineLocale('he', {\n months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n '_'\n ),\n monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split(\n '_'\n ),\n weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [ב]MMMM YYYY',\n LLL: 'D [ב]MMMM YYYY HH:mm',\n LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n l: 'D/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[היום ב־]LT',\n nextDay: '[מחר ב־]LT',\n nextWeek: 'dddd [בשעה] LT',\n lastDay: '[אתמול ב־]LT',\n lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'בעוד %s',\n past: 'לפני %s',\n s: 'מספר שניות',\n ss: '%d שניות',\n m: 'דקה',\n mm: '%d דקות',\n h: 'שעה',\n hh: function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d: 'יום',\n dd: function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M: 'חודש',\n MM: function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y: 'שנה',\n yy: function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n },\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM: function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n },\n });\n\n return he;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n },\n monthsParse = [\n /^जन/i,\n /^फ़र|फर/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सितं|सित/i,\n /^अक्टू/i,\n /^नव|नवं/i,\n /^दिसं|दिस/i,\n ],\n shortMonthsParse = [\n /^जन/i,\n /^फ़र/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सित/i,\n /^अक्टू/i,\n /^नव/i,\n /^दिस/i,\n ];\n\n var hi = moment.defineLocale('hi', {\n months: {\n format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n '_'\n ),\n standalone: 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n '_'\n ),\n },\n monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split(\n '_'\n ),\n weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm बजे',\n LTS: 'A h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',\n },\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: shortMonthsParse,\n\n monthsRegex: /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsShortRegex: /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsStrictRegex: /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n monthsShortStrictRegex: /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s में',\n past: '%s पहले',\n s: 'कुछ ही क्षण',\n ss: '%d सेकंड',\n m: 'एक मिनट',\n mm: '%d मिनट',\n h: 'एक घंटा',\n hh: '%d घंटे',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महीने',\n MM: '%d महीने',\n y: 'एक वर्ष',\n yy: '%d वर्ष',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return hi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months: {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n '_'\n ),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n '_'\n ),\n },\n monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM YYYY',\n LLL: 'Do MMMM YYYY H:mm',\n LLLL: 'dddd, Do MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prošlu] [nedjelju] [u] LT';\n case 3:\n return '[prošlu] [srijedu] [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return hr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt : https://github.com/passatgt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(\n ' '\n );\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return isFuture || withoutSuffix\n ? 'néhány másodperc'\n : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix)\n ? ' másodperc'\n : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (\n (isFuture ? '' : '[múlt] ') +\n '[' +\n weekEndings[this.day()] +\n '] LT[-kor]'\n );\n }\n\n var hu = moment.defineLocale('hu', {\n months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n '_'\n ),\n monthsShort: 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY. MMMM D.',\n LLL: 'YYYY. MMMM D. H:mm',\n LLLL: 'YYYY. MMMM D., dddd H:mm',\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar: {\n sameDay: '[ma] LT[-kor]',\n nextDay: '[holnap] LT[-kor]',\n nextWeek: function () {\n return week.call(this, true);\n },\n lastDay: '[tegnap] LT[-kor]',\n lastWeek: function () {\n return week.call(this, false);\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s múlva',\n past: '%s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return hu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var hyAm = moment.defineLocale('hy-am', {\n months: {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n '_'\n ),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n '_'\n ),\n },\n monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n '_'\n ),\n weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY թ.',\n LLL: 'D MMMM YYYY թ., HH:mm',\n LLLL: 'dddd, D MMMM YYYY թ., HH:mm',\n },\n calendar: {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s հետո',\n past: '%s առաջ',\n s: 'մի քանի վայրկյան',\n ss: '%d վայրկյան',\n m: 'րոպե',\n mm: '%d րոպե',\n h: 'ժամ',\n hh: '%d ժամ',\n d: 'օր',\n dd: '%d օր',\n M: 'ամիս',\n MM: '%d ամիս',\n y: 'տարի',\n yy: '%d տարի',\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem: function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return hyAm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var id = moment.defineLocale('id', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Besok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kemarin pukul] LT',\n lastWeek: 'dddd [lalu pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lalu',\n s: 'beberapa detik',\n ss: '%d detik',\n m: 'semenit',\n mm: '%d menit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return id;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nokkrar sekúndur'\n : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n );\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return (\n result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n );\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture\n ? 'klukkustundir'\n : 'klukkustundum')\n );\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: 'klukkustund',\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var it = moment.defineLocale('it', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: function () {\n return (\n '[Oggi a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextDay: function () {\n return (\n '[Domani a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextWeek: function () {\n return (\n 'dddd [a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastDay: function () {\n return (\n '[Ieri a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return (\n '[La scorsa] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n default:\n return (\n '[Lo scorso] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'tra %s',\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n w: 'una settimana',\n ww: '%d settimane',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return it;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var itCh = moment.defineLocale('it-ch', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return itCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ja = moment.defineLocale('ja', {\n eras: [\n {\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: '㋿',\n abbr: 'R',\n },\n {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: '平成',\n narrow: '㍻',\n abbr: 'H',\n },\n {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: '昭和',\n narrow: '㍼',\n abbr: 'S',\n },\n {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大正',\n narrow: '㍽',\n abbr: 'T',\n },\n {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: '㍾',\n abbr: 'M',\n },\n {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元前',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n eraYearOrdinalRegex: /(元|\\d+)年/,\n eraYearOrdinalParse: function (input, match) {\n return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n },\n months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm',\n },\n meridiemParse: /午前|午後/i,\n isPM: function (input) {\n return input === '午後';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function (number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年',\n },\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var jv = moment.defineLocale('jv', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar: {\n sameDay: '[Dinten puniko pukul] LT',\n nextDay: '[Mbenjang pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kala wingi pukul] LT',\n lastWeek: 'dddd [kepengker pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'wonten ing %s',\n past: '%s ingkang kepengker',\n s: 'sawetawis detik',\n ss: '%d detik',\n m: 'setunggal menit',\n mm: '%d menit',\n h: 'setunggal jam',\n hh: '%d jam',\n d: 'sedinten',\n dd: '%d dinten',\n M: 'sewulan',\n MM: '%d wulan',\n y: 'setaun',\n yy: '%d taun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return jv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ka = moment.defineLocale('ka', {\n months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n '_'\n ),\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n '_'\n ),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n '_'\n ),\n isFormat: /(წინა|შემდეგ)/,\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[დღეს] LT[-ზე]',\n nextDay: '[ხვალ] LT[-ზე]',\n lastDay: '[გუშინ] LT[-ზე]',\n nextWeek: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return s.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function (\n $0,\n $1,\n $2\n ) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n });\n },\n past: function (s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n return s;\n },\n s: 'რამდენიმე წამი',\n ss: '%d წამი',\n m: 'წუთი',\n mm: '%d წუთი',\n h: 'საათი',\n hh: '%d საათი',\n d: 'დღე',\n dd: '%d დღე',\n M: 'თვე',\n MM: '%d თვე',\n y: 'წელი',\n yy: '%d წელი',\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if (\n number < 20 ||\n (number <= 100 && number % 20 === 0) ||\n number % 100 === 0\n ) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7,\n },\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші',\n };\n\n var kk = moment.defineLocale('kk', {\n months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n '_'\n ),\n monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n '_'\n ),\n weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгін сағат] LT',\n nextDay: '[Ертең сағат] LT',\n nextWeek: 'dddd [сағат] LT',\n lastDay: '[Кеше сағат] LT',\n lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ішінде',\n past: '%s бұрын',\n s: 'бірнеше секунд',\n ss: '%d секунд',\n m: 'бір минут',\n mm: '%d минут',\n h: 'бір сағат',\n hh: '%d сағат',\n d: 'бір күн',\n dd: '%d күн',\n M: 'бір ай',\n MM: '%d ай',\n y: 'бір жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return kk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '១',\n 2: '២',\n 3: '៣',\n 4: '៤',\n 5: '៥',\n 6: '៦',\n 7: '៧',\n 8: '៨',\n 9: '៩',\n 0: '០',\n },\n numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0',\n };\n\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ',\n },\n dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n ordinal: 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return km;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '೧',\n 2: '೨',\n 3: '೩',\n 4: '೪',\n 5: '೫',\n 6: '೬',\n 7: '೭',\n 8: '೮',\n 9: '೯',\n 0: '೦',\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0',\n };\n\n var kn = moment.defineLocale('kn', {\n months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n '_'\n ),\n monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(\n '_'\n ),\n weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[ಇಂದು] LT',\n nextDay: '[ನಾಳೆ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ನಿನ್ನೆ] LT',\n lastWeek: '[ಕೊನೆಯ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ನಂತರ',\n past: '%s ಹಿಂದೆ',\n s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss: '%d ಸೆಕೆಂಡುಗಳು',\n m: 'ಒಂದು ನಿಮಿಷ',\n mm: '%d ನಿಮಿಷ',\n h: 'ಒಂದು ಗಂಟೆ',\n hh: '%d ಗಂಟೆ',\n d: 'ಒಂದು ದಿನ',\n dd: '%d ದಿನ',\n M: 'ಒಂದು ತಿಂಗಳು',\n MM: '%d ತಿಂಗಳು',\n y: 'ಒಂದು ವರ್ಷ',\n yy: '%d ವರ್ಷ',\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal: function (number) {\n return number + 'ನೇ';\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return kn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee \n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ko = moment.defineLocale('ko', {\n months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n '_'\n ),\n weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd A h:mm',\n },\n calendar: {\n sameDay: '오늘 LT',\n nextDay: '내일 LT',\n nextWeek: 'dddd LT',\n lastDay: '어제 LT',\n lastWeek: '지난주 dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s 후',\n past: '%s 전',\n s: '몇 초',\n ss: '%d초',\n m: '1분',\n mm: '%d분',\n h: '한 시간',\n hh: '%d시간',\n d: '하루',\n dd: '%d일',\n M: '한 달',\n MM: '%d달',\n y: '일 년',\n yy: '%d년',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function (token) {\n return token === '오후';\n },\n meridiem: function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n },\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n months = [\n 'کانونی دووەم',\n 'شوبات',\n 'ئازار',\n 'نیسان',\n 'ئایار',\n 'حوزەیران',\n 'تەمموز',\n 'ئاب',\n 'ئەیلوول',\n 'تشرینی یەكەم',\n 'تشرینی دووەم',\n 'كانونی یەکەم',\n ];\n\n var ku = moment.defineLocale('ku', {\n months: months,\n monthsShort: months,\n weekdays: 'یهكشهممه_دووشهممه_سێشهممه_چوارشهممه_پێنجشهممه_ههینی_شهممه'.split(\n '_'\n ),\n weekdaysShort: 'یهكشهم_دووشهم_سێشهم_چوارشهم_پێنجشهم_ههینی_شهممه'.split(\n '_'\n ),\n weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ئێواره|بهیانی/,\n isPM: function (input) {\n return /ئێواره/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'بهیانی';\n } else {\n return 'ئێواره';\n }\n },\n calendar: {\n sameDay: '[ئهمرۆ كاتژمێر] LT',\n nextDay: '[بهیانی كاتژمێر] LT',\n nextWeek: 'dddd [كاتژمێر] LT',\n lastDay: '[دوێنێ كاتژمێر] LT',\n lastWeek: 'dddd [كاتژمێر] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'له %s',\n past: '%s',\n s: 'چهند چركهیهك',\n ss: 'چركه %d',\n m: 'یهك خولهك',\n mm: '%d خولهك',\n h: 'یهك كاتژمێر',\n hh: '%d كاتژمێر',\n d: 'یهك ڕۆژ',\n dd: '%d ڕۆژ',\n M: 'یهك مانگ',\n MM: '%d مانگ',\n y: 'یهك ساڵ',\n yy: '%d ساڵ',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ku;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү',\n };\n\n var ky = moment.defineLocale('ky', {\n months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n '_'\n ),\n weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(\n '_'\n ),\n weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгүн саат] LT',\n nextDay: '[Эртең саат] LT',\n nextWeek: 'dddd [саат] LT',\n lastDay: '[Кечээ саат] LT',\n lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ичинде',\n past: '%s мурун',\n s: 'бирнече секунд',\n ss: '%d секунд',\n m: 'бир мүнөт',\n mm: '%d мүнөт',\n h: 'бир саат',\n hh: '%d саат',\n d: 'бир күн',\n dd: '%d күн',\n M: 'бир ай',\n MM: '%d ай',\n y: 'бир жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ky;\n\n})));\n","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eng Minutt', 'enger Minutt'],\n h: ['eng Stonn', 'enger Stonn'],\n d: ['een Dag', 'engem Dag'],\n M: ['ee Mount', 'engem Mount'],\n y: ['ee Joer', 'engem Joer'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10,\n firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n '_'\n ),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n },\n },\n relativeTime: {\n future: processFutureTime,\n past: processPastTime,\n s: 'e puer Sekonnen',\n ss: '%d Sekonnen',\n m: processRelativeTime,\n mm: '%d Minutten',\n h: processRelativeTime,\n hh: '%d Stonnen',\n d: processRelativeTime,\n dd: '%d Deeg',\n M: processRelativeTime,\n MM: '%d Méint',\n y: processRelativeTime,\n yy: '%d Joer',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var lo = moment.defineLocale('lo', {\n months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'ວັນdddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar: {\n sameDay: '[ມື້ນີ້ເວລາ] LT',\n nextDay: '[ມື້ອື່ນເວລາ] LT',\n nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ອີກ %s',\n past: '%sຜ່ານມາ',\n s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss: '%d ວິນາທີ',\n m: '1 ນາທີ',\n mm: '%d ນາທີ',\n h: '1 ຊົ່ວໂມງ',\n hh: '%d ຊົ່ວໂມງ',\n d: '1 ມື້',\n dd: '%d ມື້',\n M: '1 ເດືອນ',\n MM: '%d ເດືອນ',\n y: '1 ປີ',\n yy: '%d ປີ',\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal: function (number) {\n return 'ທີ່' + number;\n },\n });\n\n return lo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundė_sekundžių_sekundes',\n m: 'minutė_minutės_minutę',\n mm: 'minutės_minučių_minutes',\n h: 'valanda_valandos_valandą',\n hh: 'valandos_valandų_valandas',\n d: 'diena_dienos_dieną',\n dd: 'dienos_dienų_dienas',\n M: 'mėnuo_mėnesio_mėnesį',\n MM: 'mėnesiai_mėnesių_mėnesius',\n y: 'metai_metų_metus',\n yy: 'metai_metų_metus',\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix\n ? forms(key)[0]\n : isFuture\n ? forms(key)[1]\n : forms(key)[2];\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return (\n result + translateSingular(number, withoutSuffix, key[0], isFuture)\n );\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n '_'\n ),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n '_'\n ),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n '_'\n ),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n '_'\n ),\n isFormat: /dddd HH:mm/,\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate,\n m: translateSingular,\n mm: translate,\n h: translateSingular,\n hh: translate,\n d: translateSingular,\n dd: translate,\n M: translateSingular,\n MM: translate,\n y: translateSingular,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function (number) {\n return number + '-oji';\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n h: 'stundas_stundām_stunda_stundas'.split('_'),\n hh: 'stundas_stundām_stunda_stundas'.split('_'),\n d: 'dienas_dienām_diena_dienas'.split('_'),\n dd: 'dienas_dienām_diena_dienas'.split('_'),\n M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n y: 'gada_gadiem_gads_gadi'.split('_'),\n yy: 'gada_gadiem_gads_gadi'.split('_'),\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n '_'\n ),\n weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY.',\n LL: 'YYYY. [gada] D. MMMM',\n LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',\n },\n calendar: {\n sameDay: '[Šodien pulksten] LT',\n nextDay: '[Rīt pulksten] LT',\n nextWeek: 'dddd [pulksten] LT',\n lastDay: '[Vakar pulksten] LT',\n lastWeek: '[Pagājušā] dddd [pulksten] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'pēc %s',\n past: 'pirms %s',\n s: relativeSeconds,\n ss: relativeTimeWithPlural,\n m: relativeTimeWithSingular,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithSingular,\n hh: relativeTimeWithPlural,\n d: relativeTimeWithSingular,\n dd: relativeTimeWithPlural,\n M: relativeTimeWithSingular,\n MM: relativeTimeWithPlural,\n y: relativeTimeWithSingular,\n yy: relativeTimeWithPlural,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač : https://github.com/miodragnikac\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return me;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan : https://github.com/johnideal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(\n '_'\n ),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n '_'\n ),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm',\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mk = moment.defineLocale('mk', {\n months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Денес во] LT',\n nextDay: '[Утре во] LT',\n nextWeek: '[Во] dddd [во] LT',\n lastDay: '[Вчера во] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пред %s',\n s: 'неколку секунди',\n ss: '%d секунди',\n m: 'една минута',\n mm: '%d минути',\n h: 'еден час',\n hh: '%d часа',\n d: 'еден ден',\n dd: '%d дена',\n M: 'еден месец',\n MM: '%d месеци',\n y: 'една година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return mk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ml = moment.defineLocale('ml', {\n months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n '_'\n ),\n monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n '_'\n ),\n weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm -നു',\n LTS: 'A h:mm:ss -നു',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm -നു',\n LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n },\n calendar: {\n sameDay: '[ഇന്ന്] LT',\n nextDay: '[നാളെ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ഇന്നലെ] LT',\n lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s കഴിഞ്ഞ്',\n past: '%s മുൻപ്',\n s: 'അൽപ നിമിഷങ്ങൾ',\n ss: '%d സെക്കൻഡ്',\n m: 'ഒരു മിനിറ്റ്',\n mm: '%d മിനിറ്റ്',\n h: 'ഒരു മണിക്കൂർ',\n hh: '%d മണിക്കൂർ',\n d: 'ഒരു ദിവസം',\n dd: '%d ദിവസം',\n M: 'ഒരു മാസം',\n MM: '%d മാസം',\n y: 'ഒരു വർഷം',\n yy: '%d വർഷം',\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n },\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(\n '_'\n ),\n monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY оны MMMMын D',\n LLL: 'YYYY оны MMMMын D HH:mm',\n LLLL: 'dddd, YYYY оны MMMMын D HH:mm',\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM: function (input) {\n return input === 'ҮХ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar: {\n sameDay: '[Өнөөдөр] LT',\n nextDay: '[Маргааш] LT',\n nextWeek: '[Ирэх] dddd LT',\n lastDay: '[Өчигдөр] LT',\n lastWeek: '[Өнгөрсөн] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s дараа',\n past: '%s өмнө',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n },\n });\n\n return mn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's':\n output = 'काही सेकंद';\n break;\n case 'ss':\n output = '%d सेकंद';\n break;\n case 'm':\n output = 'एक मिनिट';\n break;\n case 'mm':\n output = '%d मिनिटे';\n break;\n case 'h':\n output = 'एक तास';\n break;\n case 'hh':\n output = '%d तास';\n break;\n case 'd':\n output = 'एक दिवस';\n break;\n case 'dd':\n output = '%d दिवस';\n break;\n case 'M':\n output = 'एक महिना';\n break;\n case 'MM':\n output = '%d महिने';\n break;\n case 'y':\n output = 'एक वर्ष';\n break;\n case 'yy':\n output = '%d वर्षे';\n break;\n }\n } else {\n switch (string) {\n case 's':\n output = 'काही सेकंदां';\n break;\n case 'ss':\n output = '%d सेकंदां';\n break;\n case 'm':\n output = 'एका मिनिटा';\n break;\n case 'mm':\n output = '%d मिनिटां';\n break;\n case 'h':\n output = 'एका तासा';\n break;\n case 'hh':\n output = '%d तासां';\n break;\n case 'd':\n output = 'एका दिवसा';\n break;\n case 'dd':\n output = '%d दिवसां';\n break;\n case 'M':\n output = 'एका महिन्या';\n break;\n case 'MM':\n output = '%d महिन्यां';\n break;\n case 'y':\n output = 'एका वर्षा';\n break;\n case 'yy':\n output = '%d वर्षां';\n break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm वाजता',\n LTS: 'A h:mm:ss वाजता',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm वाजता',\n LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[उद्या] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr,\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n return hour;\n } else if (\n meridiem === 'दुपारी' ||\n meridiem === 'सायंकाळी' ||\n meridiem === 'रात्री'\n ) {\n return hour >= 12 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour >= 0 && hour < 6) {\n return 'पहाटे';\n } else if (hour < 12) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return mr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ms = moment.defineLocale('ms', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ms;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var msMy = moment.defineLocale('ms-my', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return msMy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mt = moment.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n '_'\n ),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '၁',\n 2: '၂',\n 3: '၃',\n 4: '၄',\n 5: '၅',\n 6: '၆',\n 7: '၇',\n 8: '၈',\n 9: '၉',\n 0: '၀',\n },\n numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0',\n };\n\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n '_'\n ),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n '_'\n ),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss: '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်',\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return my;\n\n})));\n","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//! Sigurd Gartmann : https://github.com/sigurdga\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nb = moment.defineLocale('nb', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'noen sekunder',\n ss: '%d sekunder',\n m: 'ett minutt',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dager',\n w: 'en uke',\n ww: '%d uker',\n M: 'en måned',\n MM: '%d måneder',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n var ne = moment.defineLocale('ne', {\n months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n '_'\n ),\n monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n '_'\n ),\n weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'Aको h:mm बजे',\n LTS: 'Aको h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, Aको h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[भोलि] LT',\n nextWeek: '[आउँदो] dddd[,] LT',\n lastDay: '[हिजो] LT',\n lastWeek: '[गएको] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमा',\n past: '%s अगाडि',\n s: 'केही क्षण',\n ss: '%d सेकेण्ड',\n m: 'एक मिनेट',\n mm: '%d मिनेट',\n h: 'एक घण्टा',\n hh: '%d घण्टा',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महिना',\n MM: '%d महिना',\n y: 'एक बर्ष',\n yy: '%d बर्ष',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return ne;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split(\n '_'\n ),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^maart|mrt.?$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nl = moment.defineLocale('nl', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split(\n '_'\n ),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n w: 'één week',\n ww: '%d weken',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split(\n '_'\n ),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^maart|mrt.?$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nlBe = moment.defineLocale('nl-be', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split(\n '_'\n ),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nlBe;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nn = moment.defineLocale('nn', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s sidan',\n s: 'nokre sekund',\n ss: '%d sekund',\n m: 'eit minutt',\n mm: '%d minutt',\n h: 'ein time',\n hh: '%d timar',\n d: 'ein dag',\n dd: '%d dagar',\n w: 'ei veke',\n ww: '%d veker',\n M: 'ein månad',\n MM: '%d månader',\n y: 'eit år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ocLnc = moment.defineLocale('oc-lnc', {\n months: {\n standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n '_'\n ),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4,\n },\n });\n\n return ocLnc;\n\n})));\n","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '੧',\n 2: '੨',\n 3: '੩',\n 4: '੪',\n 5: '੫',\n 6: '੬',\n 7: '੭',\n 8: '੮',\n 9: '੯',\n 0: '੦',\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0',\n };\n\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(\n '_'\n ),\n weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm ਵਜੇ',\n LTS: 'A h:mm:ss ਵਜੇ',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',\n },\n calendar: {\n sameDay: '[ਅਜ] LT',\n nextDay: '[ਕਲ] LT',\n nextWeek: '[ਅਗਲਾ] dddd, LT',\n lastDay: '[ਕਲ] LT',\n lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ਵਿੱਚ',\n past: '%s ਪਿਛਲੇ',\n s: 'ਕੁਝ ਸਕਿੰਟ',\n ss: '%d ਸਕਿੰਟ',\n m: 'ਇਕ ਮਿੰਟ',\n mm: '%d ਮਿੰਟ',\n h: 'ਇੱਕ ਘੰਟਾ',\n hh: '%d ਘੰਟੇ',\n d: 'ਇੱਕ ਦਿਨ',\n dd: '%d ਦਿਨ',\n M: 'ਇੱਕ ਮਹੀਨਾ',\n MM: '%d ਮਹੀਨੇ',\n y: 'ਇੱਕ ਸਾਲ',\n yy: '%d ਸਾਲ',\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return paIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n '_'\n ),\n monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n '_'\n ),\n monthsParse = [\n /^sty/i,\n /^lut/i,\n /^mar/i,\n /^kwi/i,\n /^maj/i,\n /^cze/i,\n /^lip/i,\n /^sie/i,\n /^wrz/i,\n /^paź/i,\n /^lis/i,\n /^gru/i,\n ];\n function plural(n) {\n return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'ww':\n return result + (plural(number) ? 'tygodnie' : 'tygodni');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split(\n '_'\n ),\n weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: '%s temu',\n s: 'kilka sekund',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: '1 dzień',\n dd: '%d dni',\n w: 'tydzień',\n ww: translate,\n M: 'miesiąc',\n MM: translate,\n y: 'rok',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return pl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pt = moment.defineLocale('pt', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n '_'\n ),\n weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n w: 'uma semana',\n ww: '%d semanas',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return pt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ptBr = moment.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n '_'\n ),\n weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n invalidDate: 'Data inválida',\n });\n\n return ptBr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n ww: 'săptămâni',\n MM: 'luni',\n yy: 'ani',\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n '_'\n ),\n monthsShort: 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'peste %s',\n past: '%s în urmă',\n s: 'câteva secunde',\n ss: relativeTimeWithPlural,\n m: 'un minut',\n mm: relativeTimeWithPlural,\n h: 'o oră',\n hh: relativeTimeWithPlural,\n d: 'o zi',\n dd: relativeTimeWithPlural,\n w: 'o săptămână',\n ww: relativeTimeWithPlural,\n M: 'o lună',\n MM: relativeTimeWithPlural,\n y: 'un an',\n yy: relativeTimeWithPlural,\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ro;\n\n})));\n","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n ww: 'неделя_недели_недель',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет',\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [\n /^янв/i,\n /^фев/i,\n /^мар/i,\n /^апр/i,\n /^ма[йя]/i,\n /^июн/i,\n /^июл/i,\n /^авг/i,\n /^сен/i,\n /^окт/i,\n /^ноя/i,\n /^дек/i,\n ];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n var ru = moment.defineLocale('ru', {\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n '_'\n ),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n },\n weekdays: {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n '_'\n ),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n '_'\n ),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соответствует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., H:mm',\n LLLL: 'dddd, D MMMM YYYY г., H:mm',\n },\n calendar: {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'через %s',\n past: '%s назад',\n s: 'несколько секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'час',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n w: 'неделя',\n ww: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM: function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ru;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر',\n ],\n days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n var sd = moment.defineLocale('sd', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[اڄ] LT',\n nextDay: '[سڀاڻي] LT',\n nextWeek: 'dddd [اڳين هفتي تي] LT',\n lastDay: '[ڪالهه] LT',\n lastWeek: '[گزريل هفتي] dddd [تي] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s پوء',\n past: '%s اڳ',\n s: 'چند سيڪنڊ',\n ss: '%d سيڪنڊ',\n m: 'هڪ منٽ',\n mm: '%d منٽ',\n h: 'هڪ ڪلاڪ',\n hh: '%d ڪلاڪ',\n d: 'هڪ ڏينهن',\n dd: '%d ڏينهن',\n M: 'هڪ مهينو',\n MM: '%d مهينا',\n y: 'هڪ سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var se = moment.defineLocale('se', {\n months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n '_'\n ),\n monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split(\n '_'\n ),\n weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n '_'\n ),\n weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'MMMM D. [b.] YYYY',\n LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n },\n calendar: {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s geažes',\n past: 'maŋit %s',\n s: 'moadde sekunddat',\n ss: '%d sekunddat',\n m: 'okta minuhta',\n mm: '%d minuhtat',\n h: 'okta diimmu',\n hh: '%d diimmut',\n d: 'okta beaivi',\n dd: '%d beaivvit',\n M: 'okta mánnu',\n MM: '%d mánut',\n y: 'okta jahki',\n yy: '%d jagit',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return se;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n '_'\n ),\n monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n '_'\n ),\n weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n '_'\n ),\n weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්රහ_සිකු_සෙන'.split('_'),\n weekdaysMin: 'ඉ_ස_අ_බ_බ්ර_සි_සෙ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'a h:mm',\n LTS: 'a h:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY MMMM D',\n LLL: 'YYYY MMMM D, a h:mm',\n LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',\n },\n calendar: {\n sameDay: '[අද] LT[ට]',\n nextDay: '[හෙට] LT[ට]',\n nextWeek: 'dddd LT[ට]',\n lastDay: '[ඊයේ] LT[ට]',\n lastWeek: '[පසුගිය] dddd LT[ට]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sකින්',\n past: '%sකට පෙර',\n s: 'තත්පර කිහිපය',\n ss: 'තත්පර %d',\n m: 'මිනිත්තුව',\n mm: 'මිනිත්තු %d',\n h: 'පැය',\n hh: 'පැය %d',\n d: 'දිනය',\n dd: 'දින %d',\n M: 'මාසය',\n MM: 'මාස %d',\n y: 'වසර',\n yy: 'වසර %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal: function (number) {\n return number + ' වැනි';\n },\n meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM: function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n },\n });\n\n return si;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(\n '_'\n ),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return n > 1 && n < 5;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months: months,\n monthsShort: monthsShort,\n weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pred %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nekaj sekund'\n : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD. MM. YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danes ob] LT',\n nextDay: '[jutri ob] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay: '[včeraj ob] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'čez %s',\n past: 'pred %s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sq = moment.defineLocale('sq', {\n months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n '_'\n ),\n monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(\n '_'\n ),\n weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem: function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Sot në] LT',\n nextDay: '[Nesër në] LT',\n nextWeek: 'dddd [në] LT',\n lastDay: '[Dje në] LT',\n lastWeek: 'dddd [e kaluar në] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'në %s',\n past: '%s më parë',\n s: 'disa sekonda',\n ss: '%d sekonda',\n m: 'një minutë',\n mm: '%d minuta',\n h: 'një orë',\n hh: '%d orë',\n d: 'një ditë',\n dd: '%d ditë',\n M: 'një muaj',\n MM: '%d muaj',\n y: 'një vit',\n yy: '%d vite',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sq;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\n yy: ['godina', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pre %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n '_'\n ),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'дан',\n dd: translator.translate,\n M: 'месец',\n MM: translator.translate,\n y: 'годину',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ss = moment.defineLocale('ss', {\n months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n '_'\n ),\n monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n '_'\n ),\n weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Namuhla nga] LT',\n nextDay: '[Kusasa nga] LT',\n nextWeek: 'dddd [nga] LT',\n lastDay: '[Itolo nga] LT',\n lastWeek: 'dddd [leliphelile] [nga] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'nga %s',\n past: 'wenteka nga %s',\n s: 'emizuzwana lomcane',\n ss: '%d mzuzwana',\n m: 'umzuzu',\n mm: '%d emizuzu',\n h: 'lihora',\n hh: '%d emahora',\n d: 'lilanga',\n dd: '%d emalanga',\n M: 'inyanga',\n MM: '%d tinyanga',\n y: 'umnyaka',\n yy: '%d iminyaka',\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: '%d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ss;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sv = moment.defineLocale('sv', {\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: 'för %s sedan',\n s: 'några sekunder',\n ss: '%d sekunder',\n m: 'en minut',\n mm: '%d minuter',\n h: 'en timme',\n hh: '%d timmar',\n d: 'en dag',\n dd: '%d dagar',\n M: 'en månad',\n MM: '%d månader',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? ':e'\n : b === 1\n ? ':a'\n : b === 2\n ? ':a'\n : b === 3\n ? ':e'\n : ':e';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sw = moment.defineLocale('sw', {\n months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n '_'\n ),\n weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'hh:mm A',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[leo saa] LT',\n nextDay: '[kesho saa] LT',\n nextWeek: '[wiki ijayo] dddd [saat] LT',\n lastDay: '[jana] LT',\n lastWeek: '[wiki iliyopita] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s baadaye',\n past: 'tokea %s',\n s: 'hivi punde',\n ss: 'sekunde %d',\n m: 'dakika moja',\n mm: 'dakika %d',\n h: 'saa limoja',\n hh: 'masaa %d',\n d: 'siku moja',\n dd: 'siku %d',\n M: 'mwezi mmoja',\n MM: 'miezi %d',\n y: 'mwaka mmoja',\n yy: 'miaka %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '௧',\n 2: '௨',\n 3: '௩',\n 4: '௪',\n 5: '௫',\n 6: '௬',\n 7: '௭',\n 8: '௮',\n 9: '௯',\n 0: '௦',\n },\n numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0',\n };\n\n var ta = moment.defineLocale('ta', {\n months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n '_'\n ),\n weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n '_'\n ),\n weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, HH:mm',\n LLLL: 'dddd, D MMMM YYYY, HH:mm',\n },\n calendar: {\n sameDay: '[இன்று] LT',\n nextDay: '[நாளை] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[நேற்று] LT',\n lastWeek: '[கடந்த வாரம்] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s இல்',\n past: '%s முன்',\n s: 'ஒரு சில விநாடிகள்',\n ss: '%d விநாடிகள்',\n m: 'ஒரு நிமிடம்',\n mm: '%d நிமிடங்கள்',\n h: 'ஒரு மணி நேரம்',\n hh: '%d மணி நேரம்',\n d: 'ஒரு நாள்',\n dd: '%d நாட்கள்',\n M: 'ஒரு மாதம்',\n MM: '%d மாதங்கள்',\n y: 'ஒரு வருடம்',\n yy: '%d ஆண்டுகள்',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal: function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem: function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return ta;\n\n})));\n","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var te = moment.defineLocale('te', {\n months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(\n '_'\n ),\n monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(\n '_'\n ),\n weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[నేడు] LT',\n nextDay: '[రేపు] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[నిన్న] LT',\n lastWeek: '[గత] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s లో',\n past: '%s క్రితం',\n s: 'కొన్ని క్షణాలు',\n ss: '%d సెకన్లు',\n m: 'ఒక నిమిషం',\n mm: '%d నిమిషాలు',\n h: 'ఒక గంట',\n hh: '%d గంటలు',\n d: 'ఒక రోజు',\n dd: '%d రోజులు',\n M: 'ఒక నెల',\n MM: '%d నెలలు',\n y: 'ఒక సంవత్సరం',\n yy: '%d సంవత్సరాలు',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n ordinal: '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return te;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tet = moment.defineLocale('tet', {\n months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'iha %s',\n past: '%s liuba',\n s: 'segundu balun',\n ss: 'segundu %d',\n m: 'minutu ida',\n mm: 'minutu %d',\n h: 'oras ida',\n hh: 'oras %d',\n d: 'loron ida',\n dd: 'loron %d',\n M: 'fulan ida',\n MM: 'fulan %d',\n y: 'tinan ida',\n yy: 'tinan %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tet;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум',\n };\n\n var tg = moment.defineLocale('tg', {\n months: {\n format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n '_'\n ),\n standalone: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n },\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n '_'\n ),\n weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Имрӯз соати] LT',\n nextDay: '[Фардо соати] LT',\n lastDay: '[Дирӯз соати] LT',\n nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'баъди %s',\n past: '%s пеш',\n s: 'якчанд сония',\n m: 'як дақиқа',\n mm: '%d дақиқа',\n h: 'як соат',\n hh: '%d соат',\n d: 'як рӯз',\n dd: '%d рӯз',\n M: 'як моҳ',\n MM: '%d моҳ',\n y: 'як сол',\n yy: '%d сол',\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1th is the first week of the year.\n },\n });\n\n return tg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var th = moment.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n '_'\n ),\n monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar: {\n sameDay: '[วันนี้ เวลา] LT',\n nextDay: '[พรุ่งนี้ เวลา] LT',\n nextWeek: 'dddd[หน้า เวลา] LT',\n lastDay: '[เมื่อวานนี้ เวลา] LT',\n lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'อีก %s',\n past: '%sที่แล้ว',\n s: 'ไม่กี่วินาที',\n ss: '%d วินาที',\n m: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n w: '1 สัปดาห์',\n ww: '%d สัปดาห์',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี',\n },\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inji\",\n 5: \"'inji\",\n 8: \"'inji\",\n 70: \"'inji\",\n 80: \"'inji\",\n 2: \"'nji\",\n 7: \"'nji\",\n 20: \"'nji\",\n 50: \"'nji\",\n 3: \"'ünji\",\n 4: \"'ünji\",\n 100: \"'ünji\",\n 6: \"'njy\",\n 9: \"'unjy\",\n 10: \"'unjy\",\n 30: \"'unjy\",\n 60: \"'ynjy\",\n 90: \"'ynjy\",\n };\n\n var tk = moment.defineLocale('tk', {\n months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n '_'\n ),\n weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün sagat] LT',\n nextDay: '[ertir sagat] LT',\n nextWeek: '[indiki] dddd [sagat] LT',\n lastDay: '[düýn] LT',\n lastWeek: '[geçen] dddd [sagat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s soň',\n past: '%s öň',\n s: 'birnäçe sekunt',\n m: 'bir minut',\n mm: '%d minut',\n h: 'bir sagat',\n hh: '%d sagat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir aý',\n MM: '%d aý',\n y: 'bir ýyl',\n yy: '%d ýyl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'unjy\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tlPh = moment.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'leS'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'waQ'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'nem'\n : time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'Hu’'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'wen'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'ben'\n : time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[one];\n }\n return word === '' ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(\n '_'\n ),\n monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L',\n },\n relativeTime: {\n future: translateFuture,\n past: translatePast,\n s: 'puS lup',\n ss: translate,\n m: 'wa’ tup',\n mm: translate,\n h: 'wa’ rep',\n hh: translate,\n d: 'wa’ jaj',\n dd: translate,\n M: 'wa’ jar',\n MM: translate,\n y: 'wa’ DIS',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inci\",\n 5: \"'inci\",\n 8: \"'inci\",\n 70: \"'inci\",\n 80: \"'inci\",\n 2: \"'nci\",\n 7: \"'nci\",\n 20: \"'nci\",\n 50: \"'nci\",\n 3: \"'üncü\",\n 4: \"'üncü\",\n 100: \"'üncü\",\n 6: \"'ncı\",\n 9: \"'uncu\",\n 10: \"'uncu\",\n 30: \"'uncu\",\n 60: \"'ıncı\",\n 90: \"'ıncı\",\n };\n\n var tr = moment.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n '_'\n ),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n '_'\n ),\n weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function (input) {\n return input === 'ös' || input === 'ÖS';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n w: 'bir hafta',\n ww: '%d hafta',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n var tzl = moment.defineLocale('tzl', {\n months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM [dallas] YYYY',\n LLL: 'D. MMMM [dallas] YYYY HH.mm',\n LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM: function (input) {\n return \"d'o\" === input.toLowerCase();\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? \"d'o\" : \"D'O\";\n } else {\n return isLower ? \"d'a\" : \"D'A\";\n }\n },\n calendar: {\n sameDay: '[oxhi à] LT',\n nextDay: '[demà à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[ieiri à] LT',\n lastWeek: '[sür el] dddd [lasteu à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'osprei %s',\n past: 'ja%s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['viensas secunds', \"'iensas secunds\"],\n ss: [number + ' secunds', '' + number + ' secunds'],\n m: [\"'n míut\", \"'iens míut\"],\n mm: [number + ' míuts', '' + number + ' míuts'],\n h: [\"'n þora\", \"'iensa þora\"],\n hh: [number + ' þoras', '' + number + ' þoras'],\n d: [\"'n ziua\", \"'iensa ziua\"],\n dd: [number + ' ziuas', '' + number + ' ziuas'],\n M: [\"'n mes\", \"'iens mes\"],\n MM: [number + ' mesen', '' + number + ' mesen'],\n y: [\"'n ar\", \"'iens ar\"],\n yy: [number + ' ars', '' + number + ' ars'],\n };\n return isFuture\n ? format[key][0]\n : withoutSuffix\n ? format[key][0]\n : format[key][1];\n }\n\n return tzl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzm = moment.defineLocale('tzm', {\n months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past: 'ⵢⴰⵏ %s',\n s: 'ⵉⵎⵉⴽ',\n ss: '%d ⵉⵎⵉⴽ',\n m: 'ⵎⵉⵏⵓⴺ',\n mm: '%d ⵎⵉⵏⵓⴺ',\n h: 'ⵙⴰⵄⴰ',\n hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d: 'ⴰⵙⵙ',\n dd: '%d oⵙⵙⴰⵏ',\n M: 'ⴰⵢoⵓⵔ',\n MM: '%d ⵉⵢⵢⵉⵔⵏ',\n y: 'ⴰⵙⴳⴰⵙ',\n yy: '%d ⵉⵙⴳⴰⵙⵏ',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return tzm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dadkh s yan %s',\n past: 'yan %s',\n s: 'imik',\n ss: '%d imik',\n m: 'minuḍ',\n mm: '%d minuḍ',\n h: 'saɛa',\n hh: '%d tassaɛin',\n d: 'ass',\n dd: '%d ossan',\n M: 'ayowr',\n MM: '%d iyyirn',\n y: 'asgas',\n yy: '%d isgasn',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل',\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return ugCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n dd: 'день_дні_днів',\n MM: 'місяць_місяці_місяців',\n yy: 'рік_роки_років',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n } else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n '_'\n ),\n accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n '_'\n ),\n genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n '_'\n ),\n },\n nounCase;\n\n if (m === true) {\n return weekdays['nominative']\n .slice(1, 7)\n .concat(weekdays['nominative'].slice(0, 1));\n }\n if (!m) {\n return weekdays['nominative'];\n }\n\n nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n ? 'accusative'\n : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n ? 'genitive'\n : 'nominative';\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months: {\n format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n '_'\n ),\n standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n '_'\n ),\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n '_'\n ),\n weekdays: weekdaysCaseReplace,\n weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY р.',\n LLL: 'D MMMM YYYY р., HH:mm',\n LLLL: 'dddd, D MMMM YYYY р., HH:mm',\n },\n calendar: {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: '%s тому',\n s: 'декілька секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'годину',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n M: 'місяць',\n MM: relativeTimeWithPlural,\n y: 'рік',\n yy: relativeTimeWithPlural,\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر',\n ],\n days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n var ur = moment.defineLocale('ur', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[آج بوقت] LT',\n nextDay: '[کل بوقت] LT',\n nextWeek: 'dddd [بوقت] LT',\n lastDay: '[گذشتہ روز بوقت] LT',\n lastWeek: '[گذشتہ] dddd [بوقت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s بعد',\n past: '%s قبل',\n s: 'چند سیکنڈ',\n ss: '%d سیکنڈ',\n m: 'ایک منٹ',\n mm: '%d منٹ',\n h: 'ایک گھنٹہ',\n hh: '%d گھنٹے',\n d: 'ایک دن',\n dd: '%d دن',\n M: 'ایک ماہ',\n MM: '%d ماہ',\n y: 'ایک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ur;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uz = moment.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Бугун соат] LT [да]',\n nextDay: '[Эртага] LT [да]',\n nextWeek: 'dddd [куни соат] LT [да]',\n lastDay: '[Кеча соат] LT [да]',\n lastWeek: '[Утган] dddd [куни соат] LT [да]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Якин %s ичида',\n past: 'Бир неча %s олдин',\n s: 'фурсат',\n ss: '%d фурсат',\n m: 'бир дакика',\n mm: '%d дакика',\n h: 'бир соат',\n hh: '%d соат',\n d: 'бир кун',\n dd: '%d кун',\n M: 'бир ой',\n MM: '%d ой',\n y: 'бир йил',\n yy: '%d йил',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return uz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n '_'\n ),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var vi = moment.defineLocale('vi', {\n months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n '_'\n ),\n monthsShort: 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n '_'\n ),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function (input) {\n return /^ch$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần trước lúc] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n w: 'một tuần',\n ww: '%d tuần',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n '_'\n ),\n monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n '_'\n ),\n weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[T~ódá~ý át] LT',\n nextDay: '[T~ómó~rró~w át] LT',\n nextWeek: 'dddd [át] LT',\n lastDay: '[Ý~ést~érdá~ý át] LT',\n lastWeek: '[L~ást] dddd [át] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'í~ñ %s',\n past: '%s á~gó',\n s: 'á ~féw ~sécó~ñds',\n ss: '%d s~écóñ~ds',\n m: 'á ~míñ~úté',\n mm: '%d m~íñú~tés',\n h: 'á~ñ hó~úr',\n hh: '%d h~óúrs',\n d: 'á ~dáý',\n dd: '%d d~áýs',\n M: 'á ~móñ~th',\n MM: '%d m~óñt~hs',\n y: 'á ~ýéár',\n yy: '%d ý~éárs',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return xPseudo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var yo = moment.defineLocale('yo', {\n months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n '_'\n ),\n monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Ònì ni] LT',\n nextDay: '[Ọ̀la ni] LT',\n nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n lastDay: '[Àna ni] LT',\n lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ní %s',\n past: '%s kọjá',\n s: 'ìsẹjú aayá die',\n ss: 'aayá %d',\n m: 'ìsẹjú kan',\n mm: 'ìsẹjú %d',\n h: 'wákati kan',\n hh: 'wákati %d',\n d: 'ọjọ́ kan',\n dd: 'ọjọ́ %d',\n M: 'osù kan',\n MM: 'osù %d',\n y: 'ọdún kan',\n yy: 'ọdún %d',\n },\n dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n ordinal: 'ọjọ́ %d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return yo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhCn = moment.defineLocale('zh-cn', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日Ah点mm分',\n LLLL: 'YYYY年M月D日ddddAh点mm分',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[下]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n lastDay: '[昨天]LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[上]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s后',\n past: '%s前',\n s: '几秒',\n ss: '%d 秒',\n m: '1 分钟',\n mm: '%d 分钟',\n h: '1 小时',\n hh: '%d 小时',\n d: '1 天',\n dd: '%d 天',\n w: '1 周',\n ww: '%d 周',\n M: '1 个月',\n MM: '%d 个月',\n y: '1 年',\n yy: '%d 年',\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return zhCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhHk = moment.defineLocale('zh-hk', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1200) {\n return '上午';\n } else if (hm === 1200) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhHk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhMo = moment.defineLocale('zh-mo', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'D/M/YYYY',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s內',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhMo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhTw = moment.defineLocale('zh-tw', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhTw;\n\n})));\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = require('babel-runtime/helpers/extends');\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _lottieWeb = require('lottie-web');\n\nvar _lottieWeb2 = _interopRequireDefault(_lottieWeb);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Lottie = function (_React$Component) {\n (0, _inherits3.default)(Lottie, _React$Component);\n\n function Lottie() {\n var _ref;\n\n var _temp, _this, _ret;\n\n (0, _classCallCheck3.default)(this, Lottie);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = Lottie.__proto__ || (0, _getPrototypeOf2.default)(Lottie)).call.apply(_ref, [this].concat(args))), _this), _this.handleClickToPause = function () {\n // The pause() method is for handling pausing by passing a prop isPaused\n // This method is for handling the ability to pause by clicking on the animation\n if (_this.anim.isPaused) {\n _this.anim.play();\n } else {\n _this.anim.pause();\n }\n }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);\n }\n\n (0, _createClass3.default)(Lottie, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _props = this.props,\n options = _props.options,\n eventListeners = _props.eventListeners;\n var loop = options.loop,\n autoplay = options.autoplay,\n animationData = options.animationData,\n rendererSettings = options.rendererSettings,\n segments = options.segments;\n\n\n this.options = {\n container: this.el,\n renderer: 'svg',\n loop: loop !== false,\n autoplay: autoplay !== false,\n segments: segments !== false,\n animationData: animationData,\n rendererSettings: rendererSettings\n };\n\n this.options = (0, _extends3.default)({}, this.options, options);\n\n this.anim = _lottieWeb2.default.loadAnimation(this.options);\n this.registerEvents(eventListeners);\n }\n }, {\n key: 'componentWillUpdate',\n value: function componentWillUpdate(nextProps /* , nextState */) {\n /* Recreate the animation handle if the data is changed */\n if (this.options.animationData !== nextProps.options.animationData) {\n this.deRegisterEvents(this.props.eventListeners);\n this.destroy();\n this.options = (0, _extends3.default)({}, this.options, nextProps.options);\n this.anim = _lottieWeb2.default.loadAnimation(this.options);\n this.registerEvents(nextProps.eventListeners);\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n if (this.props.isStopped) {\n this.stop();\n } else if (this.props.segments) {\n this.playSegments();\n } else {\n this.play();\n }\n\n this.pause();\n this.setSpeed();\n this.setDirection();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.deRegisterEvents(this.props.eventListeners);\n this.destroy();\n this.options.animationData = null;\n this.anim = null;\n }\n }, {\n key: 'setSpeed',\n value: function setSpeed() {\n this.anim.setSpeed(this.props.speed);\n }\n }, {\n key: 'setDirection',\n value: function setDirection() {\n this.anim.setDirection(this.props.direction);\n }\n }, {\n key: 'play',\n value: function play() {\n this.anim.play();\n }\n }, {\n key: 'playSegments',\n value: function playSegments() {\n this.anim.playSegments(this.props.segments);\n }\n }, {\n key: 'stop',\n value: function stop() {\n this.anim.stop();\n }\n }, {\n key: 'pause',\n value: function pause() {\n if (this.props.isPaused && !this.anim.isPaused) {\n this.anim.pause();\n } else if (!this.props.isPaused && this.anim.isPaused) {\n this.anim.pause();\n }\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.anim.destroy();\n }\n }, {\n key: 'registerEvents',\n value: function registerEvents(eventListeners) {\n var _this2 = this;\n\n eventListeners.forEach(function (eventListener) {\n _this2.anim.addEventListener(eventListener.eventName, eventListener.callback);\n });\n }\n }, {\n key: 'deRegisterEvents',\n value: function deRegisterEvents(eventListeners) {\n var _this3 = this;\n\n eventListeners.forEach(function (eventListener) {\n _this3.anim.removeEventListener(eventListener.eventName, eventListener.callback);\n });\n }\n }, {\n key: 'render',\n value: function render() {\n var _this4 = this;\n\n var _props2 = this.props,\n width = _props2.width,\n height = _props2.height,\n ariaRole = _props2.ariaRole,\n ariaLabel = _props2.ariaLabel,\n isClickToPauseDisabled = _props2.isClickToPauseDisabled,\n title = _props2.title;\n\n\n var getSize = function getSize(initial) {\n var size = void 0;\n\n if (typeof initial === 'number') {\n size = initial + 'px';\n } else {\n size = initial || '100%';\n }\n\n return size;\n };\n\n var lottieStyles = (0, _extends3.default)({\n width: getSize(width),\n height: getSize(height),\n overflow: 'hidden',\n margin: '0 auto',\n outline: 'none'\n }, this.props.style);\n\n var onClickHandler = isClickToPauseDisabled ? function () {\n return null;\n } : this.handleClickToPause;\n\n return (\n // Bug with eslint rules https://github.com/airbnb/javascript/issues/1374\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n _react2.default.createElement('div', {\n ref: function ref(c) {\n _this4.el = c;\n },\n style: lottieStyles,\n onClick: onClickHandler,\n title: title,\n role: ariaRole,\n 'aria-label': ariaLabel,\n tabIndex: '0'\n })\n );\n }\n }]);\n return Lottie;\n}(_react2.default.Component);\n\nexports.default = Lottie;\n\n\nLottie.propTypes = {\n eventListeners: _propTypes2.default.arrayOf(_propTypes2.default.object),\n options: _propTypes2.default.object.isRequired,\n height: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n isStopped: _propTypes2.default.bool,\n isPaused: _propTypes2.default.bool,\n speed: _propTypes2.default.number,\n segments: _propTypes2.default.arrayOf(_propTypes2.default.number),\n direction: _propTypes2.default.number,\n ariaRole: _propTypes2.default.string,\n ariaLabel: _propTypes2.default.string,\n isClickToPauseDisabled: _propTypes2.default.bool,\n title: _propTypes2.default.string\n};\n\nLottie.defaultProps = {\n eventListeners: [],\n isStopped: false,\n isPaused: false,\n speed: 1,\n ariaRole: 'button',\n ariaLabel: 'animation',\n isClickToPauseDisabled: false,\n title: ''\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _assign = require(\"../core-js/object/assign\");\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","module.exports = function () { /* empty */ };\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","require('./_wks-define')('asyncIterator');\n","require('./_wks-define')('observable');\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","(typeof navigator !== \"undefined\") && (function(root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(function() {\n return factory(root);\n });\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory(root);\n } else {\n root.lottie = factory(root);\n root.bodymovin = root.lottie;\n }\n}((window || {}), function(window) {\n\t\"use strict\";\r\nvar svgNS = \"http://www.w3.org/2000/svg\";\r\n\r\nvar locationHref = '';\r\n\r\nvar initialDefaultFrame = -999999;\r\n\r\nvar subframeEnabled = true;\r\nvar expressionsPlugin;\r\nvar isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\r\nvar cachedColors = {};\r\nvar bm_rounder = Math.round;\r\nvar bm_rnd;\r\nvar bm_pow = Math.pow;\r\nvar bm_sqrt = Math.sqrt;\r\nvar bm_abs = Math.abs;\r\nvar bm_floor = Math.floor;\r\nvar bm_max = Math.max;\r\nvar bm_min = Math.min;\r\nvar blitter = 10;\r\n\r\nvar BMMath = {};\r\n(function(){\r\n var propertyNames = [\"abs\", \"acos\", \"acosh\", \"asin\", \"asinh\", \"atan\", \"atanh\", \"atan2\", \"ceil\", \"cbrt\", \"expm1\", \"clz32\", \"cos\", \"cosh\", \"exp\", \"floor\", \"fround\", \"hypot\", \"imul\", \"log\", \"log1p\", \"log2\", \"log10\", \"max\", \"min\", \"pow\", \"random\", \"round\", \"sign\", \"sin\", \"sinh\", \"sqrt\", \"tan\", \"tanh\", \"trunc\", \"E\", \"LN10\", \"LN2\", \"LOG10E\", \"LOG2E\", \"PI\", \"SQRT1_2\", \"SQRT2\"];\r\n var i, len = propertyNames.length;\r\n for(i=0;i 1) {\r\n hsv[1] = 1;\r\n }\r\n else if (hsv[1] <= 0) {\r\n hsv[1] = 0;\r\n }\r\n return HSVtoRGB(hsv[0],hsv[1],hsv[2]);\r\n}\r\n\r\nfunction addBrightnessToRGB(color,offset){\r\n var hsv = RGBtoHSV(color[0]*255,color[1]*255,color[2]*255);\r\n hsv[2] += offset;\r\n if (hsv[2] > 1) {\r\n hsv[2] = 1;\r\n }\r\n else if (hsv[2] < 0) {\r\n hsv[2] = 0;\r\n }\r\n return HSVtoRGB(hsv[0],hsv[1],hsv[2]);\r\n}\r\n\r\nfunction addHueToRGB(color,offset) {\r\n var hsv = RGBtoHSV(color[0]*255,color[1]*255,color[2]*255);\r\n hsv[0] += offset/360;\r\n if (hsv[0] > 1) {\r\n hsv[0] -= 1;\r\n }\r\n else if (hsv[0] < 0) {\r\n hsv[0] += 1;\r\n }\r\n return HSVtoRGB(hsv[0],hsv[1],hsv[2]);\r\n}\r\n\r\nvar rgbToHex = (function(){\r\n var colorMap = [];\r\n var i;\r\n var hex;\r\n for(i=0;i<256;i+=1){\r\n hex = i.toString(16);\r\n colorMap[i] = hex.length == 1 ? '0' + hex : hex;\r\n }\r\n\r\n return function(r, g, b) {\r\n if(r<0){\r\n r = 0;\r\n }\r\n if(g<0){\r\n g = 0;\r\n }\r\n if(b<0){\r\n b = 0;\r\n }\r\n return '#' + colorMap[r] + colorMap[g] + colorMap[b];\r\n };\r\n}());\r\nfunction BaseEvent(){}\r\nBaseEvent.prototype = {\r\n\ttriggerEvent: function (eventName, args) {\r\n\t if (this._cbs[eventName]) {\r\n\t var len = this._cbs[eventName].length;\r\n\t for (var i = 0; i < len; i++){\r\n\t this._cbs[eventName][i](args);\r\n\t }\r\n\t }\r\n\t},\r\n\taddEventListener: function (eventName, callback) {\r\n\t if (!this._cbs[eventName]){\r\n\t this._cbs[eventName] = [];\r\n\t }\r\n\t this._cbs[eventName].push(callback);\r\n\r\n\t\treturn function() {\r\n\t\t\tthis.removeEventListener(eventName, callback);\r\n\t\t}.bind(this);\r\n\t},\r\n\tremoveEventListener: function (eventName,callback){\r\n\t if (!callback){\r\n\t this._cbs[eventName] = null;\r\n\t }else if(this._cbs[eventName]){\r\n\t var i = 0, len = this._cbs[eventName].length;\r\n\t while(i 0) || (val > -0.000001 && val < 0)) {\r\n return _rnd(val * v) / v;\r\n }\r\n return val;\r\n }\r\n\r\n function to2dCSS() {\r\n //Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\r\n /*if(this.isIdentity()) {\r\n return '';\r\n }*/\r\n var props = this.props;\r\n var _a = roundMatrixProperty(props[0]);\r\n var _b = roundMatrixProperty(props[1]);\r\n var _c = roundMatrixProperty(props[4]);\r\n var _d = roundMatrixProperty(props[5]);\r\n var _e = roundMatrixProperty(props[12]);\r\n var _f = roundMatrixProperty(props[13]);\r\n return \"matrix(\" + _a + ',' + _b + ',' + _c + ',' + _d + ',' + _e + ',' + _f + \")\";\r\n }\r\n\r\n return function(){\r\n this.reset = reset;\r\n this.rotate = rotate;\r\n this.rotateX = rotateX;\r\n this.rotateY = rotateY;\r\n this.rotateZ = rotateZ;\r\n this.skew = skew;\r\n this.skewFromAxis = skewFromAxis;\r\n this.shear = shear;\r\n this.scale = scale;\r\n this.setTransform = setTransform;\r\n this.translate = translate;\r\n this.transform = transform;\r\n this.applyToPoint = applyToPoint;\r\n this.applyToX = applyToX;\r\n this.applyToY = applyToY;\r\n this.applyToZ = applyToZ;\r\n this.applyToPointArray = applyToPointArray;\r\n this.applyToTriplePoints = applyToTriplePoints;\r\n this.applyToPointStringified = applyToPointStringified;\r\n this.toCSS = toCSS;\r\n this.to2dCSS = to2dCSS;\r\n this.clone = clone;\r\n this.cloneFromProps = cloneFromProps;\r\n this.equals = equals;\r\n this.inversePoints = inversePoints;\r\n this.inversePoint = inversePoint;\r\n this.getInverseMatrix = getInverseMatrix;\r\n this._t = this.transform;\r\n this.isIdentity = isIdentity;\r\n this._identity = true;\r\n this._identityCalculated = false;\r\n\r\n this.props = createTypedArray('float32', 16);\r\n this.reset();\r\n };\r\n}());\r\n\r\n/*\r\n Copyright 2014 David Bau.\r\n\r\n Permission is hereby granted, free of charge, to any person obtaining\r\n a copy of this software and associated documentation files (the\r\n \"Software\"), to deal in the Software without restriction, including\r\n without limitation the rights to use, copy, modify, merge, publish,\r\n distribute, sublicense, and/or sell copies of the Software, and to\r\n permit persons to whom the Software is furnished to do so, subject to\r\n the following conditions:\r\n\r\n The above copyright notice and this permission notice shall be\r\n included in all copies or substantial portions of the Software.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n\r\n */\r\n\r\n(function (pool, math) {\r\n//\r\n// The following constants are related to IEEE 754 limits.\r\n//\r\n var global = this,\r\n width = 256, // each RC4 output is 0 <= x < 256\r\n chunks = 6, // at least six RC4 outputs for each double\r\n digits = 52, // there are 52 significant digits in a double\r\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\r\n startdenom = math.pow(width, chunks),\r\n significance = math.pow(2, digits),\r\n overflow = significance * 2,\r\n mask = width - 1,\r\n nodecrypto; // node.js crypto module, initialized at the bottom.\r\n\r\n//\r\n// seedrandom()\r\n// This is the seedrandom function described above.\r\n//\r\n function seedrandom(seed, options, callback) {\r\n var key = [];\r\n options = (options === true) ? { entropy: true } : (options || {});\r\n\r\n // Flatten the seed string or build one from local entropy if needed.\r\n var shortseed = mixkey(flatten(\r\n options.entropy ? [seed, tostring(pool)] :\r\n (seed === null) ? autoseed() : seed, 3), key);\r\n\r\n // Use the seed to initialize an ARC4 generator.\r\n var arc4 = new ARC4(key);\r\n\r\n // This function returns a random double in [0, 1) that contains\r\n // randomness in every bit of the mantissa of the IEEE 754 value.\r\n var prng = function() {\r\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\r\n d = startdenom, // and denominator d = 2 ^ 48.\r\n x = 0; // and no 'extra last byte'.\r\n while (n < significance) { // Fill up all significant digits by\r\n n = (n + x) * width; // shifting numerator and\r\n d *= width; // denominator and generating a\r\n x = arc4.g(1); // new least-significant-byte.\r\n }\r\n while (n >= overflow) { // To avoid rounding up, before adding\r\n n /= 2; // last byte, shift everything\r\n d /= 2; // right using integer math until\r\n x >>>= 1; // we have exactly the desired bits.\r\n }\r\n return (n + x) / d; // Form the number within [0, 1).\r\n };\r\n\r\n prng.int32 = function() { return arc4.g(4) | 0; };\r\n prng.quick = function() { return arc4.g(4) / 0x100000000; };\r\n prng.double = prng;\r\n\r\n // Mix the randomness into accumulated entropy.\r\n mixkey(tostring(arc4.S), pool);\r\n\r\n // Calling convention: what to return as a function of prng, seed, is_math.\r\n return (options.pass || callback ||\r\n function(prng, seed, is_math_call, state) {\r\n if (state) {\r\n // Load the arc4 state from the given state if it has an S array.\r\n if (state.S) { copy(state, arc4); }\r\n // Only provide the .state method if requested via options.state.\r\n prng.state = function() { return copy(arc4, {}); };\r\n }\r\n\r\n // If called as a method of Math (Math.seedrandom()), mutate\r\n // Math.random because that is how seedrandom.js has worked since v1.0.\r\n if (is_math_call) { math[rngname] = prng; return seed; }\r\n\r\n // Otherwise, it is a newer calling convention, so return the\r\n // prng directly.\r\n else return prng;\r\n })(\r\n prng,\r\n shortseed,\r\n 'global' in options ? options.global : (this == math),\r\n options.state);\r\n }\r\n math['seed' + rngname] = seedrandom;\r\n\r\n//\r\n// ARC4\r\n//\r\n// An ARC4 implementation. The constructor takes a key in the form of\r\n// an array of at most (width) integers that should be 0 <= x < (width).\r\n//\r\n// The g(count) method returns a pseudorandom integer that concatenates\r\n// the next (count) outputs from ARC4. Its return value is a number x\r\n// that is in the range 0 <= x < (width ^ count).\r\n//\r\n function ARC4(key) {\r\n var t, keylen = key.length,\r\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\r\n\r\n // The empty key [] is treated as [0].\r\n if (!keylen) { key = [keylen++]; }\r\n\r\n // Set up S using the standard key scheduling algorithm.\r\n while (i < width) {\r\n s[i] = i++;\r\n }\r\n for (i = 0; i < width; i++) {\r\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\r\n s[j] = t;\r\n }\r\n\r\n // The \"g\" method returns the next (count) outputs as one number.\r\n me.g = function(count) {\r\n // Using instance members instead of closure state nearly doubles speed.\r\n var t, r = 0,\r\n i = me.i, j = me.j, s = me.S;\r\n while (count--) {\r\n t = s[i = mask & (i + 1)];\r\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\r\n }\r\n me.i = i; me.j = j;\r\n return r;\r\n // For robust unpredictability, the function call below automatically\r\n // discards an initial batch of values. This is called RC4-drop[256].\r\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\r\n };\r\n }\r\n\r\n//\r\n// copy()\r\n// Copies internal state of ARC4 to or from a plain object.\r\n//\r\n function copy(f, t) {\r\n t.i = f.i;\r\n t.j = f.j;\r\n t.S = f.S.slice();\r\n return t;\r\n }\r\n\r\n//\r\n// flatten()\r\n// Converts an object tree to nested arrays of strings.\r\n//\r\n function flatten(obj, depth) {\r\n var result = [], typ = (typeof obj), prop;\r\n if (depth && typ == 'object') {\r\n for (prop in obj) {\r\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\r\n }\r\n }\r\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\r\n }\r\n\r\n//\r\n// mixkey()\r\n// Mixes a string seed into a key that is an array of integers, and\r\n// returns a shortened string seed that is equivalent to the result key.\r\n//\r\n function mixkey(seed, key) {\r\n var stringseed = seed + '', smear, j = 0;\r\n while (j < stringseed.length) {\r\n key[mask & j] =\r\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\r\n }\r\n return tostring(key);\r\n }\r\n\r\n//\r\n// autoseed()\r\n// Returns an object for autoseeding, using window.crypto and Node crypto\r\n// module if available.\r\n//\r\n function autoseed() {\r\n try {\r\n if (nodecrypto) { return tostring(nodecrypto.randomBytes(width)); }\r\n var out = new Uint8Array(width);\r\n (global.crypto || global.msCrypto).getRandomValues(out);\r\n return tostring(out);\r\n } catch (e) {\r\n var browser = global.navigator,\r\n plugins = browser && browser.plugins;\r\n return [+new Date(), global, plugins, global.screen, tostring(pool)];\r\n }\r\n }\r\n\r\n//\r\n// tostring()\r\n// Converts an array of charcodes to a string\r\n//\r\n function tostring(a) {\r\n return String.fromCharCode.apply(0, a);\r\n }\r\n\r\n//\r\n// When seedrandom.js is loaded, we immediately mix a few bits\r\n// from the built-in RNG into the entropy pool. Because we do\r\n// not want to interfere with deterministic PRNG state later,\r\n// seedrandom will not call math.random on its own again after\r\n// initialization.\r\n//\r\n mixkey(math.random(), pool);\r\n\r\n//\r\n// Nodejs and AMD support: export the implementation as a module using\r\n// either convention.\r\n//\r\n\r\n// End anonymous scope, and pass initial values.\r\n})(\r\n [], // pool: entropy pool starts empty\r\n BMMath // math: package containing random, pow, and seedrandom\r\n);\r\nvar BezierFactory = (function(){\r\n /**\r\n * BezierEasing - use bezier curve for transition easing function\r\n * by Gaëtan Renaudeau 2014 - 2015 – MIT License\r\n *\r\n * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n * Usage:\r\n * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n *\r\n */\r\n\r\n var ob = {};\r\n ob.getBezierEasing = getBezierEasing;\r\n var beziers = {};\r\n\r\n function getBezierEasing(a,b,c,d,nm){\r\n var str = nm || ('bez_' + a+'_'+b+'_'+c+'_'+d).replace(/\\./g, 'p');\r\n if(beziers[str]){\r\n return beziers[str];\r\n }\r\n var bezEasing = new BezierEasing([a,b,c,d]);\r\n beziers[str] = bezEasing;\r\n return bezEasing;\r\n }\r\n\r\n// These values are established by empiricism with tests (tradeoff: performance VS precision)\r\n var NEWTON_ITERATIONS = 4;\r\n var NEWTON_MIN_SLOPE = 0.001;\r\n var SUBDIVISION_PRECISION = 0.0000001;\r\n var SUBDIVISION_MAX_ITERATIONS = 10;\r\n\r\n var kSplineTableSize = 11;\r\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\r\n\r\n var float32ArraySupported = typeof Float32Array === \"function\";\r\n\r\n function A (aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1; }\r\n function B (aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1; }\r\n function C (aA1) { return 3.0 * aA1; }\r\n\r\n// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\r\n function calcBezier (aT, aA1, aA2) {\r\n return ((A(aA1, aA2)*aT + B(aA1, aA2))*aT + C(aA1))*aT;\r\n }\r\n\r\n// Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\r\n function getSlope (aT, aA1, aA2) {\r\n return 3.0 * A(aA1, aA2)*aT*aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\r\n }\r\n\r\n function binarySubdivide (aX, aA, aB, mX1, mX2) {\r\n var currentX, currentT, i = 0;\r\n do {\r\n currentT = aA + (aB - aA) / 2.0;\r\n currentX = calcBezier(currentT, mX1, mX2) - aX;\r\n if (currentX > 0.0) {\r\n aB = currentT;\r\n } else {\r\n aA = currentT;\r\n }\r\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\r\n return currentT;\r\n }\r\n\r\n function newtonRaphsonIterate (aX, aGuessT, mX1, mX2) {\r\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\r\n var currentSlope = getSlope(aGuessT, mX1, mX2);\r\n if (currentSlope === 0.0) return aGuessT;\r\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\r\n aGuessT -= currentX / currentSlope;\r\n }\r\n return aGuessT;\r\n }\r\n\r\n /**\r\n * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n */\r\n function BezierEasing (points) {\r\n this._p = points;\r\n this._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\r\n this._precomputed = false;\r\n\r\n this.get = this.get.bind(this);\r\n }\r\n\r\n BezierEasing.prototype = {\r\n\r\n get: function (x) {\r\n var mX1 = this._p[0],\r\n mY1 = this._p[1],\r\n mX2 = this._p[2],\r\n mY2 = this._p[3];\r\n if (!this._precomputed) this._precompute();\r\n if (mX1 === mY1 && mX2 === mY2) return x; // linear\r\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\r\n if (x === 0) return 0;\r\n if (x === 1) return 1;\r\n return calcBezier(this._getTForX(x), mY1, mY2);\r\n },\r\n\r\n // Private part\r\n\r\n _precompute: function () {\r\n var mX1 = this._p[0],\r\n mY1 = this._p[1],\r\n mX2 = this._p[2],\r\n mY2 = this._p[3];\r\n this._precomputed = true;\r\n if (mX1 !== mY1 || mX2 !== mY2)\r\n this._calcSampleValues();\r\n },\r\n\r\n _calcSampleValues: function () {\r\n var mX1 = this._p[0],\r\n mX2 = this._p[2];\r\n for (var i = 0; i < kSplineTableSize; ++i) {\r\n this._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\r\n }\r\n },\r\n\r\n /**\r\n * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n */\r\n _getTForX: function (aX) {\r\n var mX1 = this._p[0],\r\n mX2 = this._p[2],\r\n mSampleValues = this._mSampleValues;\r\n\r\n var intervalStart = 0.0;\r\n var currentSample = 1;\r\n var lastSample = kSplineTableSize - 1;\r\n\r\n for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\r\n intervalStart += kSampleStepSize;\r\n }\r\n --currentSample;\r\n\r\n // Interpolate to provide an initial guess for t\r\n var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample+1] - mSampleValues[currentSample]);\r\n var guessForT = intervalStart + dist * kSampleStepSize;\r\n\r\n var initialSlope = getSlope(guessForT, mX1, mX2);\r\n if (initialSlope >= NEWTON_MIN_SLOPE) {\r\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\r\n } else if (initialSlope === 0.0) {\r\n return guessForT;\r\n } else {\r\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\r\n }\r\n }\r\n };\r\n\r\n return ob;\r\n\r\n}());\r\n(function () {\r\n var lastTime = 0;\r\n var vendors = ['ms', 'moz', 'webkit', 'o'];\r\n for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\r\n window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];\r\n window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];\r\n }\r\n if(!window.requestAnimationFrame)\r\n window.requestAnimationFrame = function (callback, element) {\r\n var currTime = new Date().getTime();\r\n var timeToCall = Math.max(0, 16 - (currTime - lastTime));\r\n var id = setTimeout(function () {\r\n callback(currTime + timeToCall);\r\n },\r\n timeToCall);\r\n lastTime = currTime + timeToCall;\r\n return id;\r\n };\r\n if(!window.cancelAnimationFrame)\r\n window.cancelAnimationFrame = function (id) {\r\n clearTimeout(id);\r\n };\r\n}());\r\n\r\nfunction extendPrototype(sources,destination){\r\n var i, len = sources.length, sourcePrototype;\r\n for (i = 0;i < len;i += 1) {\r\n sourcePrototype = sources[i].prototype;\r\n for (var attr in sourcePrototype) {\r\n if (sourcePrototype.hasOwnProperty(attr)) destination.prototype[attr] = sourcePrototype[attr];\r\n }\r\n }\r\n}\r\n\r\nfunction getDescriptor(object, prop) {\r\n return Object.getOwnPropertyDescriptor(object, prop);\r\n}\r\n\r\nfunction createProxyFunction(prototype) {\r\n\tfunction ProxyFunction(){}\r\n\tProxyFunction.prototype = prototype;\r\n\treturn ProxyFunction;\r\n}\r\nfunction bezFunction(){\r\n\r\n var easingFunctions = [];\r\n var math = Math;\r\n\r\n function pointOnLine2D(x1,y1, x2,y2, x3,y3){\r\n var det1 = (x1*y2) + (y1*x3) + (x2*y3) - (x3*y2) - (y3*x1) - (x2*y1);\r\n return det1 > -0.001 && det1 < 0.001;\r\n }\r\n\r\n function pointOnLine3D(x1,y1,z1, x2,y2,z2, x3,y3,z3){\r\n if(z1 === 0 && z2 === 0 && z3 === 0) {\r\n return pointOnLine2D(x1,y1, x2,y2, x3,y3);\r\n }\r\n var dist1 = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2) + Math.pow(z2 - z1, 2));\r\n var dist2 = Math.sqrt(Math.pow(x3 - x1, 2) + Math.pow(y3 - y1, 2) + Math.pow(z3 - z1, 2));\r\n var dist3 = Math.sqrt(Math.pow(x3 - x2, 2) + Math.pow(y3 - y2, 2) + Math.pow(z3 - z2, 2));\r\n var diffDist;\r\n if(dist1 > dist2){\r\n if(dist1 > dist3){\r\n diffDist = dist1 - dist2 - dist3;\r\n } else {\r\n diffDist = dist3 - dist2 - dist1;\r\n }\r\n } else if(dist3 > dist2){\r\n diffDist = dist3 - dist2 - dist1;\r\n } else {\r\n diffDist = dist2 - dist1 - dist3;\r\n }\r\n return diffDist > -0.0001 && diffDist < 0.0001;\r\n }\r\n\r\n var getBezierLength = (function(){\r\n\r\n return function(pt1,pt2,pt3,pt4){\r\n var curveSegments = defaultCurveSegments;\r\n var k;\r\n var i, len;\r\n var ptCoord,perc,addedLength = 0;\r\n var ptDistance;\r\n var point = [],lastPoint = [];\r\n var lengthData = bezier_length_pool.newElement();\r\n len = pt3.length;\r\n for(k=0;k lengthPos ? -1 : 1;\r\n var flag = true;\r\n while(flag){\r\n if(lengths[initPos] <= lengthPos && lengths[initPos+1] > lengthPos){\r\n lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos+1] - lengths[initPos]);\r\n flag = false;\r\n }else{\r\n initPos += dir;\r\n }\r\n if(initPos < 0 || initPos >= len - 1){\r\n //FIX for TypedArrays that don't store floating point values with enough accuracy\r\n if(initPos === len - 1) {\r\n return percents[initPos];\r\n }\r\n flag = false;\r\n }\r\n }\r\n return percents[initPos] + (percents[initPos+1] - percents[initPos])*lPerc;\r\n }\r\n }\r\n\r\n function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\r\n var t1 = getDistancePerc(percent,bezierData);\r\n var u0 = 1;\r\n var u1 = 1 - t1;\r\n var ptX = Math.round((u1*u1*u1* pt1[0] + (t1*u1*u1 + u1*t1*u1 + u1*u1*t1)* pt3[0] + (t1*t1*u1 + u1*t1*t1 + t1*u1*t1)*pt4[0] + t1*t1*t1* pt2[0])* 1000) / 1000;\r\n var ptY = Math.round((u1*u1*u1* pt1[1] + (t1*u1*u1 + u1*t1*u1 + u1*u1*t1)* pt3[1] + (t1*t1*u1 + u1*t1*t1 + t1*u1*t1)*pt4[1] + t1*t1*t1* pt2[1])* 1000) / 1000;\r\n return [ptX, ptY];\r\n }\r\n\r\n function getSegmentArray() {\r\n\r\n }\r\n\r\n var bezier_segment_points = createTypedArray('float32', 8);\r\n\r\n function getNewSegment(pt1,pt2,pt3,pt4,startPerc,endPerc, bezierData){\r\n\r\n startPerc = startPerc < 0 ? 0 : startPerc > 1 ? 1 : startPerc;\r\n var t0 = getDistancePerc(startPerc,bezierData);\r\n endPerc = endPerc > 1 ? 1 : endPerc;\r\n var t1 = getDistancePerc(endPerc,bezierData);\r\n var i, len = pt1.length;\r\n var u0 = 1 - t0;\r\n var u1 = 1 - t1;\r\n var u0u0u0 = u0*u0*u0;\r\n var t0u0u0_3 = t0*u0*u0*3;\r\n var t0t0u0_3 = t0*t0*u0*3;\r\n var t0t0t0 = t0*t0*t0;\r\n //\r\n var u0u0u1 = u0*u0*u1;\r\n var t0u0u1_3 = t0*u0*u1 + u0*t0*u1 + u0*u0*t1;\r\n var t0t0u1_3 = t0*t0*u1 + u0*t0*t1 + t0*u0*t1;\r\n var t0t0t1 = t0*t0*t1;\r\n //\r\n var u0u1u1 = u0*u1*u1;\r\n var t0u1u1_3 = t0*u1*u1 + u0*t1*u1 + u0*u1*t1;\r\n var t0t1u1_3 = t0*t1*u1 + u0*t1*t1 + t0*u1*t1;\r\n var t0t1t1 = t0*t1*t1;\r\n //\r\n var u1u1u1 = u1*u1*u1;\r\n var t1u1u1_3 = t1*u1*u1 + u1*t1*u1 + u1*u1*t1;\r\n var t1t1u1_3 = t1*t1*u1 + u1*t1*t1 + t1*u1*t1;\r\n var t1t1t1 = t1*t1*t1;\r\n for(i=0;i=0;i-=1){\r\n if(arr[i].ty == 'sh'){\r\n if(arr[i].ks.k.i){\r\n convertPathsToAbsoluteValues(arr[i].ks.k);\r\n }else{\r\n jLen = arr[i].ks.k.length;\r\n for(j=0;janimVersion[0]){\r\n return true;\r\n } else if(animVersion[0] > minimum[0]){\r\n return false;\r\n }\r\n if(minimum[1]>animVersion[1]){\r\n return true;\r\n } else if(animVersion[1] > minimum[1]){\r\n return false;\r\n }\r\n if(minimum[2]>animVersion[2]){\r\n return true;\r\n } else if(animVersion[2] > minimum[2]){\r\n return false;\r\n }\r\n }\r\n\r\n var checkText = (function(){\r\n var minimumVersion = [4,4,14];\r\n\r\n function updateTextLayer(textLayer){\r\n var documentData = textLayer.t.d;\r\n textLayer.t.d = {\r\n k: [\r\n {\r\n s:documentData,\r\n t:0\r\n }\r\n ]\r\n };\r\n }\r\n\r\n function iterateLayers(layers){\r\n var i, len = layers.length;\r\n for(i=0;i=0;i-=1){\r\n if(arr[i].ty == 'sh'){\r\n if(arr[i].ks.k.i){\r\n arr[i].ks.k.c = arr[i].closed;\r\n }else{\r\n jLen = arr[i].ks.k.length;\r\n for(j=0;j 0) {\r\n shouldLoadFont = false;\r\n }\r\n\r\n if (shouldLoadFont) {\r\n var s = createTag('style');\r\n s.setAttribute('f-forigin', fontArr[i].fOrigin);\r\n s.setAttribute('f-origin', fontArr[i].origin);\r\n s.setAttribute('f-family', fontArr[i].fFamily);\r\n s.type = \"text/css\";\r\n s.innerText = \"@font-face {\" + \"font-family: \"+fontArr[i].fFamily+\"; font-style: normal; src: url('\"+fontArr[i].fPath+\"');}\";\r\n defs.appendChild(s);\r\n }\r\n } else if(fontArr[i].fOrigin === 'g' || fontArr[i].origin === 1){\r\n loadedSelector = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]');\r\n\r\n for (j = 0; j < loadedSelector.length; j++) {\r\n if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\r\n // Font is already loaded\r\n shouldLoadFont = false;\r\n }\r\n }\r\n\r\n if (shouldLoadFont) {\r\n var l = createTag('link');\r\n l.setAttribute('f-forigin', fontArr[i].fOrigin);\r\n l.setAttribute('f-origin', fontArr[i].origin);\r\n l.type = \"text/css\";\r\n l.rel = \"stylesheet\";\r\n l.href = fontArr[i].fPath;\r\n document.body.appendChild(l);\r\n }\r\n } else if(fontArr[i].fOrigin === 't' || fontArr[i].origin === 2){\r\n loadedSelector = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]');\r\n\r\n for (j = 0; j < loadedSelector.length; j++) {\r\n if (fontArr[i].fPath === loadedSelector[j].src) {\r\n // Font is already loaded\r\n shouldLoadFont = false;\r\n }\r\n }\r\n\r\n if (shouldLoadFont) {\r\n var sc = createTag('link');\r\n sc.setAttribute('f-forigin', fontArr[i].fOrigin);\r\n sc.setAttribute('f-origin', fontArr[i].origin);\r\n sc.setAttribute('rel','stylesheet');\r\n sc.setAttribute('href',fontArr[i].fPath);\r\n defs.appendChild(sc);\r\n }\r\n }\r\n fontArr[i].helper = createHelper(defs,fontArr[i]);\r\n fontArr[i].cache = {};\r\n this.fonts.push(fontArr[i]);\r\n }\r\n if (_pendingFonts === 0) {\r\n this.isLoaded = true;\r\n } else {\r\n //On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\r\n //Adding this timeout seems to fix it\r\n setTimeout(this.checkLoadedFonts.bind(this), 100);\r\n }\r\n }\r\n\r\n function addChars(chars){\r\n if(!chars){\r\n return;\r\n }\r\n if(!this.chars){\r\n this.chars = [];\r\n }\r\n var i, len = chars.length;\r\n var j, jLen = this.chars.length, found;\r\n for(i=0;i= nextKeyData.t - offsetTime){\r\n if(keyData.h){\r\n keyData = nextKeyData;\r\n }\r\n iterationIndex = 0;\r\n break;\r\n }\r\n if ((nextKeyData.t - offsetTime) > frameNum){\r\n iterationIndex = i;\r\n break;\r\n }\r\n if (i < len - 1){\r\n i += 1;\r\n } else {\r\n iterationIndex = 0;\r\n flag = false;\r\n }\r\n }\r\n\r\n var k, kLen, perc, jLen, j, fnc;\r\n var nextKeyTime = nextKeyData.t - offsetTime;\r\n var keyTime = keyData.t - offsetTime;\r\n var endValue;\r\n if (keyData.to) {\r\n if (!keyData.bezierData) {\r\n keyData.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\r\n }\r\n var bezierData = keyData.bezierData;\r\n if (frameNum >= nextKeyTime || frameNum < keyTime) {\r\n var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\r\n kLen = bezierData.points[ind].point.length;\r\n for (k = 0; k < kLen; k += 1) {\r\n newValue[k] = bezierData.points[ind].point[k];\r\n }\r\n // caching._lastKeyframeIndex = -1;\r\n } else {\r\n if (keyData.__fnct) {\r\n fnc = keyData.__fnct;\r\n } else {\r\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\r\n keyData.__fnct = fnc;\r\n }\r\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\r\n var distanceInLine = bezierData.segmentLength*perc;\r\n\r\n var segmentPerc;\r\n var addedLength = (caching.lastFrame < frameNum && caching._lastKeyframeIndex === i) ? caching._lastAddedLength : 0;\r\n j = (caching.lastFrame < frameNum && caching._lastKeyframeIndex === i) ? caching._lastPoint : 0;\r\n flag = true;\r\n jLen = bezierData.points.length;\r\n while (flag) {\r\n addedLength += bezierData.points[j].partialLength;\r\n if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\r\n kLen = bezierData.points[j].point.length;\r\n for (k = 0; k < kLen; k += 1) {\r\n newValue[k] = bezierData.points[j].point[k];\r\n }\r\n break;\r\n } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\r\n segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\r\n kLen = bezierData.points[j].point.length;\r\n for (k = 0; k < kLen; k += 1) {\r\n newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\r\n }\r\n break;\r\n }\r\n if (j < jLen - 1){\r\n j += 1;\r\n } else {\r\n flag = false;\r\n }\r\n }\r\n caching._lastPoint = j;\r\n caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\r\n caching._lastKeyframeIndex = i;\r\n }\r\n } else {\r\n var outX, outY, inX, inY, keyValue;\r\n len = keyData.s.length;\r\n endValue = nextKeyData.s || keyData.e;\r\n if (this.sh && keyData.h !== 1) {\r\n if (frameNum >= nextKeyTime) {\r\n newValue[0] = endValue[0];\r\n newValue[1] = endValue[1];\r\n newValue[2] = endValue[2];\r\n } else if (frameNum <= keyTime) {\r\n newValue[0] = keyData.s[0];\r\n newValue[1] = keyData.s[1];\r\n newValue[2] = keyData.s[2];\r\n } else {\r\n var quatStart = createQuaternion(keyData.s);\r\n var quatEnd = createQuaternion(endValue);\r\n var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\r\n quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\r\n }\r\n \r\n } else {\r\n for(i = 0; i < len; i += 1) {\r\n if (keyData.h !== 1) {\r\n if (frameNum >= nextKeyTime) {\r\n perc = 1;\r\n } else if(frameNum < keyTime) {\r\n perc = 0;\r\n } else {\r\n if(keyData.o.x.constructor === Array) {\r\n if (!keyData.__fnct) {\r\n keyData.__fnct = [];\r\n }\r\n if (!keyData.__fnct[i]) {\r\n outX = (typeof keyData.o.x[i] === 'undefined') ? keyData.o.x[0] : keyData.o.x[i];\r\n outY = (typeof keyData.o.y[i] === 'undefined') ? keyData.o.y[0] : keyData.o.y[i];\r\n inX = (typeof keyData.i.x[i] === 'undefined') ? keyData.i.x[0] : keyData.i.x[i];\r\n inY = (typeof keyData.i.y[i] === 'undefined') ? keyData.i.y[0] : keyData.i.y[i];\r\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\r\n keyData.__fnct[i] = fnc;\r\n } else {\r\n fnc = keyData.__fnct[i];\r\n }\r\n } else {\r\n if (!keyData.__fnct) {\r\n outX = keyData.o.x;\r\n outY = keyData.o.y;\r\n inX = keyData.i.x;\r\n inY = keyData.i.y;\r\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\r\n keyData.__fnct = fnc;\r\n } else {\r\n fnc = keyData.__fnct;\r\n }\r\n }\r\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime ));\r\n }\r\n }\r\n\r\n endValue = nextKeyData.s || keyData.e;\r\n keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\r\n\r\n if (this.propType === 'multidimensional') {\r\n newValue[i] = keyValue;\r\n } else {\r\n newValue = keyValue;\r\n }\r\n }\r\n }\r\n }\r\n caching.lastIndex = iterationIndex;\r\n return newValue;\r\n }\r\n\r\n //based on @Toji's https://github.com/toji/gl-matrix/\r\n function slerp(a, b, t) {\r\n var out = [];\r\n var ax = a[0], ay = a[1], az = a[2], aw = a[3],\r\n bx = b[0], by = b[1], bz = b[2], bw = b[3]\r\n\r\n var omega, cosom, sinom, scale0, scale1;\r\n\r\n cosom = ax * bx + ay * by + az * bz + aw * bw;\r\n if (cosom < 0.0) {\r\n cosom = -cosom;\r\n bx = -bx;\r\n by = -by;\r\n bz = -bz;\r\n bw = -bw;\r\n }\r\n if ((1.0 - cosom) > 0.000001) {\r\n omega = Math.acos(cosom);\r\n sinom = Math.sin(omega);\r\n scale0 = Math.sin((1.0 - t) * omega) / sinom;\r\n scale1 = Math.sin(t * omega) / sinom;\r\n } else {\r\n scale0 = 1.0 - t;\r\n scale1 = t;\r\n }\r\n out[0] = scale0 * ax + scale1 * bx;\r\n out[1] = scale0 * ay + scale1 * by;\r\n out[2] = scale0 * az + scale1 * bz;\r\n out[3] = scale0 * aw + scale1 * bw;\r\n\r\n return out;\r\n }\r\n\r\n function quaternionToEuler(out, quat) {\r\n var qx = quat[0];\r\n var qy = quat[1];\r\n var qz = quat[2];\r\n var qw = quat[3];\r\n var heading = Math.atan2(2*qy*qw-2*qx*qz , 1 - 2*qy*qy - 2*qz*qz)\r\n var attitude = Math.asin(2*qx*qy + 2*qz*qw) \r\n var bank = Math.atan2(2*qx*qw-2*qy*qz , 1 - 2*qx*qx - 2*qz*qz);\r\n out[0] = heading/degToRads;\r\n out[1] = attitude/degToRads;\r\n out[2] = bank/degToRads;\r\n }\r\n\r\n function createQuaternion(values) {\r\n var heading = values[0] * degToRads;\r\n var attitude = values[1] * degToRads;\r\n var bank = values[2] * degToRads;\r\n var c1 = Math.cos(heading / 2);\r\n var c2 = Math.cos(attitude / 2);\r\n var c3 = Math.cos(bank / 2);\r\n var s1 = Math.sin(heading / 2);\r\n var s2 = Math.sin(attitude / 2);\r\n var s3 = Math.sin(bank / 2);\r\n var w = c1 * c2 * c3 - s1 * s2 * s3;\r\n var x = s1 * s2 * c3 + c1 * c2 * s3;\r\n var y = s1 * c2 * c3 + c1 * s2 * s3;\r\n var z = c1 * s2 * c3 - s1 * c2 * s3;\r\n\r\n return [x,y,z,w];\r\n }\r\n\r\n function getValueAtCurrentTime(){\r\n var frameNum = this.comp.renderedFrame - this.offsetTime;\r\n var initTime = this.keyframes[0].t - this.offsetTime;\r\n var endTime = this.keyframes[this.keyframes.length- 1].t-this.offsetTime;\r\n if(!(frameNum === this._caching.lastFrame || (this._caching.lastFrame !== initFrame && ((this._caching.lastFrame >= endTime && frameNum >= endTime) || (this._caching.lastFrame < initTime && frameNum < initTime))))){\r\n if(this._caching.lastFrame >= frameNum) {\r\n this._caching._lastKeyframeIndex = -1;\r\n this._caching.lastIndex = 0;\r\n }\r\n\r\n var renderResult = this.interpolateValue(frameNum, this._caching);\r\n this.pv = renderResult;\r\n }\r\n this._caching.lastFrame = frameNum;\r\n return this.pv;\r\n }\r\n\r\n function setVValue(val) {\r\n var multipliedValue;\r\n if(this.propType === 'unidimensional') {\r\n multipliedValue = val * this.mult;\r\n if(math_abs(this.v - multipliedValue) > 0.00001) {\r\n this.v = multipliedValue;\r\n this._mdf = true;\r\n }\r\n } else {\r\n var i = 0, len = this.v.length;\r\n while (i < len) {\r\n multipliedValue = val[i] * this.mult;\r\n if (math_abs(this.v[i] - multipliedValue) > 0.00001) {\r\n this.v[i] = multipliedValue;\r\n this._mdf = true;\r\n }\r\n i += 1;\r\n }\r\n }\r\n }\r\n\r\n function processEffectsSequence() {\r\n if (this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) {\r\n return;\r\n }\r\n if(this.lock) {\r\n this.setVValue(this.pv);\r\n return;\r\n }\r\n this.lock = true;\r\n this._mdf = this._isFirstFrame;\r\n var multipliedValue;\r\n var i, len = this.effectsSequence.length;\r\n var finalValue = this.kf ? this.pv : this.data.k;\r\n for(i = 0; i < len; i += 1) {\r\n finalValue = this.effectsSequence[i](finalValue);\r\n }\r\n this.setVValue(finalValue);\r\n this._isFirstFrame = false;\r\n this.lock = false;\r\n this.frameId = this.elem.globalData.frameId;\r\n }\r\n\r\n function addEffect(effectFunction) {\r\n this.effectsSequence.push(effectFunction);\r\n this.container.addDynamicProperty(this);\r\n }\r\n\r\n function ValueProperty(elem, data, mult, container){\r\n this.propType = 'unidimensional';\r\n this.mult = mult || 1;\r\n this.data = data;\r\n this.v = mult ? data.k * mult : data.k;\r\n this.pv = data.k;\r\n this._mdf = false;\r\n this.elem = elem;\r\n this.container = container;\r\n this.comp = elem.comp;\r\n this.k = false;\r\n this.kf = false;\r\n this.vel = 0;\r\n this.effectsSequence = [];\r\n this._isFirstFrame = true;\r\n this.getValue = processEffectsSequence;\r\n this.setVValue = setVValue;\r\n this.addEffect = addEffect;\r\n }\r\n\r\n function MultiDimensionalProperty(elem, data, mult, container) {\r\n this.propType = 'multidimensional';\r\n this.mult = mult || 1;\r\n this.data = data;\r\n this._mdf = false;\r\n this.elem = elem;\r\n this.container = container;\r\n this.comp = elem.comp;\r\n this.k = false;\r\n this.kf = false;\r\n this.frameId = -1;\r\n var i, len = data.k.length;\r\n this.v = createTypedArray('float32', len);\r\n this.pv = createTypedArray('float32', len);\r\n var arr = createTypedArray('float32', len);\r\n this.vel = createTypedArray('float32', len);\r\n for (i = 0; i < len; i += 1) {\r\n this.v[i] = data.k[i] * this.mult;\r\n this.pv[i] = data.k[i];\r\n }\r\n this._isFirstFrame = true;\r\n this.effectsSequence = [];\r\n this.getValue = processEffectsSequence;\r\n this.setVValue = setVValue;\r\n this.addEffect = addEffect;\r\n }\r\n\r\n function KeyframedValueProperty(elem, data, mult, container) {\r\n this.propType = 'unidimensional';\r\n this.keyframes = data.k;\r\n this.offsetTime = elem.data.st;\r\n this.frameId = -1;\r\n this._caching = {lastFrame: initFrame, lastIndex: 0, value: 0, _lastKeyframeIndex: -1};\r\n this.k = true;\r\n this.kf = true;\r\n this.data = data;\r\n this.mult = mult || 1;\r\n this.elem = elem;\r\n this.container = container;\r\n this.comp = elem.comp;\r\n this.v = initFrame;\r\n this.pv = initFrame;\r\n this._isFirstFrame = true;\r\n this.getValue = processEffectsSequence;\r\n this.setVValue = setVValue;\r\n this.interpolateValue = interpolateValue;\r\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\r\n this.addEffect = addEffect;\r\n }\r\n\r\n function KeyframedMultidimensionalProperty(elem, data, mult, container){\r\n this.propType = 'multidimensional';\r\n var i, len = data.k.length;\r\n var s, e,to,ti;\r\n for (i = 0; i < len - 1; i += 1) {\r\n if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\r\n s = data.k[i].s;\r\n e = data.k[i + 1].s;\r\n to = data.k[i].to;\r\n ti = data.k[i].ti;\r\n if((s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0],s[1],e[0],e[1],s[0] + to[0],s[1] + to[1]) && bez.pointOnLine2D(s[0],s[1],e[0],e[1],e[0] + ti[0],e[1] + ti[1])) || (s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0],s[1],s[2],e[0],e[1],e[2],s[0] + to[0],s[1] + to[1],s[2] + to[2]) && bez.pointOnLine3D(s[0],s[1],s[2],e[0],e[1],e[2],e[0] + ti[0],e[1] + ti[1],e[2] + ti[2]))){\r\n data.k[i].to = null;\r\n data.k[i].ti = null;\r\n }\r\n if(s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\r\n if(s.length === 2 || (s[2] === e[2] && to[2] === 0 && ti[2] === 0)) {\r\n data.k[i].to = null;\r\n data.k[i].ti = null;\r\n }\r\n }\r\n }\r\n }\r\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\r\n this.keyframes = data.k;\r\n this.offsetTime = elem.data.st;\r\n this.k = true;\r\n this.kf = true;\r\n this._isFirstFrame = true;\r\n this.mult = mult || 1;\r\n this.elem = elem;\r\n this.container = container;\r\n this.comp = elem.comp;\r\n this.getValue = processEffectsSequence;\r\n this.setVValue = setVValue;\r\n this.interpolateValue = interpolateValue;\r\n this.frameId = -1;\r\n var arrLen = data.k[0].s.length;\r\n this.v = createTypedArray('float32', arrLen);\r\n this.pv = createTypedArray('float32', arrLen);\r\n for (i = 0; i < arrLen; i += 1) {\r\n this.v[i] = initFrame;\r\n this.pv[i] = initFrame;\r\n }\r\n this._caching={lastFrame:initFrame,lastIndex:0,value:createTypedArray('float32', arrLen)};\r\n this.addEffect = addEffect;\r\n }\r\n\r\n function getProp(elem,data,type, mult, container) {\r\n var p;\r\n if(!data.k.length){\r\n p = new ValueProperty(elem,data, mult, container);\r\n }else if(typeof(data.k[0]) === 'number'){\r\n p = new MultiDimensionalProperty(elem,data, mult, container);\r\n }else{\r\n switch(type){\r\n case 0:\r\n p = new KeyframedValueProperty(elem,data,mult, container);\r\n break;\r\n case 1:\r\n p = new KeyframedMultidimensionalProperty(elem,data,mult, container);\r\n break;\r\n }\r\n }\r\n if(p.effectsSequence.length){\r\n container.addDynamicProperty(p);\r\n }\r\n return p;\r\n }\r\n\r\n var ob = {\r\n getProp: getProp\r\n };\r\n return ob;\r\n}());\r\nvar TransformPropertyFactory = (function() {\r\n\r\n var defaultVector = [0,0]\r\n\r\n function applyToMatrix(mat) {\r\n var _mdf = this._mdf;\r\n this.iterateDynamicProperties();\r\n this._mdf = this._mdf || _mdf;\r\n if (this.a) {\r\n mat.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\r\n }\r\n if (this.s) {\r\n mat.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\r\n }\r\n if (this.sk) {\r\n mat.skewFromAxis(-this.sk.v, this.sa.v);\r\n }\r\n if (this.r) {\r\n mat.rotate(-this.r.v);\r\n } else {\r\n mat.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\r\n }\r\n if (this.data.p.s) {\r\n if (this.data.p.z) {\r\n mat.translate(this.px.v, this.py.v, -this.pz.v);\r\n } else {\r\n mat.translate(this.px.v, this.py.v, 0);\r\n }\r\n } else {\r\n mat.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\r\n }\r\n }\r\n function processKeys(forceRender){\r\n if (this.elem.globalData.frameId === this.frameId) {\r\n return;\r\n }\r\n if(this._isDirty) {\r\n this.precalculateMatrix();\r\n this._isDirty = false;\r\n }\r\n\r\n this.iterateDynamicProperties();\r\n\r\n if (this._mdf || forceRender) {\r\n this.v.cloneFromProps(this.pre.props);\r\n if (this.appliedTransformations < 1) {\r\n this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\r\n }\r\n if(this.appliedTransformations < 2) {\r\n this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\r\n }\r\n if (this.sk && this.appliedTransformations < 3) {\r\n this.v.skewFromAxis(-this.sk.v, this.sa.v);\r\n }\r\n if (this.r && this.appliedTransformations < 4) {\r\n this.v.rotate(-this.r.v);\r\n } else if (!this.r && this.appliedTransformations < 4){\r\n this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\r\n }\r\n if (this.autoOriented) {\r\n var v1,v2, frameRate = this.elem.globalData.frameRate;\r\n if(this.p && this.p.keyframes && this.p.getValueAtTime) {\r\n if (this.p._caching.lastFrame+this.p.offsetTime <= this.p.keyframes[0].t) {\r\n v1 = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / frameRate,0);\r\n v2 = this.p.getValueAtTime(this.p.keyframes[0].t / frameRate, 0);\r\n } else if(this.p._caching.lastFrame+this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t) {\r\n v1 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t / frameRate), 0);\r\n v2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / frameRate, 0);\r\n } else {\r\n v1 = this.p.pv;\r\n v2 = this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime - 0.01) / frameRate, this.p.offsetTime);\r\n }\r\n } else if(this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\r\n v1 = [];\r\n v2 = [];\r\n var px = this.px, py = this.py, frameRate;\r\n if (px._caching.lastFrame+px.offsetTime <= px.keyframes[0].t) {\r\n v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate,0);\r\n v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate,0);\r\n v2[0] = px.getValueAtTime((px.keyframes[0].t) / frameRate,0);\r\n v2[1] = py.getValueAtTime((py.keyframes[0].t) / frameRate,0);\r\n } else if(px._caching.lastFrame+px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\r\n v1[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t / frameRate),0);\r\n v1[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t / frameRate),0);\r\n v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate,0);\r\n v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate,0);\r\n } else {\r\n v1 = [px.pv, py.pv];\r\n v2[0] = px.getValueAtTime((px._caching.lastFrame+px.offsetTime - 0.01) / frameRate,px.offsetTime);\r\n v2[1] = py.getValueAtTime((py._caching.lastFrame+py.offsetTime - 0.01) / frameRate,py.offsetTime);\r\n }\r\n } else {\r\n v1 = v2 = defaultVector\r\n }\r\n this.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\r\n }\r\n if(this.data.p && this.data.p.s){\r\n if(this.data.p.z) {\r\n this.v.translate(this.px.v, this.py.v, -this.pz.v);\r\n } else {\r\n this.v.translate(this.px.v, this.py.v, 0);\r\n }\r\n }else{\r\n this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2]);\r\n }\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n }\r\n\r\n function precalculateMatrix() {\r\n if(!this.a.k) {\r\n this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\r\n this.appliedTransformations = 1;\r\n } else {\r\n return;\r\n }\r\n if(!this.s.effectsSequence.length) {\r\n this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\r\n this.appliedTransformations = 2;\r\n } else {\r\n return;\r\n }\r\n if(this.sk) {\r\n if(!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) {\r\n this.pre.skewFromAxis(-this.sk.v, this.sa.v);\r\n this.appliedTransformations = 3;\r\n } else {\r\n return;\r\n }\r\n }\r\n if (this.r) {\r\n if(!this.r.effectsSequence.length) {\r\n this.pre.rotate(-this.r.v);\r\n this.appliedTransformations = 4;\r\n } else {\r\n return;\r\n }\r\n } else if(!this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length) {\r\n this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\r\n this.appliedTransformations = 4;\r\n }\r\n }\r\n\r\n function autoOrient(){\r\n //\r\n //var prevP = this.getValueAtTime();\r\n }\r\n\r\n function addDynamicProperty(prop) {\r\n this._addDynamicProperty(prop);\r\n this.elem.addDynamicProperty(prop);\r\n this._isDirty = true;\r\n }\r\n\r\n function TransformProperty(elem,data,container){\r\n this.elem = elem;\r\n this.frameId = -1;\r\n this.propType = 'transform';\r\n this.data = data;\r\n this.v = new Matrix();\r\n //Precalculated matrix with non animated properties\r\n this.pre = new Matrix();\r\n this.appliedTransformations = 0;\r\n this.initDynamicPropertyContainer(container || elem);\r\n if(data.p && data.p.s){\r\n this.px = PropertyFactory.getProp(elem,data.p.x,0,0,this);\r\n this.py = PropertyFactory.getProp(elem,data.p.y,0,0,this);\r\n if(data.p.z){\r\n this.pz = PropertyFactory.getProp(elem,data.p.z,0,0,this);\r\n }\r\n }else{\r\n this.p = PropertyFactory.getProp(elem,data.p || {k:[0,0,0]},1,0,this);\r\n }\r\n if(data.rx) {\r\n this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this);\r\n this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);\r\n this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);\r\n if(data.or.k[0].ti) {\r\n var i, len = data.or.k.length;\r\n for(i=0;i= this._maxLength) {\r\n\t\tthis.doubleArrayLength();\r\n\t}\r\n\tswitch(type){\r\n\t\tcase 'v':\r\n\t\t\tarr = this.v;\r\n\t\t\tbreak;\r\n\t\tcase 'i':\r\n\t\t\tarr = this.i;\r\n\t\t\tbreak;\r\n\t\tcase 'o':\r\n\t\t\tarr = this.o;\r\n\t\t\tbreak;\r\n\t}\r\n\tif(!arr[pos] || (arr[pos] && !replace)){\r\n\t\tarr[pos] = point_pool.newElement();\r\n\t}\r\n\tarr[pos][0] = x;\r\n\tarr[pos][1] = y;\r\n};\r\n\r\nShapePath.prototype.setTripleAt = function(vX,vY,oX,oY,iX,iY,pos, replace) {\r\n\tthis.setXYAt(vX,vY,'v',pos, replace);\r\n\tthis.setXYAt(oX,oY,'o',pos, replace);\r\n\tthis.setXYAt(iX,iY,'i',pos, replace);\r\n};\r\n\r\nShapePath.prototype.reverse = function() {\r\n\tvar newPath = new ShapePath();\r\n\tnewPath.setPathData(this.c, this._length);\r\n\tvar vertices = this.v, outPoints = this.o, inPoints = this.i;\r\n\tvar init = 0;\r\n\tif (this.c) {\r\n\t\tnewPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\r\n init = 1;\r\n }\r\n var cnt = this._length - 1;\r\n var len = this._length;\r\n\r\n var i;\r\n for (i = init; i < len; i += 1) {\r\n \tnewPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\r\n cnt -= 1;\r\n }\r\n return newPath;\r\n};\r\nvar ShapePropertyFactory = (function(){\r\n\r\n var initFrame = -999999;\r\n\r\n function interpolateShape(frameNum, previousValue, caching) {\r\n var iterationIndex = caching.lastIndex;\r\n var keyPropS,keyPropE,isHold, j, k, jLen, kLen, perc, vertexValue;\r\n var kf = this.keyframes;\r\n if(frameNum < kf[0].t-this.offsetTime){\r\n keyPropS = kf[0].s[0];\r\n isHold = true;\r\n iterationIndex = 0;\r\n }else if(frameNum >= kf[kf.length - 1].t-this.offsetTime){\r\n keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\r\n /*if(kf[kf.length - 1].s){\r\n keyPropS = kf[kf.length - 1].s[0];\r\n }else{\r\n keyPropS = kf[kf.length - 2].e[0];\r\n }*/\r\n isHold = true;\r\n }else{\r\n var i = iterationIndex;\r\n var len = kf.length- 1,flag = true,keyData,nextKeyData;\r\n while(flag){\r\n keyData = kf[i];\r\n nextKeyData = kf[i+1];\r\n if((nextKeyData.t - this.offsetTime) > frameNum){\r\n break;\r\n }\r\n if(i < len - 1){\r\n i += 1;\r\n }else{\r\n flag = false;\r\n }\r\n }\r\n isHold = keyData.h === 1;\r\n iterationIndex = i;\r\n if(!isHold){\r\n if(frameNum >= nextKeyData.t-this.offsetTime){\r\n perc = 1;\r\n }else if(frameNum < keyData.t-this.offsetTime){\r\n perc = 0;\r\n }else{\r\n var fnc;\r\n if(keyData.__fnct){\r\n fnc = keyData.__fnct;\r\n }else{\r\n fnc = BezierFactory.getBezierEasing(keyData.o.x,keyData.o.y,keyData.i.x,keyData.i.y).get;\r\n keyData.__fnct = fnc;\r\n }\r\n perc = fnc((frameNum-(keyData.t-this.offsetTime))/((nextKeyData.t-this.offsetTime)-(keyData.t-this.offsetTime)));\r\n }\r\n keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\r\n }\r\n keyPropS = keyData.s[0];\r\n }\r\n jLen = previousValue._length;\r\n kLen = keyPropS.i[0].length;\r\n caching.lastIndex = iterationIndex;\r\n\r\n for(j=0;j endTime && frameNum > endTime)))){\r\n ////\r\n this._caching.lastIndex = lastFrame < frameNum ? this._caching.lastIndex : 0;\r\n this.interpolateShape(frameNum, this.pv, this._caching);\r\n ////\r\n }\r\n this._caching.lastFrame = frameNum;\r\n return this.pv;\r\n }\r\n\r\n function resetShape(){\r\n this.paths = this.localShapeCollection;\r\n }\r\n\r\n function shapesEqual(shape1, shape2) {\r\n if(shape1._length !== shape2._length || shape1.c !== shape2.c){\r\n return false;\r\n }\r\n var i, len = shape1._length;\r\n for(i = 0; i < len; i += 1) {\r\n if(shape1.v[i][0] !== shape2.v[i][0] \r\n || shape1.v[i][1] !== shape2.v[i][1] \r\n || shape1.o[i][0] !== shape2.o[i][0] \r\n || shape1.o[i][1] !== shape2.o[i][1] \r\n || shape1.i[i][0] !== shape2.i[i][0] \r\n || shape1.i[i][1] !== shape2.i[i][1]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n function setVValue(newPath) {\r\n if(!shapesEqual(this.v, newPath)) {\r\n this.v = shape_pool.clone(newPath);\r\n this.localShapeCollection.releaseShapes();\r\n this.localShapeCollection.addShape(this.v);\r\n this._mdf = true;\r\n this.paths = this.localShapeCollection;\r\n }\r\n }\r\n\r\n function processEffectsSequence() {\r\n if (this.elem.globalData.frameId === this.frameId) {\r\n return;\r\n } else if (!this.effectsSequence.length) {\r\n this._mdf = false;\r\n return;\r\n }\r\n if (this.lock) {\r\n this.setVValue(this.pv);\r\n return;\r\n }\r\n this.lock = true;\r\n this._mdf = false;\r\n var finalValue = this.kf ? this.pv : this.data.ks ? this.data.ks.k : this.data.pt.k;\r\n var i, len = this.effectsSequence.length;\r\n for(i = 0; i < len; i += 1) {\r\n finalValue = this.effectsSequence[i](finalValue);\r\n }\r\n this.setVValue(finalValue);\r\n this.lock = false;\r\n this.frameId = this.elem.globalData.frameId;\r\n };\r\n\r\n function ShapeProperty(elem, data, type){\r\n this.propType = 'shape';\r\n this.comp = elem.comp;\r\n this.container = elem;\r\n this.elem = elem;\r\n this.data = data;\r\n this.k = false;\r\n this.kf = false;\r\n this._mdf = false;\r\n var pathData = type === 3 ? data.pt.k : data.ks.k;\r\n this.v = shape_pool.clone(pathData);\r\n this.pv = shape_pool.clone(this.v);\r\n this.localShapeCollection = shapeCollection_pool.newShapeCollection();\r\n this.paths = this.localShapeCollection;\r\n this.paths.addShape(this.v);\r\n this.reset = resetShape;\r\n this.effectsSequence = [];\r\n }\r\n\r\n function addEffect(effectFunction) {\r\n this.effectsSequence.push(effectFunction);\r\n this.container.addDynamicProperty(this);\r\n }\r\n\r\n ShapeProperty.prototype.interpolateShape = interpolateShape;\r\n ShapeProperty.prototype.getValue = processEffectsSequence;\r\n ShapeProperty.prototype.setVValue = setVValue;\r\n ShapeProperty.prototype.addEffect = addEffect;\r\n\r\n function KeyframedShapeProperty(elem,data,type){\r\n this.propType = 'shape';\r\n this.comp = elem.comp;\r\n this.elem = elem;\r\n this.container = elem;\r\n this.offsetTime = elem.data.st;\r\n this.keyframes = type === 3 ? data.pt.k : data.ks.k;\r\n this.k = true;\r\n this.kf = true;\r\n var i, len = this.keyframes[0].s[0].i.length;\r\n var jLen = this.keyframes[0].s[0].i[0].length;\r\n this.v = shape_pool.newElement();\r\n this.v.setPathData(this.keyframes[0].s[0].c, len);\r\n this.pv = shape_pool.clone(this.v);\r\n this.localShapeCollection = shapeCollection_pool.newShapeCollection();\r\n this.paths = this.localShapeCollection;\r\n this.paths.addShape(this.v);\r\n this.lastFrame = initFrame;\r\n this.reset = resetShape;\r\n this._caching = {lastFrame: initFrame, lastIndex: 0};\r\n this.effectsSequence = [interpolateShapeCurrentTime.bind(this)];\r\n }\r\n KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\r\n KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\r\n KeyframedShapeProperty.prototype.setVValue = setVValue;\r\n KeyframedShapeProperty.prototype.addEffect = addEffect;\r\n\r\n var EllShapeProperty = (function(){\r\n\r\n var cPoint = roundCorner;\r\n\r\n function EllShapeProperty(elem,data) {\r\n /*this.v = {\r\n v: createSizedArray(4),\r\n i: createSizedArray(4),\r\n o: createSizedArray(4),\r\n c: true\r\n };*/\r\n this.v = shape_pool.newElement();\r\n this.v.setPathData(true, 4);\r\n this.localShapeCollection = shapeCollection_pool.newShapeCollection();\r\n this.paths = this.localShapeCollection;\r\n this.localShapeCollection.addShape(this.v);\r\n this.d = data.d;\r\n this.elem = elem;\r\n this.comp = elem.comp;\r\n this.frameId = -1;\r\n this.initDynamicPropertyContainer(elem);\r\n this.p = PropertyFactory.getProp(elem,data.p,1,0,this);\r\n this.s = PropertyFactory.getProp(elem,data.s,1,0,this);\r\n if(this.dynamicProperties.length){\r\n this.k = true;\r\n }else{\r\n this.k = false;\r\n this.convertEllToPath();\r\n }\r\n };\r\n\r\n EllShapeProperty.prototype = {\r\n reset: resetShape,\r\n getValue: function (){\r\n if(this.elem.globalData.frameId === this.frameId){\r\n return;\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n this.iterateDynamicProperties();\r\n\r\n if(this._mdf){\r\n this.convertEllToPath();\r\n }\r\n },\r\n convertEllToPath: function() {\r\n var p0 = this.p.v[0], p1 = this.p.v[1], s0 = this.s.v[0]/2, s1 = this.s.v[1]/2;\r\n var _cw = this.d !== 3;\r\n var _v = this.v;\r\n _v.v[0][0] = p0;\r\n _v.v[0][1] = p1 - s1;\r\n _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\r\n _v.v[1][1] = p1;\r\n _v.v[2][0] = p0;\r\n _v.v[2][1] = p1 + s1;\r\n _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\r\n _v.v[3][1] = p1;\r\n _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\r\n _v.i[0][1] = p1 - s1;\r\n _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\r\n _v.i[1][1] = p1 - s1 * cPoint;\r\n _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\r\n _v.i[2][1] = p1 + s1;\r\n _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\r\n _v.i[3][1] = p1 + s1 * cPoint;\r\n _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\r\n _v.o[0][1] = p1 - s1;\r\n _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\r\n _v.o[1][1] = p1 + s1 * cPoint;\r\n _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\r\n _v.o[2][1] = p1 + s1;\r\n _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\r\n _v.o[3][1] = p1 - s1 * cPoint;\r\n }\r\n }\r\n\r\n extendPrototype([DynamicPropertyContainer], EllShapeProperty);\r\n\r\n return EllShapeProperty;\r\n }());\r\n\r\n var StarShapeProperty = (function() {\r\n\r\n function StarShapeProperty(elem,data) {\r\n this.v = shape_pool.newElement();\r\n this.v.setPathData(true, 0);\r\n this.elem = elem;\r\n this.comp = elem.comp;\r\n this.data = data;\r\n this.frameId = -1;\r\n this.d = data.d;\r\n this.initDynamicPropertyContainer(elem);\r\n if(data.sy === 1){\r\n this.ir = PropertyFactory.getProp(elem,data.ir,0,0,this);\r\n this.is = PropertyFactory.getProp(elem,data.is,0,0.01,this);\r\n this.convertToPath = this.convertStarToPath;\r\n } else {\r\n this.convertToPath = this.convertPolygonToPath;\r\n }\r\n this.pt = PropertyFactory.getProp(elem,data.pt,0,0,this);\r\n this.p = PropertyFactory.getProp(elem,data.p,1,0,this);\r\n this.r = PropertyFactory.getProp(elem,data.r,0,degToRads,this);\r\n this.or = PropertyFactory.getProp(elem,data.or,0,0,this);\r\n this.os = PropertyFactory.getProp(elem,data.os,0,0.01,this);\r\n this.localShapeCollection = shapeCollection_pool.newShapeCollection();\r\n this.localShapeCollection.addShape(this.v);\r\n this.paths = this.localShapeCollection;\r\n if(this.dynamicProperties.length){\r\n this.k = true;\r\n }else{\r\n this.k = false;\r\n this.convertToPath();\r\n }\r\n };\r\n\r\n StarShapeProperty.prototype = {\r\n reset: resetShape,\r\n getValue: function() {\r\n if(this.elem.globalData.frameId === this.frameId){\r\n return;\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n this.iterateDynamicProperties();\r\n if(this._mdf){\r\n this.convertToPath();\r\n }\r\n },\r\n convertStarToPath: function() {\r\n var numPts = Math.floor(this.pt.v)*2;\r\n var angle = Math.PI*2/numPts;\r\n /*this.v.v.length = numPts;\r\n this.v.i.length = numPts;\r\n this.v.o.length = numPts;*/\r\n var longFlag = true;\r\n var longRad = this.or.v;\r\n var shortRad = this.ir.v;\r\n var longRound = this.os.v;\r\n var shortRound = this.is.v;\r\n var longPerimSegment = 2*Math.PI*longRad/(numPts*2);\r\n var shortPerimSegment = 2*Math.PI*shortRad/(numPts*2);\r\n var i, rad,roundness,perimSegment, currentAng = -Math.PI/ 2;\r\n currentAng += this.r.v;\r\n var dir = this.data.d === 3 ? -1 : 1;\r\n this.v._length = 0;\r\n for(i=0;i= 1) {\r\n segments.push({\r\n s: s - 1,\r\n e: e - 1\r\n });\r\n } else {\r\n segments.push({\r\n s: s,\r\n e: 1\r\n });\r\n segments.push({\r\n s: 0,\r\n e: e - 1\r\n });\r\n }\r\n var shapeSegments = [];\r\n var i, len = segments.length, segmentOb;\r\n for (i = 0; i < len; i += 1) {\r\n segmentOb = segments[i];\r\n if (segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength) {\r\n \r\n } else {\r\n var shapeS, shapeE;\r\n if (segmentOb.s * totalModifierLength <= addedLength) {\r\n shapeS = 0;\r\n } else {\r\n shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\r\n }\r\n if(segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\r\n shapeE = 1;\r\n } else {\r\n shapeE = ((segmentOb.e * totalModifierLength - addedLength) / shapeLength);\r\n }\r\n shapeSegments.push([shapeS, shapeE]);\r\n }\r\n }\r\n if (!shapeSegments.length) {\r\n shapeSegments.push([0, 0]);\r\n }\r\n return shapeSegments;\r\n};\r\n\r\nTrimModifier.prototype.releasePathsData = function(pathsData) {\r\n var i, len = pathsData.length;\r\n for (i = 0; i < len; i += 1) {\r\n segments_length_pool.release(pathsData[i]);\r\n }\r\n pathsData.length = 0;\r\n return pathsData;\r\n};\r\n\r\nTrimModifier.prototype.processShapes = function(_isFirstFrame) {\r\n var s, e;\r\n if (this._mdf || _isFirstFrame) {\r\n var o = (this.o.v % 360) / 360;\r\n if (o < 0) {\r\n o += 1;\r\n }\r\n s = (this.s.v > 1 ? 1 : this.s.v < 0 ? 0 : this.s.v) + o;\r\n e = (this.e.v > 1 ? 1 : this.e.v < 0 ? 0 : this.e.v) + o;\r\n if (s === e) {\r\n\r\n }\r\n if (s > e) {\r\n var _s = s;\r\n s = e;\r\n e = _s;\r\n }\r\n s = Math.round(s * 10000) * 0.0001;\r\n e = Math.round(e * 10000) * 0.0001;\r\n this.sValue = s;\r\n this.eValue = e;\r\n } else {\r\n s = this.sValue;\r\n e = this.eValue;\r\n }\r\n var shapePaths;\r\n var i, len = this.shapes.length, j, jLen;\r\n var pathsData, pathData, totalShapeLength, totalModifierLength = 0;\r\n\r\n if (e === s) {\r\n for (i = 0; i < len; i += 1) {\r\n this.shapes[i].localShapeCollection.releaseShapes();\r\n this.shapes[i].shape._mdf = true;\r\n this.shapes[i].shape.paths = this.shapes[i].localShapeCollection;\r\n if (this._mdf) {\r\n this.shapes[i].pathsData.length = 0;\r\n }\r\n }\r\n } else if (!((e === 1 && s === 0) || (e===0 && s === 1))){\r\n var segments = [], shapeData, localShapeCollection;\r\n for (i = 0; i < len; i += 1) {\r\n shapeData = this.shapes[i];\r\n // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\r\n if (!shapeData.shape._mdf && !this._mdf && !_isFirstFrame && this.m !== 2) {\r\n shapeData.shape.paths = shapeData.localShapeCollection;\r\n } else {\r\n shapePaths = shapeData.shape.paths;\r\n jLen = shapePaths._length;\r\n totalShapeLength = 0;\r\n if (!shapeData.shape._mdf && shapeData.pathsData.length) {\r\n totalShapeLength = shapeData.totalShapeLength;\r\n } else {\r\n pathsData = this.releasePathsData(shapeData.pathsData);\r\n for (j = 0; j < jLen; j += 1) {\r\n pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\r\n pathsData.push(pathData);\r\n totalShapeLength += pathData.totalLength;\r\n }\r\n shapeData.totalShapeLength = totalShapeLength;\r\n shapeData.pathsData = pathsData;\r\n }\r\n\r\n totalModifierLength += totalShapeLength;\r\n shapeData.shape._mdf = true;\r\n }\r\n }\r\n var shapeS = s, shapeE = e, addedLength = 0, edges;\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n shapeData = this.shapes[i];\r\n if (shapeData.shape._mdf) {\r\n localShapeCollection = shapeData.localShapeCollection;\r\n localShapeCollection.releaseShapes();\r\n //if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\r\n if (this.m === 2 && len > 1) {\r\n edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\r\n addedLength += shapeData.totalShapeLength;\r\n } else {\r\n edges = [[shapeS, shapeE]];\r\n }\r\n jLen = edges.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n shapeS = edges[j][0];\r\n shapeE = edges[j][1];\r\n segments.length = 0;\r\n if (shapeE <= 1) {\r\n segments.push({\r\n s:shapeData.totalShapeLength * shapeS,\r\n e:shapeData.totalShapeLength * shapeE\r\n });\r\n } else if (shapeS >= 1) {\r\n segments.push({\r\n s:shapeData.totalShapeLength * (shapeS - 1),\r\n e:shapeData.totalShapeLength * (shapeE - 1)\r\n });\r\n } else {\r\n segments.push({\r\n s:shapeData.totalShapeLength * shapeS,\r\n e:shapeData.totalShapeLength\r\n });\r\n segments.push({\r\n s:0,\r\n e:shapeData.totalShapeLength * (shapeE - 1)\r\n });\r\n }\r\n var newShapesData = this.addShapes(shapeData,segments[0]);\r\n if (segments[0].s !== segments[0].e) {\r\n if (segments.length > 1) {\r\n var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\r\n if (lastShapeInCollection.c) {\r\n var lastShape = newShapesData.pop();\r\n this.addPaths(newShapesData, localShapeCollection);\r\n newShapesData = this.addShapes(shapeData, segments[1], lastShape);\r\n } else {\r\n this.addPaths(newShapesData, localShapeCollection);\r\n newShapesData = this.addShapes(shapeData, segments[1]);\r\n }\r\n } \r\n this.addPaths(newShapesData, localShapeCollection);\r\n }\r\n \r\n }\r\n shapeData.shape.paths = localShapeCollection;\r\n }\r\n }\r\n } else if (this._mdf) {\r\n for (i = 0; i < len; i += 1) {\r\n //Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\r\n //Don't remove this even if it's losing cached info.\r\n this.shapes[i].pathsData.length = 0;\r\n this.shapes[i].shape._mdf = true;\r\n }\r\n }\r\n};\r\n\r\nTrimModifier.prototype.addPaths = function(newPaths, localShapeCollection) {\r\n var i, len = newPaths.length;\r\n for (i = 0; i < len; i += 1) {\r\n localShapeCollection.addShape(newPaths[i]);\r\n }\r\n};\r\n\r\nTrimModifier.prototype.addSegment = function(pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\r\n shapePath.setXYAt(pt2[0], pt2[1], 'o', pos);\r\n shapePath.setXYAt(pt3[0], pt3[1], 'i', pos + 1);\r\n if(newShape){\r\n shapePath.setXYAt(pt1[0], pt1[1], 'v', pos);\r\n }\r\n shapePath.setXYAt(pt4[0], pt4[1], 'v', pos + 1);\r\n};\r\n\r\nTrimModifier.prototype.addSegmentFromArray = function(points, shapePath, pos, newShape) {\r\n shapePath.setXYAt(points[1], points[5], 'o', pos);\r\n shapePath.setXYAt(points[2], points[6], 'i', pos + 1);\r\n if(newShape){\r\n shapePath.setXYAt(points[0], points[4], 'v', pos);\r\n }\r\n shapePath.setXYAt(points[3], points[7], 'v', pos + 1);\r\n};\r\n\r\nTrimModifier.prototype.addShapes = function(shapeData, shapeSegment, shapePath) {\r\n var pathsData = shapeData.pathsData;\r\n var shapePaths = shapeData.shape.paths.shapes;\r\n var i, len = shapeData.shape.paths._length, j, jLen;\r\n var addedLength = 0;\r\n var currentLengthData,segmentCount;\r\n var lengths;\r\n var segment;\r\n var shapes = [];\r\n var initPos;\r\n var newShape = true;\r\n if (!shapePath) {\r\n shapePath = shape_pool.newElement();\r\n segmentCount = 0;\r\n initPos = 0;\r\n } else {\r\n segmentCount = shapePath._length;\r\n initPos = shapePath._length;\r\n }\r\n shapes.push(shapePath);\r\n for (i = 0; i < len; i += 1) {\r\n lengths = pathsData[i].lengths;\r\n shapePath.c = shapePaths[i].c;\r\n jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\r\n for (j = 1; j < jLen; j +=1) {\r\n currentLengthData = lengths[j-1];\r\n if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\r\n addedLength += currentLengthData.addedLength;\r\n shapePath.c = false;\r\n } else if(addedLength > shapeSegment.e) {\r\n shapePath.c = false;\r\n break;\r\n } else {\r\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\r\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\r\n newShape = false;\r\n } else {\r\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength)/currentLengthData.addedLength,(shapeSegment.e - addedLength)/currentLengthData.addedLength, lengths[j-1]);\r\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape);\r\n // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\r\n newShape = false;\r\n shapePath.c = false;\r\n }\r\n addedLength += currentLengthData.addedLength;\r\n segmentCount += 1;\r\n }\r\n }\r\n if (shapePaths[i].c && lengths.length) {\r\n currentLengthData = lengths[j - 1];\r\n if (addedLength <= shapeSegment.e) {\r\n var segmentLength = lengths[j - 1].addedLength;\r\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\r\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\r\n newShape = false;\r\n } else {\r\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);\r\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape);\r\n // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\r\n newShape = false;\r\n shapePath.c = false;\r\n }\r\n } else {\r\n shapePath.c = false;\r\n }\r\n addedLength += currentLengthData.addedLength;\r\n segmentCount += 1;\r\n }\r\n if (shapePath._length) {\r\n shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], 'i', initPos);\r\n shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1],'o', shapePath._length - 1);\r\n }\r\n if (addedLength > shapeSegment.e) {\r\n break;\r\n }\r\n if (i < len - 1) {\r\n shapePath = shape_pool.newElement();\r\n newShape = true;\r\n shapes.push(shapePath);\r\n segmentCount = 0;\r\n }\r\n }\r\n return shapes;\r\n};\r\n\r\n\r\nShapeModifiers.registerModifier('tm', TrimModifier);\r\nfunction RoundCornersModifier(){}\r\nextendPrototype([ShapeModifier],RoundCornersModifier);\r\nRoundCornersModifier.prototype.initModifierProperties = function(elem,data){\r\n this.getValue = this.processKeys;\r\n this.rd = PropertyFactory.getProp(elem,data.r,0,null,this);\r\n this._isAnimated = !!this.rd.effectsSequence.length;\r\n};\r\n\r\nRoundCornersModifier.prototype.processPath = function(path, round){\r\n var cloned_path = shape_pool.newElement();\r\n cloned_path.c = path.c;\r\n var i, len = path._length;\r\n var currentV,currentI,currentO,closerV, newV,newO,newI,distance,newPosPerc,index = 0;\r\n var vX,vY,oX,oY,iX,iY;\r\n for(i=0;i0){\r\n pos -= 1;\r\n //this._elements.unshift(arr.splice(pos,1)[0]);\r\n this._elements.unshift(arr[pos]);\r\n cont += 1;\r\n }\r\n if(this.dynamicProperties.length){\r\n this.k = true;\r\n }else{\r\n this.getValue(true);\r\n }\r\n};\r\n\r\nRepeaterModifier.prototype.resetElements = function(elements){\r\n var i, len = elements.length;\r\n for(i = 0; i < len; i += 1) {\r\n elements[i]._processed = false;\r\n if(elements[i].ty === 'gr'){\r\n this.resetElements(elements[i].it);\r\n }\r\n }\r\n};\r\n\r\nRepeaterModifier.prototype.cloneElements = function(elements){\r\n var i, len = elements.length;\r\n var newElements = JSON.parse(JSON.stringify(elements));\r\n this.resetElements(newElements);\r\n return newElements;\r\n};\r\n\r\nRepeaterModifier.prototype.changeGroupRender = function(elements, renderFlag) {\r\n var i, len = elements.length;\r\n for(i = 0; i < len; i += 1) {\r\n elements[i]._render = renderFlag;\r\n if(elements[i].ty === 'gr') {\r\n this.changeGroupRender(elements[i].it, renderFlag);\r\n }\r\n }\r\n};\r\n\r\nRepeaterModifier.prototype.processShapes = function(_isFirstFrame) {\r\n var items, itemsTransform, i, dir, cont;\r\n if(this._mdf || _isFirstFrame){\r\n var copies = Math.ceil(this.c.v);\r\n if(this._groups.length < copies){\r\n while(this._groups.length < copies){\r\n var group = {\r\n it:this.cloneElements(this._elements),\r\n ty:'gr'\r\n };\r\n group.it.push({\"a\":{\"a\":0,\"ix\":1,\"k\":[0,0]},\"nm\":\"Transform\",\"o\":{\"a\":0,\"ix\":7,\"k\":100},\"p\":{\"a\":0,\"ix\":2,\"k\":[0,0]},\"r\":{\"a\":1,\"ix\":6,\"k\":[{s:0,e:0,t:0},{s:0,e:0,t:1}]},\"s\":{\"a\":0,\"ix\":3,\"k\":[100,100]},\"sa\":{\"a\":0,\"ix\":5,\"k\":0},\"sk\":{\"a\":0,\"ix\":4,\"k\":0},\"ty\":\"tr\"});\r\n \r\n this.arr.splice(0,0,group);\r\n this._groups.splice(0,0,group);\r\n this._currentCopies += 1;\r\n }\r\n this.elem.reloadShapes();\r\n }\r\n cont = 0;\r\n var renderFlag;\r\n for(i = 0; i <= this._groups.length - 1; i += 1){\r\n renderFlag = cont < copies;\r\n this._groups[i]._render = renderFlag;\r\n this.changeGroupRender(this._groups[i].it, renderFlag);\r\n cont += 1;\r\n }\r\n \r\n this._currentCopies = copies;\r\n ////\r\n\r\n var offset = this.o.v;\r\n var offsetModulo = offset%1;\r\n var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\r\n var k;\r\n var tMat = this.tr.v.props;\r\n var pProps = this.pMatrix.props;\r\n var rProps = this.rMatrix.props;\r\n var sProps = this.sMatrix.props;\r\n this.pMatrix.reset();\r\n this.rMatrix.reset();\r\n this.sMatrix.reset();\r\n this.tMatrix.reset();\r\n this.matrix.reset();\r\n var iteration = 0;\r\n\r\n if(offset > 0) {\r\n while(iterationroundOffset){\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true);\r\n iteration -= 1;\r\n }\r\n if(offsetModulo){\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, - offsetModulo, true);\r\n iteration -= offsetModulo;\r\n }\r\n }\r\n i = this.data.m === 1 ? 0 : this._currentCopies - 1;\r\n dir = this.data.m === 1 ? 1 : -1;\r\n cont = this._currentCopies;\r\n var j, jLen;\r\n while(cont){\r\n items = this.elemsData[i].it;\r\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\r\n jLen = itemsTransform.length;\r\n items[items.length - 1].transform.mProps._mdf = true;\r\n items[items.length - 1].transform.op._mdf = true;\r\n items[items.length - 1].transform.op.v = this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1));\r\n if(iteration !== 0){\r\n if((i !== 0 && dir === 1) || (i !== this._currentCopies - 1 && dir === -1)){\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\r\n }\r\n this.matrix.transform(rProps[0],rProps[1],rProps[2],rProps[3],rProps[4],rProps[5],rProps[6],rProps[7],rProps[8],rProps[9],rProps[10],rProps[11],rProps[12],rProps[13],rProps[14],rProps[15]);\r\n this.matrix.transform(sProps[0],sProps[1],sProps[2],sProps[3],sProps[4],sProps[5],sProps[6],sProps[7],sProps[8],sProps[9],sProps[10],sProps[11],sProps[12],sProps[13],sProps[14],sProps[15]);\r\n this.matrix.transform(pProps[0],pProps[1],pProps[2],pProps[3],pProps[4],pProps[5],pProps[6],pProps[7],pProps[8],pProps[9],pProps[10],pProps[11],pProps[12],pProps[13],pProps[14],pProps[15]);\r\n \r\n for(j=0;j 0.01){\r\n return false;\r\n }\r\n i += 1;\r\n }\r\n return true;\r\n};\r\n\r\nGradientProperty.prototype.checkCollapsable = function() {\r\n if (this.o.length/2 !== this.c.length/4) {\r\n return false;\r\n }\r\n if (this.data.k.k[0].s) {\r\n var i = 0, len = this.data.k.k.length;\r\n while (i < len) {\r\n if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) {\r\n return false;\r\n }\r\n i += 1;\r\n }\r\n } else if(!this.comparePoints(this.data.k.k, this.data.p)) {\r\n return false;\r\n }\r\n return true;\r\n};\r\n\r\nGradientProperty.prototype.getValue = function(forceRender){\r\n this.prop.getValue();\r\n this._mdf = false;\r\n this._cmdf = false;\r\n this._omdf = false;\r\n if(this.prop._mdf || forceRender){\r\n var i, len = this.data.p*4;\r\n var mult, val;\r\n for(i=0;i= currentLength + animatorOffset || !points) {\r\n perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\r\n xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\r\n yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\r\n matrixHelper.translate(-alignment[0]*letters[i].an/200, -(alignment[1] * yOff / 100));\r\n flag = false;\r\n } else if (points) {\r\n segmentLength += currentPoint.partialLength;\r\n pointInd += 1;\r\n if (pointInd >= points.length) {\r\n pointInd = 0;\r\n segmentInd += 1;\r\n if (!segments[segmentInd]) {\r\n if (mask.v.c) {\r\n pointInd = 0;\r\n segmentInd = 0;\r\n points = segments[segmentInd].points;\r\n } else {\r\n segmentLength -= currentPoint.partialLength;\r\n points = null;\r\n }\r\n } else {\r\n points = segments[segmentInd].points;\r\n }\r\n }\r\n if (points) {\r\n prevPoint = currentPoint;\r\n currentPoint = points[pointInd];\r\n partialLength = currentPoint.partialLength;\r\n }\r\n }\r\n }\r\n offf = letters[i].an / 2 - letters[i].add;\r\n matrixHelper.translate(-offf, 0, 0);\r\n } else {\r\n offf = letters[i].an/2 - letters[i].add;\r\n matrixHelper.translate(-offf,0,0);\r\n\r\n // Grouping alignment\r\n matrixHelper.translate(-alignment[0]*letters[i].an/200, -alignment[1]*yOff/100, 0);\r\n }\r\n\r\n lineLength += letters[i].l/2;\r\n for(j=0;j 1;\r\n if(this.kf) {\r\n this.addEffect(this.getKeyframeValue.bind(this));\r\n }\r\n return this.kf;\r\n}\r\n\r\nTextProperty.prototype.addEffect = function(effectFunction) {\r\n\tthis.effectsSequence.push(effectFunction);\r\n this.elem.addDynamicProperty(this);\r\n};\r\n\r\nTextProperty.prototype.getValue = function(_finalValue) {\r\n if((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !_finalValue) {\r\n return;\r\n }\r\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\r\n var currentValue = this.currentData;\r\n var currentIndex = this.keysIndex;\r\n if(this.lock) {\r\n this.setCurrentData(this.currentData);\r\n return;\r\n }\r\n this.lock = true;\r\n this._mdf = false;\r\n var multipliedValue;\r\n var i, len = this.effectsSequence.length;\r\n var finalValue = _finalValue || this.data.d.k[this.keysIndex].s;\r\n for(i = 0; i < len; i += 1) {\r\n //Checking if index changed to prevent creating a new object every time the expression updates.\r\n if(currentIndex !== this.keysIndex) {\r\n finalValue = this.effectsSequence[i](finalValue, finalValue.t);\r\n } else {\r\n finalValue = this.effectsSequence[i](this.currentData, finalValue.t);\r\n }\r\n }\r\n if(currentValue !== finalValue) {\r\n this.setCurrentData(finalValue);\r\n }\r\n this.pv = this.v = this.currentData;\r\n this.lock = false;\r\n this.frameId = this.elem.globalData.frameId;\r\n}\r\n\r\nTextProperty.prototype.getKeyframeValue = function() {\r\n var textKeys = this.data.d.k, textDocumentData;\r\n var frameNum = this.elem.comp.renderedFrame;\r\n var i = 0, len = textKeys.length;\r\n while(i <= len - 1) {\r\n textDocumentData = textKeys[i].s;\r\n if(i === len - 1 || textKeys[i+1].t > frameNum){\r\n break;\r\n }\r\n i += 1;\r\n }\r\n if(this.keysIndex !== i) {\r\n this.keysIndex = i;\r\n }\r\n return this.data.d.k[this.keysIndex].s;\r\n};\r\n\r\nTextProperty.prototype.buildFinalText = function(text) {\r\n var combinedCharacters = FontManager.getCombinedCharacterCodes();\r\n var charactersArray = [];\r\n var i = 0, len = text.length;\r\n var charCode;\r\n while (i < len) {\r\n charCode = text.charCodeAt(i);\r\n if (combinedCharacters.indexOf(charCode) !== -1) {\r\n charactersArray[charactersArray.length - 1] += text.charAt(i);\r\n } else {\r\n if (charCode >= 0xD800 && charCode <= 0xDBFF) {\r\n charCode = text.charCodeAt(i + 1);\r\n if (charCode >= 0xDC00 && charCode <= 0xDFFF) {\r\n charactersArray.push(text.substr(i, 2));\r\n ++i;\r\n } else {\r\n charactersArray.push(text.charAt(i));\r\n }\r\n } else {\r\n charactersArray.push(text.charAt(i));\r\n }\r\n }\r\n i += 1;\r\n }\r\n return charactersArray;\r\n}\r\n\r\nTextProperty.prototype.completeTextData = function(documentData) {\r\n documentData.__complete = true;\r\n var fontManager = this.elem.globalData.fontManager;\r\n var data = this.data;\r\n var letters = [];\r\n var i, len;\r\n var newLineFlag, index = 0, val;\r\n var anchorGrouping = data.m.g;\r\n var currentSize = 0, currentPos = 0, currentLine = 0, lineWidths = [];\r\n var lineWidth = 0;\r\n var maxLineWidth = 0;\r\n var j, jLen;\r\n var fontData = fontManager.getFontByName(documentData.f);\r\n var charData, cLength = 0;\r\n var styles = fontData.fStyle ? fontData.fStyle.split(' ') : [];\r\n\r\n var fWeight = 'normal', fStyle = 'normal';\r\n len = styles.length;\r\n var styleName;\r\n for(i=0;i boxWidth && finalText[i] !== ' '){\r\n if(lastSpaceIndex === -1){\r\n len += 1;\r\n } else {\r\n i = lastSpaceIndex;\r\n }\r\n currentHeight += documentData.finalLineHeight || documentData.finalSize*1.2;\r\n finalText.splice(i, lastSpaceIndex === i ? 1 : 0,\"\\r\");\r\n //finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\r\n lastSpaceIndex = -1;\r\n lineWidth = 0;\r\n }else {\r\n lineWidth += cLength;\r\n lineWidth += trackingOffset;\r\n }\r\n }\r\n currentHeight += fontData.ascent*documentData.finalSize/100;\r\n if(this.canResize && documentData.finalSize > this.minimumFontSize && boxHeight < currentHeight) {\r\n documentData.finalSize -= 1;\r\n documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\r\n } else {\r\n documentData.finalText = finalText;\r\n len = documentData.finalText.length;\r\n flag = false;\r\n }\r\n }\r\n\r\n }\r\n lineWidth = - trackingOffset;\r\n cLength = 0;\r\n var uncollapsedSpaces = 0;\r\n var currentChar;\r\n for (i = 0;i < len ;i += 1) {\r\n newLineFlag = false;\r\n currentChar = documentData.finalText[i];\r\n charCode = currentChar.charCodeAt(0);\r\n if (charCode === 13 || charCode === 3) {\r\n uncollapsedSpaces = 0;\r\n lineWidths.push(lineWidth);\r\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\r\n lineWidth = - 2 * trackingOffset;\r\n val = '';\r\n newLineFlag = true;\r\n currentLine += 1;\r\n }else{\r\n val = currentChar;\r\n }\r\n if(fontManager.chars){\r\n charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\r\n cLength = newLineFlag ? 0 : charData.w*documentData.finalSize/100;\r\n }else{\r\n //var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\r\n //tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\r\n cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\r\n }\r\n\r\n //\r\n if(currentChar === ' '){\r\n uncollapsedSpaces += cLength + trackingOffset;\r\n } else {\r\n lineWidth += cLength + trackingOffset + uncollapsedSpaces;\r\n uncollapsedSpaces = 0;\r\n }\r\n letters.push({l:cLength,an:cLength,add:currentSize,n:newLineFlag, anIndexes:[], val: val, line: currentLine, animatorJustifyOffset: 0});\r\n if(anchorGrouping == 2){\r\n currentSize += cLength;\r\n if(val === '' || val === ' ' || i === len - 1){\r\n if(val === '' || val === ' '){\r\n currentSize -= cLength;\r\n }\r\n while(currentPos<=i){\r\n letters[currentPos].an = currentSize;\r\n letters[currentPos].ind = index;\r\n letters[currentPos].extra = cLength;\r\n currentPos += 1;\r\n }\r\n index += 1;\r\n currentSize = 0;\r\n }\r\n }else if(anchorGrouping == 3){\r\n currentSize += cLength;\r\n if(val === '' || i === len - 1){\r\n if(val === ''){\r\n currentSize -= cLength;\r\n }\r\n while(currentPos<=i){\r\n letters[currentPos].an = currentSize;\r\n letters[currentPos].ind = index;\r\n letters[currentPos].extra = cLength;\r\n currentPos += 1;\r\n }\r\n currentSize = 0;\r\n index += 1;\r\n }\r\n }else{\r\n letters[index].ind = index;\r\n letters[index].extra = 0;\r\n index += 1;\r\n }\r\n }\r\n documentData.l = letters;\r\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\r\n lineWidths.push(lineWidth);\r\n if(documentData.sz){\r\n documentData.boxWidth = documentData.sz[0];\r\n documentData.justifyOffset = 0;\r\n }else{\r\n documentData.boxWidth = maxLineWidth;\r\n switch(documentData.j){\r\n case 1:\r\n documentData.justifyOffset = - documentData.boxWidth;\r\n break;\r\n case 2:\r\n documentData.justifyOffset = - documentData.boxWidth/2;\r\n break;\r\n default:\r\n documentData.justifyOffset = 0;\r\n }\r\n }\r\n documentData.lineWidths = lineWidths;\r\n\r\n var animators = data.a, animatorData, letterData;\r\n jLen = animators.length;\r\n var based, ind, indexes = [];\r\n for(j=0;j 0) {\r\n x1 = this.ne.v / 100.0;\r\n }\r\n else {\r\n y1 = -this.ne.v / 100.0;\r\n }\r\n if(this.xe.v > 0) {\r\n x2 = 1.0 - this.xe.v / 100.0;\r\n }\r\n else {\r\n y2 = 1.0 + this.xe.v / 100.0;\r\n }\r\n var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\r\n\r\n var mult = 0;\r\n var s = this.finalS;\r\n var e = this.finalE;\r\n var type = this.data.sh;\r\n if (type === 2){\r\n if (e === s) {\r\n mult = ind >= e ? 1 : 0;\r\n } else {\r\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\r\n }\r\n mult = easer(mult);\r\n } else if(type === 3) {\r\n if (e === s) {\r\n mult = ind >= e ? 0 : 1;\r\n }else{\r\n mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s),1));\r\n }\r\n\r\n mult = easer(mult);\r\n } else if (type === 4) {\r\n if (e === s) {\r\n mult = 0;\r\n } else {\r\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\r\n if (mult < 0.5) {\r\n mult *= 2;\r\n } else {\r\n mult = 1 - 2 * (mult - 0.5);\r\n }\r\n }\r\n mult = easer(mult);\r\n } else if (type === 5) {\r\n if (e === s){\r\n mult = 0;\r\n } else {\r\n var tot = e - s;\r\n /*ind += 0.5;\r\n mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind;*/\r\n ind = min(max(0, ind + 0.5 - s), e - s);\r\n var x = -tot/2+ind;\r\n var a = tot/2;\r\n mult = Math.sqrt(1 - (x * x) / (a * a));\r\n }\r\n mult = easer(mult);\r\n } else if (type === 6) {\r\n if (e === s){\r\n mult = 0;\r\n } else {\r\n ind = min(max(0, ind + 0.5 - s), e - s);\r\n mult = (1 + (Math.cos((Math.PI + Math.PI * 2 * (ind) / (e - s))))) / 2;\r\n }\r\n mult = easer(mult);\r\n } else {\r\n if (ind >= floor(s)) {\r\n if (ind - s < 0) {\r\n mult = max(0, min(min(e, 1) - (s - ind), 1));\r\n } else {\r\n mult = max(0, min(e - ind, 1));\r\n }\r\n }\r\n mult = easer(mult);\r\n }\r\n return mult*this.a.v;\r\n },\r\n getValue: function(newCharsFlag) {\r\n this.iterateDynamicProperties();\r\n this._mdf = newCharsFlag || this._mdf;\r\n this._currentTextLength = this.elem.textProperty.currentData.l.length || 0;\r\n if(newCharsFlag && this.data.r === 2) {\r\n this.e.v = this._currentTextLength;\r\n }\r\n var divisor = this.data.r === 2 ? 1 : 100 / this.data.totalChars;\r\n var o = this.o.v/divisor;\r\n var s = this.s.v/divisor + o;\r\n var e = (this.e.v/divisor) + o;\r\n if(s>e){\r\n var _s = s;\r\n s = e;\r\n e = _s;\r\n }\r\n this.finalS = s;\r\n this.finalE = e;\r\n }\r\n }\r\n extendPrototype([DynamicPropertyContainer], TextSelectorProp);\r\n\r\n function getTextSelectorProp(elem, data,arr) {\r\n return new TextSelectorProp(elem, data, arr);\r\n }\r\n\r\n return {\r\n getTextSelectorProp: getTextSelectorProp\r\n };\r\n}());\r\n\r\n \r\nvar pool_factory = (function() {\r\n\treturn function(initialLength, _create, _release, _clone) {\r\n\r\n\t\tvar _length = 0;\r\n\t\tvar _maxLength = initialLength;\r\n\t\tvar pool = createSizedArray(_maxLength);\r\n\r\n\t\tvar ob = {\r\n\t\t\tnewElement: newElement,\r\n\t\t\trelease: release\r\n\t\t};\r\n\r\n\t\tfunction newElement(){\r\n\t\t\tvar element;\r\n\t\t\tif(_length){\r\n\t\t\t\t_length -= 1;\r\n\t\t\t\telement = pool[_length];\r\n\t\t\t} else {\r\n\t\t\t\telement = _create();\r\n\t\t\t}\r\n\t\t\treturn element;\r\n\t\t}\r\n\r\n\t\tfunction release(element) {\r\n\t\t\tif(_length === _maxLength) {\r\n\t\t\t\tpool = pooling.double(pool);\r\n\t\t\t\t_maxLength = _maxLength*2;\r\n\t\t\t}\r\n\t\t\tif (_release) {\r\n\t\t\t\t_release(element);\r\n\t\t\t}\r\n\t\t\tpool[_length] = element;\r\n\t\t\t_length += 1;\r\n\t\t}\r\n\r\n\t\tfunction clone() {\r\n\t\t\tvar clonedElement = newElement();\r\n\t\t\treturn _clone(clonedElement);\r\n\t\t}\r\n\r\n\t\treturn ob;\r\n\t};\r\n}());\r\n\r\nvar pooling = (function(){\r\n\r\n\tfunction double(arr){\r\n\t\treturn arr.concat(createSizedArray(arr.length));\r\n\t}\r\n\r\n\treturn {\r\n\t\tdouble: double\r\n\t};\r\n}());\r\nvar point_pool = (function(){\r\n\r\n\tfunction create() {\r\n\t\treturn createTypedArray('float32', 2);\r\n\t}\r\n\treturn pool_factory(8, create);\r\n}());\r\nvar shape_pool = (function(){\r\n\r\n\tfunction create() {\r\n\t\treturn new ShapePath();\r\n\t}\r\n\r\n\tfunction release(shapePath) {\r\n\t\tvar len = shapePath._length, i;\r\n\t\tfor(i = 0; i < len; i += 1) {\r\n\t\t\tpoint_pool.release(shapePath.v[i]);\r\n\t\t\tpoint_pool.release(shapePath.i[i]);\r\n\t\t\tpoint_pool.release(shapePath.o[i]);\r\n\t\t\tshapePath.v[i] = null;\r\n\t\t\tshapePath.i[i] = null;\r\n\t\t\tshapePath.o[i] = null;\r\n\t\t}\r\n\t\tshapePath._length = 0;\r\n\t\tshapePath.c = false;\r\n\t}\r\n\r\n\tfunction clone(shape) {\r\n\t\tvar cloned = factory.newElement();\r\n\t\tvar i, len = shape._length === undefined ? shape.v.length : shape._length;\r\n\t\tcloned.setLength(len);\r\n\t\tcloned.c = shape.c;\r\n\t\tvar pt;\r\n\t\t\r\n\t\tfor(i = 0; i < len; i += 1) {\r\n\t\t\tcloned.setTripleAt(shape.v[i][0],shape.v[i][1],shape.o[i][0],shape.o[i][1],shape.i[i][0],shape.i[i][1], i);\r\n\t\t}\r\n\t\treturn cloned;\r\n\t}\r\n\r\n\tvar factory = pool_factory(4, create, release);\r\n\tfactory.clone = clone;\r\n\r\n\treturn factory;\r\n}());\r\nvar shapeCollection_pool = (function(){\r\n\tvar ob = {\r\n\t\tnewShapeCollection: newShapeCollection,\r\n\t\trelease: release\r\n\t};\r\n\r\n\tvar _length = 0;\r\n\tvar _maxLength = 4;\r\n\tvar pool = createSizedArray(_maxLength);\r\n\r\n\tfunction newShapeCollection(){\r\n\t\tvar shapeCollection;\r\n\t\tif(_length){\r\n\t\t\t_length -= 1;\r\n\t\t\tshapeCollection = pool[_length];\r\n\t\t} else {\r\n\t\t\tshapeCollection = new ShapeCollection();\r\n\t\t}\r\n\t\treturn shapeCollection;\r\n\t}\r\n\r\n\tfunction release(shapeCollection) {\r\n\t\tvar i, len = shapeCollection._length;\r\n\t\tfor(i = 0; i < len; i += 1) {\r\n\t\t\tshape_pool.release(shapeCollection.shapes[i]);\r\n\t\t}\r\n\t\tshapeCollection._length = 0;\r\n\r\n\t\tif(_length === _maxLength) {\r\n\t\t\tpool = pooling.double(pool);\r\n\t\t\t_maxLength = _maxLength*2;\r\n\t\t}\r\n\t\tpool[_length] = shapeCollection;\r\n\t\t_length += 1;\r\n\t}\r\n\r\n\treturn ob;\r\n}());\r\nvar segments_length_pool = (function(){\r\n\r\n\tfunction create() {\r\n\t\treturn {\r\n\t\t\tlengths: [],\r\n\t\t\ttotalLength: 0\r\n\t\t};\r\n\t}\r\n\r\n\tfunction release(element) {\r\n\t\tvar i, len = element.lengths.length;\r\n\t\tfor(i=0;i= 0; i--) {\r\n if (!this.elements[i]) {\r\n data = this.layers[i];\r\n if(data.ip - data.st <= (num - this.layers[i].st) && data.op - data.st > (num - this.layers[i].st))\r\n {\r\n this.buildItem(i);\r\n }\r\n }\r\n this.completeLayers = this.elements[i] ? this.completeLayers:false;\r\n }\r\n this.checkPendingElements();\r\n};\r\n\r\nBaseRenderer.prototype.createItem = function(layer){\r\n switch(layer.ty){\r\n case 2:\r\n return this.createImage(layer);\r\n case 0:\r\n return this.createComp(layer);\r\n case 1:\r\n return this.createSolid(layer);\r\n case 3:\r\n return this.createNull(layer);\r\n case 4:\r\n return this.createShape(layer);\r\n case 5:\r\n return this.createText(layer);\r\n case 6:\r\n return this.createAudio(layer);\r\n case 13:\r\n return this.createCamera(layer);\r\n }\r\n return this.createNull(layer);\r\n};\r\n\r\nBaseRenderer.prototype.createCamera = function(){\r\n throw new Error('You\\'re using a 3d camera. Try the html renderer.');\r\n};\r\n\r\nBaseRenderer.prototype.createAudio = function(data){\r\n return new AudioElement(data, this.globalData, this);\r\n};\r\n\r\nBaseRenderer.prototype.buildAllItems = function(){\r\n var i, len = this.layers.length;\r\n for(i=0;i= 0; i--) {\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].prepareFrame(num - this.layers[i].st);\r\n }\r\n }\r\n if(this.globalData._mdf) {\r\n for (i = 0; i < len; i += 1) {\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].renderFrame();\r\n }\r\n }\r\n }\r\n};\r\n\r\nSVGRenderer.prototype.appendElementInPos = function(element, pos){\r\n var newElement = element.getBaseElement();\r\n if(!newElement){\r\n return;\r\n }\r\n var i = 0;\r\n var nextElement;\r\n while(ielementRel && fillType === 'meet' || animationRelelementRel && fillType === 'slice'))){\r\n this.transformCanvas.tx = (elementWidth-this.transformCanvas.w*(elementHeight/this.transformCanvas.h))/2*this.renderConfig.dpr;\r\n } else if(xPos === 'xMax' && ((animationRelelementRel && fillType === 'slice'))){\r\n this.transformCanvas.tx = (elementWidth-this.transformCanvas.w*(elementHeight/this.transformCanvas.h))*this.renderConfig.dpr;\r\n } else {\r\n this.transformCanvas.tx = 0;\r\n }\r\n if(yPos === 'YMid' && ((animationRel>elementRel && fillType==='meet') || (animationRelelementRel && fillType==='meet') || (animationRel= 0; i-=1) {\r\n if(this.elements[i]) {\r\n this.elements[i].destroy();\r\n }\r\n }\r\n this.elements.length = 0;\r\n this.globalData.canvasContext = null;\r\n this.animationItem.container = null;\r\n this.destroyed = true;\r\n};\r\n\r\nCanvasRenderer.prototype.renderFrame = function(num, forceRender){\r\n if((this.renderedFrame === num && this.renderConfig.clearCanvas === true && !forceRender) || this.destroyed || num === -1){\r\n return;\r\n }\r\n this.renderedFrame = num;\r\n this.globalData.frameNum = num - this.animationItem._isFirstFrame;\r\n this.globalData.frameId += 1;\r\n this.globalData._mdf = !this.renderConfig.clearCanvas || forceRender;\r\n this.globalData.projectInterface.currentFrame = num;\r\n\r\n // console.log('--------');\r\n // console.log('NEW: ',num);\r\n var i, len = this.layers.length;\r\n if(!this.completeLayers){\r\n this.checkLayers(num);\r\n }\r\n\r\n for (i = 0; i < len; i++) {\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].prepareFrame(num - this.layers[i].st);\r\n }\r\n }\r\n if(this.globalData._mdf) {\r\n if(this.renderConfig.clearCanvas === true){\r\n this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h);\r\n }else{\r\n this.save();\r\n }\r\n for (i = len - 1; i >= 0; i-=1) {\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].renderFrame();\r\n }\r\n }\r\n if(this.renderConfig.clearCanvas !== true){\r\n this.restore();\r\n }\r\n }\r\n};\r\n\r\nCanvasRenderer.prototype.buildItem = function(pos){\r\n var elements = this.elements;\r\n if(elements[pos] || this.layers[pos].ty == 99){\r\n return;\r\n }\r\n var element = this.createItem(this.layers[pos], this,this.globalData);\r\n elements[pos] = element;\r\n element.initExpressions();\r\n /*if(this.layers[pos].ty === 0){\r\n element.resize(this.globalData.transformCanvas);\r\n }*/\r\n};\r\n\r\nCanvasRenderer.prototype.checkPendingElements = function(){\r\n while(this.pendingElements.length){\r\n var element = this.pendingElements.pop();\r\n element.checkParenting();\r\n }\r\n};\r\n\r\nCanvasRenderer.prototype.hide = function(){\r\n this.animationItem.container.style.display = 'none';\r\n};\r\n\r\nCanvasRenderer.prototype.show = function(){\r\n this.animationItem.container.style.display = 'block';\r\n};\r\n\r\nfunction HybridRenderer(animationItem, config){\r\n this.animationItem = animationItem;\r\n this.layers = null;\r\n this.renderedFrame = -1;\r\n this.renderConfig = {\r\n className: (config && config.className) || '',\r\n imagePreserveAspectRatio: (config && config.imagePreserveAspectRatio) || 'xMidYMid slice',\r\n hideOnTransparent: (config && config.hideOnTransparent === false) ? false : true,\r\n filterSize: {\r\n width: config && config.filterSize && config.filterSize.width || '400%',\r\n height: config && config.filterSize && config.filterSize.height || '400%',\r\n x: config && config.filterSize && config.filterSize.x || '-100%',\r\n y: config && config.filterSize && config.filterSize.y || '-100%',\r\n }\r\n };\r\n this.globalData = {\r\n _mdf: false,\r\n frameNum: -1,\r\n renderConfig: this.renderConfig\r\n };\r\n this.pendingElements = [];\r\n this.elements = [];\r\n this.threeDElements = [];\r\n this.destroyed = false;\r\n this.camera = null;\r\n this.supports3d = true;\r\n this.rendererType = 'html';\r\n\r\n}\r\n\r\nextendPrototype([BaseRenderer],HybridRenderer);\r\n\r\nHybridRenderer.prototype.buildItem = SVGRenderer.prototype.buildItem;\r\n\r\nHybridRenderer.prototype.checkPendingElements = function(){\r\n while(this.pendingElements.length){\r\n var element = this.pendingElements.pop();\r\n element.checkParenting();\r\n }\r\n};\r\n\r\nHybridRenderer.prototype.appendElementInPos = function(element, pos){\r\n var newDOMElement = element.getBaseElement();\r\n if(!newDOMElement){\r\n return;\r\n }\r\n var layer = this.layers[pos];\r\n if(!layer.ddd || !this.supports3d){\r\n if(this.threeDElements) {\r\n this.addTo3dContainer(newDOMElement,pos);\r\n } else {\r\n var i = 0;\r\n var nextDOMElement, nextLayer, tmpDOMElement;\r\n while(i= pos) {\r\n return this.threeDElements[i].perspectiveElem;\r\n }\r\n i += 1;\r\n }\r\n};\r\n\r\nHybridRenderer.prototype.createThreeDContainer = function(pos, type){\r\n var perspectiveElem = createTag('div');\r\n styleDiv(perspectiveElem);\r\n var container = createTag('div');\r\n styleDiv(container);\r\n if(type === '3d') {\r\n perspectiveElem.style.width = this.globalData.compSize.w+'px';\r\n perspectiveElem.style.height = this.globalData.compSize.h+'px';\r\n perspectiveElem.style.transformOrigin = perspectiveElem.style.mozTransformOrigin = perspectiveElem.style.webkitTransformOrigin = \"50% 50%\";\r\n container.style.transform = container.style.webkitTransform = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\r\n }\r\n \r\n perspectiveElem.appendChild(container);\r\n //this.resizerElem.appendChild(perspectiveElem);\r\n var threeDContainerData = {\r\n container:container,\r\n perspectiveElem:perspectiveElem,\r\n startPos: pos,\r\n endPos: pos,\r\n type: type\r\n };\r\n this.threeDElements.push(threeDContainerData);\r\n return threeDContainerData;\r\n};\r\n\r\nHybridRenderer.prototype.build3dContainers = function(){\r\n var i, len = this.layers.length;\r\n var lastThreeDContainerData;\r\n var currentContainer = '';\r\n for(i=0;i= 0; i --) {\r\n this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem);\r\n }\r\n};\r\n\r\nHybridRenderer.prototype.addTo3dContainer = function(elem,pos){\r\n var i = 0, len = this.threeDElements.length;\r\n while(ielementRel){\r\n sx = elementWidth/(this.globalData.compSize.w);\r\n sy = elementWidth/(this.globalData.compSize.w);\r\n tx = 0;\r\n ty = ((elementHeight-this.globalData.compSize.h*(elementWidth/this.globalData.compSize.w))/2);\r\n }else{\r\n sx = elementHeight/(this.globalData.compSize.h);\r\n sy = elementHeight/(this.globalData.compSize.h);\r\n tx = (elementWidth-this.globalData.compSize.w*(elementHeight/this.globalData.compSize.h))/2;\r\n ty = 0;\r\n }\r\n this.resizerElem.style.transform = this.resizerElem.style.webkitTransform = 'matrix3d(' + sx + ',0,0,0,0,'+sy+',0,0,0,0,1,0,'+tx+','+ty+',0,1)';\r\n};\r\n\r\nHybridRenderer.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\r\n\r\nHybridRenderer.prototype.hide = function(){\r\n this.resizerElem.style.display = 'none';\r\n};\r\n\r\nHybridRenderer.prototype.show = function(){\r\n this.resizerElem.style.display = 'block';\r\n};\r\n\r\nHybridRenderer.prototype.initItems = function(){\r\n this.buildAllItems();\r\n if(this.camera){\r\n this.camera.setup();\r\n } else {\r\n var cWidth = this.globalData.compSize.w;\r\n var cHeight = this.globalData.compSize.h;\r\n var i, len = this.threeDElements.length;\r\n for(i=0;i 0){\r\n this.maskElement.setAttribute('id', layerId);\r\n this.element.maskedElement.setAttribute(maskRef, \"url(\" + locationHref + \"#\" + layerId + \")\");\r\n defs.appendChild(this.maskElement);\r\n }\r\n if (this.viewData.length) {\r\n this.element.addRenderableComponent(this);\r\n }\r\n\r\n}\r\n\r\nMaskElement.prototype.getMaskProperty = function(pos){\r\n return this.viewData[pos].prop;\r\n};\r\n\r\nMaskElement.prototype.renderFrame = function (isFirstFrame) {\r\n var finalMat = this.element.finalTransform.mat;\r\n var i, len = this.masksProperties.length;\r\n for (i = 0; i < len; i++) {\r\n if(this.viewData[i].prop._mdf || isFirstFrame){\r\n this.drawPath(this.masksProperties[i],this.viewData[i].prop.v,this.viewData[i]);\r\n }\r\n if(this.viewData[i].op._mdf || isFirstFrame){\r\n this.viewData[i].elem.setAttribute('fill-opacity',this.viewData[i].op.v);\r\n }\r\n if(this.masksProperties[i].mode !== 'n'){\r\n if(this.viewData[i].invRect && (this.element.finalTransform.mProp._mdf || isFirstFrame)){\r\n this.viewData[i].invRect.setAttribute('transform', finalMat.getInverseMatrix().to2dCSS())\r\n }\r\n if(this.storedData[i].x && (this.storedData[i].x._mdf || isFirstFrame)){\r\n var feMorph = this.storedData[i].expan;\r\n if(this.storedData[i].x.v < 0){\r\n if(this.storedData[i].lastOperator !== 'erode'){\r\n this.storedData[i].lastOperator = 'erode';\r\n this.storedData[i].elem.setAttribute('filter','url(' + locationHref + '#'+this.storedData[i].filterId+')');\r\n }\r\n feMorph.setAttribute('radius',-this.storedData[i].x.v);\r\n }else{\r\n if(this.storedData[i].lastOperator !== 'dilate'){\r\n this.storedData[i].lastOperator = 'dilate';\r\n this.storedData[i].elem.setAttribute('filter',null);\r\n }\r\n this.storedData[i].elem.setAttribute('stroke-width', this.storedData[i].x.v*2);\r\n\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nMaskElement.prototype.getMaskelement = function () {\r\n return this.maskElement;\r\n};\r\n\r\nMaskElement.prototype.createLayerSolidPath = function(){\r\n var path = 'M0,0 ';\r\n path += ' h' + this.globalData.compSize.w ;\r\n path += ' v' + this.globalData.compSize.h ;\r\n path += ' h-' + this.globalData.compSize.w ;\r\n path += ' v-' + this.globalData.compSize.h + ' ';\r\n return path;\r\n};\r\n\r\nMaskElement.prototype.drawPath = function(pathData,pathNodes,viewData){\r\n var pathString = \" M\"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\r\n var i, len;\r\n len = pathNodes._length;\r\n for(i=1;i 1){\r\n pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[0][0]+','+pathNodes.i[0][1] + \" \"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\r\n }\r\n //pathNodes.__renderedString = pathString;\r\n\r\n if(viewData.lastPath !== pathString){\r\n var pathShapeValue = '';\r\n if(viewData.elem){\r\n if(pathNodes.c){\r\n pathShapeValue = pathData.inv ? this.solidPath + pathString : pathString;\r\n }\r\n viewData.elem.setAttribute('d',pathShapeValue);\r\n }\r\n viewData.lastPath = pathString;\r\n }\r\n};\r\n\r\nMaskElement.prototype.destroy = function(){\r\n this.element = null;\r\n this.globalData = null;\r\n this.maskElement = null;\r\n this.data = null;\r\n this.masksProperties = null;\r\n};\r\n\r\n/**\r\n * @file \r\n * Handles AE's layer parenting property.\r\n *\r\n */\r\n\r\nfunction HierarchyElement(){}\r\n\r\nHierarchyElement.prototype = {\r\n\t/**\r\n * @function \r\n * Initializes hierarchy properties\r\n *\r\n */\r\n\tinitHierarchy: function() {\r\n\t\t//element's parent list\r\n\t this.hierarchy = [];\r\n\t //if element is parent of another layer _isParent will be true\r\n\t this._isParent = false;\r\n\t this.checkParenting();\r\n\t},\r\n\t/**\r\n * @function \r\n * Sets layer's hierarchy.\r\n * @param {array} hierarch\r\n * layer's parent list\r\n *\r\n */ \r\n\tsetHierarchy: function(hierarchy){\r\n\t this.hierarchy = hierarchy;\r\n\t},\r\n\t/**\r\n * @function \r\n * Sets layer as parent.\r\n *\r\n */ \r\n\tsetAsParent: function() {\r\n\t this._isParent = true;\r\n\t},\r\n\t/**\r\n * @function \r\n * Searches layer's parenting chain\r\n *\r\n */ \r\n\tcheckParenting: function(){\r\n\t if (this.data.parent !== undefined){\r\n\t this.comp.buildElementParenting(this, this.data.parent, []);\r\n\t }\r\n\t}\r\n};\r\n/**\r\n * @file \r\n * Handles element's layer frame update.\r\n * Checks layer in point and out point\r\n *\r\n */\r\n\r\nfunction FrameElement(){}\r\n\r\nFrameElement.prototype = {\r\n /**\r\n * @function \r\n * Initializes frame related properties.\r\n *\r\n */\r\n initFrame: function(){\r\n //set to true when inpoint is rendered\r\n this._isFirstFrame = false;\r\n //list of animated properties\r\n this.dynamicProperties = [];\r\n // If layer has been modified in current tick this will be true\r\n this._mdf = false;\r\n },\r\n /**\r\n * @function \r\n * Calculates all dynamic values\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n * @param {boolean} isVisible\r\n * if layers is currently in range\r\n * \r\n */\r\n prepareProperties: function(num, isVisible) {\r\n var i, len = this.dynamicProperties.length;\r\n for (i = 0;i < len; i += 1) {\r\n if (isVisible || (this._isParent && this.dynamicProperties[i].propType === 'transform')) {\r\n this.dynamicProperties[i].getValue();\r\n if (this.dynamicProperties[i]._mdf) {\r\n this.globalData._mdf = true;\r\n this._mdf = true;\r\n }\r\n }\r\n }\r\n },\r\n addDynamicProperty: function(prop) {\r\n if(this.dynamicProperties.indexOf(prop) === -1) {\r\n this.dynamicProperties.push(prop);\r\n }\r\n }\r\n};\r\nfunction TransformElement(){}\r\n\r\nTransformElement.prototype = {\r\n initTransform: function() {\r\n this.finalTransform = {\r\n mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {o:0},\r\n _matMdf: false,\r\n _opMdf: false,\r\n mat: new Matrix()\r\n };\r\n if (this.data.ao) {\r\n this.finalTransform.mProp.autoOriented = true;\r\n }\r\n\r\n //TODO: check TYPE 11: Guided elements\r\n if (this.data.ty !== 11) {\r\n //this.createElements();\r\n }\r\n },\r\n renderTransform: function() {\r\n\r\n this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame;\r\n this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame;\r\n\r\n if (this.hierarchy) {\r\n var mat;\r\n var finalMat = this.finalTransform.mat;\r\n var i = 0, len = this.hierarchy.length;\r\n //Checking if any of the transformation matrices in the hierarchy chain has changed.\r\n if (!this.finalTransform._matMdf) {\r\n while (i < len) {\r\n if (this.hierarchy[i].finalTransform.mProp._mdf) {\r\n this.finalTransform._matMdf = true;\r\n break;\r\n }\r\n i += 1;\r\n }\r\n }\r\n \r\n if (this.finalTransform._matMdf) {\r\n mat = this.finalTransform.mProp.v.props;\r\n finalMat.cloneFromProps(mat);\r\n for (i = 0; i < len; i += 1) {\r\n mat = this.hierarchy[i].finalTransform.mProp.v.props;\r\n finalMat.transform(mat[0], mat[1], mat[2], mat[3], mat[4], mat[5], mat[6], mat[7], mat[8], mat[9], mat[10], mat[11], mat[12], mat[13], mat[14], mat[15]);\r\n }\r\n }\r\n }\r\n },\r\n globalToLocal: function(pt) {\r\n var transforms = [];\r\n transforms.push(this.finalTransform);\r\n var flag = true;\r\n var comp = this.comp;\r\n while (flag) {\r\n if (comp.finalTransform) {\r\n if (comp.data.hasMask) {\r\n transforms.splice(0, 0, comp.finalTransform);\r\n }\r\n comp = comp.comp;\r\n } else {\r\n flag = false;\r\n }\r\n }\r\n var i, len = transforms.length,ptNew;\r\n for (i = 0; i < len; i += 1) {\r\n ptNew = transforms[i].mat.applyToPointArray(0, 0, 0);\r\n //ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\r\n pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\r\n }\r\n return pt;\r\n },\r\n mHelper: new Matrix()\r\n};\r\nfunction RenderableElement(){\r\n\r\n}\r\n\r\nRenderableElement.prototype = {\r\n initRenderable: function() {\r\n //layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\r\n this.isInRange = false;\r\n //layer's display state\r\n this.hidden = false;\r\n // If layer's transparency equals 0, it can be hidden\r\n this.isTransparent = false;\r\n //list of animated components\r\n this.renderableComponents = [];\r\n },\r\n addRenderableComponent: function(component) {\r\n if(this.renderableComponents.indexOf(component) === -1) {\r\n this.renderableComponents.push(component);\r\n }\r\n },\r\n removeRenderableComponent: function(component) {\r\n if(this.renderableComponents.indexOf(component) !== -1) {\r\n this.renderableComponents.splice(this.renderableComponents.indexOf(component), 1);\r\n }\r\n },\r\n prepareRenderableFrame: function(num) {\r\n this.checkLayerLimits(num);\r\n },\r\n checkTransparency: function(){\r\n if(this.finalTransform.mProp.o.v <= 0) {\r\n if(!this.isTransparent && this.globalData.renderConfig.hideOnTransparent){\r\n this.isTransparent = true;\r\n this.hide();\r\n }\r\n } else if(this.isTransparent) {\r\n this.isTransparent = false;\r\n this.show();\r\n }\r\n },\r\n /**\r\n * @function \r\n * Initializes frame related properties.\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n * \r\n */\r\n checkLayerLimits: function(num) {\r\n if(this.data.ip - this.data.st <= num && this.data.op - this.data.st > num)\r\n {\r\n if(this.isInRange !== true){\r\n this.globalData._mdf = true;\r\n this._mdf = true;\r\n this.isInRange = true;\r\n this.show();\r\n }\r\n } else {\r\n if(this.isInRange !== false){\r\n this.globalData._mdf = true;\r\n this.isInRange = false;\r\n this.hide();\r\n }\r\n }\r\n },\r\n renderRenderable: function() {\r\n var i, len = this.renderableComponents.length;\r\n for(i = 0; i < len; i += 1) {\r\n this.renderableComponents[i].renderFrame(this._isFirstFrame);\r\n }\r\n /*this.maskManager.renderFrame(this.finalTransform.mat);\r\n this.renderableEffectsManager.renderFrame(this._isFirstFrame);*/\r\n },\r\n sourceRectAtTime: function(){\r\n return {\r\n top:0,\r\n left:0,\r\n width:100,\r\n height:100\r\n };\r\n },\r\n getLayerSize: function(){\r\n if(this.data.ty === 5){\r\n return {w:this.data.textData.width,h:this.data.textData.height};\r\n }else{\r\n return {w:this.data.width,h:this.data.height};\r\n }\r\n }\r\n};\r\nfunction RenderableDOMElement() {}\r\n\r\n(function(){\r\n var _prototype = {\r\n initElement: function(data,globalData,comp) {\r\n this.initFrame();\r\n this.initBaseData(data, globalData, comp);\r\n this.initTransform(data, globalData, comp);\r\n this.initHierarchy();\r\n this.initRenderable();\r\n this.initRendererElement();\r\n this.createContainerElements();\r\n this.createRenderableComponents();\r\n this.createContent();\r\n this.hide();\r\n },\r\n hide: function(){\r\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\r\n var elem = this.baseElement || this.layerElement;\r\n elem.style.display = 'none';\r\n this.hidden = true;\r\n }\r\n },\r\n show: function(){\r\n if (this.isInRange && !this.isTransparent){\r\n if (!this.data.hd) {\r\n var elem = this.baseElement || this.layerElement;\r\n elem.style.display = 'block';\r\n }\r\n this.hidden = false;\r\n this._isFirstFrame = true;\r\n }\r\n },\r\n renderFrame: function() {\r\n //If it is exported as hidden (data.hd === true) no need to render\r\n //If it is not visible no need to render\r\n if (this.data.hd || this.hidden) {\r\n return;\r\n }\r\n this.renderTransform();\r\n this.renderRenderable();\r\n this.renderElement();\r\n this.renderInnerContent();\r\n if (this._isFirstFrame) {\r\n this._isFirstFrame = false;\r\n }\r\n },\r\n renderInnerContent: function() {},\r\n prepareFrame: function(num) {\r\n this._mdf = false;\r\n this.prepareRenderableFrame(num);\r\n this.prepareProperties(num, this.isInRange);\r\n this.checkTransparency();\r\n },\r\n destroy: function(){\r\n this.innerElem = null;\r\n this.destroyBaseElement();\r\n }\r\n };\r\n extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\r\n}());\r\nfunction ProcessedElement(element, position) {\r\n\tthis.elem = element;\r\n\tthis.pos = position;\r\n}\r\nfunction SVGStyleData(data, level) {\r\n\tthis.data = data;\r\n\tthis.type = data.ty;\r\n\tthis.d = '';\r\n\tthis.lvl = level;\r\n\tthis._mdf = false;\r\n\tthis.closed = data.hd === true;\r\n\tthis.pElem = createNS('path');\r\n\tthis.msElem = null;\r\n}\r\n\r\nSVGStyleData.prototype.reset = function() {\r\n\tthis.d = '';\r\n\tthis._mdf = false;\r\n};\r\nfunction SVGShapeData(transformers, level, shape) {\r\n this.caches = [];\r\n this.styles = [];\r\n this.transformers = transformers;\r\n this.lStr = '';\r\n this.sh = shape;\r\n this.lvl = level;\r\n //TODO find if there are some cases where _isAnimated can be false. \r\n // For now, since shapes add up with other shapes. They have to be calculated every time.\r\n // One way of finding out is checking if all styles associated to this shape depend only of this shape\r\n this._isAnimated = !!shape.k;\r\n // TODO: commenting this for now since all shapes are animated\r\n var i = 0, len = transformers.length;\r\n while(i < len) {\r\n \tif(transformers[i].mProps.dynamicProperties.length) {\r\n \t\tthis._isAnimated = true;\r\n \t\tbreak;\r\n \t}\r\n \ti += 1;\r\n }\r\n}\r\n\r\nSVGShapeData.prototype.setAsAnimated = function() {\r\n this._isAnimated = true;\r\n}\r\nfunction SVGTransformData(mProps, op, container) {\r\n\tthis.transform = {\r\n\t\tmProps: mProps,\r\n\t\top: op,\r\n\t\tcontainer: container\r\n\t};\r\n\tthis.elements = [];\r\n this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\r\n}\r\nfunction SVGStrokeStyleData(elem, data, styleOb){\r\n\tthis.initDynamicPropertyContainer(elem);\r\n\tthis.getValue = this.iterateDynamicProperties;\r\n\tthis.o = PropertyFactory.getProp(elem,data.o,0,0.01,this);\r\n\tthis.w = PropertyFactory.getProp(elem,data.w,0,null,this);\r\n\tthis.d = new DashProperty(elem,data.d||{},'svg',this);\r\n\tthis.c = PropertyFactory.getProp(elem,data.c,1,255,this);\r\n\tthis.style = styleOb;\r\n this._isAnimated = !!this._isAnimated;\r\n}\r\n\r\nextendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\r\nfunction SVGFillStyleData(elem, data, styleOb){\r\n\tthis.initDynamicPropertyContainer(elem);\r\n\tthis.getValue = this.iterateDynamicProperties;\r\n\tthis.o = PropertyFactory.getProp(elem,data.o,0,0.01,this);\r\n\tthis.c = PropertyFactory.getProp(elem,data.c,1,255,this);\r\n\tthis.style = styleOb;\r\n}\r\n\r\nextendPrototype([DynamicPropertyContainer], SVGFillStyleData);\r\nfunction SVGGradientFillStyleData(elem, data, styleOb){\r\n this.initDynamicPropertyContainer(elem);\r\n this.getValue = this.iterateDynamicProperties;\r\n this.initGradientData(elem, data, styleOb);\r\n}\r\n\r\nSVGGradientFillStyleData.prototype.initGradientData = function(elem, data, styleOb){\r\n this.o = PropertyFactory.getProp(elem,data.o,0,0.01,this);\r\n this.s = PropertyFactory.getProp(elem,data.s,1,null,this);\r\n this.e = PropertyFactory.getProp(elem,data.e,1,null,this);\r\n this.h = PropertyFactory.getProp(elem,data.h||{k:0},0,0.01,this);\r\n this.a = PropertyFactory.getProp(elem,data.a||{k:0},0,degToRads,this);\r\n this.g = new GradientProperty(elem,data.g,this);\r\n this.style = styleOb;\r\n this.stops = [];\r\n this.setGradientData(styleOb.pElem, data);\r\n this.setGradientOpacity(data, styleOb);\r\n this._isAnimated = !!this._isAnimated;\r\n\r\n};\r\n\r\nSVGGradientFillStyleData.prototype.setGradientData = function(pathElement,data){\r\n\r\n var gradientId = createElementID();\r\n var gfill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\r\n gfill.setAttribute('id',gradientId);\r\n gfill.setAttribute('spreadMethod','pad');\r\n gfill.setAttribute('gradientUnits','userSpaceOnUse');\r\n var stops = [];\r\n var stop, j, jLen;\r\n jLen = data.g.p*4;\r\n for(j=0;j 0) {\r\n\t redraw = itemData.transformers[k].mProps._mdf || redraw;\r\n\t iterations --;\r\n\t k --;\r\n\t }\r\n\t if(redraw) {\r\n\t iterations = lvl - itemData.styles[l].lvl;\r\n\t k = itemData.transformers.length-1;\r\n\t while(iterations > 0) {\r\n\t props = itemData.transformers[k].mProps.v.props;\r\n\t mat.transform(props[0],props[1],props[2],props[3],props[4],props[5],props[6],props[7],props[8],props[9],props[10],props[11],props[12],props[13],props[14],props[15]);\r\n\t iterations --;\r\n\t k --;\r\n\t }\r\n\t }\r\n\t } else {\r\n\t mat = _identityMatrix;\r\n\t }\r\n\t paths = itemData.sh.paths;\r\n\t jLen = paths._length;\r\n\t if(redraw){\r\n\t pathStringTransformed = '';\r\n\t for(j=0;j= 1 ? 0.99 : itemData.h.v <= -1 ? -0.99: itemData.h.v;\r\n\t var dist = rad * percent;\r\n\t var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\r\n\t var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\r\n\t gfill.setAttribute('fx', x);\r\n\t gfill.setAttribute('fy', y);\r\n\t if (hasOpacity && !itemData.g._collapsable) {\r\n\t itemData.of.setAttribute('fx', x);\r\n\t itemData.of.setAttribute('fy', y);\r\n\t }\r\n\t }\r\n\t //gfill.setAttribute('fy','200');\r\n\t }\r\n\t};\r\n\r\n\tfunction renderStroke(styleData, itemData, isFirstFrame) {\r\n\t var styleElem = itemData.style;\r\n\t var d = itemData.d;\r\n\t if (d && (d._mdf || isFirstFrame) && d.dashStr) {\r\n\t styleElem.pElem.setAttribute('stroke-dasharray', d.dashStr);\r\n\t styleElem.pElem.setAttribute('stroke-dashoffset', d.dashoffset[0]);\r\n\t }\r\n\t if(itemData.c && (itemData.c._mdf || isFirstFrame)){\r\n\t styleElem.pElem.setAttribute('stroke','rgb(' + bm_floor(itemData.c.v[0]) + ',' + bm_floor(itemData.c.v[1]) + ',' + bm_floor(itemData.c.v[2]) + ')');\r\n\t }\r\n\t if(itemData.o._mdf || isFirstFrame){\r\n\t styleElem.pElem.setAttribute('stroke-opacity', itemData.o.v);\r\n\t }\r\n\t if(itemData.w._mdf || isFirstFrame){\r\n\t styleElem.pElem.setAttribute('stroke-width', itemData.w.v);\r\n\t if(styleElem.msElem){\r\n\t styleElem.msElem.setAttribute('stroke-width', itemData.w.v);\r\n\t }\r\n\t }\r\n\t};\r\n\r\n\treturn ob;\r\n}())\r\nfunction ShapeTransformManager() {\r\n\tthis.sequences = {};\r\n\tthis.sequenceList = [];\r\n this.transform_key_count = 0;\r\n}\r\n\r\nShapeTransformManager.prototype = {\r\n\taddTransformSequence: function(transforms) {\r\n\t\tvar i, len = transforms.length;\r\n\t\tvar key = '_';\r\n\t\tfor(i = 0; i < len; i += 1) {\r\n\t\t\tkey += transforms[i].transform.key + '_';\r\n\t\t}\r\n\t\tvar sequence = this.sequences[key];\r\n\t\tif(!sequence) {\r\n\t\t\tsequence = {\r\n\t\t\t\ttransforms: [].concat(transforms),\r\n\t\t\t\tfinalTransform: new Matrix(),\r\n\t\t\t\t_mdf: false\r\n\t\t\t};\r\n\t\t\tthis.sequences[key] = sequence;\r\n\t\t\tthis.sequenceList.push(sequence);\r\n\t\t}\r\n\t\treturn sequence;\r\n\t},\r\n\tprocessSequence: function(sequence, isFirstFrame) {\r\n\t\tvar i = 0, len = sequence.transforms.length, _mdf = isFirstFrame;\r\n\t\twhile (i < len && !isFirstFrame) {\r\n\t\t\tif (sequence.transforms[i].transform.mProps._mdf) {\r\n\t\t\t\t_mdf = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\ti += 1\r\n\t\t}\r\n\t\tif (_mdf) {\r\n\t\t\tvar props;\r\n\t\t\tsequence.finalTransform.reset();\r\n\t\t\tfor (i = len - 1; i >= 0; i -= 1) {\r\n\t\t props = sequence.transforms[i].transform.mProps.v.props;\r\n\t\t sequence.finalTransform.transform(props[0],props[1],props[2],props[3],props[4],props[5],props[6],props[7],props[8],props[9],props[10],props[11],props[12],props[13],props[14],props[15]);\r\n\t\t\t}\r\n\t\t}\r\n\t\tsequence._mdf = _mdf;\r\n\t\t\r\n\t},\r\n\tprocessSequences: function(isFirstFrame) {\r\n\t\tvar i, len = this.sequenceList.length;\r\n\t\tfor (i = 0; i < len; i += 1) {\r\n\t\t\tthis.processSequence(this.sequenceList[i], isFirstFrame);\r\n\t\t}\r\n\r\n\t},\r\n\tgetNewKey: function() {\r\n\t\treturn '_' + this.transform_key_count++;\r\n\t}\r\n}\r\nfunction CVShapeData(element, data, styles, transformsManager) {\r\n this.styledShapes = [];\r\n this.tr = [0,0,0,0,0,0];\r\n var ty = 4;\r\n if(data.ty == 'rc'){\r\n ty = 5;\r\n }else if(data.ty == 'el'){\r\n ty = 6;\r\n }else if(data.ty == 'sr'){\r\n ty = 7;\r\n }\r\n this.sh = ShapePropertyFactory.getShapeProp(element,data,ty,element);\r\n var i , len = styles.length,styledShape;\r\n for (i = 0; i < len; i += 1) {\r\n if (!styles[i].closed) {\r\n styledShape = {\r\n transforms: transformsManager.addTransformSequence(styles[i].transforms),\r\n trNodes: []\r\n }\r\n this.styledShapes.push(styledShape);\r\n styles[i].elements.push(styledShape);\r\n }\r\n }\r\n}\r\n\r\nCVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\r\nfunction BaseElement(){\r\n}\r\n\r\nBaseElement.prototype = {\r\n checkMasks: function(){\r\n if(!this.data.hasMask){\r\n return false;\r\n }\r\n var i = 0, len = this.data.masksProperties.length;\r\n while(i=0;i-=1){\r\n this.shapeModifiers[i].processShapes(this._isFirstFrame);\r\n }\r\n },\r\n lcEnum: {\r\n '1': 'butt',\r\n '2': 'round',\r\n '3': 'square'\r\n },\r\n ljEnum: {\r\n '1': 'miter',\r\n '2': 'round',\r\n '3': 'bevel'\r\n },\r\n searchProcessedElement: function(elem){\r\n var elements = this.processedElements;\r\n var i = 0, len = elements.length;\r\n while (i < len) {\r\n if (elements[i].elem === elem) {\r\n return elements[i].pos;\r\n }\r\n i += 1;\r\n }\r\n return 0;\r\n },\r\n addProcessedElement: function(elem, pos){\r\n var elements = this.processedElements;\r\n var i = elements.length;\r\n while(i) {\r\n i -= 1;\r\n if (elements[i].elem === elem) {\r\n elements[i].pos = pos;\r\n return;\r\n }\r\n }\r\n elements.push(new ProcessedElement(elem, pos));\r\n },\r\n prepareFrame: function(num) {\r\n this.prepareRenderableFrame(num);\r\n this.prepareProperties(num, this.isInRange);\r\n }\r\n};\r\nfunction ITextElement(){\r\n}\r\n\r\nITextElement.prototype.initElement = function(data,globalData,comp){\r\n this.lettersChangedFlag = true;\r\n this.initFrame();\r\n this.initBaseData(data, globalData, comp);\r\n this.textProperty = new TextProperty(this, data.t, this.dynamicProperties);\r\n this.textAnimator = new TextAnimatorProperty(data.t, this.renderType, this);\r\n this.initTransform(data, globalData, comp);\r\n this.initHierarchy();\r\n this.initRenderable();\r\n this.initRendererElement();\r\n this.createContainerElements();\r\n this.createRenderableComponents();\r\n this.createContent();\r\n this.hide();\r\n this.textAnimator.searchProperties(this.dynamicProperties);\r\n};\r\n\r\nITextElement.prototype.prepareFrame = function(num) {\r\n this._mdf = false;\r\n this.prepareRenderableFrame(num);\r\n this.prepareProperties(num, this.isInRange);\r\n if(this.textProperty._mdf || this.textProperty._isFirstFrame) {\r\n this.buildNewText();\r\n this.textProperty._isFirstFrame = false;\r\n this.textProperty._mdf = false;\r\n }\r\n};\r\n\r\nITextElement.prototype.createPathShape = function(matrixHelper, shapes) {\r\n var j,jLen = shapes.length;\r\n var k, kLen, pathNodes;\r\n var shapeStr = '';\r\n for(j=0;j= 0; i -= 1 ){\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st);\r\n if(this.elements[i]._mdf) {\r\n this._mdf = true;\r\n }\r\n }\r\n }\r\n};\r\n\r\nICompElement.prototype.renderInnerContent = function() {\r\n var i,len = this.layers.length;\r\n for( i = 0; i < len; i += 1 ){\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].renderFrame();\r\n }\r\n }\r\n};\r\n\r\nICompElement.prototype.setElements = function(elems){\r\n this.elements = elems;\r\n};\r\n\r\nICompElement.prototype.getElements = function(){\r\n return this.elements;\r\n};\r\n\r\nICompElement.prototype.destroyElements = function(){\r\n var i,len = this.layers.length;\r\n for( i = 0; i < len; i+=1 ){\r\n if(this.elements[i]){\r\n this.elements[i].destroy();\r\n }\r\n }\r\n};\r\n\r\nICompElement.prototype.destroy = function(){\r\n this.destroyElements();\r\n this.destroyBaseElement();\r\n};\r\n\r\nfunction IImageElement(data,globalData,comp){\r\n this.assetData = globalData.getAssetData(data.refId);\r\n this.initElement(data,globalData,comp);\r\n this.sourceRect = {top:0,left:0,width:this.assetData.w,height:this.assetData.h};\r\n}\r\n\r\nextendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement], IImageElement);\r\n\r\nIImageElement.prototype.createContent = function(){\r\n\r\n var assetPath = this.globalData.getAssetsPath(this.assetData);\r\n\r\n this.innerElem = createNS('image');\r\n this.innerElem.setAttribute('width',this.assetData.w+\"px\");\r\n this.innerElem.setAttribute('height',this.assetData.h+\"px\");\r\n this.innerElem.setAttribute('preserveAspectRatio',this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio);\r\n this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink','href',assetPath);\r\n \r\n this.layerElement.appendChild(this.innerElem);\r\n};\r\n\r\nIImageElement.prototype.sourceRectAtTime = function() {\r\n\treturn this.sourceRect;\r\n}\r\nfunction ISolidElement(data,globalData,comp){\r\n this.initElement(data,globalData,comp);\r\n}\r\nextendPrototype([IImageElement], ISolidElement);\r\n\r\nISolidElement.prototype.createContent = function(){\r\n\r\n var rect = createNS('rect');\r\n ////rect.style.width = this.data.sw;\r\n ////rect.style.height = this.data.sh;\r\n ////rect.style.fill = this.data.sc;\r\n rect.setAttribute('width',this.data.sw);\r\n rect.setAttribute('height',this.data.sh);\r\n rect.setAttribute('fill',this.data.sc);\r\n this.layerElement.appendChild(rect);\r\n};\r\nfunction AudioElement(data,globalData,comp){\r\n this.initFrame();\r\n this.initRenderable();\r\n this.assetData = globalData.getAssetData(data.refId);\r\n\tthis.initBaseData(data, globalData, comp);\r\n\tthis._isPlaying = false;\r\n\tthis._canPlay = false;\r\n\tvar assetPath = this.globalData.getAssetsPath(this.assetData);\r\n this.audio = this.globalData.audioController.createAudio(assetPath);\r\n this._currentTime = 0;\r\n this.globalData.audioController.addAudio(this);\r\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate,this) : {_placeholder:true};\r\n}\r\n\r\nAudioElement.prototype.prepareFrame = function(num) {\r\n this.prepareRenderableFrame(num, true);\r\n this.prepareProperties(num, true);\r\n if (!this.tm._placeholder) {\r\n var timeRemapped = this.tm.v;\r\n this._currentTime = timeRemapped;\r\n } else {\r\n this._currentTime = num / this.data.sr;\r\n }\r\n};\r\n\r\nextendPrototype([RenderableElement,BaseElement,FrameElement], AudioElement);\r\n\r\nAudioElement.prototype.renderFrame = function() {\r\n\tif (this.isInRange && this._canPlay) {\r\n\t\tif (!this._isPlaying) {\r\n\t\t\tthis.audio.play();\r\n\t\t\tthis.audio.seek(this._currentTime / this.globalData.frameRate);\r\n\t\t\tthis._isPlaying = true;\r\n\t\t} else if (!this.audio.playing()\r\n\t\t\t|| Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1\r\n\t\t) {\r\n\t\t\tthis.audio.seek(this._currentTime / this.globalData.frameRate)\r\n\t\t}\r\n\t}\r\n};\r\n\r\nAudioElement.prototype.show = function() {\r\n\t// this.audio.play()\r\n};\r\n\r\nAudioElement.prototype.hide = function() {\r\n\tthis.audio.pause();\r\n\tthis._isPlaying = false;\r\n};\r\n\r\nAudioElement.prototype.pause = function() {\r\n\tthis.audio.pause();\r\n\tthis._isPlaying = false;\r\n\tthis._canPlay = false;\r\n};\r\n\r\nAudioElement.prototype.resume = function() {\r\n\tthis._canPlay = true;\r\n};\r\n\r\nAudioElement.prototype.setRate = function(rateValue) {\r\n\tthis.audio.rate(rateValue);\r\n};\r\n\r\nAudioElement.prototype.volume = function(volumeValue) {\r\n\tthis.audio.volume(volumeValue);\r\n};\r\n\r\nAudioElement.prototype.getBaseElement = function() {\r\n\treturn null;\r\n};\r\n\r\nAudioElement.prototype.destroy = function() {\r\n};\r\n\r\nAudioElement.prototype.sourceRectAtTime = function() {\r\n};\r\n\r\nAudioElement.prototype.initExpressions = function() {\r\n};\r\n\r\n\r\nfunction SVGCompElement(data,globalData,comp){\r\n this.layers = data.layers;\r\n this.supports3d = true;\r\n this.completeLayers = false;\r\n this.pendingElements = [];\r\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\r\n //this.layerElement = createNS('g');\r\n this.initElement(data,globalData,comp);\r\n this.tm = data.tm ? PropertyFactory.getProp(this,data.tm,0,globalData.frameRate,this) : {_placeholder:true};\r\n}\r\n\r\nextendPrototype([SVGRenderer, ICompElement, SVGBaseElement], SVGCompElement);\r\nfunction SVGTextElement(data,globalData,comp){\r\n this.textSpans = [];\r\n this.renderType = 'svg';\r\n this.initElement(data,globalData,comp);\r\n}\r\n\r\nextendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement], SVGTextElement);\r\n\r\nSVGTextElement.prototype.createContent = function(){\r\n\r\n if (this.data.singleShape && !this.globalData.fontManager.chars) {\r\n this.textContainer = createNS('text');\r\n }\r\n};\r\n\r\nSVGTextElement.prototype.buildTextContents = function(textArray) {\r\n var i = 0, len = textArray.length;\r\n var textContents = [], currentTextContent = '';\r\n while (i < len) {\r\n if(textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\r\n textContents.push(currentTextContent);\r\n currentTextContent = '';\r\n } else {\r\n currentTextContent += textArray[i];\r\n }\r\n i += 1;\r\n }\r\n textContents.push(currentTextContent);\r\n return textContents;\r\n}\r\n\r\nSVGTextElement.prototype.buildNewText = function(){\r\n var i, len;\r\n\r\n var documentData = this.textProperty.currentData;\r\n this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\r\n if(documentData.fc) {\r\n this.layerElement.setAttribute('fill', this.buildColor(documentData.fc));\r\n }else{\r\n this.layerElement.setAttribute('fill', 'rgba(0,0,0,0)');\r\n }\r\n if(documentData.sc){\r\n this.layerElement.setAttribute('stroke', this.buildColor(documentData.sc));\r\n this.layerElement.setAttribute('stroke-width', documentData.sw);\r\n }\r\n this.layerElement.setAttribute('font-size', documentData.finalSize);\r\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\r\n if(fontData.fClass){\r\n this.layerElement.setAttribute('class',fontData.fClass);\r\n } else {\r\n this.layerElement.setAttribute('font-family', fontData.fFamily);\r\n var fWeight = documentData.fWeight, fStyle = documentData.fStyle;\r\n this.layerElement.setAttribute('font-style', fStyle);\r\n this.layerElement.setAttribute('font-weight', fWeight);\r\n }\r\n this.layerElement.setAttribute('aria-label', documentData.t);\r\n\r\n var letters = documentData.l || [];\r\n var usesGlyphs = !!this.globalData.fontManager.chars;\r\n len = letters.length;\r\n\r\n var tSpan;\r\n var matrixHelper = this.mHelper;\r\n var shapes, shapeStr = '', singleShape = this.data.singleShape;\r\n var xPos = 0, yPos = 0, firstLine = true;\r\n var trackingOffset = documentData.tr/1000*documentData.finalSize;\r\n if(singleShape && !usesGlyphs && !documentData.sz) {\r\n var tElement = this.textContainer;\r\n var justify = 'start';\r\n switch(documentData.j) {\r\n case 1:\r\n justify = 'end';\r\n break;\r\n case 2:\r\n justify = 'middle';\r\n break;\r\n }\r\n tElement.setAttribute('text-anchor',justify);\r\n tElement.setAttribute('letter-spacing',trackingOffset);\r\n var textContent = this.buildTextContents(documentData.finalText);\r\n len = textContent.length;\r\n yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\r\n for ( i = 0; i < len; i += 1) {\r\n tSpan = this.textSpans[i] || createNS('tspan');\r\n tSpan.textContent = textContent[i];\r\n tSpan.setAttribute('x', 0);\r\n tSpan.setAttribute('y', yPos);\r\n tSpan.style.display = 'inherit';\r\n tElement.appendChild(tSpan);\r\n this.textSpans[i] = tSpan;\r\n yPos += documentData.finalLineHeight;\r\n }\r\n \r\n this.layerElement.appendChild(tElement);\r\n } else {\r\n var cachedSpansLength = this.textSpans.length;\r\n var shapeData, charData;\r\n for (i = 0; i < len; i += 1) {\r\n if(!usesGlyphs || !singleShape || i === 0){\r\n tSpan = cachedSpansLength > i ? this.textSpans[i] : createNS(usesGlyphs?'path':'text');\r\n if (cachedSpansLength <= i) {\r\n tSpan.setAttribute('stroke-linecap', 'butt');\r\n tSpan.setAttribute('stroke-linejoin','round');\r\n tSpan.setAttribute('stroke-miterlimit','4');\r\n this.textSpans[i] = tSpan;\r\n this.layerElement.appendChild(tSpan);\r\n }\r\n tSpan.style.display = 'inherit';\r\n }\r\n \r\n matrixHelper.reset();\r\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\r\n if (singleShape) {\r\n if(letters[i].n) {\r\n xPos = -trackingOffset;\r\n yPos += documentData.yOffset;\r\n yPos += firstLine ? 1 : 0;\r\n firstLine = false;\r\n }\r\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\r\n xPos += letters[i].l || 0;\r\n //xPos += letters[i].val === ' ' ? 0 : trackingOffset;\r\n xPos += trackingOffset;\r\n }\r\n if(usesGlyphs) {\r\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\r\n shapeData = charData && charData.data || {};\r\n shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\r\n if(!singleShape){\r\n tSpan.setAttribute('d',this.createPathShape(matrixHelper,shapes));\r\n } else {\r\n shapeStr += this.createPathShape(matrixHelper,shapes);\r\n }\r\n } else {\r\n if(singleShape) {\r\n tSpan.setAttribute(\"transform\", \"translate(\" + matrixHelper.props[12] + \",\" + matrixHelper.props[13] + \")\");\r\n }\r\n tSpan.textContent = letters[i].val;\r\n tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\",\"preserve\");\r\n }\r\n //\r\n }\r\n if (singleShape && tSpan) {\r\n tSpan.setAttribute('d',shapeStr);\r\n }\r\n }\r\n while (i < this.textSpans.length){\r\n this.textSpans[i].style.display = 'none';\r\n i += 1;\r\n }\r\n \r\n this._sizeChanged = true;\r\n};\r\n\r\nSVGTextElement.prototype.sourceRectAtTime = function(time){\r\n this.prepareFrame(this.comp.renderedFrame - this.data.st);\r\n this.renderInnerContent();\r\n if(this._sizeChanged){\r\n this._sizeChanged = false;\r\n var textBox = this.layerElement.getBBox();\r\n this.bbox = {\r\n top: textBox.y,\r\n left: textBox.x,\r\n width: textBox.width,\r\n height: textBox.height\r\n };\r\n }\r\n return this.bbox;\r\n};\r\n\r\nSVGTextElement.prototype.renderInnerContent = function(){\r\n\r\n if(!this.data.singleShape){\r\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\r\n if(this.lettersChangedFlag || this.textAnimator.lettersChangedFlag){\r\n this._sizeChanged = true;\r\n var i,len;\r\n var renderedLetters = this.textAnimator.renderedLetters;\r\n\r\n var letters = this.textProperty.currentData.l;\r\n\r\n len = letters.length;\r\n var renderedLetter, textSpan;\r\n for(i=0;i 1 && areAnimated) {\r\n this.setShapesAsAnimated(tempShapes);\r\n }\r\n }\r\n}\r\n\r\nSVGShapeElement.prototype.setShapesAsAnimated = function(shapes){\r\n var i, len = shapes.length;\r\n for(i = 0; i < len; i += 1) {\r\n shapes[i].setAsAnimated();\r\n }\r\n}\r\n\r\nSVGShapeElement.prototype.createStyleElement = function(data, level){\r\n //TODO: prevent drawing of hidden styles\r\n var elementData;\r\n var styleOb = new SVGStyleData(data, level);\r\n\r\n var pathElement = styleOb.pElem;\r\n if(data.ty === 'st') {\r\n elementData = new SVGStrokeStyleData(this, data, styleOb);\r\n } else if(data.ty === 'fl') {\r\n elementData = new SVGFillStyleData(this, data, styleOb);\r\n } else if(data.ty === 'gf' || data.ty === 'gs') {\r\n var gradientConstructor = data.ty === 'gf' ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\r\n elementData = new gradientConstructor(this, data, styleOb);\r\n this.globalData.defs.appendChild(elementData.gf);\r\n if (elementData.maskId) {\r\n this.globalData.defs.appendChild(elementData.ms);\r\n this.globalData.defs.appendChild(elementData.of);\r\n pathElement.setAttribute('mask','url(' + locationHref + '#' + elementData.maskId + ')');\r\n }\r\n }\r\n \r\n if(data.ty === 'st' || data.ty === 'gs') {\r\n pathElement.setAttribute('stroke-linecap', this.lcEnum[data.lc] || 'round');\r\n pathElement.setAttribute('stroke-linejoin',this.ljEnum[data.lj] || 'round');\r\n pathElement.setAttribute('fill-opacity','0');\r\n if(data.lj === 1) {\r\n pathElement.setAttribute('stroke-miterlimit',data.ml);\r\n }\r\n }\r\n\r\n if(data.r === 2) {\r\n pathElement.setAttribute('fill-rule', 'evenodd');\r\n }\r\n\r\n if(data.ln){\r\n pathElement.setAttribute('id',data.ln);\r\n }\r\n if(data.cl){\r\n pathElement.setAttribute('class',data.cl);\r\n }\r\n if(data.bm){\r\n pathElement.style['mix-blend-mode'] = getBlendMode(data.bm);\r\n }\r\n this.stylesList.push(styleOb);\r\n this.addToAnimatedContents(data, elementData);\r\n return elementData;\r\n};\r\n\r\nSVGShapeElement.prototype.createGroupElement = function(data) {\r\n var elementData = new ShapeGroupData();\r\n if(data.ln){\r\n elementData.gr.setAttribute('id',data.ln);\r\n }\r\n if(data.cl){\r\n elementData.gr.setAttribute('class',data.cl);\r\n }\r\n if(data.bm){\r\n elementData.gr.style['mix-blend-mode'] = getBlendMode(data.bm);\r\n }\r\n return elementData;\r\n};\r\n\r\nSVGShapeElement.prototype.createTransformElement = function(data, container) {\r\n var transformProperty = TransformPropertyFactory.getTransformProperty(this,data,this);\r\n var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\r\n this.addToAnimatedContents(data, elementData);\r\n return elementData;\r\n};\r\n\r\nSVGShapeElement.prototype.createShapeElement = function(data, ownTransformers, level) {\r\n var ty = 4;\r\n if(data.ty === 'rc'){\r\n ty = 5;\r\n }else if(data.ty === 'el'){\r\n ty = 6;\r\n }else if(data.ty === 'sr'){\r\n ty = 7;\r\n }\r\n var shapeProperty = ShapePropertyFactory.getShapeProp(this,data,ty,this);\r\n var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\r\n this.shapes.push(elementData);\r\n this.addShapeToModifiers(elementData);\r\n this.addToAnimatedContents(data, elementData);\r\n return elementData;\r\n};\r\n\r\nSVGShapeElement.prototype.addToAnimatedContents = function(data, element) {\r\n var i = 0, len = this.animatedContents.length;\r\n while(i < len) {\r\n if(this.animatedContents[i].element === element) {\r\n return;\r\n }\r\n i += 1;\r\n }\r\n this.animatedContents.push({\r\n fn: SVGElementsRenderer.createRenderFunction(data),\r\n element: element,\r\n data: data\r\n });\r\n};\r\n\r\nSVGShapeElement.prototype.setElementStyles = function(elementData){\r\n var arr = elementData.styles;\r\n var j, jLen = this.stylesList.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n if (!this.stylesList[j].closed) {\r\n arr.push(this.stylesList[j]);\r\n }\r\n }\r\n};\r\n\r\nSVGShapeElement.prototype.reloadShapes = function(){\r\n this._isFirstFrame = true;\r\n var i, len = this.itemsData.length;\r\n for( i = 0; i < len; i += 1) {\r\n this.prevViewData[i] = this.itemsData[i];\r\n }\r\n this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement, 0, [], true);\r\n this.filterUniqueShapes();\r\n len = this.dynamicProperties.length;\r\n for(i = 0; i < len; i += 1) {\r\n this.dynamicProperties[i].getValue();\r\n }\r\n this.renderModifiers();\r\n};\r\n\r\nSVGShapeElement.prototype.searchShapes = function(arr,itemsData,prevViewData,container, level, transformers, render){\r\n var ownTransformers = [].concat(transformers);\r\n var i, len = arr.length - 1;\r\n var j, jLen;\r\n var ownStyles = [], ownModifiers = [], styleOb, currentTransform, modifier, processedPos;\r\n for(i=len;i>=0;i-=1){\r\n processedPos = this.searchProcessedElement(arr[i]);\r\n if(!processedPos){\r\n arr[i]._render = render;\r\n } else {\r\n itemsData[i] = prevViewData[processedPos - 1];\r\n }\r\n if(arr[i].ty == 'fl' || arr[i].ty == 'st' || arr[i].ty == 'gf' || arr[i].ty == 'gs'){\r\n if(!processedPos){\r\n itemsData[i] = this.createStyleElement(arr[i], level);\r\n } else {\r\n itemsData[i].style.closed = false;\r\n }\r\n if(arr[i]._render){\r\n container.appendChild(itemsData[i].style.pElem);\r\n }\r\n ownStyles.push(itemsData[i].style);\r\n }else if(arr[i].ty == 'gr'){\r\n if(!processedPos){\r\n itemsData[i] = this.createGroupElement(arr[i]);\r\n } else {\r\n jLen = itemsData[i].it.length;\r\n for(j=0;j horizontal & vertical\r\n // 2 -> horizontal only\r\n // 3 -> vertical only\r\n //\r\n var dimensions = this.filterManager.effectElements[1].p.v;\r\n var sigmaX = (dimensions == 3) ? 0 : sigma;\r\n var sigmaY = (dimensions == 2) ? 0 : sigma;\r\n\r\n this.feGaussianBlur.setAttribute('stdDeviation', sigmaX + \" \" + sigmaY);\r\n\r\n // Repeat edges mapping:\r\n //\r\n // 0 -> off -> duplicate\r\n // 1 -> on -> wrap\r\n var edgeMode = (this.filterManager.effectElements[2].p.v == 1) ? 'wrap' : 'duplicate';\r\n this.feGaussianBlur.setAttribute('edgeMode', edgeMode);\r\n }\r\n}\r\nfunction SVGStrokeEffect(elem, filterManager){\r\n this.initialized = false;\r\n this.filterManager = filterManager;\r\n this.elem = elem;\r\n this.paths = [];\r\n}\r\n\r\nSVGStrokeEffect.prototype.initialize = function(){\r\n\r\n var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\r\n var path,groupPath, i, len;\r\n if(this.filterManager.effectElements[1].p.v === 1){\r\n len = this.elem.maskManager.masksProperties.length;\r\n i = 0;\r\n } else {\r\n i = this.filterManager.effectElements[0].p.v - 1;\r\n len = i + 1;\r\n }\r\n groupPath = createNS('g'); \r\n groupPath.setAttribute('fill','none');\r\n groupPath.setAttribute('stroke-linecap','round');\r\n groupPath.setAttribute('stroke-dashoffset',1);\r\n for(i;i= max){\r\n colorValue = inputDelta < 0 ? outputBlack : outputWhite;\r\n } else {\r\n colorValue = (outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma));\r\n }\r\n table[pos++] = colorValue;\r\n cnt += 256/(segments-1);\r\n }\r\n return table.join(' ');\r\n};\r\n\r\nSVGProLevelsFilter.prototype.renderFrame = function(forceRender){\r\n if(forceRender || this.filterManager._mdf){\r\n var val, cnt, perc, bezier;\r\n var effectElements = this.filterManager.effectElements;\r\n if(this.feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)){\r\n val = this.getTableValue(effectElements[3].p.v,effectElements[4].p.v,effectElements[5].p.v,effectElements[6].p.v,effectElements[7].p.v);\r\n this.feFuncRComposed.setAttribute('tableValues',val);\r\n this.feFuncGComposed.setAttribute('tableValues',val);\r\n this.feFuncBComposed.setAttribute('tableValues',val);\r\n }\r\n\r\n\r\n if(this.feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)){\r\n val = this.getTableValue(effectElements[10].p.v,effectElements[11].p.v,effectElements[12].p.v,effectElements[13].p.v,effectElements[14].p.v);\r\n this.feFuncR.setAttribute('tableValues',val);\r\n }\r\n\r\n if(this.feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)){\r\n val = this.getTableValue(effectElements[17].p.v,effectElements[18].p.v,effectElements[19].p.v,effectElements[20].p.v,effectElements[21].p.v);\r\n this.feFuncG.setAttribute('tableValues',val);\r\n }\r\n\r\n if(this.feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)){\r\n val = this.getTableValue(effectElements[24].p.v,effectElements[25].p.v,effectElements[26].p.v,effectElements[27].p.v,effectElements[28].p.v);\r\n this.feFuncB.setAttribute('tableValues',val);\r\n }\r\n\r\n if(this.feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)){\r\n val = this.getTableValue(effectElements[31].p.v,effectElements[32].p.v,effectElements[33].p.v,effectElements[34].p.v,effectElements[35].p.v);\r\n this.feFuncA.setAttribute('tableValues',val);\r\n }\r\n \r\n }\r\n};\r\nfunction SVGDropShadowEffect(filter, filterManager) {\r\n var filterSize = filterManager.container.globalData.renderConfig.filterSize\r\n filter.setAttribute('x', filterSize.x);\r\n filter.setAttribute('y', filterSize.y);\r\n filter.setAttribute('width', filterSize.width);\r\n filter.setAttribute('height', filterSize.height);\r\n this.filterManager = filterManager;\r\n\r\n var feGaussianBlur = createNS('feGaussianBlur');\r\n feGaussianBlur.setAttribute('in','SourceAlpha');\r\n feGaussianBlur.setAttribute('result','drop_shadow_1');\r\n feGaussianBlur.setAttribute('stdDeviation','0');\r\n this.feGaussianBlur = feGaussianBlur;\r\n filter.appendChild(feGaussianBlur);\r\n\r\n var feOffset = createNS('feOffset');\r\n feOffset.setAttribute('dx','25');\r\n feOffset.setAttribute('dy','0');\r\n feOffset.setAttribute('in','drop_shadow_1');\r\n feOffset.setAttribute('result','drop_shadow_2');\r\n this.feOffset = feOffset;\r\n filter.appendChild(feOffset);\r\n var feFlood = createNS('feFlood');\r\n feFlood.setAttribute('flood-color','#00ff00');\r\n feFlood.setAttribute('flood-opacity','1');\r\n feFlood.setAttribute('result','drop_shadow_3');\r\n this.feFlood = feFlood;\r\n filter.appendChild(feFlood);\r\n\r\n var feComposite = createNS('feComposite');\r\n feComposite.setAttribute('in','drop_shadow_3');\r\n feComposite.setAttribute('in2','drop_shadow_2');\r\n feComposite.setAttribute('operator','in');\r\n feComposite.setAttribute('result','drop_shadow_4');\r\n filter.appendChild(feComposite);\r\n\r\n\r\n var feMerge = createNS('feMerge');\r\n filter.appendChild(feMerge);\r\n var feMergeNode;\r\n feMergeNode = createNS('feMergeNode');\r\n feMerge.appendChild(feMergeNode);\r\n feMergeNode = createNS('feMergeNode');\r\n feMergeNode.setAttribute('in','SourceGraphic');\r\n this.feMergeNode = feMergeNode;\r\n this.feMerge = feMerge;\r\n this.originalNodeAdded = false;\r\n feMerge.appendChild(feMergeNode);\r\n}\r\n\r\nSVGDropShadowEffect.prototype.renderFrame = function(forceRender){\r\n if(forceRender || this.filterManager._mdf){\r\n if(forceRender || this.filterManager.effectElements[4].p._mdf){\r\n this.feGaussianBlur.setAttribute('stdDeviation', this.filterManager.effectElements[4].p.v / 4);\r\n }\r\n if(forceRender || this.filterManager.effectElements[0].p._mdf){\r\n var col = this.filterManager.effectElements[0].p.v;\r\n this.feFlood.setAttribute('flood-color',rgbToHex(Math.round(col[0]*255),Math.round(col[1]*255),Math.round(col[2]*255)));\r\n }\r\n if(forceRender || this.filterManager.effectElements[1].p._mdf){\r\n this.feFlood.setAttribute('flood-opacity',this.filterManager.effectElements[1].p.v/255);\r\n }\r\n if(forceRender || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf){\r\n var distance = this.filterManager.effectElements[3].p.v;\r\n var angle = (this.filterManager.effectElements[2].p.v - 90) * degToRads;\r\n var x = distance * Math.cos(angle);\r\n var y = distance * Math.sin(angle);\r\n this.feOffset.setAttribute('dx', x);\r\n this.feOffset.setAttribute('dy', y);\r\n }\r\n /*if(forceRender || this.filterManager.effectElements[5].p._mdf){\r\n if(this.filterManager.effectElements[5].p.v === 1 && this.originalNodeAdded) {\r\n this.feMerge.removeChild(this.feMergeNode);\r\n this.originalNodeAdded = false;\r\n } else if(this.filterManager.effectElements[5].p.v === 0 && !this.originalNodeAdded) {\r\n this.feMerge.appendChild(this.feMergeNode);\r\n this.originalNodeAdded = true;\r\n }\r\n }*/\r\n }\r\n};\r\nvar _svgMatteSymbols = [];\r\n\r\nfunction SVGMatte3Effect(filterElem, filterManager, elem){\r\n this.initialized = false;\r\n this.filterManager = filterManager;\r\n this.filterElem = filterElem;\r\n this.elem = elem;\r\n elem.matteElement = createNS('g');\r\n elem.matteElement.appendChild(elem.layerElement);\r\n elem.matteElement.appendChild(elem.transformedElement);\r\n elem.baseElement = elem.matteElement;\r\n}\r\n\r\nSVGMatte3Effect.prototype.findSymbol = function(mask) {\r\n var i = 0, len = _svgMatteSymbols.length;\r\n while(i < len) {\r\n if(_svgMatteSymbols[i] === mask) {\r\n return _svgMatteSymbols[i];\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n};\r\n\r\nSVGMatte3Effect.prototype.replaceInParent = function(mask, symbolId) {\r\n var parentNode = mask.layerElement.parentNode;\r\n if(!parentNode) {\r\n return;\r\n }\r\n var children = parentNode.children;\r\n var i = 0, len = children.length;\r\n while (i < len) {\r\n if (children[i] === mask.layerElement) {\r\n break;\r\n }\r\n i += 1;\r\n }\r\n var nextChild;\r\n if (i <= len - 2) {\r\n nextChild = children[i + 1];\r\n }\r\n var useElem = createNS('use');\r\n useElem.setAttribute('href', '#' + symbolId);\r\n if(nextChild) {\r\n parentNode.insertBefore(useElem, nextChild);\r\n } else {\r\n parentNode.appendChild(useElem);\r\n }\r\n};\r\n\r\nSVGMatte3Effect.prototype.setElementAsMask = function(elem, mask) {\r\n if(!this.findSymbol(mask)) {\r\n var symbolId = createElementID();\r\n var masker = createNS('mask');\r\n masker.setAttribute('id', mask.layerId);\r\n masker.setAttribute('mask-type', 'alpha');\r\n _svgMatteSymbols.push(mask);\r\n var defs = elem.globalData.defs;\r\n defs.appendChild(masker);\r\n var symbol = createNS('symbol');\r\n symbol.setAttribute('id', symbolId);\r\n this.replaceInParent(mask, symbolId);\r\n symbol.appendChild(mask.layerElement);\r\n defs.appendChild(symbol);\r\n var useElem = createNS('use');\r\n useElem.setAttribute('href', '#' + symbolId);\r\n masker.appendChild(useElem);\r\n mask.data.hd = false;\r\n mask.show();\r\n }\r\n elem.setMatte(mask.layerId);\r\n};\r\n\r\nSVGMatte3Effect.prototype.initialize = function() {\r\n var ind = this.filterManager.effectElements[0].p.v;\r\n var elements = this.elem.comp.elements;\r\n var i = 0, len = elements.length;\r\n while (i < len) {\r\n \tif (elements[i] && elements[i].data.ind === ind) {\r\n \t\tthis.setElementAsMask(this.elem, elements[i]);\r\n \t}\r\n \ti += 1;\r\n }\r\n this.initialized = true;\r\n};\r\n\r\nSVGMatte3Effect.prototype.renderFrame = function() {\r\n\tif(!this.initialized) {\r\n\t\tthis.initialize();\r\n\t}\r\n};\r\nfunction SVGEffects(elem){\r\n var i, len = elem.data.ef ? elem.data.ef.length : 0;\r\n var filId = createElementID();\r\n var fil = filtersFactory.createFilter(filId);\r\n var count = 0;\r\n this.filters = [];\r\n var filterManager;\r\n for(i=0;i canvasRel && par === 'xMidYMid slice') || (imgRel < canvasRel && par !== 'xMidYMid slice')) {\r\n heightCrop = imgH;\r\n widthCrop = heightCrop*canvasRel;\r\n } else {\r\n widthCrop = imgW;\r\n heightCrop = widthCrop/canvasRel;\r\n }\r\n ctx.drawImage(this.img,(imgW-widthCrop)/2,(imgH-heightCrop)/2,widthCrop,heightCrop,0,0,this.assetData.w,this.assetData.h);\r\n this.img = canvas;\r\n }\r\n\r\n};\r\n\r\nCVImageElement.prototype.renderInnerContent = function(parentMatrix){\r\n this.canvasContext.drawImage(this.img, 0, 0);\r\n};\r\n\r\nCVImageElement.prototype.destroy = function(){\r\n this.img = null;\r\n};\r\nfunction CVCompElement(data, globalData, comp) {\r\n this.completeLayers = false;\r\n this.layers = data.layers;\r\n this.pendingElements = [];\r\n this.elements = createSizedArray(this.layers.length);\r\n this.initElement(data, globalData, comp);\r\n this.tm = data.tm ? PropertyFactory.getProp(this,data.tm,0,globalData.frameRate, this) : {_placeholder:true};\r\n}\r\n\r\nextendPrototype([CanvasRenderer, ICompElement, CVBaseElement], CVCompElement);\r\n\r\nCVCompElement.prototype.renderInnerContent = function() {\r\n var ctx = this.canvasContext;\r\n ctx.beginPath();\r\n ctx.moveTo(0, 0);\r\n ctx.lineTo(this.data.w, 0);\r\n ctx.lineTo(this.data.w, this.data.h);\r\n ctx.lineTo(0, this.data.h);\r\n ctx.lineTo(0, 0);\r\n ctx.clip();\r\n var i,len = this.layers.length;\r\n for( i = len - 1; i >= 0; i -= 1 ){\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].renderFrame();\r\n }\r\n }\r\n};\r\n\r\nCVCompElement.prototype.destroy = function(){\r\n var i,len = this.layers.length;\r\n for( i = len - 1; i >= 0; i -= 1 ){\r\n if(this.elements[i]) {\r\n this.elements[i].destroy();\r\n }\r\n }\r\n this.layers = null;\r\n this.elements = null;\r\n};\r\n\r\nfunction CVMaskElement(data,element){\r\n this.data = data;\r\n this.element = element;\r\n this.masksProperties = this.data.masksProperties || [];\r\n this.viewData = createSizedArray(this.masksProperties.length);\r\n var i, len = this.masksProperties.length, hasMasks = false;\r\n for (i = 0; i < len; i++) {\r\n if(this.masksProperties[i].mode !== 'n'){\r\n hasMasks = true;\r\n }\r\n this.viewData[i] = ShapePropertyFactory.getShapeProp(this.element,this.masksProperties[i],3);\r\n }\r\n this.hasMasks = hasMasks;\r\n if(hasMasks) {\r\n this.element.addRenderableComponent(this);\r\n }\r\n}\r\n\r\nCVMaskElement.prototype.renderFrame = function () {\r\n if(!this.hasMasks){\r\n return;\r\n }\r\n var transform = this.element.finalTransform.mat;\r\n var ctx = this.element.canvasContext;\r\n var i, len = this.masksProperties.length;\r\n var pt,pts,data;\r\n ctx.beginPath();\r\n for (i = 0; i < len; i++) {\r\n if(this.masksProperties[i].mode !== 'n'){\r\n if (this.masksProperties[i].inv) {\r\n ctx.moveTo(0, 0);\r\n ctx.lineTo(this.element.globalData.compSize.w, 0);\r\n ctx.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h);\r\n ctx.lineTo(0, this.element.globalData.compSize.h);\r\n ctx.lineTo(0, 0);\r\n }\r\n data = this.viewData[i].v;\r\n pt = transform.applyToPointArray(data.v[0][0],data.v[0][1],0);\r\n ctx.moveTo(pt[0], pt[1]);\r\n var j, jLen = data._length;\r\n for (j = 1; j < jLen; j++) {\r\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\r\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\r\n }\r\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\r\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\r\n }\r\n }\r\n this.element.globalData.renderer.save(true);\r\n ctx.clip();\r\n};\r\n\r\nCVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\r\n\r\nCVMaskElement.prototype.destroy = function(){\r\n this.element = null;\r\n};\r\nfunction CVShapeElement(data, globalData, comp) {\r\n this.shapes = [];\r\n this.shapesData = data.shapes;\r\n this.stylesList = [];\r\n this.itemsData = [];\r\n this.prevViewData = [];\r\n this.shapeModifiers = [];\r\n this.processedElements = [];\r\n this.transformsManager = new ShapeTransformManager();\r\n this.initElement(data, globalData, comp);\r\n}\r\n\r\nextendPrototype([BaseElement,TransformElement,CVBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableElement], CVShapeElement);\r\n\r\nCVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\r\n\r\nCVShapeElement.prototype.transformHelper = {opacity:1,_opMdf:false};\r\n\r\nCVShapeElement.prototype.dashResetter = [];\r\n\r\nCVShapeElement.prototype.createContent = function(){\r\n this.searchShapes(this.shapesData,this.itemsData,this.prevViewData, true, []);\r\n};\r\n\r\nCVShapeElement.prototype.createStyleElement = function(data, transforms) {\r\n var styleElem = {\r\n data: data,\r\n type: data.ty,\r\n preTransforms: this.transformsManager.addTransformSequence(transforms),\r\n transforms: [],\r\n elements: [],\r\n closed: data.hd === true\r\n };\r\n var elementData = {};\r\n if(data.ty == 'fl' || data.ty == 'st'){\r\n elementData.c = PropertyFactory.getProp(this,data.c,1,255,this);\r\n if(!elementData.c.k){\r\n styleElem.co = 'rgb('+bm_floor(elementData.c.v[0])+','+bm_floor(elementData.c.v[1])+','+bm_floor(elementData.c.v[2])+')';\r\n }\r\n } else if (data.ty === 'gf' || data.ty === 'gs') {\r\n elementData.s = PropertyFactory.getProp(this,data.s,1,null,this);\r\n elementData.e = PropertyFactory.getProp(this,data.e,1,null,this);\r\n elementData.h = PropertyFactory.getProp(this,data.h||{k:0},0,0.01,this);\r\n elementData.a = PropertyFactory.getProp(this,data.a||{k:0},0,degToRads,this);\r\n elementData.g = new GradientProperty(this,data.g,this);\r\n }\r\n elementData.o = PropertyFactory.getProp(this,data.o,0,0.01,this);\r\n if(data.ty == 'st' || data.ty == 'gs') {\r\n styleElem.lc = this.lcEnum[data.lc] || 'round';\r\n styleElem.lj = this.ljEnum[data.lj] || 'round';\r\n if(data.lj == 1) {\r\n styleElem.ml = data.ml;\r\n }\r\n elementData.w = PropertyFactory.getProp(this,data.w,0,null,this);\r\n if(!elementData.w.k){\r\n styleElem.wi = elementData.w.v;\r\n }\r\n if(data.d){\r\n var d = new DashProperty(this,data.d,'canvas', this);\r\n elementData.d = d;\r\n if(!elementData.d.k){\r\n styleElem.da = elementData.d.dashArray;\r\n styleElem.do = elementData.d.dashoffset[0];\r\n }\r\n }\r\n } else {\r\n styleElem.r = data.r === 2 ? 'evenodd' : 'nonzero';\r\n }\r\n this.stylesList.push(styleElem);\r\n elementData.style = styleElem;\r\n return elementData;\r\n};\r\n\r\nCVShapeElement.prototype.createGroupElement = function(data) {\r\n var elementData = {\r\n it: [],\r\n prevViewData: []\r\n };\r\n return elementData;\r\n};\r\n\r\nCVShapeElement.prototype.createTransformElement = function(data) {\r\n var elementData = {\r\n transform : {\r\n opacity: 1,\r\n _opMdf:false,\r\n key: this.transformsManager.getNewKey(),\r\n op: PropertyFactory.getProp(this,data.o,0,0.01,this),\r\n mProps: TransformPropertyFactory.getTransformProperty(this,data,this)\r\n }\r\n };\r\n return elementData;\r\n};\r\n\r\nCVShapeElement.prototype.createShapeElement = function(data) {\r\n var elementData = new CVShapeData(this, data, this.stylesList, this.transformsManager);\r\n \r\n this.shapes.push(elementData);\r\n this.addShapeToModifiers(elementData);\r\n return elementData;\r\n};\r\n\r\nCVShapeElement.prototype.reloadShapes = function() {\r\n this._isFirstFrame = true;\r\n var i, len = this.itemsData.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.prevViewData[i] = this.itemsData[i];\r\n }\r\n this.searchShapes(this.shapesData,this.itemsData,this.prevViewData, true, []);\r\n len = this.dynamicProperties.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.dynamicProperties[i].getValue();\r\n }\r\n this.renderModifiers();\r\n this.transformsManager.processSequences(this._isFirstFrame);\r\n};\r\n\r\nCVShapeElement.prototype.addTransformToStyleList = function(transform) {\r\n var i, len = this.stylesList.length;\r\n for (i = 0; i < len; i += 1) {\r\n if(!this.stylesList[i].closed) {\r\n this.stylesList[i].transforms.push(transform);\r\n }\r\n }\r\n}\r\n\r\nCVShapeElement.prototype.removeTransformFromStyleList = function() {\r\n var i, len = this.stylesList.length;\r\n for (i = 0; i < len; i += 1) {\r\n if(!this.stylesList[i].closed) {\r\n this.stylesList[i].transforms.pop();\r\n }\r\n }\r\n}\r\n\r\nCVShapeElement.prototype.closeStyles = function(styles) {\r\n var i, len = styles.length, j, jLen;\r\n for (i = 0; i < len; i += 1) {\r\n styles[i].closed = true;\r\n }\r\n}\r\n\r\nCVShapeElement.prototype.searchShapes = function(arr,itemsData, prevViewData, shouldRender, transforms){\r\n var i, len = arr.length - 1;\r\n var j, jLen;\r\n var ownStyles = [], ownModifiers = [], processedPos, modifier, currentTransform;\r\n var ownTransforms = [].concat(transforms);\r\n for(i=len;i>=0;i-=1){\r\n processedPos = this.searchProcessedElement(arr[i]);\r\n if(!processedPos){\r\n arr[i]._shouldRender = shouldRender;\r\n } else {\r\n itemsData[i] = prevViewData[processedPos - 1];\r\n }\r\n if(arr[i].ty == 'fl' || arr[i].ty == 'st'|| arr[i].ty == 'gf'|| arr[i].ty == 'gs'){\r\n if(!processedPos){\r\n itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\r\n } else {\r\n itemsData[i].style.closed = false;\r\n }\r\n \r\n ownStyles.push(itemsData[i].style);\r\n }else if(arr[i].ty == 'gr'){\r\n if(!processedPos){\r\n itemsData[i] = this.createGroupElement(arr[i]);\r\n } else {\r\n jLen = itemsData[i].it.length;\r\n for(j=0;j=0;i-=1){\r\n if(items[i].ty == 'tr'){\r\n groupTransform = data[i].transform;\r\n this.renderShapeTransform(parentTransform, groupTransform);\r\n }else if(items[i].ty == 'sh' || items[i].ty == 'el' || items[i].ty == 'rc' || items[i].ty == 'sr'){\r\n this.renderPath(items[i],data[i]);\r\n }else if(items[i].ty == 'fl'){\r\n this.renderFill(items[i],data[i],groupTransform);\r\n }else if(items[i].ty == 'st'){\r\n this.renderStroke(items[i],data[i],groupTransform);\r\n }else if(items[i].ty == 'gf' || items[i].ty == 'gs'){\r\n this.renderGradientFill(items[i],data[i],groupTransform);\r\n }else if(items[i].ty == 'gr'){\r\n this.renderShape(groupTransform,items[i].it,data[i].it);\r\n }else if(items[i].ty == 'tm'){\r\n //\r\n }\r\n }\r\n if(isMain){\r\n this.drawLayer();\r\n }\r\n \r\n};\r\n\r\nCVShapeElement.prototype.renderStyledShape = function(styledShape, shape){\r\n if(this._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\r\n var shapeNodes = styledShape.trNodes;\r\n var paths = shape.paths;\r\n var i, len, j, jLen = paths._length;\r\n shapeNodes.length = 0;\r\n var groupTransformMat = styledShape.transforms.finalTransform;\r\n for (j = 0; j < jLen; j += 1) {\r\n var pathNodes = paths.shapes[j];\r\n if(pathNodes && pathNodes.v){\r\n len = pathNodes._length;\r\n for (i = 1; i < len; i += 1) {\r\n if (i === 1) {\r\n shapeNodes.push({\r\n t: 'm',\r\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\r\n });\r\n }\r\n shapeNodes.push({\r\n t: 'c',\r\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\r\n });\r\n }\r\n if (len === 1) {\r\n shapeNodes.push({\r\n t: 'm',\r\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\r\n });\r\n }\r\n if (pathNodes.c && len) {\r\n shapeNodes.push({\r\n t: 'c',\r\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\r\n });\r\n shapeNodes.push({\r\n t: 'z'\r\n });\r\n }\r\n }\r\n }\r\n styledShape.trNodes = shapeNodes;\r\n }\r\n}\r\n\r\nCVShapeElement.prototype.renderPath = function(pathData,itemData){\r\n if(pathData.hd !== true && pathData._shouldRender) {\r\n var i, len = itemData.styledShapes.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\r\n }\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.renderFill = function(styleData,itemData, groupTransform){\r\n var styleElem = itemData.style;\r\n\r\n if (itemData.c._mdf || this._isFirstFrame) {\r\n styleElem.co = 'rgb(' \r\n + bm_floor(itemData.c.v[0]) + ',' \r\n + bm_floor(itemData.c.v[1]) + ',' \r\n + bm_floor(itemData.c.v[2]) + ')';\r\n }\r\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\r\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.renderGradientFill = function(styleData,itemData, groupTransform){\r\n var styleElem = itemData.style;\r\n if(!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || (styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf))) {\r\n var ctx = this.globalData.canvasContext;\r\n var grd;\r\n var pt1 = itemData.s.v, pt2 = itemData.e.v;\r\n if (styleData.t === 1) {\r\n grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\r\n } else {\r\n var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\r\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\r\n\r\n var percent = itemData.h.v >= 1 ? 0.99 : itemData.h.v <= -1 ? -0.99: itemData.h.v;\r\n var dist = rad * percent;\r\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\r\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\r\n var grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\r\n }\r\n\r\n var i, len = styleData.g.p;\r\n var cValues = itemData.g.c;\r\n var opacity = 1;\r\n\r\n for (i = 0; i < len; i += 1){\r\n if(itemData.g._hasOpacity && itemData.g._collapsable) {\r\n opacity = itemData.g.o[i*2 + 1];\r\n }\r\n grd.addColorStop(cValues[i * 4] / 100,'rgba('+ cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ','+cValues[i * 4 + 3] + ',' + opacity + ')');\r\n }\r\n styleElem.grd = grd;\r\n }\r\n styleElem.coOp = itemData.o.v*groupTransform.opacity;\r\n \r\n};\r\n\r\nCVShapeElement.prototype.renderStroke = function(styleData,itemData, groupTransform){\r\n var styleElem = itemData.style;\r\n var d = itemData.d;\r\n if(d && (d._mdf || this._isFirstFrame)){\r\n styleElem.da = d.dashArray;\r\n styleElem.do = d.dashoffset[0];\r\n }\r\n if(itemData.c._mdf || this._isFirstFrame){\r\n styleElem.co = 'rgb('+bm_floor(itemData.c.v[0])+','+bm_floor(itemData.c.v[1])+','+bm_floor(itemData.c.v[2])+')';\r\n }\r\n if(itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame){\r\n styleElem.coOp = itemData.o.v*groupTransform.opacity;\r\n }\r\n if(itemData.w._mdf || this._isFirstFrame){\r\n styleElem.wi = itemData.w.v;\r\n }\r\n};\r\n\r\n\r\nCVShapeElement.prototype.destroy = function(){\r\n this.shapesData = null;\r\n this.globalData = null;\r\n this.canvasContext = null;\r\n this.stylesList.length = 0;\r\n this.itemsData.length = 0;\r\n};\r\n\r\n\r\nfunction CVSolidElement(data, globalData, comp) {\r\n this.initElement(data,globalData,comp);\r\n}\r\nextendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\r\n\r\nCVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\r\nCVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\r\n\r\nCVSolidElement.prototype.renderInnerContent = function() {\r\n var ctx = this.canvasContext;\r\n ctx.fillStyle = this.data.sc;\r\n ctx.fillRect(0, 0, this.data.sw, this.data.sh);\r\n //\r\n};\r\nfunction CVTextElement(data, globalData, comp){\r\n this.textSpans = [];\r\n this.yOffset = 0;\r\n this.fillColorAnim = false;\r\n this.strokeColorAnim = false;\r\n this.strokeWidthAnim = false;\r\n this.stroke = false;\r\n this.fill = false;\r\n this.justifyOffset = 0;\r\n this.currentRender = null;\r\n this.renderType = 'canvas';\r\n this.values = {\r\n fill: 'rgba(0,0,0,0)',\r\n stroke: 'rgba(0,0,0,0)',\r\n sWidth: 0,\r\n fValue: ''\r\n };\r\n this.initElement(data,globalData,comp);\r\n}\r\nextendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement,ITextElement], CVTextElement);\r\n\r\nCVTextElement.prototype.tHelper = createTag('canvas').getContext('2d');\r\n\r\nCVTextElement.prototype.buildNewText = function(){\r\n var documentData = this.textProperty.currentData;\r\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\r\n\r\n var hasFill = false;\r\n if(documentData.fc) {\r\n hasFill = true;\r\n this.values.fill = this.buildColor(documentData.fc);\r\n }else{\r\n this.values.fill = 'rgba(0,0,0,0)';\r\n }\r\n this.fill = hasFill;\r\n var hasStroke = false;\r\n if(documentData.sc){\r\n hasStroke = true;\r\n this.values.stroke = this.buildColor(documentData.sc);\r\n this.values.sWidth = documentData.sw;\r\n }\r\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\r\n var i, len;\r\n var letters = documentData.l;\r\n var matrixHelper = this.mHelper;\r\n this.stroke = hasStroke;\r\n this.values.fValue = documentData.finalSize + 'px '+ this.globalData.fontManager.getFontByName(documentData.f).fFamily;\r\n len = documentData.finalText.length;\r\n //this.tHelper.font = this.values.fValue;\r\n var charData, shapeData, k, kLen, shapes, j, jLen, pathNodes, commands, pathArr, singleShape = this.data.singleShape;\r\n var trackingOffset = documentData.tr/1000*documentData.finalSize;\r\n var xPos = 0, yPos = 0, firstLine = true;\r\n var cnt = 0;\r\n for (i = 0; i < len; i += 1) {\r\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\r\n shapeData = charData && charData.data || {};\r\n matrixHelper.reset();\r\n if(singleShape && letters[i].n) {\r\n xPos = -trackingOffset;\r\n yPos += documentData.yOffset;\r\n yPos += firstLine ? 1 : 0;\r\n firstLine = false;\r\n }\r\n\r\n shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\r\n jLen = shapes.length;\r\n matrixHelper.scale(documentData.finalSize/100,documentData.finalSize/100);\r\n if(singleShape){\r\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\r\n }\r\n commands = createSizedArray(jLen);\r\n for(j=0;j= box.x + box.width\r\n && this.currentBBox.height + this.currentBBox.y >= box.y + box.height\r\n}\r\n\r\nHShapeElement.prototype.renderInnerContent = function() {\r\n this._renderShapeFrame();\r\n\r\n if(!this.hidden && (this._isFirstFrame || this._mdf)) {\r\n var tempBoundingBox = this.tempBoundingBox;\r\n var max = 999999;\r\n tempBoundingBox.x = max;\r\n tempBoundingBox.xMax = -max;\r\n tempBoundingBox.y = max;\r\n tempBoundingBox.yMax = -max;\r\n this.calculateBoundingBox(this.itemsData, tempBoundingBox);\r\n tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\r\n tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y;\r\n //var tempBoundingBox = this.shapeCont.getBBox();\r\n if(this.currentBoxContains(tempBoundingBox)) {\r\n return;\r\n }\r\n var changed = false;\r\n if(this.currentBBox.w !== tempBoundingBox.width){\r\n this.currentBBox.w = tempBoundingBox.width;\r\n this.shapeCont.setAttribute('width',tempBoundingBox.width);\r\n changed = true;\r\n }\r\n if(this.currentBBox.h !== tempBoundingBox.height){\r\n this.currentBBox.h = tempBoundingBox.height;\r\n this.shapeCont.setAttribute('height',tempBoundingBox.height);\r\n changed = true;\r\n }\r\n if(changed || this.currentBBox.x !== tempBoundingBox.x || this.currentBBox.y !== tempBoundingBox.y){\r\n this.currentBBox.w = tempBoundingBox.width;\r\n this.currentBBox.h = tempBoundingBox.height;\r\n this.currentBBox.x = tempBoundingBox.x;\r\n this.currentBBox.y = tempBoundingBox.y;\r\n\r\n this.shapeCont.setAttribute('viewBox',this.currentBBox.x+' '+this.currentBBox.y+' '+this.currentBBox.w+' '+this.currentBBox.h);\r\n this.shapeCont.style.transform = this.shapeCont.style.webkitTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\r\n }\r\n }\r\n\r\n};\r\nfunction HTextElement(data,globalData,comp){\r\n this.textSpans = [];\r\n this.textPaths = [];\r\n this.currentBBox = {\r\n x:999999,\r\n y: -999999,\r\n h: 0,\r\n w: 0\r\n };\r\n this.renderType = 'svg';\r\n this.isMasked = false;\r\n this.initElement(data,globalData,comp);\r\n\r\n}\r\nextendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement], HTextElement);\r\n\r\nHTextElement.prototype.createContent = function(){\r\n this.isMasked = this.checkMasks();\r\n if(this.isMasked){\r\n this.renderType = 'svg';\r\n this.compW = this.comp.data.w;\r\n this.compH = this.comp.data.h;\r\n this.svgElement.setAttribute('width',this.compW);\r\n this.svgElement.setAttribute('height',this.compH);\r\n var g = createNS('g');\r\n this.maskedElement.appendChild(g);\r\n this.innerElem = g;\r\n } else {\r\n this.renderType = 'html';\r\n this.innerElem = this.layerElement;\r\n }\r\n\r\n this.checkParenting();\r\n\r\n};\r\n\r\nHTextElement.prototype.buildNewText = function(){\r\n var documentData = this.textProperty.currentData;\r\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\r\n var innerElemStyle = this.innerElem.style;\r\n innerElemStyle.color = innerElemStyle.fill = documentData.fc ? this.buildColor(documentData.fc) : 'rgba(0,0,0,0)';\r\n if(documentData.sc){\r\n innerElemStyle.stroke = this.buildColor(documentData.sc);\r\n innerElemStyle.strokeWidth = documentData.sw+'px';\r\n }\r\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\r\n if(!this.globalData.fontManager.chars){\r\n innerElemStyle.fontSize = documentData.finalSize+'px';\r\n innerElemStyle.lineHeight = documentData.finalSize+'px';\r\n if(fontData.fClass){\r\n this.innerElem.className = fontData.fClass;\r\n } else {\r\n innerElemStyle.fontFamily = fontData.fFamily;\r\n var fWeight = documentData.fWeight, fStyle = documentData.fStyle;\r\n innerElemStyle.fontStyle = fStyle;\r\n innerElemStyle.fontWeight = fWeight;\r\n }\r\n }\r\n var i, len;\r\n\r\n var letters = documentData.l;\r\n len = letters.length;\r\n var tSpan,tParent,tCont;\r\n var matrixHelper = this.mHelper;\r\n var shapes, shapeStr = '';\r\n var cnt = 0;\r\n for (i = 0;i < len ;i += 1) {\r\n if(this.globalData.fontManager.chars){\r\n if(!this.textPaths[cnt]){\r\n tSpan = createNS('path');\r\n tSpan.setAttribute('stroke-linecap', 'butt');\r\n tSpan.setAttribute('stroke-linejoin','round');\r\n tSpan.setAttribute('stroke-miterlimit','4');\r\n } else {\r\n tSpan = this.textPaths[cnt];\r\n }\r\n if(!this.isMasked){\r\n if(this.textSpans[cnt]){\r\n tParent = this.textSpans[cnt];\r\n tCont = tParent.children[0];\r\n } else {\r\n\r\n tParent = createTag('div');\r\n tParent.style.lineHeight = 0;\r\n tCont = createNS('svg');\r\n tCont.appendChild(tSpan);\r\n styleDiv(tParent);\r\n }\r\n }\r\n }else{\r\n if(!this.isMasked){\r\n if(this.textSpans[cnt]){\r\n tParent = this.textSpans[cnt];\r\n tSpan = this.textPaths[cnt];\r\n } else {\r\n tParent = createTag('span');\r\n styleDiv(tParent);\r\n tSpan = createTag('span');\r\n styleDiv(tSpan);\r\n tParent.appendChild(tSpan);\r\n }\r\n } else {\r\n tSpan = this.textPaths[cnt] ? this.textPaths[cnt] : createNS('text');\r\n }\r\n }\r\n //tSpan.setAttribute('visibility', 'hidden');\r\n if(this.globalData.fontManager.chars){\r\n var charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\r\n var shapeData;\r\n if(charData){\r\n shapeData = charData.data;\r\n } else {\r\n shapeData = null;\r\n }\r\n matrixHelper.reset();\r\n if(shapeData && shapeData.shapes){\r\n shapes = shapeData.shapes[0].it;\r\n matrixHelper.scale(documentData.finalSize/100,documentData.finalSize/100);\r\n shapeStr = this.createPathShape(matrixHelper,shapes);\r\n tSpan.setAttribute('d',shapeStr);\r\n }\r\n if(!this.isMasked){\r\n this.innerElem.appendChild(tParent);\r\n if(shapeData && shapeData.shapes){\r\n\r\n //document.body.appendChild is needed to get exact measure of shape\r\n document.body.appendChild(tCont);\r\n var boundingBox = tCont.getBBox();\r\n tCont.setAttribute('width',boundingBox.width + 2);\r\n tCont.setAttribute('height',boundingBox.height + 2);\r\n tCont.setAttribute('viewBox',(boundingBox.x-1)+' '+ (boundingBox.y-1)+' '+ (boundingBox.width+2)+' '+ (boundingBox.height+2));\r\n tCont.style.transform = tCont.style.webkitTransform = 'translate(' + (boundingBox.x-1) + 'px,' + (boundingBox.y-1) + 'px)';\r\n\r\n letters[i].yOffset = boundingBox.y-1;\r\n\r\n } else{\r\n tCont.setAttribute('width',1);\r\n tCont.setAttribute('height',1);\r\n }\r\n tParent.appendChild(tCont);\r\n }else{\r\n this.innerElem.appendChild(tSpan);\r\n }\r\n }else{\r\n tSpan.textContent = letters[i].val;\r\n tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\",\"preserve\");\r\n if(!this.isMasked){\r\n this.innerElem.appendChild(tParent);\r\n //\r\n tSpan.style.transform = tSpan.style.webkitTransform = 'translate3d(0,'+ -documentData.finalSize/1.2+'px,0)';\r\n } else {\r\n this.innerElem.appendChild(tSpan);\r\n }\r\n }\r\n //\r\n if(!this.isMasked){\r\n this.textSpans[cnt] = tParent;\r\n }else{\r\n this.textSpans[cnt] = tSpan;\r\n }\r\n this.textSpans[cnt].style.display = 'block';\r\n this.textPaths[cnt] = tSpan;\r\n cnt += 1;\r\n }\r\n while(cnt < this.textSpans.length){\r\n this.textSpans[cnt].style.display = 'none';\r\n cnt += 1;\r\n }\r\n};\r\n\r\nHTextElement.prototype.renderInnerContent = function() {\r\n\r\n if(this.data.singleShape){\r\n if(!this._isFirstFrame && !this.lettersChangedFlag){\r\n return;\r\n } else {\r\n // Todo Benchmark if using this is better than getBBox\r\n if(this.isMasked && this.finalTransform._matMdf){\r\n this.svgElement.setAttribute('viewBox',-this.finalTransform.mProp.p.v[0]+' '+ -this.finalTransform.mProp.p.v[1]+' '+this.compW+' '+this.compH);\r\n this.svgElement.style.transform = this.svgElement.style.webkitTransform = 'translate(' + -this.finalTransform.mProp.p.v[0] + 'px,' + -this.finalTransform.mProp.p.v[1] + 'px)';\r\n }\r\n }\r\n }\r\n\r\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\r\n if(!this.lettersChangedFlag && !this.textAnimator.lettersChangedFlag){\r\n return;\r\n }\r\n var i,len, count = 0;\r\n var renderedLetters = this.textAnimator.renderedLetters;\r\n\r\n var letters = this.textProperty.currentData.l;\r\n\r\n len = letters.length;\r\n var renderedLetter, textSpan, textPath;\r\n for(i=0;i= 0; i -= 1) {\r\n var mTransf = this.hierarchy[i].finalTransform.mProp;\r\n this.mat.translate(-mTransf.p.v[0],-mTransf.p.v[1],mTransf.p.v[2]);\r\n this.mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\r\n this.mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\r\n this.mat.scale(1/mTransf.s.v[0],1/mTransf.s.v[1],1/mTransf.s.v[2]);\r\n this.mat.translate(mTransf.a.v[0],mTransf.a.v[1],mTransf.a.v[2]);\r\n }\r\n }\r\n if (this.p) {\r\n this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]);\r\n } else {\r\n this.mat.translate(-this.px.v,-this.py.v,this.pz.v);\r\n }\r\n if (this.a) {\r\n var diffVector\r\n if (this.p) {\r\n diffVector = [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]];\r\n } else {\r\n diffVector = [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];\r\n }\r\n var mag = Math.sqrt(Math.pow(diffVector[0],2)+Math.pow(diffVector[1],2)+Math.pow(diffVector[2],2));\r\n //var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\r\n var lookDir = [diffVector[0]/mag,diffVector[1]/mag,diffVector[2]/mag];\r\n var lookLengthOnXZ = Math.sqrt( lookDir[2]*lookDir[2] + lookDir[0]*lookDir[0] );\r\n var m_rotationX = (Math.atan2( lookDir[1], lookLengthOnXZ ));\r\n var m_rotationY = (Math.atan2( lookDir[0], -lookDir[2]));\r\n this.mat.rotateY(m_rotationY).rotateX(-m_rotationX);\r\n\r\n }\r\n this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v);\r\n this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]);\r\n this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0);\r\n this.mat.translate(0,0,this.pe.v);\r\n\r\n\r\n \r\n\r\n var hasMatrixChanged = !this._prevMat.equals(this.mat);\r\n if((hasMatrixChanged || this.pe._mdf) && this.comp.threeDElements) {\r\n len = this.comp.threeDElements.length;\r\n var comp;\r\n for(i=0;i=0;i-=1){\r\n registeredAnimations[i].animation.destroy(animation);\r\n }\r\n }\r\n\r\n function searchAnimations(animationData, standalone, renderer){\r\n var animElements = [].concat([].slice.call(document.getElementsByClassName('lottie')),\r\n [].slice.call(document.getElementsByClassName('bodymovin')));\r\n var i, len = animElements.length;\r\n for(i=0;i this.animationData.op){\r\n this.animationData.op = data.op;\r\n this.totalFrames = Math.floor(data.op - this.animationData.ip);\r\n }\r\n var layers = this.animationData.layers;\r\n var i, len = layers.length;\r\n var newLayers = data.layers;\r\n var j, jLen = newLayers.length;\r\n for(j=0;j this.timeCompleted){\r\n this.currentFrame = this.timeCompleted;\r\n }\r\n this.trigger('enterFrame');\r\n this.renderFrame();\r\n};\r\n\r\nAnimationItem.prototype.renderFrame = function () {\r\n if(this.isLoaded === false){\r\n return;\r\n }\r\n try {\r\n this.renderer.renderFrame(this.currentFrame + this.firstFrame);\r\n } catch(error) {\r\n this.triggerRenderFrameError(error);\r\n }\r\n};\r\n\r\nAnimationItem.prototype.play = function (name) {\r\n if(name && this.name != name){\r\n return;\r\n }\r\n if (this.isPaused === true) {\r\n this.isPaused = false;\r\n this.audioController.resume();\r\n if(this._idle){\r\n this._idle = false;\r\n this.trigger('_active');\r\n }\r\n }\r\n};\r\n\r\nAnimationItem.prototype.pause = function (name) {\r\n if(name && this.name != name){\r\n return;\r\n }\r\n if(this.isPaused === false){\r\n this.isPaused = true;\r\n this._idle = true;\r\n this.trigger('_idle');\r\n this.audioController.pause();\r\n }\r\n};\r\n\r\nAnimationItem.prototype.togglePause = function (name) {\r\n if(name && this.name != name){\r\n return;\r\n }\r\n if(this.isPaused === true){\r\n this.play();\r\n }else{\r\n this.pause();\r\n }\r\n};\r\n\r\nAnimationItem.prototype.stop = function (name) {\r\n if(name && this.name != name){\r\n return;\r\n }\r\n this.pause();\r\n this.playCount = 0;\r\n this._completedLoop = false;\r\n this.setCurrentRawFrameValue(0);\r\n};\r\n\r\nAnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\r\n if(name && this.name != name){\r\n return;\r\n }\r\n if(isFrame){\r\n this.setCurrentRawFrameValue(value);\r\n }else{\r\n this.setCurrentRawFrameValue(value * this.frameModifier);\r\n }\r\n this.pause();\r\n};\r\n\r\nAnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\r\n this.goToAndStop(value, isFrame, name);\r\n this.play();\r\n};\r\n\r\nAnimationItem.prototype.advanceTime = function (value) {\r\n if (this.isPaused === true || this.isLoaded === false) {\r\n return;\r\n }\r\n var nextValue = this.currentRawFrame + value * this.frameModifier;\r\n var _isComplete = false;\r\n // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\r\n // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.\r\n if (nextValue >= this.totalFrames - 1 && this.frameModifier > 0) {\r\n if (!this.loop || this.playCount === this.loop) {\r\n if (!this.checkSegments(nextValue > this.totalFrames ? nextValue % this.totalFrames : 0)) {\r\n _isComplete = true;\r\n nextValue = this.totalFrames - 1;\r\n }\r\n } else if (nextValue >= this.totalFrames) {\r\n this.playCount += 1;\r\n if (!this.checkSegments(nextValue % this.totalFrames)) {\r\n this.setCurrentRawFrameValue(nextValue % this.totalFrames);\r\n this._completedLoop = true;\r\n this.trigger('loopComplete');\r\n }\r\n } else {\r\n this.setCurrentRawFrameValue(nextValue);\r\n }\r\n } else if(nextValue < 0) {\r\n if (!this.checkSegments(nextValue % this.totalFrames)) {\r\n if (this.loop && !(this.playCount-- <= 0 && this.loop !== true)) {\r\n this.setCurrentRawFrameValue(this.totalFrames + (nextValue % this.totalFrames));\r\n if(!this._completedLoop) {\r\n this._completedLoop = true;\r\n } else {\r\n this.trigger('loopComplete');\r\n }\r\n } else {\r\n _isComplete = true;\r\n nextValue = 0;\r\n }\r\n }\r\n } else {\r\n this.setCurrentRawFrameValue(nextValue);\r\n }\r\n if (_isComplete) {\r\n this.setCurrentRawFrameValue(nextValue);\r\n this.pause();\r\n this.trigger('complete');\r\n }\r\n};\r\n\r\nAnimationItem.prototype.adjustSegment = function(arr, offset){\r\n this.playCount = 0;\r\n if(arr[1] < arr[0]){\r\n if(this.frameModifier > 0){\r\n if(this.playSpeed < 0){\r\n this.setSpeed(-this.playSpeed);\r\n } else {\r\n this.setDirection(-1);\r\n }\r\n }\r\n this.timeCompleted = this.totalFrames = arr[0] - arr[1];\r\n this.firstFrame = arr[1];\r\n this.setCurrentRawFrameValue(this.totalFrames - 0.001 - offset);\r\n } else if(arr[1] > arr[0]){\r\n if(this.frameModifier < 0){\r\n if(this.playSpeed < 0){\r\n this.setSpeed(-this.playSpeed);\r\n } else {\r\n this.setDirection(1);\r\n }\r\n }\r\n this.timeCompleted = this.totalFrames = arr[1] - arr[0];\r\n this.firstFrame = arr[0];\r\n this.setCurrentRawFrameValue(0.001 + offset);\r\n }\r\n this.trigger('segmentStart');\r\n};\r\nAnimationItem.prototype.setSegment = function (init,end) {\r\n var pendingFrame = -1;\r\n if(this.isPaused) {\r\n if (this.currentRawFrame + this.firstFrame < init) {\r\n pendingFrame = init;\r\n } else if (this.currentRawFrame + this.firstFrame > end) {\r\n pendingFrame = end - init;\r\n }\r\n }\r\n\r\n this.firstFrame = init;\r\n this.timeCompleted = this.totalFrames = end - init;\r\n if(pendingFrame !== -1) {\r\n this.goToAndStop(pendingFrame,true);\r\n }\r\n};\r\n\r\nAnimationItem.prototype.playSegments = function (arr, forceFlag) {\r\n if (forceFlag) {\r\n this.segments.length = 0;\r\n }\r\n if (typeof arr[0] === 'object') {\r\n var i, len = arr.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.segments.push(arr[i]);\r\n }\r\n } else {\r\n this.segments.push(arr);\r\n }\r\n if (this.segments.length && forceFlag) {\r\n this.adjustSegment(this.segments.shift(), 0);\r\n }\r\n if (this.isPaused) {\r\n this.play();\r\n }\r\n};\r\n\r\nAnimationItem.prototype.resetSegments = function (forceFlag) {\r\n this.segments.length = 0;\r\n this.segments.push([this.animationData.ip,this.animationData.op]);\r\n //this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op - this.animationData.ip+this.animationData.ip*this.frameRate)]);\r\n if (forceFlag) {\r\n this.checkSegments(0);\r\n }\r\n};\r\nAnimationItem.prototype.checkSegments = function(offset) {\r\n if (this.segments.length) {\r\n this.adjustSegment(this.segments.shift(), offset);\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nAnimationItem.prototype.destroy = function (name) {\r\n if ((name && this.name != name) || !this.renderer) {\r\n return;\r\n }\r\n this.renderer.destroy();\r\n this.imagePreloader.destroy();\r\n this.trigger('destroy');\r\n this._cbs = null;\r\n this.onEnterFrame = this.onLoopComplete = this.onComplete = this.onSegmentStart = this.onDestroy = null;\r\n this.renderer = null;\r\n};\r\n\r\nAnimationItem.prototype.setCurrentRawFrameValue = function(value){\r\n this.currentRawFrame = value;\r\n this.gotoFrame();\r\n};\r\n\r\nAnimationItem.prototype.setSpeed = function (val) {\r\n this.playSpeed = val;\r\n this.updaFrameModifier();\r\n};\r\n\r\nAnimationItem.prototype.setDirection = function (val) {\r\n this.playDirection = val < 0 ? -1 : 1;\r\n this.updaFrameModifier();\r\n};\r\n\r\nAnimationItem.prototype.setVolume = function (val, name) {\r\n if (name && this.name !== name) {\r\n return;\r\n }\r\n this.audioController.setVolume(val);\r\n};\r\n\r\nAnimationItem.prototype.getVolume = function () {\r\n return this.audioController.getVolume();\r\n};\r\n\r\nAnimationItem.prototype.mute = function (name) {\r\n if (name && this.name !== name) {\r\n return;\r\n }\r\n this.audioController.mute();\r\n};\r\n\r\nAnimationItem.prototype.unmute = function (name) {\r\n if(name && this.name !== name){\r\n return;\r\n }\r\n this.audioController.unmute();\r\n};\r\n\r\nAnimationItem.prototype.updaFrameModifier = function () {\r\n this.frameModifier = this.frameMult * this.playSpeed * this.playDirection;\r\n this.audioController.setRate(this.playSpeed * this.playDirection)\r\n};\r\n\r\nAnimationItem.prototype.getPath = function () {\r\n return this.path;\r\n};\r\n\r\nAnimationItem.prototype.getAssetsPath = function (assetData) {\r\n var path = '';\r\n if(assetData.e) {\r\n path = assetData.p;\r\n } else if(this.assetsPath){\r\n var imagePath = assetData.p;\r\n if(imagePath.indexOf('images/') !== -1){\r\n imagePath = imagePath.split('/')[1];\r\n }\r\n path = this.assetsPath + imagePath;\r\n } else {\r\n path = this.path;\r\n path += assetData.u ? assetData.u : '';\r\n path += assetData.p;\r\n }\r\n return path;\r\n};\r\n\r\nAnimationItem.prototype.getAssetData = function (id) {\r\n var i = 0, len = this.assets.length;\r\n while (i < len) {\r\n if(id == this.assets[i].id){\r\n return this.assets[i];\r\n }\r\n i += 1;\r\n }\r\n};\r\n\r\nAnimationItem.prototype.hide = function () {\r\n this.renderer.hide();\r\n};\r\n\r\nAnimationItem.prototype.show = function () {\r\n this.renderer.show();\r\n};\r\n\r\nAnimationItem.prototype.getDuration = function (isFrame) {\r\n return isFrame ? this.totalFrames : this.totalFrames / this.frameRate;\r\n};\r\n\r\nAnimationItem.prototype.trigger = function(name){\r\n if(this._cbs && this._cbs[name]){\r\n switch(name){\r\n case 'enterFrame':\r\n this.triggerEvent(name,new BMEnterFrameEvent(name,this.currentFrame,this.totalFrames,this.frameModifier));\r\n break;\r\n case 'loopComplete':\r\n this.triggerEvent(name,new BMCompleteLoopEvent(name,this.loop,this.playCount,this.frameMult));\r\n break;\r\n case 'complete':\r\n this.triggerEvent(name,new BMCompleteEvent(name,this.frameMult));\r\n break;\r\n case 'segmentStart':\r\n this.triggerEvent(name,new BMSegmentStartEvent(name,this.firstFrame,this.totalFrames));\r\n break;\r\n case 'destroy':\r\n this.triggerEvent(name,new BMDestroyEvent(name,this));\r\n break;\r\n default:\r\n this.triggerEvent(name);\r\n }\r\n }\r\n if(name === 'enterFrame' && this.onEnterFrame){\r\n this.onEnterFrame.call(this,new BMEnterFrameEvent(name,this.currentFrame,this.totalFrames,this.frameMult));\r\n }\r\n if(name === 'loopComplete' && this.onLoopComplete){\r\n this.onLoopComplete.call(this,new BMCompleteLoopEvent(name,this.loop,this.playCount,this.frameMult));\r\n }\r\n if(name === 'complete' && this.onComplete){\r\n this.onComplete.call(this,new BMCompleteEvent(name,this.frameMult));\r\n }\r\n if(name === 'segmentStart' && this.onSegmentStart){\r\n this.onSegmentStart.call(this,new BMSegmentStartEvent(name,this.firstFrame,this.totalFrames));\r\n }\r\n if(name === 'destroy' && this.onDestroy){\r\n this.onDestroy.call(this,new BMDestroyEvent(name,this));\r\n }\r\n};\r\n\r\nAnimationItem.prototype.triggerRenderFrameError = function(nativeError) {\r\n\r\n var error = new BMRenderFrameErrorEvent(nativeError, this.currentFrame);\r\n this.triggerEvent('error', error);\r\n\r\n if (this.onError) {\r\n this.onError.call(this, error);\r\n }\r\n}\r\n\r\nAnimationItem.prototype.triggerConfigError = function(nativeError) {\r\n\r\n var error = new BMConfigErrorEvent(nativeError, this.currentFrame);\r\n this.triggerEvent('error', error);\r\n\r\n if (this.onError) {\r\n this.onError.call(this, error);\r\n }\r\n}\r\nvar Expressions = (function(){\r\n var ob = {};\r\n ob.initExpressions = initExpressions;\r\n\r\n\r\n function initExpressions(animation){\r\n\r\n \tvar stackCount = 0;\r\n \tvar registers = [];\r\n\r\n \tfunction pushExpression() {\r\n\t\t\tstackCount += 1;\r\n \t}\r\n\r\n \tfunction popExpression() {\r\n\t\t\tstackCount -= 1;\r\n\t\t\tif (stackCount === 0) {\r\n\t\t\t\treleaseInstances();\r\n\t\t\t}\r\n \t}\r\n\r\n \tfunction registerExpressionProperty(expression) {\r\n \t\tif (registers.indexOf(expression) === -1) {\r\n\t\t\t\tregisters.push(expression)\r\n \t\t}\r\n \t}\r\n\r\n \tfunction releaseInstances() {\r\n \t\tvar i, len = registers.length;\r\n \t\tfor (i = 0; i < len; i += 1) {\r\n\t\t\t\tregisters[i].release();\r\n \t\t}\r\n \t\tregisters.length = 0;\r\n \t}\r\n\r\n animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\r\n animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\r\n animation.renderer.globalData.pushExpression = pushExpression;\r\n animation.renderer.globalData.popExpression = popExpression;\r\n animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\r\n }\r\n return ob;\r\n}());\r\n\r\nexpressionsPlugin = Expressions;\r\n\r\nvar ExpressionManager = (function(){\r\n 'use strict';\r\n var ob = {};\r\n var Math = BMMath;\r\n var window = null;\r\n var document = null;\r\n\r\n function $bm_isInstanceOfArray(arr) {\r\n return arr.constructor === Array || arr.constructor === Float32Array;\r\n }\r\n\r\n function isNumerable(tOfV, v) {\r\n return tOfV === 'number' || tOfV === 'boolean' || tOfV === 'string' || v instanceof Number;\r\n }\r\n\r\n function $bm_neg(a){\r\n var tOfA = typeof a;\r\n if(tOfA === 'number' || tOfA === 'boolean' || a instanceof Number ){\r\n return -a;\r\n }\r\n if($bm_isInstanceOfArray(a)){\r\n var i, lenA = a.length;\r\n var retArr = [];\r\n for(i=0;i max){\r\n var mm = max;\r\n max = min;\r\n min = mm;\r\n }\r\n return Math.min(Math.max(num, min), max);\r\n }\r\n\r\n function radiansToDegrees(val) {\r\n return val/degToRads;\r\n }\r\n var radians_to_degrees = radiansToDegrees;\r\n\r\n function degreesToRadians(val) {\r\n return val*degToRads;\r\n }\r\n var degrees_to_radians = radiansToDegrees;\r\n\r\n var helperLengthArray = [0,0,0,0,0,0];\r\n\r\n function length(arr1, arr2) {\r\n if (typeof arr1 === 'number' || arr1 instanceof Number) {\r\n arr2 = arr2 || 0;\r\n return Math.abs(arr1 - arr2);\r\n }\r\n if(!arr2) {\r\n arr2 = helperLengthArray;\r\n }\r\n var i, len = Math.min(arr1.length, arr2.length);\r\n var addedLength = 0;\r\n for (i = 0; i < len; i += 1) {\r\n addedLength += Math.pow(arr2[i] - arr1[i], 2);\r\n }\r\n return Math.sqrt(addedLength);\r\n }\r\n\r\n function normalize(vec) {\r\n return div(vec, length(vec));\r\n }\r\n\r\n function rgbToHsl(val) {\r\n var r = val[0]; var g = val[1]; var b = val[2];\r\n var max = Math.max(r, g, b), min = Math.min(r, g, b);\r\n var h, s, l = (max + min) / 2;\r\n\r\n if(max == min){\r\n h = s = 0; // achromatic\r\n }else{\r\n var d = max - min;\r\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\r\n switch(max){\r\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\r\n case g: h = (b - r) / d + 2; break;\r\n case b: h = (r - g) / d + 4; break;\r\n }\r\n h /= 6;\r\n }\r\n\r\n return [h, s, l,val[3]];\r\n }\r\n\r\n function hue2rgb(p, q, t){\r\n if(t < 0) t += 1;\r\n if(t > 1) t -= 1;\r\n if(t < 1/6) return p + (q - p) * 6 * t;\r\n if(t < 1/2) return q;\r\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\r\n return p;\r\n }\r\n\r\n function hslToRgb(val){\r\n var h = val[0];\r\n var s = val[1];\r\n var l = val[2];\r\n\r\n var r, g, b;\r\n\r\n if(s === 0){\r\n r = g = b = l; // achromatic\r\n }else{\r\n\r\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\r\n var p = 2 * l - q;\r\n r = hue2rgb(p, q, h + 1/3);\r\n g = hue2rgb(p, q, h);\r\n b = hue2rgb(p, q, h - 1/3);\r\n }\r\n\r\n return [r, g , b, val[3]];\r\n }\r\n\r\n function linear(t, tMin, tMax, value1, value2){\r\n if(value1 === undefined || value2 === undefined){\r\n value1 = tMin;\r\n value2 = tMax;\r\n tMin = 0;\r\n tMax = 1;\r\n }\r\n if(tMax < tMin) {\r\n var _tMin = tMax;\r\n tMax = tMin;\r\n tMin = _tMin;\r\n }\r\n if(t <= tMin) {\r\n return value1;\r\n }else if(t >= tMax){\r\n return value2;\r\n }\r\n var perc = tMax === tMin ? 0 : (t-tMin)/(tMax-tMin);\r\n if(!value1.length){\r\n return value1 + (value2-value1)*perc;\r\n }\r\n var i, len = value1.length;\r\n var arr = createTypedArray('float32', len);\r\n for(i=0;i1){\r\n for(j=0;j 1 ? 1 : t < 0 ? 0 : t;\r\n var mult = fn(t);\r\n if($bm_isInstanceOfArray(val1)) {\r\n var i, len = val1.length;\r\n var arr = createTypedArray('float32', len);\r\n for (i = 0; i < len; i += 1) {\r\n arr[i] = (val2[i] - val1[i]) * mult + val1[i];\r\n }\r\n return arr;\r\n } else {\r\n return (val2 - val1) * mult + val1;\r\n }\r\n }\r\n\r\n function nearestKey(time){\r\n var i, len = data.k.length,index,keyTime;\r\n if(!data.k.length || typeof(data.k[0]) === 'number'){\r\n index = 0;\r\n keyTime = 0;\r\n } else {\r\n index = -1;\r\n time *= elem.comp.globalData.frameRate;\r\n if (time < data.k[0].t) {\r\n index = 1;\r\n keyTime = data.k[0].t;\r\n } else {\r\n for(i=0;idata.k[i].t && time data.k[i+1].t - time){\r\n index = i + 2;\r\n keyTime = data.k[i+1].t;\r\n } else {\r\n index = i + 1;\r\n keyTime = data.k[i].t;\r\n }\r\n break;\r\n }\r\n }\r\n if(index === -1){\r\n index = i + 1;\r\n keyTime = data.k[i].t;\r\n }\r\n }\r\n \r\n }\r\n var ob = {};\r\n ob.index = index;\r\n ob.time = keyTime/elem.comp.globalData.frameRate;\r\n return ob;\r\n }\r\n\r\n function key(ind){\r\n var ob, i, len;\r\n if(!data.k.length || typeof(data.k[0]) === 'number'){\r\n throw new Error('The property has no keyframe at index ' + ind);\r\n }\r\n ind -= 1;\r\n ob = {\r\n time: data.k[ind].t/elem.comp.globalData.frameRate,\r\n value: []\r\n };\r\n var arr = data.k[ind].hasOwnProperty('s') ? data.k[ind].s : data.k[ind - 1].e;\r\n\r\n len = arr.length;\r\n for(i=0;i keyframes.length - 1){\r\n duration = keyframes.length - 1;\r\n }\r\n firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\r\n cycleDuration = lastKeyFrame - firstKeyFrame;\r\n } else {\r\n if(!duration){\r\n cycleDuration = Math.max(0,lastKeyFrame - this.elem.data.ip);\r\n } else {\r\n cycleDuration = Math.abs(lastKeyFrame - elem.comp.globalData.frameRate*duration);\r\n }\r\n firstKeyFrame = lastKeyFrame - cycleDuration;\r\n }\r\n var i, len, ret;\r\n if(type === 'pingpong') {\r\n var iterations = Math.floor((currentFrame - firstKeyFrame)/cycleDuration);\r\n if(iterations % 2 !== 0){\r\n return this.getValueAtTime(((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame)) / this.comp.globalData.frameRate, 0);\r\n }\r\n } else if(type === 'offset'){\r\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\r\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\r\n var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);\r\n var repeats = Math.floor((currentFrame - firstKeyFrame)/cycleDuration);\r\n if(this.pv.length){\r\n ret = new Array(initV.length);\r\n len = ret.length;\r\n for(i=0;i=firstKeyFrame){\r\n return this.pv;\r\n }else{\r\n var cycleDuration, lastKeyFrame;\r\n if(!durationFlag){\r\n if(!duration || duration > keyframes.length - 1){\r\n duration = keyframes.length - 1;\r\n }\r\n lastKeyFrame = keyframes[duration].t;\r\n cycleDuration = lastKeyFrame - firstKeyFrame;\r\n } else {\r\n if(!duration){\r\n cycleDuration = Math.max(0,this.elem.data.op - firstKeyFrame);\r\n } else {\r\n cycleDuration = Math.abs(elem.comp.globalData.frameRate*duration);\r\n }\r\n lastKeyFrame = firstKeyFrame + cycleDuration;\r\n }\r\n var i, len, ret;\r\n if(type === 'pingpong') {\r\n var iterations = Math.floor((firstKeyFrame - currentFrame)/cycleDuration);\r\n if(iterations % 2 === 0){\r\n return this.getValueAtTime((((firstKeyFrame - currentFrame)%cycleDuration + firstKeyFrame)) / this.comp.globalData.frameRate, 0);\r\n }\r\n } else if(type === 'offset'){\r\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\r\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\r\n var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame)%cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);\r\n var repeats = Math.floor((firstKeyFrame - currentFrame)/cycleDuration)+1;\r\n if(this.pv.length){\r\n ret = new Array(initV.length);\r\n len = ret.length;\r\n for(i=0;i 1 ? (endFrame - initFrame) / (samples - 1) : 1;\r\n var i = 0, j = 0;\r\n var value;\r\n if (this.pv.length) {\r\n value = createTypedArray('float32', this.pv.length);\r\n } else {\r\n value = 0;\r\n }\r\n var sampleValue;\r\n while (i < samples) {\r\n sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\r\n if(this.pv.length) {\r\n for (j = 0; j < this.pv.length; j += 1) {\r\n value[j] += sampleValue[j];\r\n }\r\n } else {\r\n value += sampleValue;\r\n }\r\n i += 1;\r\n }\r\n if(this.pv.length) {\r\n for (j = 0; j < this.pv.length; j += 1) {\r\n value[j] /= samples;\r\n }\r\n } else {\r\n value /= samples;\r\n }\r\n return value;\r\n }\r\n\r\n function getValueAtTime(frameNum) {\r\n frameNum *= this.elem.globalData.frameRate;\r\n frameNum -= this.offsetTime;\r\n if(frameNum !== this._cachingAtTime.lastFrame) {\r\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0;\r\n this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime);\r\n this._cachingAtTime.lastFrame = frameNum;\r\n }\r\n return this._cachingAtTime.value;\r\n\r\n }\r\n\r\n function getTransformValueAtTime(time) {\r\n if (!this._transformCachingAtTime) {\r\n this._transformCachingAtTime = {\r\n v: new Matrix(),\r\n };\r\n }\r\n ////\r\n var matrix = this._transformCachingAtTime.v;\r\n matrix.cloneFromProps(this.pre.props);\r\n if (this.appliedTransformations < 1) {\r\n var anchor = this.a.getValueAtTime(time);\r\n matrix.translate(-anchor[0], -anchor[1], anchor[2]);\r\n }\r\n if (this.appliedTransformations < 2) {\r\n var scale = this.s.getValueAtTime(time);\r\n matrix.scale(scale[0], scale[1], scale[2]);\r\n }\r\n if (this.sk && this.appliedTransformations < 3) {\r\n var skew = this.sk.getValueAtTime(time);\r\n var skewAxis = this.sa.getValueAtTime(time);\r\n matrix.skewFromAxis(-skew, skewAxis);\r\n }\r\n if (this.r && this.appliedTransformations < 4) {\r\n var rotation = this.r.getValueAtTime(time);\r\n matrix.rotate(-rotation);\r\n } else if (!this.r && this.appliedTransformations < 4){\r\n var rotationZ = this.rz.getValueAtTime(time);\r\n var rotationY = this.ry.getValueAtTime(time);\r\n var rotationX = this.rx.getValueAtTime(time);\r\n var orientation = this.or.getValueAtTime(time);\r\n matrix.rotateZ(-rotationZ.v)\r\n .rotateY(rotationY.v)\r\n .rotateX(rotationX.v)\r\n .rotateZ(-orientation[2])\r\n .rotateY(orientation[1])\r\n .rotateX(orientation[0]);\r\n }\r\n if (this.data.p && this.data.p.s) {\r\n var positionX = this.px.getValueAtTime(time);\r\n var positionY = this.py.getValueAtTime(time);\r\n if (this.data.p.z) {\r\n var positionZ = this.pz.getValueAtTime(time);\r\n matrix.translate(positionX, positionY, -positionZ);\r\n } else {\r\n matrix.translate(positionX, positionY, 0);\r\n }\r\n } else {\r\n var position = this.p.getValueAtTime(time);\r\n matrix.translate(position[0], position[1], -position[2]);\r\n }\r\n return matrix;\r\n ////\r\n }\r\n\r\n function getTransformStaticValueAtTime(time) {\r\n\r\n }\r\n\r\n var getTransformProperty = TransformPropertyFactory.getTransformProperty;\r\n TransformPropertyFactory.getTransformProperty = function(elem, data, container) {\r\n var prop = getTransformProperty(elem, data, container);\r\n if(prop.dynamicProperties.length) {\r\n prop.getValueAtTime = getTransformValueAtTime.bind(prop);\r\n } else {\r\n prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\r\n }\r\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\r\n return prop;\r\n };\r\n\r\n var propertyGetProp = PropertyFactory.getProp;\r\n PropertyFactory.getProp = function(elem,data,type, mult, container){\r\n var prop = propertyGetProp(elem,data,type, mult, container);\r\n //prop.getVelocityAtTime = getVelocityAtTime;\r\n //prop.loopOut = loopOut;\r\n //prop.loopIn = loopIn;\r\n if(prop.kf){\r\n prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\r\n } else {\r\n prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\r\n }\r\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\r\n prop.loopOut = loopOut;\r\n prop.loopIn = loopIn;\r\n prop.smooth = smooth;\r\n prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\r\n prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\r\n prop.numKeys = data.a === 1 ? data.k.length : 0;\r\n prop.propertyIndex = data.ix;\r\n var value = 0;\r\n if(type !== 0) {\r\n value = createTypedArray('float32', data.a === 1 ? data.k[0].s.length : data.k.length);\r\n }\r\n prop._cachingAtTime = {\r\n lastFrame: initialDefaultFrame,\r\n lastIndex: 0,\r\n value: value\r\n };\r\n expressionHelpers.searchExpressions(elem,data,prop);\r\n if(prop.k){\r\n container.addDynamicProperty(prop);\r\n }\r\n\r\n return prop;\r\n };\r\n\r\n function getShapeValueAtTime(frameNum) {\r\n //For now this caching object is created only when needed instead of creating it when the shape is initialized.\r\n if (!this._cachingAtTime) {\r\n this._cachingAtTime = {\r\n shapeValue: shape_pool.clone(this.pv),\r\n lastIndex: 0,\r\n lastTime: initialDefaultFrame\r\n };\r\n }\r\n \r\n frameNum *= this.elem.globalData.frameRate;\r\n frameNum -= this.offsetTime;\r\n if(frameNum !== this._cachingAtTime.lastTime) {\r\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < frameNum ? this._caching.lastIndex : 0;\r\n this._cachingAtTime.lastTime = frameNum;\r\n this.interpolateShape(frameNum, this._cachingAtTime.shapeValue, this._cachingAtTime);\r\n }\r\n return this._cachingAtTime.shapeValue;\r\n }\r\n\r\n var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\r\n var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\r\n\r\n function ShapeExpressions(){}\r\n ShapeExpressions.prototype = {\r\n vertices: function(prop, time){\r\n if (this.k) {\r\n this.getValue();\r\n }\r\n var shapePath = this.v;\r\n if(time !== undefined) {\r\n shapePath = this.getValueAtTime(time, 0);\r\n }\r\n var i, len = shapePath._length;\r\n var vertices = shapePath[prop];\r\n var points = shapePath.v;\r\n var arr = createSizedArray(len);\r\n for(i = 0; i < len; i += 1) {\r\n if(prop === 'i' || prop === 'o') {\r\n arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\r\n } else {\r\n arr[i] = [vertices[i][0], vertices[i][1]];\r\n }\r\n \r\n }\r\n return arr;\r\n },\r\n points: function(time){\r\n return this.vertices('v', time);\r\n },\r\n inTangents: function(time){\r\n return this.vertices('i', time);\r\n },\r\n outTangents: function(time){\r\n return this.vertices('o', time);\r\n },\r\n isClosed: function(){\r\n return this.v.c;\r\n },\r\n pointOnPath: function(perc, time){\r\n var shapePath = this.v;\r\n if(time !== undefined) {\r\n shapePath = this.getValueAtTime(time, 0);\r\n }\r\n if(!this._segmentsLength) {\r\n this._segmentsLength = bez.getSegmentsLength(shapePath);\r\n }\r\n\r\n var segmentsLength = this._segmentsLength;\r\n var lengths = segmentsLength.lengths;\r\n var lengthPos = segmentsLength.totalLength * perc;\r\n var i = 0, len = lengths.length;\r\n var j = 0, jLen;\r\n var accumulatedLength = 0, pt;\r\n while(i < len) {\r\n if(accumulatedLength + lengths[i].addedLength > lengthPos) {\r\n var initIndex = i;\r\n var endIndex = (shapePath.c && i === len - 1) ? 0 : i + 1;\r\n var segmentPerc = (lengthPos - accumulatedLength)/lengths[i].addedLength;\r\n pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\r\n break;\r\n } else {\r\n accumulatedLength += lengths[i].addedLength;\r\n }\r\n i += 1;\r\n }\r\n if(!pt){\r\n pt = shapePath.c ? [shapePath.v[0][0],shapePath.v[0][1]]:[shapePath.v[shapePath._length-1][0],shapePath.v[shapePath._length-1][1]];\r\n }\r\n return pt;\r\n },\r\n vectorOnPath: function(perc, time, vectorType){\r\n //perc doesn't use triple equality because it can be a Number object as well as a primitive.\r\n perc = perc == 1 ? this.v.c ? 0 : 0.999 : perc;\r\n var pt1 = this.pointOnPath(perc, time);\r\n var pt2 = this.pointOnPath(perc + 0.001, time);\r\n var xLength = pt2[0] - pt1[0];\r\n var yLength = pt2[1] - pt1[1];\r\n var magnitude = Math.sqrt(Math.pow(xLength,2) + Math.pow(yLength,2));\r\n if (magnitude === 0) {\r\n return [0,0];\r\n }\r\n var unitVector = vectorType === 'tangent' ? [xLength/magnitude, yLength/magnitude] : [-yLength/magnitude, xLength/magnitude];\r\n return unitVector;\r\n },\r\n tangentOnPath: function(perc, time){\r\n return this.vectorOnPath(perc, time, 'tangent');\r\n },\r\n normalOnPath: function(perc, time){\r\n return this.vectorOnPath(perc, time, 'normal');\r\n },\r\n setGroupProperty: expressionHelpers.setGroupProperty,\r\n getValueAtTime: expressionHelpers.getStaticValueAtTime\r\n };\r\n extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\r\n extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\r\n KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\r\n KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\r\n\r\n var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\r\n ShapePropertyFactory.getShapeProp = function(elem,data,type, arr, trims){\r\n var prop = propertyGetShapeProp(elem,data,type, arr, trims);\r\n prop.propertyIndex = data.ix;\r\n prop.lock = false;\r\n if(type === 3){\r\n expressionHelpers.searchExpressions(elem,data.pt,prop);\r\n } else if(type === 4){\r\n expressionHelpers.searchExpressions(elem,data.ks,prop);\r\n }\r\n if(prop.k){\r\n elem.addDynamicProperty(prop);\r\n }\r\n return prop;\r\n };\r\n}());\r\n(function addDecorator() {\r\n\r\n function searchExpressions(){\r\n if(this.data.d.x){\r\n this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this);\r\n this.addEffect(this.getExpressionValue.bind(this));\r\n return true;\r\n }\r\n }\r\n\r\n TextProperty.prototype.getExpressionValue = function(currentValue, text) {\r\n var newValue = this.calculateExpression(text);\r\n if(currentValue.t !== newValue) {\r\n var newData = {};\r\n this.copyData(newData, currentValue);\r\n newData.t = newValue.toString();\r\n newData.__complete = false;\r\n return newData;\r\n }\r\n return currentValue;\r\n }\r\n\r\n TextProperty.prototype.searchProperty = function(){\r\n\r\n var isKeyframed = this.searchKeyframes();\r\n var hasExpressions = this.searchExpressions();\r\n this.kf = isKeyframed || hasExpressions;\r\n return this.kf;\r\n };\r\n\r\n TextProperty.prototype.searchExpressions = searchExpressions;\r\n \r\n}());\r\nvar ShapePathInterface = (\r\n\r\n\tfunction() {\r\n\r\n\t\treturn function pathInterfaceFactory(shape,view,propertyGroup){\r\n\t\t var prop = view.sh;\r\n\r\n\t\t function interfaceFunction(val){\r\n\t\t if(val === 'Shape' || val === 'shape' || val === 'Path' || val === 'path' || val === 'ADBE Vector Shape' || val === 2){\r\n\t\t return interfaceFunction.path;\r\n\t\t }\r\n\t\t }\r\n\r\n\t\t var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n\t\t prop.setGroupProperty(PropertyInterface('Path', _propertyGroup));\r\n\t\t Object.defineProperties(interfaceFunction, {\r\n\t\t 'path': {\r\n\t\t get: function(){\r\n\t\t if(prop.k){\r\n\t\t prop.getValue();\r\n\t\t }\r\n\t\t return prop;\r\n\t\t }\r\n\t\t },\r\n\t\t 'shape': {\r\n\t\t get: function(){\r\n\t\t if(prop.k){\r\n\t\t prop.getValue();\r\n\t\t }\r\n\t\t return prop;\r\n\t\t }\r\n\t\t },\r\n\t\t '_name': { value: shape.nm },\r\n\t\t 'ix': { value: shape.ix },\r\n\t\t 'propertyIndex': { value: shape.ix },\r\n\t\t 'mn': { value: shape.mn },\r\n\t\t 'propertyGroup': {value: propertyGroup},\r\n\t\t });\r\n\t\t return interfaceFunction;\r\n\t\t}\r\n\t}()\r\n)\r\nvar propertyGroupFactory = (function() {\r\n\treturn function(interfaceFunction, parentPropertyGroup) {\r\n\t\treturn function(val) {\r\n\t\t\tval = val === undefined ? 1 : val\r\n\t\t\tif(val <= 0){\r\n\t\t\t return interfaceFunction;\r\n\t\t\t} else{\r\n\t\t\t return parentPropertyGroup(val-1);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}())\r\nvar PropertyInterface = (function() {\r\n\treturn function(propertyName, propertyGroup) {\r\n\r\n\t\tvar interfaceFunction = {\r\n\t\t\t_name: propertyName\r\n\t\t}\r\n\r\n\t\tfunction _propertyGroup(val){\r\n\t\t val = val === undefined ? 1 : val\r\n\t\t if(val <= 0){\r\n\t\t return interfaceFunction;\r\n\t\t } else {\r\n\t\t return propertyGroup(--val);\r\n\t\t }\r\n\t\t}\r\n\r\n\t\treturn _propertyGroup;\r\n\t}\r\n}())\r\nvar ShapeExpressionInterface = (function(){\r\n\r\n function iterateElements(shapes,view, propertyGroup){\r\n var arr = [];\r\n var i, len = shapes ? shapes.length : 0;\r\n for(i=0;i 1) {\r\n defaultCurveSegments = value;\r\n }\r\n if (defaultCurveSegments >= 50) {\r\n roundValues(false);\r\n } else {\r\n roundValues(true);\r\n }\r\n}\r\n\r\nfunction inBrowser() {\r\n return typeof navigator !== 'undefined';\r\n}\r\n\r\nfunction installPlugin(type, plugin) {\r\n if (type === 'expressions') {\r\n expressionsPlugin = plugin;\r\n }\r\n}\r\n\r\nfunction getFactory(name) {\r\n switch (name) {\r\n case \"propertyFactory\":\r\n return PropertyFactory;\r\n case \"shapePropertyFactory\":\r\n return ShapePropertyFactory;\r\n case \"matrix\":\r\n return Matrix;\r\n }\r\n}\r\n\r\nlottie.play = animationManager.play;\r\nlottie.pause = animationManager.pause;\r\nlottie.setLocationHref = setLocationHref;\r\nlottie.togglePause = animationManager.togglePause;\r\nlottie.setSpeed = animationManager.setSpeed;\r\nlottie.setDirection = animationManager.setDirection;\r\nlottie.stop = animationManager.stop;\r\nlottie.searchAnimations = searchAnimations;\r\nlottie.registerAnimation = animationManager.registerAnimation;\r\nlottie.loadAnimation = loadAnimation;\r\nlottie.setSubframeRendering = setSubframeRendering;\r\nlottie.resize = animationManager.resize;\r\n//lottie.start = start;\r\nlottie.goToAndStop = animationManager.goToAndStop;\r\nlottie.destroy = animationManager.destroy;\r\nlottie.setQuality = setQuality;\r\nlottie.inBrowser = inBrowser;\r\nlottie.installPlugin = installPlugin;\r\nlottie.freeze = animationManager.freeze;\r\nlottie.unfreeze = animationManager.unfreeze;\r\nlottie.setVolume = animationManager.setVolume;\r\nlottie.mute = animationManager.mute;\r\nlottie.unmute = animationManager.unmute;\r\nlottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\r\nlottie.__getFactory = getFactory;\r\nlottie.version = '5.7.3';\r\n\r\nfunction checkReady() {\r\n if (document.readyState === \"complete\") {\r\n clearInterval(readyStateCheckInterval);\r\n searchAnimations();\r\n }\r\n}\r\n\r\nfunction getQueryVariable(variable) {\r\n var vars = queryString.split('&');\r\n for (var i = 0; i < vars.length; i++) {\r\n var pair = vars[i].split('=');\r\n if (decodeURIComponent(pair[0]) == variable) {\r\n return decodeURIComponent(pair[1]);\r\n }\r\n }\r\n}\r\nvar standalone = '__[STANDALONE]__';\r\nvar animationData = '__[ANIMATIONDATA]__';\r\nvar renderer = '';\r\nif (standalone) {\r\n var scripts = document.getElementsByTagName('script');\r\n var index = scripts.length - 1;\r\n var myScript = scripts[index] || {\r\n src: ''\r\n };\r\n var queryString = myScript.src.replace(/^[^\\?]+\\??/, '');\r\n renderer = getQueryVariable('renderer');\r\n}\r\nvar readyStateCheckInterval = setInterval(checkReady, 100);\r\n\nreturn lottie;\n}));","import moment from 'moment';\nimport { noteOnce } from \"rc-util/es/warning\";\nvar generateConfig = {\n // get\n getNow: function getNow() {\n return moment();\n },\n getFixedDate: function getFixedDate(string) {\n return moment(string, 'YYYY-MM-DD');\n },\n getEndDate: function getEndDate(date) {\n var clone = date.clone();\n return clone.endOf('month');\n },\n getWeekDay: function getWeekDay(date) {\n var clone = date.clone().locale('en_US');\n return clone.weekday() + clone.localeData().firstDayOfWeek();\n },\n getYear: function getYear(date) {\n return date.year();\n },\n getMonth: function getMonth(date) {\n return date.month();\n },\n getDate: function getDate(date) {\n return date.date();\n },\n getHour: function getHour(date) {\n return date.hour();\n },\n getMinute: function getMinute(date) {\n return date.minute();\n },\n getSecond: function getSecond(date) {\n return date.second();\n },\n // set\n addYear: function addYear(date, diff) {\n var clone = date.clone();\n return clone.add(diff, 'year');\n },\n addMonth: function addMonth(date, diff) {\n var clone = date.clone();\n return clone.add(diff, 'month');\n },\n addDate: function addDate(date, diff) {\n var clone = date.clone();\n return clone.add(diff, 'day');\n },\n setYear: function setYear(date, year) {\n var clone = date.clone();\n return clone.year(year);\n },\n setMonth: function setMonth(date, month) {\n var clone = date.clone();\n return clone.month(month);\n },\n setDate: function setDate(date, num) {\n var clone = date.clone();\n return clone.date(num);\n },\n setHour: function setHour(date, hour) {\n var clone = date.clone();\n return clone.hour(hour);\n },\n setMinute: function setMinute(date, minute) {\n var clone = date.clone();\n return clone.minute(minute);\n },\n setSecond: function setSecond(date, second) {\n var clone = date.clone();\n return clone.second(second);\n },\n // Compare\n isAfter: function isAfter(date1, date2) {\n return date1.isAfter(date2);\n },\n isValidate: function isValidate(date) {\n return date.isValid();\n },\n locale: {\n getWeekFirstDay: function getWeekFirstDay(locale) {\n var date = moment().locale(locale);\n return date.localeData().firstDayOfWeek();\n },\n getWeekFirstDate: function getWeekFirstDate(locale, date) {\n var clone = date.clone();\n var result = clone.locale(locale);\n return result.weekday(0);\n },\n getWeek: function getWeek(locale, date) {\n var clone = date.clone();\n var result = clone.locale(locale);\n return result.week();\n },\n getShortWeekDays: function getShortWeekDays(locale) {\n var date = moment().locale(locale);\n return date.localeData().weekdaysMin();\n },\n getShortMonths: function getShortMonths(locale) {\n var date = moment().locale(locale);\n return date.localeData().monthsShort();\n },\n format: function format(locale, date, _format) {\n var clone = date.clone();\n var result = clone.locale(locale);\n return result.format(_format);\n },\n parse: function parse(locale, text, formats) {\n var fallbackFormatList = [];\n\n for (var i = 0; i < formats.length; i += 1) {\n var format = formats[i];\n var formatText = text;\n\n if (format.includes('wo') || format.includes('Wo')) {\n format = format.replace(/wo/g, 'w').replace(/Wo/g, 'W');\n var matchFormat = format.match(/[-YyMmDdHhSsWwGg]+/g);\n var matchText = formatText.match(/[-\\d]+/g);\n\n if (matchFormat && matchText) {\n format = matchFormat.join('');\n formatText = matchText.join('');\n } else {\n fallbackFormatList.push(format.replace(/o/g, ''));\n }\n }\n\n var date = moment(formatText, format, locale, true);\n\n if (date.isValid()) {\n return date;\n }\n } // Fallback to fuzzy matching, this should always not reach match or need fire a issue\n\n\n for (var _i = 0; _i < fallbackFormatList.length; _i += 1) {\n var _date = moment(text, fallbackFormatList[_i], locale, false);\n /* istanbul ignore next */\n\n\n if (_date.isValid()) {\n noteOnce(false, 'Not match any format strictly and fallback to fuzzy match. Please help to fire a issue about this.');\n return _date;\n }\n }\n\n return null;\n }\n }\n};\nexport default generateConfig;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider';\n\nvar CheckableTag = function CheckableTag(_a) {\n var _classNames;\n\n var customizePrefixCls = _a.prefixCls,\n className = _a.className,\n checked = _a.checked,\n onChange = _a.onChange,\n onClick = _a.onClick,\n restProps = __rest(_a, [\"prefixCls\", \"className\", \"checked\", \"onChange\", \"onClick\"]);\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n\n var handleClick = function handleClick(e) {\n onChange === null || onChange === void 0 ? void 0 : onChange(!checked);\n onClick === null || onClick === void 0 ? void 0 : onClick(e);\n };\n\n var prefixCls = getPrefixCls('tag', customizePrefixCls);\n var cls = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-checkable\"), true), _defineProperty(_classNames, \"\".concat(prefixCls, \"-checkable-checked\"), checked), _classNames), className);\n return /*#__PURE__*/React.createElement(\"span\", _extends({}, restProps, {\n className: cls,\n onClick: handleClick\n }));\n};\n\nexport default CheckableTag;","import { tuple } from './type';\nexport var PresetStatusColorTypes = tuple('success', 'processing', 'error', 'default', 'warning'); // eslint-disable-next-line import/prefer-default-export\n\nexport var PresetColorTypes = tuple('pink', 'red', 'yellow', 'orange', 'cyan', 'green', 'blue', 'purple', 'geekblue', 'magenta', 'volcano', 'gold', 'lime');","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport CheckableTag from './CheckableTag';\nimport { ConfigContext } from '../config-provider';\nimport { PresetColorTypes, PresetStatusColorTypes } from '../_util/colors';\nimport Wave from '../_util/wave';\nvar PresetColorRegex = new RegExp(\"^(\".concat(PresetColorTypes.join('|'), \")(-inverse)?$\"));\nvar PresetStatusColorRegex = new RegExp(\"^(\".concat(PresetStatusColorTypes.join('|'), \")$\"));\n\nvar InternalTag = function InternalTag(_a, ref) {\n var _classNames;\n\n var customizePrefixCls = _a.prefixCls,\n className = _a.className,\n style = _a.style,\n children = _a.children,\n icon = _a.icon,\n color = _a.color,\n onClose = _a.onClose,\n closeIcon = _a.closeIcon,\n _a$closable = _a.closable,\n closable = _a$closable === void 0 ? false : _a$closable,\n props = __rest(_a, [\"prefixCls\", \"className\", \"style\", \"children\", \"icon\", \"color\", \"onClose\", \"closeIcon\", \"closable\"]);\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var _React$useState = React.useState(true),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n visible = _React$useState2[0],\n setVisible = _React$useState2[1];\n\n React.useEffect(function () {\n if ('visible' in props) {\n setVisible(props.visible);\n }\n }, [props.visible]);\n\n var isPresetColor = function isPresetColor() {\n if (!color) {\n return false;\n }\n\n return PresetColorRegex.test(color) || PresetStatusColorRegex.test(color);\n };\n\n var tagStyle = _extends({\n backgroundColor: color && !isPresetColor() ? color : undefined\n }, style);\n\n var presetColor = isPresetColor();\n var prefixCls = getPrefixCls('tag', customizePrefixCls);\n var tagClassName = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(color), presetColor), _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-color\"), color && !presetColor), _defineProperty(_classNames, \"\".concat(prefixCls, \"-hidden\"), !visible), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className);\n\n var handleCloseClick = function handleCloseClick(e) {\n e.stopPropagation();\n onClose === null || onClose === void 0 ? void 0 : onClose(e);\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (!('visible' in props)) {\n setVisible(false);\n }\n };\n\n var renderCloseIcon = function renderCloseIcon() {\n if (closable) {\n return closeIcon ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-close-icon\"),\n onClick: handleCloseClick\n }, closeIcon) : /*#__PURE__*/React.createElement(CloseOutlined, {\n className: \"\".concat(prefixCls, \"-close-icon\"),\n onClick: handleCloseClick\n });\n }\n\n return null;\n };\n\n var isNeedWave = 'onClick' in props || children && children.type === 'a';\n var tagProps = omit(props, ['visible']);\n var iconNode = icon || null;\n var kids = iconNode ? /*#__PURE__*/React.createElement(React.Fragment, null, iconNode, /*#__PURE__*/React.createElement(\"span\", null, children)) : children;\n var tagNode = /*#__PURE__*/React.createElement(\"span\", _extends({}, tagProps, {\n ref: ref,\n className: tagClassName,\n style: tagStyle\n }), kids, renderCloseIcon());\n return isNeedWave ? /*#__PURE__*/React.createElement(Wave, null, tagNode) : tagNode;\n};\n\nvar Tag = /*#__PURE__*/React.forwardRef(InternalTag);\nTag.displayName = 'Tag';\nTag.CheckableTag = CheckableTag;\nexport default Tag;","// This icon file is generated automatically.\nvar CalendarOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z\" } }] }, \"name\": \"calendar\", \"theme\": \"outlined\" };\nexport default CalendarOutlined;\n","// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CalendarOutlinedSvg from \"@ant-design/icons-svg/es/asn/CalendarOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar CalendarOutlined = function CalendarOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, Object.assign({}, props, {\n ref: ref,\n icon: CalendarOutlinedSvg\n }));\n};\n\nCalendarOutlined.displayName = 'CalendarOutlined';\nexport default /*#__PURE__*/React.forwardRef(CalendarOutlined);","// This icon file is generated automatically.\nvar ClockCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z\" } }] }, \"name\": \"clock-circle\", \"theme\": \"outlined\" };\nexport default ClockCircleOutlined;\n","// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport ClockCircleOutlinedSvg from \"@ant-design/icons-svg/es/asn/ClockCircleOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar ClockCircleOutlined = function ClockCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, Object.assign({}, props, {\n ref: ref,\n icon: ClockCircleOutlinedSvg\n }));\n};\n\nClockCircleOutlined.displayName = 'ClockCircleOutlined';\nexport default /*#__PURE__*/React.forwardRef(ClockCircleOutlined);","import * as React from 'react';\nvar PanelContext = /*#__PURE__*/React.createContext({});\nexport default PanelContext;","import * as React from 'react';\nimport PanelContext from '../PanelContext';\nvar HIDDEN_STYLE = {\n visibility: 'hidden'\n};\n\nfunction Header(_ref) {\n var prefixCls = _ref.prefixCls,\n _ref$prevIcon = _ref.prevIcon,\n prevIcon = _ref$prevIcon === void 0 ? \"\\u2039\" : _ref$prevIcon,\n _ref$nextIcon = _ref.nextIcon,\n nextIcon = _ref$nextIcon === void 0 ? \"\\u203A\" : _ref$nextIcon,\n _ref$superPrevIcon = _ref.superPrevIcon,\n superPrevIcon = _ref$superPrevIcon === void 0 ? \"\\xAB\" : _ref$superPrevIcon,\n _ref$superNextIcon = _ref.superNextIcon,\n superNextIcon = _ref$superNextIcon === void 0 ? \"\\xBB\" : _ref$superNextIcon,\n onSuperPrev = _ref.onSuperPrev,\n onSuperNext = _ref.onSuperNext,\n onPrev = _ref.onPrev,\n onNext = _ref.onNext,\n children = _ref.children;\n\n var _React$useContext = React.useContext(PanelContext),\n hideNextBtn = _React$useContext.hideNextBtn,\n hidePrevBtn = _React$useContext.hidePrevBtn;\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls\n }, onSuperPrev && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onSuperPrev,\n tabIndex: -1,\n className: \"\".concat(prefixCls, \"-super-prev-btn\"),\n style: hidePrevBtn ? HIDDEN_STYLE : {}\n }, superPrevIcon), onPrev && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onPrev,\n tabIndex: -1,\n className: \"\".concat(prefixCls, \"-prev-btn\"),\n style: hidePrevBtn ? HIDDEN_STYLE : {}\n }, prevIcon), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-view\")\n }, children), onNext && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onNext,\n tabIndex: -1,\n className: \"\".concat(prefixCls, \"-next-btn\"),\n style: hideNextBtn ? HIDDEN_STYLE : {}\n }, nextIcon), onSuperNext && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onSuperNext,\n tabIndex: -1,\n className: \"\".concat(prefixCls, \"-super-next-btn\"),\n style: hideNextBtn ? HIDDEN_STYLE : {}\n }, superNextIcon));\n}\n\nexport default Header;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Header from '../Header';\nimport { DECADE_DISTANCE_COUNT } from '.';\nimport PanelContext from '../../PanelContext';\n\nfunction DecadeHeader(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n viewDate = props.viewDate,\n onPrevDecades = props.onPrevDecades,\n onNextDecades = props.onNextDecades;\n\n var _React$useContext = React.useContext(PanelContext),\n hideHeader = _React$useContext.hideHeader;\n\n if (hideHeader) {\n return null;\n }\n\n var headerPrefixCls = \"\".concat(prefixCls, \"-header\");\n var yearNumber = generateConfig.getYear(viewDate);\n var startYear = Math.floor(yearNumber / DECADE_DISTANCE_COUNT) * DECADE_DISTANCE_COUNT;\n var endYear = startYear + DECADE_DISTANCE_COUNT - 1;\n return /*#__PURE__*/React.createElement(Header, _extends({}, props, {\n prefixCls: headerPrefixCls,\n onSuperPrev: onPrevDecades,\n onSuperNext: onNextDecades\n }), startYear, \"-\", endYear);\n}\n\nexport default DecadeHeader;","export function setTime(generateConfig, date, hour, minute, second) {\n var nextTime = generateConfig.setHour(date, hour);\n nextTime = generateConfig.setMinute(nextTime, minute);\n nextTime = generateConfig.setSecond(nextTime, second);\n return nextTime;\n}\nexport function setDateTime(generateConfig, date, defaultDate) {\n if (!defaultDate) {\n return date;\n }\n\n var newDate = date;\n newDate = generateConfig.setHour(newDate, generateConfig.getHour(defaultDate));\n newDate = generateConfig.setMinute(newDate, generateConfig.getMinute(defaultDate));\n newDate = generateConfig.setSecond(newDate, generateConfig.getSecond(defaultDate));\n return newDate;\n}\nexport function getLowerBoundTime(hour, minute, second, hourStep, minuteStep, secondStep) {\n var lowerBoundHour = Math.floor(hour / hourStep) * hourStep;\n\n if (lowerBoundHour < hour) {\n return [lowerBoundHour, 60 - minuteStep, 60 - secondStep];\n }\n\n var lowerBoundMinute = Math.floor(minute / minuteStep) * minuteStep;\n\n if (lowerBoundMinute < minute) {\n return [lowerBoundHour, lowerBoundMinute, 60 - secondStep];\n }\n\n var lowerBoundSecond = Math.floor(second / secondStep) * secondStep;\n return [lowerBoundHour, lowerBoundMinute, lowerBoundSecond];\n}\nexport function getLastDay(generateConfig, date) {\n var year = generateConfig.getYear(date);\n var month = generateConfig.getMonth(date) + 1;\n var endDate = generateConfig.getEndDate(generateConfig.getFixedDate(\"\".concat(year, \"-\").concat(month, \"-01\")));\n var lastDay = generateConfig.getDate(endDate);\n var monthShow = month < 10 ? \"0\".concat(month) : \"\".concat(month);\n return \"\".concat(year, \"-\").concat(monthShow, \"-\").concat(lastDay);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport PanelContext from '../PanelContext';\nimport { getLastDay } from '../utils/timeUtil';\nimport { getCellDateDisabled } from '../utils/dateUtil';\nexport default function PanelBody(_ref) {\n var prefixCls = _ref.prefixCls,\n disabledDate = _ref.disabledDate,\n onSelect = _ref.onSelect,\n picker = _ref.picker,\n rowNum = _ref.rowNum,\n colNum = _ref.colNum,\n prefixColumn = _ref.prefixColumn,\n rowClassName = _ref.rowClassName,\n baseDate = _ref.baseDate,\n getCellClassName = _ref.getCellClassName,\n getCellText = _ref.getCellText,\n getCellNode = _ref.getCellNode,\n getCellDate = _ref.getCellDate,\n generateConfig = _ref.generateConfig,\n titleCell = _ref.titleCell,\n headerCells = _ref.headerCells;\n\n var _React$useContext = React.useContext(PanelContext),\n onDateMouseEnter = _React$useContext.onDateMouseEnter,\n onDateMouseLeave = _React$useContext.onDateMouseLeave,\n mode = _React$useContext.mode;\n\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\"); // =============================== Body ===============================\n\n var rows = [];\n\n for (var i = 0; i < rowNum; i += 1) {\n var row = [];\n var rowStartDate = void 0;\n\n var _loop = function _loop(j) {\n var _objectSpread2;\n\n var offset = i * colNum + j;\n var currentDate = getCellDate(baseDate, offset);\n var disabled = getCellDateDisabled({\n cellDate: currentDate,\n mode: mode,\n disabledDate: disabledDate,\n generateConfig: generateConfig\n });\n\n if (j === 0) {\n rowStartDate = currentDate;\n\n if (prefixColumn) {\n row.push(prefixColumn(rowStartDate));\n }\n }\n\n var title = titleCell && titleCell(currentDate);\n row.push( /*#__PURE__*/React.createElement(\"td\", {\n key: j,\n title: title,\n className: classNames(cellPrefixCls, _objectSpread((_objectSpread2 = {}, _defineProperty(_objectSpread2, \"\".concat(cellPrefixCls, \"-disabled\"), disabled), _defineProperty(_objectSpread2, \"\".concat(cellPrefixCls, \"-start\"), getCellText(currentDate) === 1 || picker === 'year' && Number(title) % 10 === 0), _defineProperty(_objectSpread2, \"\".concat(cellPrefixCls, \"-end\"), title === getLastDay(generateConfig, currentDate) || picker === 'year' && Number(title) % 10 === 9), _objectSpread2), getCellClassName(currentDate))),\n onClick: function onClick() {\n if (!disabled) {\n onSelect(currentDate);\n }\n },\n onMouseEnter: function onMouseEnter() {\n if (!disabled && onDateMouseEnter) {\n onDateMouseEnter(currentDate);\n }\n },\n onMouseLeave: function onMouseLeave() {\n if (!disabled && onDateMouseLeave) {\n onDateMouseLeave(currentDate);\n }\n }\n }, getCellNode ? getCellNode(currentDate) : /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(cellPrefixCls, \"-inner\")\n }, getCellText(currentDate))));\n };\n\n for (var j = 0; j < colNum; j += 1) {\n _loop(j);\n }\n\n rows.push( /*#__PURE__*/React.createElement(\"tr\", {\n key: i,\n className: rowClassName && rowClassName(rowStartDate)\n }, row));\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-body\")\n }, /*#__PURE__*/React.createElement(\"table\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, headerCells && /*#__PURE__*/React.createElement(\"thead\", null, /*#__PURE__*/React.createElement(\"tr\", null, headerCells)), /*#__PURE__*/React.createElement(\"tbody\", null, rows)));\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport { DECADE_DISTANCE_COUNT, DECADE_UNIT_DIFF } from '.';\nimport PanelBody from '../PanelBody';\nexport var DECADE_COL_COUNT = 3;\nvar DECADE_ROW_COUNT = 4;\n\nfunction DecadeBody(props) {\n var DECADE_UNIT_DIFF_DES = DECADE_UNIT_DIFF - 1;\n var prefixCls = props.prefixCls,\n viewDate = props.viewDate,\n generateConfig = props.generateConfig;\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n var yearNumber = generateConfig.getYear(viewDate);\n var decadeYearNumber = Math.floor(yearNumber / DECADE_UNIT_DIFF) * DECADE_UNIT_DIFF;\n var startDecadeYear = Math.floor(yearNumber / DECADE_DISTANCE_COUNT) * DECADE_DISTANCE_COUNT;\n var endDecadeYear = startDecadeYear + DECADE_DISTANCE_COUNT - 1;\n var baseDecadeYear = generateConfig.setYear(viewDate, startDecadeYear - Math.ceil((DECADE_COL_COUNT * DECADE_ROW_COUNT * DECADE_UNIT_DIFF - DECADE_DISTANCE_COUNT) / 2));\n\n var getCellClassName = function getCellClassName(date) {\n var _ref;\n\n var startDecadeNumber = generateConfig.getYear(date);\n var endDecadeNumber = startDecadeNumber + DECADE_UNIT_DIFF_DES;\n return _ref = {}, _defineProperty(_ref, \"\".concat(cellPrefixCls, \"-in-view\"), startDecadeYear <= startDecadeNumber && endDecadeNumber <= endDecadeYear), _defineProperty(_ref, \"\".concat(cellPrefixCls, \"-selected\"), startDecadeNumber === decadeYearNumber), _ref;\n };\n\n return /*#__PURE__*/React.createElement(PanelBody, _extends({}, props, {\n rowNum: DECADE_ROW_COUNT,\n colNum: DECADE_COL_COUNT,\n baseDate: baseDecadeYear,\n getCellText: function getCellText(date) {\n var startDecadeNumber = generateConfig.getYear(date);\n return \"\".concat(startDecadeNumber, \"-\").concat(startDecadeNumber + DECADE_UNIT_DIFF_DES);\n },\n getCellClassName: getCellClassName,\n getCellDate: function getCellDate(date, offset) {\n return generateConfig.addYear(date, offset * DECADE_UNIT_DIFF);\n }\n }));\n}\n\nexport default DecadeBody;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport raf from \"rc-util/es/raf\";\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nvar scrollIds = new Map();\n/** Trigger when element is visible in view */\n\nexport function waitElementReady(element, callback) {\n var id;\n\n function tryOrNextFrame() {\n if (isVisible(element)) {\n callback();\n } else {\n id = raf(function () {\n tryOrNextFrame();\n });\n }\n }\n\n tryOrNextFrame();\n return function () {\n raf.cancel(id);\n };\n}\n/* eslint-disable no-param-reassign */\n\nexport function scrollTo(element, to, duration) {\n if (scrollIds.get(element)) {\n cancelAnimationFrame(scrollIds.get(element));\n } // jump to target if duration zero\n\n\n if (duration <= 0) {\n scrollIds.set(element, requestAnimationFrame(function () {\n element.scrollTop = to;\n }));\n return;\n }\n\n var difference = to - element.scrollTop;\n var perTick = difference / duration * 10;\n scrollIds.set(element, requestAnimationFrame(function () {\n element.scrollTop += perTick;\n\n if (element.scrollTop !== to) {\n scrollTo(element, to, duration - 10);\n }\n }));\n}\nexport function createKeyDownHandler(event, _ref) {\n var onLeftRight = _ref.onLeftRight,\n onCtrlLeftRight = _ref.onCtrlLeftRight,\n onUpDown = _ref.onUpDown,\n onPageUpDown = _ref.onPageUpDown,\n onEnter = _ref.onEnter;\n var which = event.which,\n ctrlKey = event.ctrlKey,\n metaKey = event.metaKey;\n\n switch (which) {\n case KeyCode.LEFT:\n if (ctrlKey || metaKey) {\n if (onCtrlLeftRight) {\n onCtrlLeftRight(-1);\n return true;\n }\n } else if (onLeftRight) {\n onLeftRight(-1);\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n\n case KeyCode.RIGHT:\n if (ctrlKey || metaKey) {\n if (onCtrlLeftRight) {\n onCtrlLeftRight(1);\n return true;\n }\n } else if (onLeftRight) {\n onLeftRight(1);\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n\n case KeyCode.UP:\n if (onUpDown) {\n onUpDown(-1);\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n\n case KeyCode.DOWN:\n if (onUpDown) {\n onUpDown(1);\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n\n case KeyCode.PAGE_UP:\n if (onPageUpDown) {\n onPageUpDown(-1);\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n\n case KeyCode.PAGE_DOWN:\n if (onPageUpDown) {\n onPageUpDown(1);\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n\n case KeyCode.ENTER:\n if (onEnter) {\n onEnter();\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n }\n\n return false;\n} // ===================== Format =====================\n\nexport function getDefaultFormat(format, picker, showTime, use12Hours) {\n var mergedFormat = format;\n\n if (!mergedFormat) {\n switch (picker) {\n case 'time':\n mergedFormat = use12Hours ? 'hh:mm:ss a' : 'HH:mm:ss';\n break;\n\n case 'week':\n mergedFormat = 'gggg-wo';\n break;\n\n case 'month':\n mergedFormat = 'YYYY-MM';\n break;\n\n case 'quarter':\n mergedFormat = 'YYYY-[Q]Q';\n break;\n\n case 'year':\n mergedFormat = 'YYYY';\n break;\n\n default:\n mergedFormat = showTime ? 'YYYY-MM-DD HH:mm:ss' : 'YYYY-MM-DD';\n }\n }\n\n return mergedFormat;\n}\nexport function getInputSize(picker, format, generateConfig) {\n var defaultSize = picker === 'time' ? 8 : 10;\n var length = typeof format === 'function' ? format(generateConfig.getNow()).length : format.length;\n return Math.max(defaultSize, length) + 2;\n}\nvar globalClickFunc = null;\nvar clickCallbacks = new Set();\nexport function addGlobalMouseDownEvent(callback) {\n if (!globalClickFunc && typeof window !== 'undefined' && window.addEventListener) {\n globalClickFunc = function globalClickFunc(e) {\n // Clone a new list to avoid repeat trigger events\n _toConsumableArray(clickCallbacks).forEach(function (queueFunc) {\n queueFunc(e);\n });\n };\n\n window.addEventListener('mousedown', globalClickFunc);\n }\n\n clickCallbacks.add(callback);\n return function () {\n clickCallbacks.delete(callback);\n\n if (clickCallbacks.size === 0) {\n window.removeEventListener('mousedown', globalClickFunc);\n globalClickFunc = null;\n }\n };\n}\nexport function getTargetFromEvent(e) {\n var target = e.target; // get target if in shadow dom\n\n if (e.composed && target.shadowRoot) {\n var _e$composedPath;\n\n return ((_e$composedPath = e.composedPath) === null || _e$composedPath === void 0 ? void 0 : _e$composedPath.call(e)[0]) || target;\n }\n\n return target;\n} // ====================== Mode ======================\n\nvar getYearNextMode = function getYearNextMode(next) {\n if (next === 'month' || next === 'date') {\n return 'year';\n }\n\n return next;\n};\n\nvar getMonthNextMode = function getMonthNextMode(next) {\n if (next === 'date') {\n return 'month';\n }\n\n return next;\n};\n\nvar getQuarterNextMode = function getQuarterNextMode(next) {\n if (next === 'month' || next === 'date') {\n return 'quarter';\n }\n\n return next;\n};\n\nvar getWeekNextMode = function getWeekNextMode(next) {\n if (next === 'date') {\n return 'week';\n }\n\n return next;\n};\n\nexport var PickerModeMap = {\n year: getYearNextMode,\n month: getMonthNextMode,\n quarter: getQuarterNextMode,\n week: getWeekNextMode,\n time: null,\n date: null\n};\nexport function elementsContains(elements, target) {\n return elements.some(function (ele) {\n return ele && ele.contains(target);\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport DecadeHeader from './DecadeHeader';\nimport DecadeBody, { DECADE_COL_COUNT } from './DecadeBody';\nimport { createKeyDownHandler } from '../../utils/uiUtil';\nexport var DECADE_UNIT_DIFF = 10;\nexport var DECADE_DISTANCE_COUNT = DECADE_UNIT_DIFF * 10;\n\nfunction DecadePanel(props) {\n var prefixCls = props.prefixCls,\n onViewDateChange = props.onViewDateChange,\n generateConfig = props.generateConfig,\n viewDate = props.viewDate,\n operationRef = props.operationRef,\n onSelect = props.onSelect,\n onPanelChange = props.onPanelChange;\n var panelPrefixCls = \"\".concat(prefixCls, \"-decade-panel\"); // ======================= Keyboard =======================\n\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, {\n onLeftRight: function onLeftRight(diff) {\n onSelect(generateConfig.addYear(viewDate, diff * DECADE_UNIT_DIFF), 'key');\n },\n onCtrlLeftRight: function onCtrlLeftRight(diff) {\n onSelect(generateConfig.addYear(viewDate, diff * DECADE_DISTANCE_COUNT), 'key');\n },\n onUpDown: function onUpDown(diff) {\n onSelect(generateConfig.addYear(viewDate, diff * DECADE_UNIT_DIFF * DECADE_COL_COUNT), 'key');\n },\n onEnter: function onEnter() {\n onPanelChange('year', viewDate);\n }\n });\n }\n }; // ==================== View Operation ====================\n\n var onDecadesChange = function onDecadesChange(diff) {\n var newDate = generateConfig.addYear(viewDate, diff * DECADE_DISTANCE_COUNT);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n\n var onInternalSelect = function onInternalSelect(date) {\n onSelect(date, 'mouse');\n onPanelChange('year', date);\n };\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: panelPrefixCls\n }, /*#__PURE__*/React.createElement(DecadeHeader, _extends({}, props, {\n prefixCls: prefixCls,\n onPrevDecades: function onPrevDecades() {\n onDecadesChange(-1);\n },\n onNextDecades: function onNextDecades() {\n onDecadesChange(1);\n }\n })), /*#__PURE__*/React.createElement(DecadeBody, _extends({}, props, {\n prefixCls: prefixCls,\n onSelect: onInternalSelect\n })));\n}\n\nexport default DecadePanel;","import { DECADE_UNIT_DIFF } from '../panels/DecadePanel/index';\nexport var WEEK_DAY_COUNT = 7;\nexport function isNullEqual(value1, value2) {\n if (!value1 && !value2) {\n return true;\n }\n\n if (!value1 || !value2) {\n return false;\n }\n\n return undefined;\n}\nexport function isSameDecade(generateConfig, decade1, decade2) {\n var equal = isNullEqual(decade1, decade2);\n\n if (typeof equal === 'boolean') {\n return equal;\n }\n\n var num1 = Math.floor(generateConfig.getYear(decade1) / 10);\n var num2 = Math.floor(generateConfig.getYear(decade2) / 10);\n return num1 === num2;\n}\nexport function isSameYear(generateConfig, year1, year2) {\n var equal = isNullEqual(year1, year2);\n\n if (typeof equal === 'boolean') {\n return equal;\n }\n\n return generateConfig.getYear(year1) === generateConfig.getYear(year2);\n}\nexport function getQuarter(generateConfig, date) {\n var quota = Math.floor(generateConfig.getMonth(date) / 3);\n return quota + 1;\n}\nexport function isSameQuarter(generateConfig, quarter1, quarter2) {\n var equal = isNullEqual(quarter1, quarter2);\n\n if (typeof equal === 'boolean') {\n return equal;\n }\n\n return isSameYear(generateConfig, quarter1, quarter2) && getQuarter(generateConfig, quarter1) === getQuarter(generateConfig, quarter2);\n}\nexport function isSameMonth(generateConfig, month1, month2) {\n var equal = isNullEqual(month1, month2);\n\n if (typeof equal === 'boolean') {\n return equal;\n }\n\n return isSameYear(generateConfig, month1, month2) && generateConfig.getMonth(month1) === generateConfig.getMonth(month2);\n}\nexport function isSameDate(generateConfig, date1, date2) {\n var equal = isNullEqual(date1, date2);\n\n if (typeof equal === 'boolean') {\n return equal;\n }\n\n return generateConfig.getYear(date1) === generateConfig.getYear(date2) && generateConfig.getMonth(date1) === generateConfig.getMonth(date2) && generateConfig.getDate(date1) === generateConfig.getDate(date2);\n}\nexport function isSameTime(generateConfig, time1, time2) {\n var equal = isNullEqual(time1, time2);\n\n if (typeof equal === 'boolean') {\n return equal;\n }\n\n return generateConfig.getHour(time1) === generateConfig.getHour(time2) && generateConfig.getMinute(time1) === generateConfig.getMinute(time2) && generateConfig.getSecond(time1) === generateConfig.getSecond(time2);\n}\nexport function isSameWeek(generateConfig, locale, date1, date2) {\n var equal = isNullEqual(date1, date2);\n\n if (typeof equal === 'boolean') {\n return equal;\n }\n\n return generateConfig.locale.getWeek(locale, date1) === generateConfig.locale.getWeek(locale, date2);\n}\nexport function isEqual(generateConfig, value1, value2) {\n return isSameDate(generateConfig, value1, value2) && isSameTime(generateConfig, value1, value2);\n}\n/** Between in date but not equal of date */\n\nexport function isInRange(generateConfig, startDate, endDate, current) {\n if (!startDate || !endDate || !current) {\n return false;\n }\n\n return !isSameDate(generateConfig, startDate, current) && !isSameDate(generateConfig, endDate, current) && generateConfig.isAfter(current, startDate) && generateConfig.isAfter(endDate, current);\n}\nexport function getWeekStartDate(locale, generateConfig, value) {\n var weekFirstDay = generateConfig.locale.getWeekFirstDay(locale);\n var monthStartDate = generateConfig.setDate(value, 1);\n var startDateWeekDay = generateConfig.getWeekDay(monthStartDate);\n var alignStartDate = generateConfig.addDate(monthStartDate, weekFirstDay - startDateWeekDay);\n\n if (generateConfig.getMonth(alignStartDate) === generateConfig.getMonth(value) && generateConfig.getDate(alignStartDate) > 1) {\n alignStartDate = generateConfig.addDate(alignStartDate, -7);\n }\n\n return alignStartDate;\n}\nexport function getClosingViewDate(viewDate, picker, generateConfig) {\n var offset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n\n switch (picker) {\n case 'year':\n return generateConfig.addYear(viewDate, offset * 10);\n\n case 'quarter':\n case 'month':\n return generateConfig.addYear(viewDate, offset);\n\n default:\n return generateConfig.addMonth(viewDate, offset);\n }\n}\nexport function formatValue(value, _ref) {\n var generateConfig = _ref.generateConfig,\n locale = _ref.locale,\n format = _ref.format;\n return typeof format === 'function' ? format(value) : generateConfig.locale.format(locale.locale, value, format);\n}\nexport function parseValue(value, _ref2) {\n var generateConfig = _ref2.generateConfig,\n locale = _ref2.locale,\n formatList = _ref2.formatList;\n\n if (!value || typeof formatList[0] === 'function') {\n return null;\n }\n\n return generateConfig.locale.parse(locale.locale, value, formatList);\n} // eslint-disable-next-line consistent-return\n\nexport function getCellDateDisabled(_ref3) {\n var cellDate = _ref3.cellDate,\n mode = _ref3.mode,\n disabledDate = _ref3.disabledDate,\n generateConfig = _ref3.generateConfig;\n if (!disabledDate) return false; // Whether cellDate is disabled in range\n\n var getDisabledFromRange = function getDisabledFromRange(currentMode, start, end) {\n var current = start;\n\n while (current <= end) {\n var date = void 0;\n\n switch (currentMode) {\n case 'date':\n {\n date = generateConfig.setDate(cellDate, current);\n\n if (!disabledDate(date)) {\n return false;\n }\n\n break;\n }\n\n case 'month':\n {\n date = generateConfig.setMonth(cellDate, current);\n\n if (!getCellDateDisabled({\n cellDate: date,\n mode: 'month',\n generateConfig: generateConfig,\n disabledDate: disabledDate\n })) {\n return false;\n }\n\n break;\n }\n\n case 'year':\n {\n date = generateConfig.setYear(cellDate, current);\n\n if (!getCellDateDisabled({\n cellDate: date,\n mode: 'year',\n generateConfig: generateConfig,\n disabledDate: disabledDate\n })) {\n return false;\n }\n\n break;\n }\n }\n\n current += 1;\n }\n\n return true;\n };\n\n switch (mode) {\n case 'date':\n case 'week':\n {\n return disabledDate(cellDate);\n }\n\n case 'month':\n {\n var startDate = 1;\n var endDate = generateConfig.getDate(generateConfig.getEndDate(cellDate));\n return getDisabledFromRange('date', startDate, endDate);\n }\n\n case 'quarter':\n {\n var startMonth = Math.floor(generateConfig.getMonth(cellDate) / 3) * 3;\n var endMonth = startMonth + 2;\n return getDisabledFromRange('month', startMonth, endMonth);\n }\n\n case 'year':\n {\n return getDisabledFromRange('month', 0, 11);\n }\n\n case 'decade':\n {\n var year = generateConfig.getYear(cellDate);\n var startYear = Math.floor(year / DECADE_UNIT_DIFF) * DECADE_UNIT_DIFF;\n var endYear = startYear + DECADE_UNIT_DIFF - 1;\n return getDisabledFromRange('year', startYear, endYear);\n }\n }\n}","import * as React from 'react';\nimport Header from '../Header';\nimport PanelContext from '../../PanelContext';\nimport { formatValue } from '../../utils/dateUtil';\n\nfunction TimeHeader(props) {\n var _React$useContext = React.useContext(PanelContext),\n hideHeader = _React$useContext.hideHeader;\n\n if (hideHeader) {\n return null;\n }\n\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n locale = props.locale,\n value = props.value,\n format = props.format;\n var headerPrefixCls = \"\".concat(prefixCls, \"-header\");\n return /*#__PURE__*/React.createElement(Header, {\n prefixCls: headerPrefixCls\n }, value ? formatValue(value, {\n locale: locale,\n format: format,\n generateConfig: generateConfig\n }) : \"\\xA0\");\n}\n\nexport default TimeHeader;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport { useRef, useLayoutEffect } from 'react';\nimport classNames from 'classnames';\nimport { scrollTo, waitElementReady } from '../../utils/uiUtil';\nimport PanelContext from '../../PanelContext';\n\nfunction TimeUnitColumn(props) {\n var prefixCls = props.prefixCls,\n units = props.units,\n onSelect = props.onSelect,\n value = props.value,\n active = props.active,\n hideDisabledOptions = props.hideDisabledOptions;\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n\n var _React$useContext = React.useContext(PanelContext),\n open = _React$useContext.open;\n\n var ulRef = useRef(null);\n var liRefs = useRef(new Map());\n var scrollRef = useRef(); // `useLayoutEffect` here to avoid blink by duration is 0\n\n useLayoutEffect(function () {\n var li = liRefs.current.get(value);\n\n if (li && open !== false) {\n scrollTo(ulRef.current, li.offsetTop, 120);\n }\n }, [value]);\n useLayoutEffect(function () {\n if (open) {\n var li = liRefs.current.get(value);\n\n if (li) {\n scrollRef.current = waitElementReady(li, function () {\n scrollTo(ulRef.current, li.offsetTop, 0);\n });\n }\n }\n\n return function () {\n var _scrollRef$current;\n\n (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.call(scrollRef);\n };\n }, [open]);\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: classNames(\"\".concat(prefixCls, \"-column\"), _defineProperty({}, \"\".concat(prefixCls, \"-column-active\"), active)),\n ref: ulRef,\n style: {\n position: 'relative'\n }\n }, units.map(function (unit) {\n var _classNames2;\n\n if (hideDisabledOptions && unit.disabled) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"li\", {\n key: unit.value,\n ref: function ref(element) {\n liRefs.current.set(unit.value, element);\n },\n className: classNames(cellPrefixCls, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(cellPrefixCls, \"-disabled\"), unit.disabled), _defineProperty(_classNames2, \"\".concat(cellPrefixCls, \"-selected\"), value === unit.value), _classNames2)),\n onClick: function onClick() {\n if (unit.disabled) {\n return;\n }\n\n onSelect(unit.value);\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(cellPrefixCls, \"-inner\")\n }, unit.label));\n }));\n}\n\nexport default TimeUnitColumn;","export function leftPad(str, length) {\n var fill = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';\n var current = String(str);\n\n while (current.length < length) {\n current = \"\".concat(fill).concat(str);\n }\n\n return current;\n}\nexport var tuple = function tuple() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args;\n};\nexport function toArray(val) {\n if (val === null || val === undefined) {\n return [];\n }\n\n return Array.isArray(val) ? val : [val];\n}\nexport default function getDataOrAriaProps(props) {\n var retProps = {};\n Object.keys(props).forEach(function (key) {\n if ((key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role' || key === 'name') && key.substr(0, 7) !== 'data-__') {\n retProps[key] = props[key];\n }\n });\n return retProps;\n}\nexport function getValue(values, index) {\n return values ? values[index] : null;\n}\nexport function updateValues(values, value, index) {\n var newValues = [getValue(values, 0), getValue(values, 1)];\n newValues[index] = typeof value === 'function' ? value(newValues[index]) : value;\n\n if (!newValues[0] && !newValues[1]) {\n return null;\n }\n\n return newValues;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport TimeUnitColumn from './TimeUnitColumn';\nimport { leftPad } from '../../utils/miscUtil';\nimport { setTime as utilSetTime } from '../../utils/timeUtil';\n\nfunction shouldUnitsUpdate(prevUnits, nextUnits) {\n if (prevUnits.length !== nextUnits.length) return true; // if any unit's disabled status is different, the units should be re-evaluted\n\n for (var i = 0; i < prevUnits.length; i += 1) {\n if (prevUnits[i].disabled !== nextUnits[i].disabled) return true;\n }\n\n return false;\n}\n\nfunction generateUnits(start, end, step, disabledUnits) {\n var units = [];\n\n for (var i = start; i <= end; i += step) {\n units.push({\n label: leftPad(i, 2),\n value: i,\n disabled: (disabledUnits || []).includes(i)\n });\n }\n\n return units;\n}\n\nfunction TimeBody(props) {\n var generateConfig = props.generateConfig,\n prefixCls = props.prefixCls,\n operationRef = props.operationRef,\n activeColumnIndex = props.activeColumnIndex,\n value = props.value,\n showHour = props.showHour,\n showMinute = props.showMinute,\n showSecond = props.showSecond,\n use12Hours = props.use12Hours,\n _props$hourStep = props.hourStep,\n hourStep = _props$hourStep === void 0 ? 1 : _props$hourStep,\n _props$minuteStep = props.minuteStep,\n minuteStep = _props$minuteStep === void 0 ? 1 : _props$minuteStep,\n _props$secondStep = props.secondStep,\n secondStep = _props$secondStep === void 0 ? 1 : _props$secondStep,\n disabledHours = props.disabledHours,\n disabledMinutes = props.disabledMinutes,\n disabledSeconds = props.disabledSeconds,\n hideDisabledOptions = props.hideDisabledOptions,\n onSelect = props.onSelect;\n var columns = [];\n var contentPrefixCls = \"\".concat(prefixCls, \"-content\");\n var columnPrefixCls = \"\".concat(prefixCls, \"-time-panel\");\n var isPM;\n var originHour = value ? generateConfig.getHour(value) : -1;\n var hour = originHour;\n var minute = value ? generateConfig.getMinute(value) : -1;\n var second = value ? generateConfig.getSecond(value) : -1;\n\n var setTime = function setTime(isNewPM, newHour, newMinute, newSecond) {\n var newDate = value || generateConfig.getNow();\n var mergedHour = Math.max(0, newHour);\n var mergedMinute = Math.max(0, newMinute);\n var mergedSecond = Math.max(0, newSecond);\n newDate = utilSetTime(generateConfig, newDate, !use12Hours || !isNewPM ? mergedHour : mergedHour + 12, mergedMinute, mergedSecond);\n return newDate;\n }; // ========================= Unit =========================\n\n\n var rawHours = generateUnits(0, 23, hourStep, disabledHours && disabledHours());\n var memorizedRawHours = useMemo(function () {\n return rawHours;\n }, rawHours, shouldUnitsUpdate); // Should additional logic to handle 12 hours\n\n if (use12Hours) {\n isPM = hour >= 12; // -1 means should display AM\n\n hour %= 12;\n }\n\n var _React$useMemo = React.useMemo(function () {\n if (!use12Hours) {\n return [false, false];\n }\n\n var AMPMDisabled = [true, true];\n memorizedRawHours.forEach(function (_ref) {\n var disabled = _ref.disabled,\n hourValue = _ref.value;\n if (disabled) return;\n\n if (hourValue >= 12) {\n AMPMDisabled[1] = false;\n } else {\n AMPMDisabled[0] = false;\n }\n });\n return AMPMDisabled;\n }, [use12Hours, memorizedRawHours]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n AMDisabled = _React$useMemo2[0],\n PMDisabled = _React$useMemo2[1];\n\n var hours = React.useMemo(function () {\n if (!use12Hours) return memorizedRawHours;\n return memorizedRawHours.filter(isPM ? function (hourMeta) {\n return hourMeta.value >= 12;\n } : function (hourMeta) {\n return hourMeta.value < 12;\n }).map(function (hourMeta) {\n var hourValue = hourMeta.value % 12;\n var hourLabel = hourValue === 0 ? '12' : leftPad(hourValue, 2);\n return _objectSpread(_objectSpread({}, hourMeta), {}, {\n label: hourLabel,\n value: hourValue\n });\n });\n }, [use12Hours, isPM, memorizedRawHours]);\n var minutes = generateUnits(0, 59, minuteStep, disabledMinutes && disabledMinutes(originHour));\n var seconds = generateUnits(0, 59, secondStep, disabledSeconds && disabledSeconds(originHour, minute)); // ====================== Operations ======================\n\n operationRef.current = {\n onUpDown: function onUpDown(diff) {\n var column = columns[activeColumnIndex];\n\n if (column) {\n var valueIndex = column.units.findIndex(function (unit) {\n return unit.value === column.value;\n });\n var unitLen = column.units.length;\n\n for (var i = 1; i < unitLen; i += 1) {\n var nextUnit = column.units[(valueIndex + diff * i + unitLen) % unitLen];\n\n if (nextUnit.disabled !== true) {\n column.onSelect(nextUnit.value);\n break;\n }\n }\n }\n }\n }; // ======================== Render ========================\n\n function addColumnNode(condition, node, columnValue, units, onColumnSelect) {\n if (condition !== false) {\n columns.push({\n node: /*#__PURE__*/React.cloneElement(node, {\n prefixCls: columnPrefixCls,\n value: columnValue,\n active: activeColumnIndex === columns.length,\n onSelect: onColumnSelect,\n units: units,\n hideDisabledOptions: hideDisabledOptions\n }),\n onSelect: onColumnSelect,\n value: columnValue,\n units: units\n });\n }\n } // Hour\n\n\n addColumnNode(showHour, /*#__PURE__*/React.createElement(TimeUnitColumn, {\n key: \"hour\"\n }), hour, hours, function (num) {\n onSelect(setTime(isPM, num, minute, second), 'mouse');\n }); // Minute\n\n addColumnNode(showMinute, /*#__PURE__*/React.createElement(TimeUnitColumn, {\n key: \"minute\"\n }), minute, minutes, function (num) {\n onSelect(setTime(isPM, hour, num, second), 'mouse');\n }); // Second\n\n addColumnNode(showSecond, /*#__PURE__*/React.createElement(TimeUnitColumn, {\n key: \"second\"\n }), second, seconds, function (num) {\n onSelect(setTime(isPM, hour, minute, num), 'mouse');\n }); // 12 Hours\n\n var PMIndex = -1;\n\n if (typeof isPM === 'boolean') {\n PMIndex = isPM ? 1 : 0;\n }\n\n addColumnNode(use12Hours === true, /*#__PURE__*/React.createElement(TimeUnitColumn, {\n key: \"12hours\"\n }), PMIndex, [{\n label: 'AM',\n value: 0,\n disabled: AMDisabled\n }, {\n label: 'PM',\n value: 1,\n disabled: PMDisabled\n }], function (num) {\n onSelect(setTime(!!num, hour, minute, second), 'mouse');\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: contentPrefixCls\n }, columns.map(function (_ref2) {\n var node = _ref2.node;\n return node;\n }));\n}\n\nexport default TimeBody;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport TimeHeader from './TimeHeader';\nimport TimeBody from './TimeBody';\nimport { createKeyDownHandler } from '../../utils/uiUtil';\n\nvar countBoolean = function countBoolean(boolList) {\n return boolList.filter(function (bool) {\n return bool !== false;\n }).length;\n};\n\nfunction TimePanel(props) {\n var generateConfig = props.generateConfig,\n _props$format = props.format,\n format = _props$format === void 0 ? 'HH:mm:ss' : _props$format,\n prefixCls = props.prefixCls,\n active = props.active,\n operationRef = props.operationRef,\n showHour = props.showHour,\n showMinute = props.showMinute,\n showSecond = props.showSecond,\n _props$use12Hours = props.use12Hours,\n use12Hours = _props$use12Hours === void 0 ? false : _props$use12Hours,\n onSelect = props.onSelect,\n value = props.value;\n var panelPrefixCls = \"\".concat(prefixCls, \"-time-panel\");\n var bodyOperationRef = React.useRef(); // ======================= Keyboard =======================\n\n var _React$useState = React.useState(-1),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n activeColumnIndex = _React$useState2[0],\n setActiveColumnIndex = _React$useState2[1];\n\n var columnsCount = countBoolean([showHour, showMinute, showSecond, use12Hours]);\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, {\n onLeftRight: function onLeftRight(diff) {\n setActiveColumnIndex((activeColumnIndex + diff + columnsCount) % columnsCount);\n },\n onUpDown: function onUpDown(diff) {\n if (activeColumnIndex === -1) {\n setActiveColumnIndex(0);\n } else if (bodyOperationRef.current) {\n bodyOperationRef.current.onUpDown(diff);\n }\n },\n onEnter: function onEnter() {\n onSelect(value || generateConfig.getNow(), 'key');\n setActiveColumnIndex(-1);\n }\n });\n },\n onBlur: function onBlur() {\n setActiveColumnIndex(-1);\n }\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(panelPrefixCls, _defineProperty({}, \"\".concat(panelPrefixCls, \"-active\"), active))\n }, /*#__PURE__*/React.createElement(TimeHeader, _extends({}, props, {\n format: format,\n prefixCls: prefixCls\n })), /*#__PURE__*/React.createElement(TimeBody, _extends({}, props, {\n prefixCls: prefixCls,\n activeColumnIndex: activeColumnIndex,\n operationRef: bodyOperationRef\n })));\n}\n\nexport default TimePanel;","import * as React from 'react';\nvar RangeContext = /*#__PURE__*/React.createContext({});\nexport default RangeContext;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { isInRange } from '../utils/dateUtil';\nimport { getValue } from '../utils/miscUtil';\nexport default function useCellClassName(_ref) {\n var cellPrefixCls = _ref.cellPrefixCls,\n generateConfig = _ref.generateConfig,\n rangedValue = _ref.rangedValue,\n hoverRangedValue = _ref.hoverRangedValue,\n isInView = _ref.isInView,\n isSameCell = _ref.isSameCell,\n offsetCell = _ref.offsetCell,\n today = _ref.today,\n value = _ref.value;\n\n function getClassName(currentDate) {\n var _ref2;\n\n var prevDate = offsetCell(currentDate, -1);\n var nextDate = offsetCell(currentDate, 1);\n var rangeStart = getValue(rangedValue, 0);\n var rangeEnd = getValue(rangedValue, 1);\n var hoverStart = getValue(hoverRangedValue, 0);\n var hoverEnd = getValue(hoverRangedValue, 1);\n var isRangeHovered = isInRange(generateConfig, hoverStart, hoverEnd, currentDate);\n\n function isRangeStart(date) {\n return isSameCell(rangeStart, date);\n }\n\n function isRangeEnd(date) {\n return isSameCell(rangeEnd, date);\n }\n\n var isHoverStart = isSameCell(hoverStart, currentDate);\n var isHoverEnd = isSameCell(hoverEnd, currentDate);\n var isHoverEdgeStart = (isRangeHovered || isHoverEnd) && (!isInView(prevDate) || isRangeEnd(prevDate));\n var isHoverEdgeEnd = (isRangeHovered || isHoverStart) && (!isInView(nextDate) || isRangeStart(nextDate));\n return _ref2 = {}, _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-in-view\"), isInView(currentDate)), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-in-range\"), isInRange(generateConfig, rangeStart, rangeEnd, currentDate)), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-start\"), isRangeStart(currentDate)), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-end\"), isRangeEnd(currentDate)), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-start-single\"), isRangeStart(currentDate) && !rangeEnd), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-end-single\"), isRangeEnd(currentDate) && !rangeStart), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-start-near-hover\"), isRangeStart(currentDate) && (isSameCell(prevDate, hoverStart) || isInRange(generateConfig, hoverStart, hoverEnd, prevDate))), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-end-near-hover\"), isRangeEnd(currentDate) && (isSameCell(nextDate, hoverEnd) || isInRange(generateConfig, hoverStart, hoverEnd, nextDate))), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-hover\"), isRangeHovered), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-hover-start\"), isHoverStart), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-hover-end\"), isHoverEnd), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-hover-edge-start\"), isHoverEdgeStart), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-hover-edge-end\"), isHoverEdgeEnd), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-hover-edge-start-near-range\"), isHoverEdgeStart && isSameCell(prevDate, rangeEnd)), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-hover-edge-end-near-range\"), isHoverEdgeEnd && isSameCell(nextDate, rangeStart)), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-today\"), isSameCell(today, currentDate)), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-selected\"), isSameCell(value, currentDate)), _ref2;\n }\n\n return getClassName;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { WEEK_DAY_COUNT, getWeekStartDate, isSameDate, isSameMonth, formatValue } from '../../utils/dateUtil';\nimport RangeContext from '../../RangeContext';\nimport useCellClassName from '../../hooks/useCellClassName';\nimport PanelBody from '../PanelBody';\n\nfunction DateBody(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n prefixColumn = props.prefixColumn,\n locale = props.locale,\n rowCount = props.rowCount,\n viewDate = props.viewDate,\n value = props.value,\n dateRender = props.dateRender;\n\n var _React$useContext = React.useContext(RangeContext),\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n\n var baseDate = getWeekStartDate(locale.locale, generateConfig, viewDate);\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n var weekFirstDay = generateConfig.locale.getWeekFirstDay(locale.locale);\n var today = generateConfig.getNow(); // ============================== Header ==============================\n\n var headerCells = [];\n var weekDaysLocale = locale.shortWeekDays || (generateConfig.locale.getShortWeekDays ? generateConfig.locale.getShortWeekDays(locale.locale) : []);\n\n if (prefixColumn) {\n headerCells.push( /*#__PURE__*/React.createElement(\"th\", {\n key: \"empty\",\n \"aria-label\": \"empty cell\"\n }));\n }\n\n for (var i = 0; i < WEEK_DAY_COUNT; i += 1) {\n headerCells.push( /*#__PURE__*/React.createElement(\"th\", {\n key: i\n }, weekDaysLocale[(i + weekFirstDay) % WEEK_DAY_COUNT]));\n } // =============================== Body ===============================\n\n\n var getCellClassName = useCellClassName({\n cellPrefixCls: cellPrefixCls,\n today: today,\n value: value,\n generateConfig: generateConfig,\n rangedValue: prefixColumn ? null : rangedValue,\n hoverRangedValue: prefixColumn ? null : hoverRangedValue,\n isSameCell: function isSameCell(current, target) {\n return isSameDate(generateConfig, current, target);\n },\n isInView: function isInView(date) {\n return isSameMonth(generateConfig, date, viewDate);\n },\n offsetCell: function offsetCell(date, offset) {\n return generateConfig.addDate(date, offset);\n }\n });\n var getCellNode = dateRender ? function (date) {\n return dateRender(date, today);\n } : undefined;\n return /*#__PURE__*/React.createElement(PanelBody, _extends({}, props, {\n rowNum: rowCount,\n colNum: WEEK_DAY_COUNT,\n baseDate: baseDate,\n getCellNode: getCellNode,\n getCellText: generateConfig.getDate,\n getCellClassName: getCellClassName,\n getCellDate: generateConfig.addDate,\n titleCell: function titleCell(date) {\n return formatValue(date, {\n locale: locale,\n format: 'YYYY-MM-DD',\n generateConfig: generateConfig\n });\n },\n headerCells: headerCells\n }));\n}\n\nexport default DateBody;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Header from '../Header';\nimport PanelContext from '../../PanelContext';\nimport { formatValue } from '../../utils/dateUtil';\n\nfunction DateHeader(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n locale = props.locale,\n viewDate = props.viewDate,\n onNextMonth = props.onNextMonth,\n onPrevMonth = props.onPrevMonth,\n onNextYear = props.onNextYear,\n onPrevYear = props.onPrevYear,\n onYearClick = props.onYearClick,\n onMonthClick = props.onMonthClick;\n\n var _React$useContext = React.useContext(PanelContext),\n hideHeader = _React$useContext.hideHeader;\n\n if (hideHeader) {\n return null;\n }\n\n var headerPrefixCls = \"\".concat(prefixCls, \"-header\");\n var monthsLocale = locale.shortMonths || (generateConfig.locale.getShortMonths ? generateConfig.locale.getShortMonths(locale.locale) : []);\n var month = generateConfig.getMonth(viewDate); // =================== Month & Year ===================\n\n var yearNode = /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n key: \"year\",\n onClick: onYearClick,\n tabIndex: -1,\n className: \"\".concat(prefixCls, \"-year-btn\")\n }, formatValue(viewDate, {\n locale: locale,\n format: locale.yearFormat,\n generateConfig: generateConfig\n }));\n var monthNode = /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n key: \"month\",\n onClick: onMonthClick,\n tabIndex: -1,\n className: \"\".concat(prefixCls, \"-month-btn\")\n }, locale.monthFormat ? formatValue(viewDate, {\n locale: locale,\n format: locale.monthFormat,\n generateConfig: generateConfig\n }) : monthsLocale[month]);\n var monthYearNodes = locale.monthBeforeYear ? [monthNode, yearNode] : [yearNode, monthNode];\n return /*#__PURE__*/React.createElement(Header, _extends({}, props, {\n prefixCls: headerPrefixCls,\n onSuperPrev: onPrevYear,\n onPrev: onPrevMonth,\n onNext: onNextMonth,\n onSuperNext: onNextYear\n }), monthYearNodes);\n}\n\nexport default DateHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport DateBody from './DateBody';\nimport DateHeader from './DateHeader';\nimport { WEEK_DAY_COUNT } from '../../utils/dateUtil';\nimport { createKeyDownHandler } from '../../utils/uiUtil';\nvar DATE_ROW_COUNT = 6;\n\nfunction DatePanel(props) {\n var prefixCls = props.prefixCls,\n _props$panelName = props.panelName,\n panelName = _props$panelName === void 0 ? 'date' : _props$panelName,\n keyboardConfig = props.keyboardConfig,\n active = props.active,\n operationRef = props.operationRef,\n generateConfig = props.generateConfig,\n value = props.value,\n viewDate = props.viewDate,\n onViewDateChange = props.onViewDateChange,\n onPanelChange = props.onPanelChange,\n _onSelect = props.onSelect;\n var panelPrefixCls = \"\".concat(prefixCls, \"-\").concat(panelName, \"-panel\"); // ======================= Keyboard =======================\n\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, _objectSpread({\n onLeftRight: function onLeftRight(diff) {\n _onSelect(generateConfig.addDate(value || viewDate, diff), 'key');\n },\n onCtrlLeftRight: function onCtrlLeftRight(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff), 'key');\n },\n onUpDown: function onUpDown(diff) {\n _onSelect(generateConfig.addDate(value || viewDate, diff * WEEK_DAY_COUNT), 'key');\n },\n onPageUpDown: function onPageUpDown(diff) {\n _onSelect(generateConfig.addMonth(value || viewDate, diff), 'key');\n }\n }, keyboardConfig));\n }\n }; // ==================== View Operation ====================\n\n var onYearChange = function onYearChange(diff) {\n var newDate = generateConfig.addYear(viewDate, diff);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n\n var onMonthChange = function onMonthChange(diff) {\n var newDate = generateConfig.addMonth(viewDate, diff);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(panelPrefixCls, _defineProperty({}, \"\".concat(panelPrefixCls, \"-active\"), active))\n }, /*#__PURE__*/React.createElement(DateHeader, _extends({}, props, {\n prefixCls: prefixCls,\n value: value,\n viewDate: viewDate // View Operation\n ,\n onPrevYear: function onPrevYear() {\n onYearChange(-1);\n },\n onNextYear: function onNextYear() {\n onYearChange(1);\n },\n onPrevMonth: function onPrevMonth() {\n onMonthChange(-1);\n },\n onNextMonth: function onNextMonth() {\n onMonthChange(1);\n },\n onMonthClick: function onMonthClick() {\n onPanelChange('month', viewDate);\n },\n onYearClick: function onYearClick() {\n onPanelChange('year', viewDate);\n }\n })), /*#__PURE__*/React.createElement(DateBody, _extends({}, props, {\n onSelect: function onSelect(date) {\n return _onSelect(date, 'mouse');\n },\n prefixCls: prefixCls,\n value: value,\n viewDate: viewDate,\n rowCount: DATE_ROW_COUNT\n })));\n}\n\nexport default DatePanel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport DatePanel from '../DatePanel';\nimport TimePanel from '../TimePanel';\nimport { tuple } from '../../utils/miscUtil';\nimport { setDateTime as setTime } from '../../utils/timeUtil';\nvar ACTIVE_PANEL = tuple('date', 'time');\n\nfunction DatetimePanel(props) {\n var prefixCls = props.prefixCls,\n operationRef = props.operationRef,\n generateConfig = props.generateConfig,\n value = props.value,\n defaultValue = props.defaultValue,\n disabledTime = props.disabledTime,\n showTime = props.showTime,\n onSelect = props.onSelect;\n var panelPrefixCls = \"\".concat(prefixCls, \"-datetime-panel\");\n\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n activePanel = _React$useState2[0],\n setActivePanel = _React$useState2[1];\n\n var dateOperationRef = React.useRef({});\n var timeOperationRef = React.useRef({});\n var timeProps = _typeof(showTime) === 'object' ? _objectSpread({}, showTime) : {}; // ======================= Keyboard =======================\n\n function getNextActive(offset) {\n var activeIndex = ACTIVE_PANEL.indexOf(activePanel) + offset;\n var nextActivePanel = ACTIVE_PANEL[activeIndex] || null;\n return nextActivePanel;\n }\n\n var onBlur = function onBlur(e) {\n if (timeOperationRef.current.onBlur) {\n timeOperationRef.current.onBlur(e);\n }\n\n setActivePanel(null);\n };\n\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n // Switch active panel\n if (event.which === KeyCode.TAB) {\n var nextActivePanel = getNextActive(event.shiftKey ? -1 : 1);\n setActivePanel(nextActivePanel);\n\n if (nextActivePanel) {\n event.preventDefault();\n }\n\n return true;\n } // Operate on current active panel\n\n\n if (activePanel) {\n var ref = activePanel === 'date' ? dateOperationRef : timeOperationRef;\n\n if (ref.current && ref.current.onKeyDown) {\n ref.current.onKeyDown(event);\n }\n\n return true;\n } // Switch first active panel if operate without panel\n\n\n if ([KeyCode.LEFT, KeyCode.RIGHT, KeyCode.UP, KeyCode.DOWN].includes(event.which)) {\n setActivePanel('date');\n return true;\n }\n\n return false;\n },\n onBlur: onBlur,\n onClose: onBlur\n }; // ======================== Events ========================\n\n var onInternalSelect = function onInternalSelect(date, source) {\n var selectedDate = date;\n\n if (source === 'date' && !value && timeProps.defaultValue) {\n // Date with time defaultValue\n selectedDate = generateConfig.setHour(selectedDate, generateConfig.getHour(timeProps.defaultValue));\n selectedDate = generateConfig.setMinute(selectedDate, generateConfig.getMinute(timeProps.defaultValue));\n selectedDate = generateConfig.setSecond(selectedDate, generateConfig.getSecond(timeProps.defaultValue));\n } else if (source === 'time' && !value && defaultValue) {\n selectedDate = generateConfig.setYear(selectedDate, generateConfig.getYear(defaultValue));\n selectedDate = generateConfig.setMonth(selectedDate, generateConfig.getMonth(defaultValue));\n selectedDate = generateConfig.setDate(selectedDate, generateConfig.getDate(defaultValue));\n }\n\n if (onSelect) {\n onSelect(selectedDate, 'mouse');\n }\n }; // ======================== Render ========================\n\n\n var disabledTimes = disabledTime ? disabledTime(value || null) : {};\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(panelPrefixCls, _defineProperty({}, \"\".concat(panelPrefixCls, \"-active\"), activePanel))\n }, /*#__PURE__*/React.createElement(DatePanel, _extends({}, props, {\n operationRef: dateOperationRef,\n active: activePanel === 'date',\n onSelect: function onSelect(date) {\n onInternalSelect(setTime(generateConfig, date, showTime && _typeof(showTime) === 'object' ? showTime.defaultValue : null), 'date');\n }\n })), /*#__PURE__*/React.createElement(TimePanel, _extends({}, props, {\n format: undefined\n }, timeProps, disabledTimes, {\n defaultValue: undefined,\n operationRef: timeOperationRef,\n active: activePanel === 'time',\n onSelect: function onSelect(date) {\n onInternalSelect(date, 'time');\n }\n })));\n}\n\nexport default DatetimePanel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport DatePanel from '../DatePanel';\nimport { isSameWeek } from '../../utils/dateUtil';\n\nfunction WeekPanel(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n locale = props.locale,\n value = props.value; // Render additional column\n\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n\n var prefixColumn = function prefixColumn(date) {\n return /*#__PURE__*/React.createElement(\"td\", {\n key: \"week\",\n className: classNames(cellPrefixCls, \"\".concat(cellPrefixCls, \"-week\"))\n }, generateConfig.locale.getWeek(locale.locale, date));\n }; // Add row className\n\n\n var rowPrefixCls = \"\".concat(prefixCls, \"-week-panel-row\");\n\n var rowClassName = function rowClassName(date) {\n return classNames(rowPrefixCls, _defineProperty({}, \"\".concat(rowPrefixCls, \"-selected\"), isSameWeek(generateConfig, locale.locale, value, date)));\n };\n\n return /*#__PURE__*/React.createElement(DatePanel, _extends({}, props, {\n panelName: \"week\",\n prefixColumn: prefixColumn,\n rowClassName: rowClassName,\n keyboardConfig: {\n onLeftRight: null\n }\n }));\n}\n\nexport default WeekPanel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Header from '../Header';\nimport PanelContext from '../../PanelContext';\nimport { formatValue } from '../../utils/dateUtil';\n\nfunction MonthHeader(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n locale = props.locale,\n viewDate = props.viewDate,\n onNextYear = props.onNextYear,\n onPrevYear = props.onPrevYear,\n onYearClick = props.onYearClick;\n\n var _React$useContext = React.useContext(PanelContext),\n hideHeader = _React$useContext.hideHeader;\n\n if (hideHeader) {\n return null;\n }\n\n var headerPrefixCls = \"\".concat(prefixCls, \"-header\");\n return /*#__PURE__*/React.createElement(Header, _extends({}, props, {\n prefixCls: headerPrefixCls,\n onSuperPrev: onPrevYear,\n onSuperNext: onNextYear\n }), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onYearClick,\n className: \"\".concat(prefixCls, \"-year-btn\")\n }, formatValue(viewDate, {\n locale: locale,\n format: locale.yearFormat,\n generateConfig: generateConfig\n })));\n}\n\nexport default MonthHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { formatValue, isSameMonth } from '../../utils/dateUtil';\nimport RangeContext from '../../RangeContext';\nimport useCellClassName from '../../hooks/useCellClassName';\nimport PanelBody from '../PanelBody';\nexport var MONTH_COL_COUNT = 3;\nvar MONTH_ROW_COUNT = 4;\n\nfunction MonthBody(props) {\n var prefixCls = props.prefixCls,\n locale = props.locale,\n value = props.value,\n viewDate = props.viewDate,\n generateConfig = props.generateConfig,\n monthCellRender = props.monthCellRender;\n\n var _React$useContext = React.useContext(RangeContext),\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n var getCellClassName = useCellClassName({\n cellPrefixCls: cellPrefixCls,\n value: value,\n generateConfig: generateConfig,\n rangedValue: rangedValue,\n hoverRangedValue: hoverRangedValue,\n isSameCell: function isSameCell(current, target) {\n return isSameMonth(generateConfig, current, target);\n },\n isInView: function isInView() {\n return true;\n },\n offsetCell: function offsetCell(date, offset) {\n return generateConfig.addMonth(date, offset);\n }\n });\n var monthsLocale = locale.shortMonths || (generateConfig.locale.getShortMonths ? generateConfig.locale.getShortMonths(locale.locale) : []);\n var baseMonth = generateConfig.setMonth(viewDate, 0);\n var getCellNode = monthCellRender ? function (date) {\n return monthCellRender(date, locale);\n } : undefined;\n return /*#__PURE__*/React.createElement(PanelBody, _extends({}, props, {\n rowNum: MONTH_ROW_COUNT,\n colNum: MONTH_COL_COUNT,\n baseDate: baseMonth,\n getCellNode: getCellNode,\n getCellText: function getCellText(date) {\n return locale.monthFormat ? formatValue(date, {\n locale: locale,\n format: locale.monthFormat,\n generateConfig: generateConfig\n }) : monthsLocale[generateConfig.getMonth(date)];\n },\n getCellClassName: getCellClassName,\n getCellDate: generateConfig.addMonth,\n titleCell: function titleCell(date) {\n return formatValue(date, {\n locale: locale,\n format: 'YYYY-MM',\n generateConfig: generateConfig\n });\n }\n }));\n}\n\nexport default MonthBody;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport MonthHeader from './MonthHeader';\nimport MonthBody, { MONTH_COL_COUNT } from './MonthBody';\nimport { createKeyDownHandler } from '../../utils/uiUtil';\n\nfunction MonthPanel(props) {\n var prefixCls = props.prefixCls,\n operationRef = props.operationRef,\n onViewDateChange = props.onViewDateChange,\n generateConfig = props.generateConfig,\n value = props.value,\n viewDate = props.viewDate,\n onPanelChange = props.onPanelChange,\n _onSelect = props.onSelect;\n var panelPrefixCls = \"\".concat(prefixCls, \"-month-panel\"); // ======================= Keyboard =======================\n\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, {\n onLeftRight: function onLeftRight(diff) {\n _onSelect(generateConfig.addMonth(value || viewDate, diff), 'key');\n },\n onCtrlLeftRight: function onCtrlLeftRight(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff), 'key');\n },\n onUpDown: function onUpDown(diff) {\n _onSelect(generateConfig.addMonth(value || viewDate, diff * MONTH_COL_COUNT), 'key');\n },\n onEnter: function onEnter() {\n onPanelChange('date', value || viewDate);\n }\n });\n }\n }; // ==================== View Operation ====================\n\n var onYearChange = function onYearChange(diff) {\n var newDate = generateConfig.addYear(viewDate, diff);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: panelPrefixCls\n }, /*#__PURE__*/React.createElement(MonthHeader, _extends({}, props, {\n prefixCls: prefixCls,\n onPrevYear: function onPrevYear() {\n onYearChange(-1);\n },\n onNextYear: function onNextYear() {\n onYearChange(1);\n },\n onYearClick: function onYearClick() {\n onPanelChange('year', viewDate);\n }\n })), /*#__PURE__*/React.createElement(MonthBody, _extends({}, props, {\n prefixCls: prefixCls,\n onSelect: function onSelect(date) {\n _onSelect(date, 'mouse');\n\n onPanelChange('date', date);\n }\n })));\n}\n\nexport default MonthPanel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Header from '../Header';\nimport PanelContext from '../../PanelContext';\nimport { formatValue } from '../../utils/dateUtil';\n\nfunction QuarterHeader(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n locale = props.locale,\n viewDate = props.viewDate,\n onNextYear = props.onNextYear,\n onPrevYear = props.onPrevYear,\n onYearClick = props.onYearClick;\n\n var _React$useContext = React.useContext(PanelContext),\n hideHeader = _React$useContext.hideHeader;\n\n if (hideHeader) {\n return null;\n }\n\n var headerPrefixCls = \"\".concat(prefixCls, \"-header\");\n return /*#__PURE__*/React.createElement(Header, _extends({}, props, {\n prefixCls: headerPrefixCls,\n onSuperPrev: onPrevYear,\n onSuperNext: onNextYear\n }), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onYearClick,\n className: \"\".concat(prefixCls, \"-year-btn\")\n }, formatValue(viewDate, {\n locale: locale,\n format: locale.yearFormat,\n generateConfig: generateConfig\n })));\n}\n\nexport default QuarterHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { formatValue, isSameQuarter } from '../../utils/dateUtil';\nimport RangeContext from '../../RangeContext';\nimport useCellClassName from '../../hooks/useCellClassName';\nimport PanelBody from '../PanelBody';\nexport var QUARTER_COL_COUNT = 4;\nvar QUARTER_ROW_COUNT = 1;\n\nfunction QuarterBody(props) {\n var prefixCls = props.prefixCls,\n locale = props.locale,\n value = props.value,\n viewDate = props.viewDate,\n generateConfig = props.generateConfig;\n\n var _React$useContext = React.useContext(RangeContext),\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n var getCellClassName = useCellClassName({\n cellPrefixCls: cellPrefixCls,\n value: value,\n generateConfig: generateConfig,\n rangedValue: rangedValue,\n hoverRangedValue: hoverRangedValue,\n isSameCell: function isSameCell(current, target) {\n return isSameQuarter(generateConfig, current, target);\n },\n isInView: function isInView() {\n return true;\n },\n offsetCell: function offsetCell(date, offset) {\n return generateConfig.addMonth(date, offset * 3);\n }\n });\n var baseQuarter = generateConfig.setDate(generateConfig.setMonth(viewDate, 0), 1);\n return /*#__PURE__*/React.createElement(PanelBody, _extends({}, props, {\n rowNum: QUARTER_ROW_COUNT,\n colNum: QUARTER_COL_COUNT,\n baseDate: baseQuarter,\n getCellText: function getCellText(date) {\n return formatValue(date, {\n locale: locale,\n format: locale.quarterFormat || '[Q]Q',\n generateConfig: generateConfig\n });\n },\n getCellClassName: getCellClassName,\n getCellDate: function getCellDate(date, offset) {\n return generateConfig.addMonth(date, offset * 3);\n },\n titleCell: function titleCell(date) {\n return formatValue(date, {\n locale: locale,\n format: 'YYYY-[Q]Q',\n generateConfig: generateConfig\n });\n }\n }));\n}\n\nexport default QuarterBody;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport QuarterHeader from './QuarterHeader';\nimport QuarterBody from './QuarterBody';\nimport { createKeyDownHandler } from '../../utils/uiUtil';\n\nfunction QuarterPanel(props) {\n var prefixCls = props.prefixCls,\n operationRef = props.operationRef,\n onViewDateChange = props.onViewDateChange,\n generateConfig = props.generateConfig,\n value = props.value,\n viewDate = props.viewDate,\n onPanelChange = props.onPanelChange,\n _onSelect = props.onSelect;\n var panelPrefixCls = \"\".concat(prefixCls, \"-quarter-panel\"); // ======================= Keyboard =======================\n\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, {\n onLeftRight: function onLeftRight(diff) {\n _onSelect(generateConfig.addMonth(value || viewDate, diff * 3), 'key');\n },\n onCtrlLeftRight: function onCtrlLeftRight(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff), 'key');\n },\n onUpDown: function onUpDown(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff), 'key');\n }\n });\n }\n }; // ==================== View Operation ====================\n\n var onYearChange = function onYearChange(diff) {\n var newDate = generateConfig.addYear(viewDate, diff);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: panelPrefixCls\n }, /*#__PURE__*/React.createElement(QuarterHeader, _extends({}, props, {\n prefixCls: prefixCls,\n onPrevYear: function onPrevYear() {\n onYearChange(-1);\n },\n onNextYear: function onNextYear() {\n onYearChange(1);\n },\n onYearClick: function onYearClick() {\n onPanelChange('year', viewDate);\n }\n })), /*#__PURE__*/React.createElement(QuarterBody, _extends({}, props, {\n prefixCls: prefixCls,\n onSelect: function onSelect(date) {\n _onSelect(date, 'mouse');\n }\n })));\n}\n\nexport default QuarterPanel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Header from '../Header';\nimport { YEAR_DECADE_COUNT } from '.';\nimport PanelContext from '../../PanelContext';\n\nfunction YearHeader(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n viewDate = props.viewDate,\n onPrevDecade = props.onPrevDecade,\n onNextDecade = props.onNextDecade,\n onDecadeClick = props.onDecadeClick;\n\n var _React$useContext = React.useContext(PanelContext),\n hideHeader = _React$useContext.hideHeader;\n\n if (hideHeader) {\n return null;\n }\n\n var headerPrefixCls = \"\".concat(prefixCls, \"-header\");\n var yearNumber = generateConfig.getYear(viewDate);\n var startYear = Math.floor(yearNumber / YEAR_DECADE_COUNT) * YEAR_DECADE_COUNT;\n var endYear = startYear + YEAR_DECADE_COUNT - 1;\n return /*#__PURE__*/React.createElement(Header, _extends({}, props, {\n prefixCls: headerPrefixCls,\n onSuperPrev: onPrevDecade,\n onSuperNext: onNextDecade\n }), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onDecadeClick,\n className: \"\".concat(prefixCls, \"-decade-btn\")\n }, startYear, \"-\", endYear));\n}\n\nexport default YearHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { YEAR_DECADE_COUNT } from '.';\nimport useCellClassName from '../../hooks/useCellClassName';\nimport { formatValue, isSameYear } from '../../utils/dateUtil';\nimport RangeContext from '../../RangeContext';\nimport PanelBody from '../PanelBody';\nexport var YEAR_COL_COUNT = 3;\nvar YEAR_ROW_COUNT = 4;\n\nfunction YearBody(props) {\n var prefixCls = props.prefixCls,\n value = props.value,\n viewDate = props.viewDate,\n locale = props.locale,\n generateConfig = props.generateConfig;\n\n var _React$useContext = React.useContext(RangeContext),\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n\n var yearPrefixCls = \"\".concat(prefixCls, \"-cell\"); // =============================== Year ===============================\n\n var yearNumber = generateConfig.getYear(viewDate);\n var startYear = Math.floor(yearNumber / YEAR_DECADE_COUNT) * YEAR_DECADE_COUNT;\n var endYear = startYear + YEAR_DECADE_COUNT - 1;\n var baseYear = generateConfig.setYear(viewDate, startYear - Math.ceil((YEAR_COL_COUNT * YEAR_ROW_COUNT - YEAR_DECADE_COUNT) / 2));\n\n var isInView = function isInView(date) {\n var currentYearNumber = generateConfig.getYear(date);\n return startYear <= currentYearNumber && currentYearNumber <= endYear;\n };\n\n var getCellClassName = useCellClassName({\n cellPrefixCls: yearPrefixCls,\n value: value,\n generateConfig: generateConfig,\n rangedValue: rangedValue,\n hoverRangedValue: hoverRangedValue,\n isSameCell: function isSameCell(current, target) {\n return isSameYear(generateConfig, current, target);\n },\n isInView: isInView,\n offsetCell: function offsetCell(date, offset) {\n return generateConfig.addYear(date, offset);\n }\n });\n return /*#__PURE__*/React.createElement(PanelBody, _extends({}, props, {\n rowNum: YEAR_ROW_COUNT,\n colNum: YEAR_COL_COUNT,\n baseDate: baseYear,\n getCellText: generateConfig.getYear,\n getCellClassName: getCellClassName,\n getCellDate: generateConfig.addYear,\n titleCell: function titleCell(date) {\n return formatValue(date, {\n locale: locale,\n format: 'YYYY',\n generateConfig: generateConfig\n });\n }\n }));\n}\n\nexport default YearBody;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport YearHeader from './YearHeader';\nimport YearBody, { YEAR_COL_COUNT } from './YearBody';\nimport { createKeyDownHandler } from '../../utils/uiUtil';\nexport var YEAR_DECADE_COUNT = 10;\n\nfunction YearPanel(props) {\n var prefixCls = props.prefixCls,\n operationRef = props.operationRef,\n onViewDateChange = props.onViewDateChange,\n generateConfig = props.generateConfig,\n value = props.value,\n viewDate = props.viewDate,\n sourceMode = props.sourceMode,\n _onSelect = props.onSelect,\n onPanelChange = props.onPanelChange;\n var panelPrefixCls = \"\".concat(prefixCls, \"-year-panel\"); // ======================= Keyboard =======================\n\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, {\n onLeftRight: function onLeftRight(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff), 'key');\n },\n onCtrlLeftRight: function onCtrlLeftRight(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff * YEAR_DECADE_COUNT), 'key');\n },\n onUpDown: function onUpDown(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff * YEAR_COL_COUNT), 'key');\n },\n onEnter: function onEnter() {\n onPanelChange(sourceMode === 'date' ? 'date' : 'month', value || viewDate);\n }\n });\n }\n }; // ==================== View Operation ====================\n\n var onDecadeChange = function onDecadeChange(diff) {\n var newDate = generateConfig.addYear(viewDate, diff * 10);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: panelPrefixCls\n }, /*#__PURE__*/React.createElement(YearHeader, _extends({}, props, {\n prefixCls: prefixCls,\n onPrevDecade: function onPrevDecade() {\n onDecadeChange(-1);\n },\n onNextDecade: function onNextDecade() {\n onDecadeChange(1);\n },\n onDecadeClick: function onDecadeClick() {\n onPanelChange('decade', viewDate);\n }\n })), /*#__PURE__*/React.createElement(YearBody, _extends({}, props, {\n prefixCls: prefixCls,\n onSelect: function onSelect(date) {\n onPanelChange(sourceMode === 'date' ? 'date' : 'month', date);\n\n _onSelect(date, 'mouse');\n }\n })));\n}\n\nexport default YearPanel;","import * as React from 'react';\nexport default function getExtraFooter(prefixCls, mode, renderExtraFooter) {\n if (!renderExtraFooter) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-footer-extra\")\n }, renderExtraFooter(mode));\n}","import * as React from 'react';\nexport default function getRanges(_ref) {\n var prefixCls = _ref.prefixCls,\n _ref$rangeList = _ref.rangeList,\n rangeList = _ref$rangeList === void 0 ? [] : _ref$rangeList,\n _ref$components = _ref.components,\n components = _ref$components === void 0 ? {} : _ref$components,\n needConfirmButton = _ref.needConfirmButton,\n onNow = _ref.onNow,\n onOk = _ref.onOk,\n okDisabled = _ref.okDisabled,\n showNow = _ref.showNow,\n locale = _ref.locale;\n var presetNode;\n var okNode;\n\n if (rangeList.length) {\n var Item = components.rangeItem || 'span';\n presetNode = /*#__PURE__*/React.createElement(React.Fragment, null, rangeList.map(function (_ref2) {\n var label = _ref2.label,\n onClick = _ref2.onClick,\n onMouseEnter = _ref2.onMouseEnter,\n onMouseLeave = _ref2.onMouseLeave;\n return /*#__PURE__*/React.createElement(\"li\", {\n key: label,\n className: \"\".concat(prefixCls, \"-preset\")\n }, /*#__PURE__*/React.createElement(Item, {\n onClick: onClick,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave\n }, label));\n }));\n }\n\n if (needConfirmButton) {\n var Button = components.button || 'button';\n\n if (onNow && !presetNode && showNow !== false) {\n presetNode = /*#__PURE__*/React.createElement(\"li\", {\n className: \"\".concat(prefixCls, \"-now\")\n }, /*#__PURE__*/React.createElement(\"a\", {\n className: \"\".concat(prefixCls, \"-now-btn\"),\n onClick: onNow\n }, locale.now));\n }\n\n okNode = needConfirmButton && /*#__PURE__*/React.createElement(\"li\", {\n className: \"\".concat(prefixCls, \"-ok\")\n }, /*#__PURE__*/React.createElement(Button, {\n disabled: okDisabled,\n onClick: onOk\n }, locale.ok));\n }\n\n if (!presetNode && !okNode) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: \"\".concat(prefixCls, \"-ranges\")\n }, presetNode, okNode);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\n/**\n * Logic:\n * When `mode` === `picker`,\n * click will trigger `onSelect` (if value changed trigger `onChange` also).\n * Panel change will not trigger `onSelect` but trigger `onPanelChange`\n */\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport warning from \"rc-util/es/warning\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport TimePanel from './panels/TimePanel';\nimport DatetimePanel from './panels/DatetimePanel';\nimport DatePanel from './panels/DatePanel';\nimport WeekPanel from './panels/WeekPanel';\nimport MonthPanel from './panels/MonthPanel';\nimport QuarterPanel from './panels/QuarterPanel';\nimport YearPanel from './panels/YearPanel';\nimport DecadePanel from './panels/DecadePanel';\nimport { isEqual } from './utils/dateUtil';\nimport PanelContext from './PanelContext';\nimport { PickerModeMap } from './utils/uiUtil';\nimport RangeContext from './RangeContext';\nimport getExtraFooter from './utils/getExtraFooter';\nimport getRanges from './utils/getRanges';\nimport { getLowerBoundTime, setDateTime, setTime } from './utils/timeUtil';\n\nfunction PickerPanel(props) {\n var _classNames;\n\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-picker' : _props$prefixCls,\n className = props.className,\n style = props.style,\n locale = props.locale,\n generateConfig = props.generateConfig,\n value = props.value,\n defaultValue = props.defaultValue,\n pickerValue = props.pickerValue,\n defaultPickerValue = props.defaultPickerValue,\n disabledDate = props.disabledDate,\n mode = props.mode,\n _props$picker = props.picker,\n picker = _props$picker === void 0 ? 'date' : _props$picker,\n _props$tabIndex = props.tabIndex,\n tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,\n showNow = props.showNow,\n showTime = props.showTime,\n showToday = props.showToday,\n renderExtraFooter = props.renderExtraFooter,\n hideHeader = props.hideHeader,\n onSelect = props.onSelect,\n onChange = props.onChange,\n onPanelChange = props.onPanelChange,\n onMouseDown = props.onMouseDown,\n onPickerValueChange = props.onPickerValueChange,\n _onOk = props.onOk,\n components = props.components,\n direction = props.direction,\n _props$hourStep = props.hourStep,\n hourStep = _props$hourStep === void 0 ? 1 : _props$hourStep,\n _props$minuteStep = props.minuteStep,\n minuteStep = _props$minuteStep === void 0 ? 1 : _props$minuteStep,\n _props$secondStep = props.secondStep,\n secondStep = _props$secondStep === void 0 ? 1 : _props$secondStep;\n var needConfirmButton = picker === 'date' && !!showTime || picker === 'time';\n var isHourStepValid = 24 % hourStep === 0;\n var isMinuteStepValid = 60 % minuteStep === 0;\n var isSecondStepValid = 60 % secondStep === 0;\n\n if (process.env.NODE_ENV !== 'production') {\n warning(!value || generateConfig.isValidate(value), 'Invalidate date pass to `value`.');\n warning(!value || generateConfig.isValidate(value), 'Invalidate date pass to `defaultValue`.');\n warning(isHourStepValid, \"`hourStep` \".concat(hourStep, \" is invalid. It should be a factor of 24.\"));\n warning(isMinuteStepValid, \"`minuteStep` \".concat(minuteStep, \" is invalid. It should be a factor of 60.\"));\n warning(isSecondStepValid, \"`secondStep` \".concat(secondStep, \" is invalid. It should be a factor of 60.\"));\n } // ============================ State =============================\n\n\n var panelContext = React.useContext(PanelContext);\n var operationRef = panelContext.operationRef,\n panelDivRef = panelContext.panelRef,\n onContextSelect = panelContext.onSelect,\n hideRanges = panelContext.hideRanges,\n defaultOpenValue = panelContext.defaultOpenValue;\n\n var _React$useContext = React.useContext(RangeContext),\n inRange = _React$useContext.inRange,\n panelPosition = _React$useContext.panelPosition,\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n\n var panelRef = React.useRef({}); // Handle init logic\n\n var initRef = React.useRef(true); // Value\n\n var _useMergedState = useMergedState(null, {\n value: value,\n defaultValue: defaultValue,\n postState: function postState(val) {\n if (!val && defaultOpenValue && picker === 'time') {\n return defaultOpenValue;\n }\n\n return val;\n }\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setInnerValue = _useMergedState2[1]; // View date control\n\n\n var _useMergedState3 = useMergedState(null, {\n value: pickerValue,\n defaultValue: defaultPickerValue || mergedValue,\n postState: function postState(date) {\n var now = generateConfig.getNow();\n if (!date) return now; // When value is null and set showTime\n\n if (!mergedValue && showTime) {\n if (_typeof(showTime) === 'object') {\n return setDateTime(generateConfig, date, showTime.defaultValue || now);\n }\n\n if (defaultValue) {\n return setDateTime(generateConfig, date, defaultValue);\n }\n\n return setDateTime(generateConfig, date, now);\n }\n\n return date;\n }\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n viewDate = _useMergedState4[0],\n setInnerViewDate = _useMergedState4[1];\n\n var setViewDate = function setViewDate(date) {\n setInnerViewDate(date);\n\n if (onPickerValueChange) {\n onPickerValueChange(date);\n }\n }; // Panel control\n\n\n var getInternalNextMode = function getInternalNextMode(nextMode) {\n var getNextMode = PickerModeMap[picker];\n\n if (getNextMode) {\n return getNextMode(nextMode);\n }\n\n return nextMode;\n }; // Save panel is changed from which panel\n\n\n var _useMergedState5 = useMergedState(function () {\n if (picker === 'time') {\n return 'time';\n }\n\n return getInternalNextMode('date');\n }, {\n value: mode\n }),\n _useMergedState6 = _slicedToArray(_useMergedState5, 2),\n mergedMode = _useMergedState6[0],\n setInnerMode = _useMergedState6[1];\n\n React.useEffect(function () {\n setInnerMode(picker);\n }, [picker]);\n\n var _React$useState = React.useState(function () {\n return mergedMode;\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n sourceMode = _React$useState2[0],\n setSourceMode = _React$useState2[1];\n\n var onInternalPanelChange = function onInternalPanelChange(newMode, viewValue) {\n var nextMode = getInternalNextMode(newMode || mergedMode);\n setSourceMode(mergedMode);\n setInnerMode(nextMode);\n\n if (onPanelChange && (mergedMode !== nextMode || isEqual(generateConfig, viewDate, viewDate))) {\n onPanelChange(viewValue, nextMode);\n }\n };\n\n var triggerSelect = function triggerSelect(date, type) {\n var forceTriggerSelect = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (mergedMode === picker || forceTriggerSelect) {\n setInnerValue(date);\n\n if (onSelect) {\n onSelect(date);\n }\n\n if (onContextSelect) {\n onContextSelect(date, type);\n }\n\n if (onChange && !isEqual(generateConfig, date, mergedValue) && !(disabledDate === null || disabledDate === void 0 ? void 0 : disabledDate(date))) {\n onChange(date);\n }\n }\n }; // ========================= Interactive ==========================\n\n\n var onInternalKeyDown = function onInternalKeyDown(e) {\n if (panelRef.current && panelRef.current.onKeyDown) {\n if ([KeyCode.LEFT, KeyCode.RIGHT, KeyCode.UP, KeyCode.DOWN, KeyCode.PAGE_UP, KeyCode.PAGE_DOWN, KeyCode.ENTER].includes(e.which)) {\n e.preventDefault();\n }\n\n return panelRef.current.onKeyDown(e);\n }\n /* istanbul ignore next */\n\n /* eslint-disable no-lone-blocks */\n\n\n {\n warning(false, 'Panel not correct handle keyDown event. Please help to fire issue about this.');\n return false;\n }\n /* eslint-enable no-lone-blocks */\n };\n\n var onInternalBlur = function onInternalBlur(e) {\n if (panelRef.current && panelRef.current.onBlur) {\n panelRef.current.onBlur(e);\n }\n };\n\n if (operationRef && panelPosition !== 'right') {\n operationRef.current = {\n onKeyDown: onInternalKeyDown,\n onClose: function onClose() {\n if (panelRef.current && panelRef.current.onClose) {\n panelRef.current.onClose();\n }\n }\n };\n } // ============================ Effect ============================\n\n\n React.useEffect(function () {\n if (value && !initRef.current) {\n setInnerViewDate(value);\n }\n }, [value]);\n React.useEffect(function () {\n initRef.current = false;\n }, []); // ============================ Panels ============================\n\n var panelNode;\n\n var pickerProps = _objectSpread(_objectSpread({}, props), {}, {\n operationRef: panelRef,\n prefixCls: prefixCls,\n viewDate: viewDate,\n value: mergedValue,\n onViewDateChange: setViewDate,\n sourceMode: sourceMode,\n onPanelChange: onInternalPanelChange,\n disabledDate: disabledDate\n });\n\n delete pickerProps.onChange;\n delete pickerProps.onSelect;\n\n switch (mergedMode) {\n case 'decade':\n panelNode = /*#__PURE__*/React.createElement(DecadePanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n\n case 'year':\n panelNode = /*#__PURE__*/React.createElement(YearPanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n\n case 'month':\n panelNode = /*#__PURE__*/React.createElement(MonthPanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n\n case 'quarter':\n panelNode = /*#__PURE__*/React.createElement(QuarterPanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n\n case 'week':\n panelNode = /*#__PURE__*/React.createElement(WeekPanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n\n case 'time':\n delete pickerProps.showTime;\n panelNode = /*#__PURE__*/React.createElement(TimePanel, _extends({}, pickerProps, _typeof(showTime) === 'object' ? showTime : null, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n\n default:\n if (showTime) {\n panelNode = /*#__PURE__*/React.createElement(DatetimePanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n } else {\n panelNode = /*#__PURE__*/React.createElement(DatePanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n }\n\n } // ============================ Footer ============================\n\n\n var extraFooter;\n var rangesNode;\n\n var onNow = function onNow() {\n var now = generateConfig.getNow();\n var lowerBoundTime = getLowerBoundTime(generateConfig.getHour(now), generateConfig.getMinute(now), generateConfig.getSecond(now), isHourStepValid ? hourStep : 1, isMinuteStepValid ? minuteStep : 1, isSecondStepValid ? secondStep : 1);\n var adjustedNow = setTime(generateConfig, now, lowerBoundTime[0], // hour\n lowerBoundTime[1], // minute\n lowerBoundTime[2]);\n triggerSelect(adjustedNow, 'submit');\n };\n\n if (!hideRanges) {\n extraFooter = getExtraFooter(prefixCls, mergedMode, renderExtraFooter);\n rangesNode = getRanges({\n prefixCls: prefixCls,\n components: components,\n needConfirmButton: needConfirmButton,\n okDisabled: !mergedValue || disabledDate && disabledDate(mergedValue),\n locale: locale,\n showNow: showNow,\n onNow: needConfirmButton && onNow,\n onOk: function onOk() {\n if (mergedValue) {\n triggerSelect(mergedValue, 'submit', true);\n\n if (_onOk) {\n _onOk(mergedValue);\n }\n }\n }\n });\n }\n\n var todayNode;\n\n if (showToday && mergedMode === 'date' && picker === 'date' && !showTime) {\n var now = generateConfig.getNow();\n var todayCls = \"\".concat(prefixCls, \"-today-btn\");\n var disabled = disabledDate && disabledDate(now);\n todayNode = /*#__PURE__*/React.createElement(\"a\", {\n className: classNames(todayCls, disabled && \"\".concat(todayCls, \"-disabled\")),\n \"aria-disabled\": disabled,\n onClick: function onClick() {\n if (!disabled) {\n triggerSelect(now, 'mouse', true);\n }\n }\n }, locale.today);\n }\n\n return /*#__PURE__*/React.createElement(PanelContext.Provider, {\n value: _objectSpread(_objectSpread({}, panelContext), {}, {\n mode: mergedMode,\n hideHeader: 'hideHeader' in props ? hideHeader : panelContext.hideHeader,\n hidePrevBtn: inRange && panelPosition === 'right',\n hideNextBtn: inRange && panelPosition === 'left'\n })\n }, /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: tabIndex,\n className: classNames(\"\".concat(prefixCls, \"-panel\"), className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-panel-has-range\"), rangedValue && rangedValue[0] && rangedValue[1]), _defineProperty(_classNames, \"\".concat(prefixCls, \"-panel-has-range-hover\"), hoverRangedValue && hoverRangedValue[0] && hoverRangedValue[1]), _defineProperty(_classNames, \"\".concat(prefixCls, \"-panel-rtl\"), direction === 'rtl'), _classNames)),\n style: style,\n onKeyDown: onInternalKeyDown,\n onBlur: onInternalBlur,\n onMouseDown: onMouseDown,\n ref: panelDivRef\n }, panelNode, extraFooter || rangesNode || todayNode ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-footer\")\n }, extraFooter, rangesNode, todayNode) : null));\n}\n\nexport default PickerPanel;\n/* eslint-enable */","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Trigger from 'rc-trigger';\nvar BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 1,\n adjustY: 1\n }\n },\n bottomRight: {\n points: ['tr', 'br'],\n offset: [0, 4],\n overflow: {\n adjustX: 1,\n adjustY: 1\n }\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1\n }\n },\n topRight: {\n points: ['br', 'tr'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1\n }\n }\n};\n\nfunction PickerTrigger(_ref) {\n var _classNames;\n\n var prefixCls = _ref.prefixCls,\n popupElement = _ref.popupElement,\n popupStyle = _ref.popupStyle,\n visible = _ref.visible,\n dropdownClassName = _ref.dropdownClassName,\n dropdownAlign = _ref.dropdownAlign,\n transitionName = _ref.transitionName,\n getPopupContainer = _ref.getPopupContainer,\n children = _ref.children,\n range = _ref.range,\n popupPlacement = _ref.popupPlacement,\n direction = _ref.direction;\n var dropdownPrefixCls = \"\".concat(prefixCls, \"-dropdown\");\n\n var getPopupPlacement = function getPopupPlacement() {\n if (popupPlacement !== undefined) {\n return popupPlacement;\n }\n\n return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';\n };\n\n return /*#__PURE__*/React.createElement(Trigger, {\n showAction: [],\n hideAction: [],\n popupPlacement: getPopupPlacement(),\n builtinPlacements: BUILT_IN_PLACEMENTS,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: transitionName,\n popup: popupElement,\n popupAlign: dropdownAlign,\n popupVisible: visible,\n popupClassName: classNames(dropdownClassName, (_classNames = {}, _defineProperty(_classNames, \"\".concat(dropdownPrefixCls, \"-range\"), range), _defineProperty(_classNames, \"\".concat(dropdownPrefixCls, \"-rtl\"), direction === 'rtl'), _classNames)),\n popupStyle: popupStyle,\n getPopupContainer: getPopupContainer\n }, children);\n}\n\nexport default PickerTrigger;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useState, useEffect, useRef } from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport { addGlobalMouseDownEvent, getTargetFromEvent } from '../utils/uiUtil';\nexport default function usePickerInput(_ref) {\n var open = _ref.open,\n value = _ref.value,\n isClickOutside = _ref.isClickOutside,\n triggerOpen = _ref.triggerOpen,\n forwardKeyDown = _ref.forwardKeyDown,\n _onKeyDown = _ref.onKeyDown,\n blurToCancel = _ref.blurToCancel,\n onSubmit = _ref.onSubmit,\n onCancel = _ref.onCancel,\n _onFocus = _ref.onFocus,\n _onBlur = _ref.onBlur;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n typing = _useState2[0],\n setTyping = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n focused = _useState4[0],\n setFocused = _useState4[1];\n /**\n * We will prevent blur to handle open event when user click outside,\n * since this will repeat trigger `onOpenChange` event.\n */\n\n\n var preventBlurRef = useRef(false);\n var valueChangedRef = useRef(false);\n var preventDefaultRef = useRef(false);\n var inputProps = {\n onMouseDown: function onMouseDown() {\n setTyping(true);\n triggerOpen(true);\n },\n onKeyDown: function onKeyDown(e) {\n var preventDefault = function preventDefault() {\n preventDefaultRef.current = true;\n };\n\n _onKeyDown(e, preventDefault);\n\n if (preventDefaultRef.current) return;\n\n switch (e.which) {\n case KeyCode.ENTER:\n {\n if (!open) {\n triggerOpen(true);\n } else if (onSubmit() !== false) {\n setTyping(true);\n }\n\n e.preventDefault();\n return;\n }\n\n case KeyCode.TAB:\n {\n if (typing && open && !e.shiftKey) {\n setTyping(false);\n e.preventDefault();\n } else if (!typing && open) {\n if (!forwardKeyDown(e) && e.shiftKey) {\n setTyping(true);\n e.preventDefault();\n }\n }\n\n return;\n }\n\n case KeyCode.ESC:\n {\n setTyping(true);\n onCancel();\n return;\n }\n }\n\n if (!open && ![KeyCode.SHIFT].includes(e.which)) {\n triggerOpen(true);\n } else if (!typing) {\n // Let popup panel handle keyboard\n forwardKeyDown(e);\n }\n },\n onFocus: function onFocus(e) {\n setTyping(true);\n setFocused(true);\n\n if (_onFocus) {\n _onFocus(e);\n }\n },\n onBlur: function onBlur(e) {\n if (preventBlurRef.current || !isClickOutside(document.activeElement)) {\n preventBlurRef.current = false;\n return;\n }\n\n if (blurToCancel) {\n setTimeout(function () {\n var _document = document,\n activeElement = _document.activeElement;\n\n while (activeElement && activeElement.shadowRoot) {\n activeElement = activeElement.shadowRoot.activeElement;\n }\n\n if (isClickOutside(activeElement)) {\n onCancel();\n }\n }, 0);\n } else if (open) {\n triggerOpen(false);\n\n if (valueChangedRef.current) {\n onSubmit();\n }\n }\n\n setFocused(false);\n\n if (_onBlur) {\n _onBlur(e);\n }\n }\n }; // check if value changed\n\n useEffect(function () {\n valueChangedRef.current = false;\n }, [open]);\n useEffect(function () {\n valueChangedRef.current = true;\n }, [value]); // Global click handler\n\n useEffect(function () {\n return addGlobalMouseDownEvent(function (e) {\n var target = getTargetFromEvent(e);\n\n if (open) {\n var clickedOutside = isClickOutside(target);\n\n if (!clickedOutside) {\n preventBlurRef.current = true; // Always set back in case `onBlur` prevented by user\n\n requestAnimationFrame(function () {\n preventBlurRef.current = false;\n });\n } else if (!focused || clickedOutside) {\n triggerOpen(false);\n }\n }\n });\n });\n return [inputProps, {\n focused: focused,\n typing: typing\n }];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default function useTextValueMapping(_ref) {\n var valueTexts = _ref.valueTexts,\n onTextChange = _ref.onTextChange;\n\n var _React$useState = React.useState(''),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n text = _React$useState2[0],\n setInnerText = _React$useState2[1];\n\n var valueTextsRef = React.useRef([]);\n valueTextsRef.current = valueTexts;\n\n function triggerTextChange(value) {\n setInnerText(value);\n onTextChange(value);\n }\n\n function resetText() {\n setInnerText(valueTextsRef.current[0]);\n }\n\n React.useEffect(function () {\n if (valueTexts.every(function (valText) {\n return valText !== text;\n })) {\n resetText();\n }\n }, [valueTexts.join('||')]);\n return [text, triggerTextChange, resetText];\n}","import shallowEqual from 'shallowequal';\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport { formatValue } from '../utils/dateUtil';\nexport default function useValueTexts(value, _ref) {\n var formatList = _ref.formatList,\n generateConfig = _ref.generateConfig,\n locale = _ref.locale;\n return useMemo(function () {\n if (!value) {\n return [[''], ''];\n } // We will convert data format back to first format\n\n\n var firstValueText = '';\n var fullValueTexts = [];\n\n for (var i = 0; i < formatList.length; i += 1) {\n var format = formatList[i];\n var formatStr = formatValue(value, {\n generateConfig: generateConfig,\n locale: locale,\n format: format\n });\n fullValueTexts.push(formatStr);\n\n if (i === 0) {\n firstValueText = formatStr;\n }\n }\n\n return [fullValueTexts, firstValueText];\n }, [value, formatList], function (prev, next) {\n return prev[0] !== next[0] || !shallowEqual(prev[1], next[1]);\n });\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useState, useEffect, useRef } from 'react';\nimport useValueTexts from './useValueTexts';\nexport default function useHoverValue(valueText, _ref) {\n var formatList = _ref.formatList,\n generateConfig = _ref.generateConfig,\n locale = _ref.locale;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n value = _useState2[0],\n internalSetValue = _useState2[1];\n\n var raf = useRef(null);\n\n function setValue(val) {\n var immediately = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n cancelAnimationFrame(raf.current);\n\n if (immediately) {\n internalSetValue(val);\n return;\n }\n\n raf.current = requestAnimationFrame(function () {\n internalSetValue(val);\n });\n }\n\n var _useValueTexts = useValueTexts(value, {\n formatList: formatList,\n generateConfig: generateConfig,\n locale: locale\n }),\n _useValueTexts2 = _slicedToArray(_useValueTexts, 2),\n firstText = _useValueTexts2[1];\n\n function onEnter(date) {\n setValue(date);\n }\n\n function onLeave() {\n var immediately = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n setValue(null, immediately);\n }\n\n useEffect(function () {\n onLeave(true);\n }, [valueText]);\n useEffect(function () {\n return function () {\n return cancelAnimationFrame(raf.current);\n };\n }, []);\n return [firstText, onEnter, onLeave];\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\n/**\n * Removed:\n * - getCalendarContainer: use `getPopupContainer` instead\n * - onOk\n *\n * New Feature:\n * - picker\n * - allowEmpty\n * - selectable\n *\n * Tips: Should add faq about `datetime` mode with `defaultValue`\n */\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport warning from \"rc-util/es/warning\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport PickerPanel from './PickerPanel';\nimport PickerTrigger from './PickerTrigger';\nimport { formatValue, isEqual, parseValue } from './utils/dateUtil';\nimport getDataOrAriaProps, { toArray } from './utils/miscUtil';\nimport PanelContext from './PanelContext';\nimport { getDefaultFormat, getInputSize, elementsContains } from './utils/uiUtil';\nimport usePickerInput from './hooks/usePickerInput';\nimport useTextValueMapping from './hooks/useTextValueMapping';\nimport useValueTexts from './hooks/useValueTexts';\nimport useHoverValue from './hooks/useHoverValue';\n\nfunction InnerPicker(props) {\n var _classNames2;\n\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-picker' : _props$prefixCls,\n id = props.id,\n tabIndex = props.tabIndex,\n style = props.style,\n className = props.className,\n dropdownClassName = props.dropdownClassName,\n dropdownAlign = props.dropdownAlign,\n popupStyle = props.popupStyle,\n transitionName = props.transitionName,\n generateConfig = props.generateConfig,\n locale = props.locale,\n inputReadOnly = props.inputReadOnly,\n allowClear = props.allowClear,\n autoFocus = props.autoFocus,\n showTime = props.showTime,\n _props$picker = props.picker,\n picker = _props$picker === void 0 ? 'date' : _props$picker,\n format = props.format,\n use12Hours = props.use12Hours,\n value = props.value,\n defaultValue = props.defaultValue,\n open = props.open,\n defaultOpen = props.defaultOpen,\n defaultOpenValue = props.defaultOpenValue,\n suffixIcon = props.suffixIcon,\n clearIcon = props.clearIcon,\n disabled = props.disabled,\n disabledDate = props.disabledDate,\n placeholder = props.placeholder,\n getPopupContainer = props.getPopupContainer,\n pickerRef = props.pickerRef,\n panelRender = props.panelRender,\n onChange = props.onChange,\n onOpenChange = props.onOpenChange,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onMouseDown = props.onMouseDown,\n onMouseUp = props.onMouseUp,\n onMouseEnter = props.onMouseEnter,\n onMouseLeave = props.onMouseLeave,\n onContextMenu = props.onContextMenu,\n onClick = props.onClick,\n _onKeyDown = props.onKeyDown,\n _onSelect = props.onSelect,\n direction = props.direction,\n _props$autoComplete = props.autoComplete,\n autoComplete = _props$autoComplete === void 0 ? 'off' : _props$autoComplete;\n var inputRef = React.useRef(null);\n var needConfirmButton = picker === 'date' && !!showTime || picker === 'time'; // ============================= State =============================\n\n var formatList = toArray(getDefaultFormat(format, picker, showTime, use12Hours)); // Panel ref\n\n var panelDivRef = React.useRef(null);\n var inputDivRef = React.useRef(null); // Real value\n\n var _useMergedState = useMergedState(null, {\n value: value,\n defaultValue: defaultValue\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setInnerValue = _useMergedState2[1]; // Selected value\n\n\n var _React$useState = React.useState(mergedValue),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n selectedValue = _React$useState2[0],\n setSelectedValue = _React$useState2[1]; // Operation ref\n\n\n var operationRef = React.useRef(null); // Open\n\n var _useMergedState3 = useMergedState(false, {\n value: open,\n defaultValue: defaultOpen,\n postState: function postState(postOpen) {\n return disabled ? false : postOpen;\n },\n onChange: function onChange(newOpen) {\n if (onOpenChange) {\n onOpenChange(newOpen);\n }\n\n if (!newOpen && operationRef.current && operationRef.current.onClose) {\n operationRef.current.onClose();\n }\n }\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n mergedOpen = _useMergedState4[0],\n triggerInnerOpen = _useMergedState4[1]; // ============================= Text ==============================\n\n\n var _useValueTexts = useValueTexts(selectedValue, {\n formatList: formatList,\n generateConfig: generateConfig,\n locale: locale\n }),\n _useValueTexts2 = _slicedToArray(_useValueTexts, 2),\n valueTexts = _useValueTexts2[0],\n firstValueText = _useValueTexts2[1];\n\n var _useTextValueMapping = useTextValueMapping({\n valueTexts: valueTexts,\n onTextChange: function onTextChange(newText) {\n var inputDate = parseValue(newText, {\n locale: locale,\n formatList: formatList,\n generateConfig: generateConfig\n });\n\n if (inputDate && (!disabledDate || !disabledDate(inputDate))) {\n setSelectedValue(inputDate);\n }\n }\n }),\n _useTextValueMapping2 = _slicedToArray(_useTextValueMapping, 3),\n text = _useTextValueMapping2[0],\n triggerTextChange = _useTextValueMapping2[1],\n resetText = _useTextValueMapping2[2]; // ============================ Trigger ============================\n\n\n var triggerChange = function triggerChange(newValue) {\n setSelectedValue(newValue);\n setInnerValue(newValue);\n\n if (onChange && !isEqual(generateConfig, mergedValue, newValue)) {\n onChange(newValue, newValue ? formatValue(newValue, {\n generateConfig: generateConfig,\n locale: locale,\n format: formatList[0]\n }) : '');\n }\n };\n\n var triggerOpen = function triggerOpen(newOpen) {\n if (disabled && newOpen) {\n return;\n }\n\n triggerInnerOpen(newOpen);\n };\n\n var forwardKeyDown = function forwardKeyDown(e) {\n if (mergedOpen && operationRef.current && operationRef.current.onKeyDown) {\n // Let popup panel handle keyboard\n return operationRef.current.onKeyDown(e);\n }\n /* istanbul ignore next */\n\n /* eslint-disable no-lone-blocks */\n\n\n {\n warning(false, 'Picker not correct forward KeyDown operation. Please help to fire issue about this.');\n return false;\n }\n };\n\n var onInternalMouseUp = function onInternalMouseUp() {\n if (onMouseUp) {\n onMouseUp.apply(void 0, arguments);\n }\n\n if (inputRef.current) {\n inputRef.current.focus();\n triggerOpen(true);\n }\n }; // ============================= Input =============================\n\n\n var _usePickerInput = usePickerInput({\n blurToCancel: needConfirmButton,\n open: mergedOpen,\n value: text,\n triggerOpen: triggerOpen,\n forwardKeyDown: forwardKeyDown,\n isClickOutside: function isClickOutside(target) {\n return !elementsContains([panelDivRef.current, inputDivRef.current], target);\n },\n onSubmit: function onSubmit() {\n if (disabledDate && disabledDate(selectedValue)) {\n return false;\n }\n\n triggerChange(selectedValue);\n triggerOpen(false);\n resetText();\n return true;\n },\n onCancel: function onCancel() {\n triggerOpen(false);\n setSelectedValue(mergedValue);\n resetText();\n },\n onKeyDown: function onKeyDown(e, preventDefault) {\n _onKeyDown === null || _onKeyDown === void 0 ? void 0 : _onKeyDown(e, preventDefault);\n },\n onFocus: onFocus,\n onBlur: onBlur\n }),\n _usePickerInput2 = _slicedToArray(_usePickerInput, 2),\n inputProps = _usePickerInput2[0],\n _usePickerInput2$ = _usePickerInput2[1],\n focused = _usePickerInput2$.focused,\n typing = _usePickerInput2$.typing; // ============================= Sync ==============================\n // Close should sync back with text value\n\n\n React.useEffect(function () {\n if (!mergedOpen) {\n setSelectedValue(mergedValue);\n\n if (!valueTexts.length || valueTexts[0] === '') {\n triggerTextChange('');\n } else if (firstValueText !== text) {\n resetText();\n }\n }\n }, [mergedOpen, valueTexts]); // Change picker should sync back with text value\n\n React.useEffect(function () {\n if (!mergedOpen) {\n resetText();\n }\n }, [picker]); // Sync innerValue with control mode\n\n React.useEffect(function () {\n // Sync select value\n setSelectedValue(mergedValue);\n }, [mergedValue]); // ============================ Private ============================\n\n if (pickerRef) {\n pickerRef.current = {\n focus: function focus() {\n if (inputRef.current) {\n inputRef.current.focus();\n }\n },\n blur: function blur() {\n if (inputRef.current) {\n inputRef.current.blur();\n }\n }\n };\n }\n\n var _useHoverValue = useHoverValue(text, {\n formatList: formatList,\n generateConfig: generateConfig,\n locale: locale\n }),\n _useHoverValue2 = _slicedToArray(_useHoverValue, 3),\n hoverValue = _useHoverValue2[0],\n onEnter = _useHoverValue2[1],\n onLeave = _useHoverValue2[2]; // ============================= Panel =============================\n\n\n var panelProps = _objectSpread(_objectSpread({}, props), {}, {\n className: undefined,\n style: undefined,\n pickerValue: undefined,\n onPickerValueChange: undefined,\n onChange: null\n });\n\n var panelNode = /*#__PURE__*/React.createElement(PickerPanel, _extends({}, panelProps, {\n generateConfig: generateConfig,\n className: classNames(_defineProperty({}, \"\".concat(prefixCls, \"-panel-focused\"), !typing)),\n value: selectedValue,\n locale: locale,\n tabIndex: -1,\n onSelect: function onSelect(date) {\n _onSelect === null || _onSelect === void 0 ? void 0 : _onSelect(date);\n setSelectedValue(date);\n },\n direction: direction,\n onPanelChange: function onPanelChange(viewDate, mode) {\n var onPanelChange = props.onPanelChange;\n onLeave(true);\n onPanelChange === null || onPanelChange === void 0 ? void 0 : onPanelChange(viewDate, mode);\n }\n }));\n\n if (panelRender) {\n panelNode = panelRender(panelNode);\n }\n\n var panel = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-panel-container\"),\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n }\n }, panelNode);\n var suffixNode;\n\n if (suffixIcon) {\n suffixNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-suffix\")\n }, suffixIcon);\n }\n\n var clearNode;\n\n if (allowClear && mergedValue && !disabled) {\n clearNode = /*#__PURE__*/React.createElement(\"span\", {\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n e.stopPropagation();\n },\n onMouseUp: function onMouseUp(e) {\n e.preventDefault();\n e.stopPropagation();\n triggerChange(null);\n triggerOpen(false);\n },\n className: \"\".concat(prefixCls, \"-clear\")\n }, clearIcon || /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-clear-btn\")\n }));\n } // ============================ Warning ============================\n\n\n if (process.env.NODE_ENV !== 'production') {\n warning(!defaultOpenValue, '`defaultOpenValue` may confuse user for the current value status. Please use `defaultValue` instead.');\n } // ============================ Return =============================\n\n\n var onContextSelect = function onContextSelect(date, type) {\n if (type === 'submit' || type !== 'key' && !needConfirmButton) {\n // triggerChange will also update selected values\n triggerChange(date);\n triggerOpen(false);\n }\n };\n\n var popupPlacement = direction === 'rtl' ? 'bottomRight' : 'bottomLeft';\n return /*#__PURE__*/React.createElement(PanelContext.Provider, {\n value: {\n operationRef: operationRef,\n hideHeader: picker === 'time',\n panelRef: panelDivRef,\n onSelect: onContextSelect,\n open: mergedOpen,\n defaultOpenValue: defaultOpenValue,\n onDateMouseEnter: onEnter,\n onDateMouseLeave: onLeave\n }\n }, /*#__PURE__*/React.createElement(PickerTrigger, {\n visible: mergedOpen,\n popupElement: panel,\n popupStyle: popupStyle,\n prefixCls: prefixCls,\n dropdownClassName: dropdownClassName,\n dropdownAlign: dropdownAlign,\n getPopupContainer: getPopupContainer,\n transitionName: transitionName,\n popupPlacement: popupPlacement,\n direction: direction\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(prefixCls, className, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-focused\"), focused), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames2)),\n style: style,\n onMouseDown: onMouseDown,\n onMouseUp: onInternalMouseUp,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onContextMenu: onContextMenu,\n onClick: onClick\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-input\"), _defineProperty({}, \"\".concat(prefixCls, \"-input-placeholder\"), !!hoverValue)),\n ref: inputDivRef\n }, /*#__PURE__*/React.createElement(\"input\", _extends({\n id: id,\n tabIndex: tabIndex,\n disabled: disabled,\n readOnly: inputReadOnly || typeof formatList[0] === 'function' || !typing,\n value: hoverValue || text,\n onChange: function onChange(e) {\n triggerTextChange(e.target.value);\n },\n autoFocus: autoFocus,\n placeholder: placeholder,\n ref: inputRef,\n title: text\n }, inputProps, {\n size: getInputSize(picker, formatList[0], generateConfig)\n }, getDataOrAriaProps(props), {\n autoComplete: autoComplete\n })), suffixNode, clearNode))));\n} // Wrap with class component to enable pass generic with instance method\n\n\nvar Picker = /*#__PURE__*/function (_React$Component) {\n _inherits(Picker, _React$Component);\n\n var _super = _createSuper(Picker);\n\n function Picker() {\n var _this;\n\n _classCallCheck(this, Picker);\n\n _this = _super.apply(this, arguments);\n _this.pickerRef = /*#__PURE__*/React.createRef();\n\n _this.focus = function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.focus();\n }\n };\n\n _this.blur = function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.blur();\n }\n };\n\n return _this;\n }\n\n _createClass(Picker, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(InnerPicker, _extends({}, this.props, {\n pickerRef: this.pickerRef\n }));\n }\n }]);\n\n return Picker;\n}(React.Component);\n\nexport default Picker;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { getValue, updateValues } from '../utils/miscUtil';\nimport { getClosingViewDate, isSameYear, isSameMonth, isSameDecade } from '../utils/dateUtil';\n\nfunction getStartEndDistance(startDate, endDate, picker, generateConfig) {\n var startNext = getClosingViewDate(startDate, picker, generateConfig, 1);\n\n function getDistance(compareFunc) {\n if (compareFunc(startDate, endDate)) {\n return 'same';\n }\n\n if (compareFunc(startNext, endDate)) {\n return 'closing';\n }\n\n return 'far';\n }\n\n switch (picker) {\n case 'year':\n return getDistance(function (start, end) {\n return isSameDecade(generateConfig, start, end);\n });\n\n case 'quarter':\n case 'month':\n return getDistance(function (start, end) {\n return isSameYear(generateConfig, start, end);\n });\n\n default:\n return getDistance(function (start, end) {\n return isSameMonth(generateConfig, start, end);\n });\n }\n}\n\nfunction getRangeViewDate(values, index, picker, generateConfig) {\n var startDate = getValue(values, 0);\n var endDate = getValue(values, 1);\n\n if (index === 0) {\n return startDate;\n }\n\n if (startDate && endDate) {\n var distance = getStartEndDistance(startDate, endDate, picker, generateConfig);\n\n switch (distance) {\n case 'same':\n return startDate;\n\n case 'closing':\n return startDate;\n\n default:\n return getClosingViewDate(endDate, picker, generateConfig, -1);\n }\n }\n\n return startDate;\n}\n\nexport default function useRangeViewDates(_ref) {\n var values = _ref.values,\n picker = _ref.picker,\n defaultDates = _ref.defaultDates,\n generateConfig = _ref.generateConfig;\n\n var _React$useState = React.useState(function () {\n return [getValue(defaultDates, 0), getValue(defaultDates, 1)];\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n defaultViewDates = _React$useState2[0],\n setDefaultViewDates = _React$useState2[1];\n\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n viewDates = _React$useState4[0],\n setInternalViewDates = _React$useState4[1];\n\n var startDate = getValue(values, 0);\n var endDate = getValue(values, 1);\n\n function getViewDate(index) {\n // If set default view date, use it\n if (defaultViewDates[index]) {\n return defaultViewDates[index];\n }\n\n return getValue(viewDates, index) || getRangeViewDate(values, index, picker, generateConfig) || startDate || endDate || generateConfig.getNow();\n }\n\n function setViewDate(viewDate, index) {\n if (viewDate) {\n var newViewDates = updateValues(viewDates, viewDate, index); // Set view date will clean up default one\n\n setDefaultViewDates( // Should always be an array\n updateValues(defaultViewDates, null, index) || [null, null]); // Reset another one when not have value\n\n var anotherIndex = (index + 1) % 2;\n\n if (!getValue(values, anotherIndex)) {\n newViewDates = updateValues(newViewDates, viewDate, anotherIndex);\n }\n\n setInternalViewDates(newViewDates);\n } else if (startDate || endDate) {\n // Reset all when has values when `viewDate` is `null` which means from open trigger\n setInternalViewDates(null);\n }\n }\n\n return [getViewDate, setViewDate];\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport warning from \"rc-util/es/warning\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport PickerTrigger from './PickerTrigger';\nimport PickerPanel from './PickerPanel';\nimport usePickerInput from './hooks/usePickerInput';\nimport getDataOrAriaProps, { toArray, getValue, updateValues } from './utils/miscUtil';\nimport { getDefaultFormat, getInputSize, elementsContains } from './utils/uiUtil';\nimport PanelContext from './PanelContext';\nimport { isEqual, getClosingViewDate, isSameDate, isSameWeek, isSameQuarter, formatValue, parseValue } from './utils/dateUtil';\nimport useValueTexts from './hooks/useValueTexts';\nimport useTextValueMapping from './hooks/useTextValueMapping';\nimport RangeContext from './RangeContext';\nimport useRangeDisabled from './hooks/useRangeDisabled';\nimport getExtraFooter from './utils/getExtraFooter';\nimport getRanges from './utils/getRanges';\nimport useRangeViewDates from './hooks/useRangeViewDates';\nimport useHoverValue from './hooks/useHoverValue';\n\nfunction reorderValues(values, generateConfig) {\n if (values && values[0] && values[1] && generateConfig.isAfter(values[0], values[1])) {\n return [values[1], values[0]];\n }\n\n return values;\n}\n\nfunction canValueTrigger(value, index, disabled, allowEmpty) {\n if (value) {\n return true;\n }\n\n if (allowEmpty && allowEmpty[index]) {\n return true;\n }\n\n if (disabled[(index + 1) % 2]) {\n return true;\n }\n\n return false;\n}\n\nfunction InnerRangePicker(props) {\n var _classNames2, _classNames3, _classNames4;\n\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-picker' : _props$prefixCls,\n id = props.id,\n style = props.style,\n className = props.className,\n popupStyle = props.popupStyle,\n dropdownClassName = props.dropdownClassName,\n transitionName = props.transitionName,\n dropdownAlign = props.dropdownAlign,\n getPopupContainer = props.getPopupContainer,\n generateConfig = props.generateConfig,\n locale = props.locale,\n placeholder = props.placeholder,\n autoFocus = props.autoFocus,\n disabled = props.disabled,\n format = props.format,\n _props$picker = props.picker,\n picker = _props$picker === void 0 ? 'date' : _props$picker,\n showTime = props.showTime,\n use12Hours = props.use12Hours,\n _props$separator = props.separator,\n separator = _props$separator === void 0 ? '~' : _props$separator,\n value = props.value,\n defaultValue = props.defaultValue,\n defaultPickerValue = props.defaultPickerValue,\n open = props.open,\n defaultOpen = props.defaultOpen,\n disabledDate = props.disabledDate,\n _disabledTime = props.disabledTime,\n dateRender = props.dateRender,\n panelRender = props.panelRender,\n ranges = props.ranges,\n allowEmpty = props.allowEmpty,\n allowClear = props.allowClear,\n suffixIcon = props.suffixIcon,\n clearIcon = props.clearIcon,\n pickerRef = props.pickerRef,\n inputReadOnly = props.inputReadOnly,\n mode = props.mode,\n renderExtraFooter = props.renderExtraFooter,\n onChange = props.onChange,\n onOpenChange = props.onOpenChange,\n onPanelChange = props.onPanelChange,\n onCalendarChange = props.onCalendarChange,\n _onFocus = props.onFocus,\n onBlur = props.onBlur,\n _onOk = props.onOk,\n _onKeyDown = props.onKeyDown,\n components = props.components,\n order = props.order,\n direction = props.direction,\n activePickerIndex = props.activePickerIndex,\n _props$autoComplete = props.autoComplete,\n autoComplete = _props$autoComplete === void 0 ? 'off' : _props$autoComplete;\n var needConfirmButton = picker === 'date' && !!showTime || picker === 'time'; // We record opened status here in case repeat open with picker\n\n var openRecordsRef = useRef({});\n var containerRef = useRef(null);\n var panelDivRef = useRef(null);\n var startInputDivRef = useRef(null);\n var endInputDivRef = useRef(null);\n var separatorRef = useRef(null);\n var startInputRef = useRef(null);\n var endInputRef = useRef(null); // ============================= Misc ==============================\n\n var formatList = toArray(getDefaultFormat(format, picker, showTime, use12Hours)); // Active picker\n\n var _useMergedState = useMergedState(0, {\n value: activePickerIndex\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedActivePickerIndex = _useMergedState2[0],\n setMergedActivePickerIndex = _useMergedState2[1]; // Operation ref\n\n\n var operationRef = useRef(null);\n var mergedDisabled = React.useMemo(function () {\n if (Array.isArray(disabled)) {\n return disabled;\n }\n\n return [disabled || false, disabled || false];\n }, [disabled]); // ============================= Value =============================\n\n var _useMergedState3 = useMergedState(null, {\n value: value,\n defaultValue: defaultValue,\n postState: function postState(values) {\n return picker === 'time' && !order ? values : reorderValues(values, generateConfig);\n }\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n mergedValue = _useMergedState4[0],\n setInnerValue = _useMergedState4[1]; // =========================== View Date ===========================\n // Config view panel\n\n\n var _useRangeViewDates = useRangeViewDates({\n values: mergedValue,\n picker: picker,\n defaultDates: defaultPickerValue,\n generateConfig: generateConfig\n }),\n _useRangeViewDates2 = _slicedToArray(_useRangeViewDates, 2),\n getViewDate = _useRangeViewDates2[0],\n setViewDate = _useRangeViewDates2[1]; // ========================= Select Values =========================\n\n\n var _useMergedState5 = useMergedState(mergedValue, {\n postState: function postState(values) {\n var postValues = values;\n\n if (mergedDisabled[0] && mergedDisabled[1]) {\n return postValues;\n } // Fill disabled unit\n\n\n for (var i = 0; i < 2; i += 1) {\n if (mergedDisabled[i] && !getValue(postValues, i) && !getValue(allowEmpty, i)) {\n postValues = updateValues(postValues, generateConfig.getNow(), i);\n }\n }\n\n return postValues;\n }\n }),\n _useMergedState6 = _slicedToArray(_useMergedState5, 2),\n selectedValue = _useMergedState6[0],\n setSelectedValue = _useMergedState6[1]; // ============================= Modes =============================\n\n\n var _useMergedState7 = useMergedState([picker, picker], {\n value: mode\n }),\n _useMergedState8 = _slicedToArray(_useMergedState7, 2),\n mergedModes = _useMergedState8[0],\n setInnerModes = _useMergedState8[1];\n\n useEffect(function () {\n setInnerModes([picker, picker]);\n }, [picker]);\n\n var triggerModesChange = function triggerModesChange(modes, values) {\n setInnerModes(modes);\n\n if (onPanelChange) {\n onPanelChange(values, modes);\n }\n }; // ========================= Disable Date ==========================\n\n\n var _useRangeDisabled = useRangeDisabled({\n picker: picker,\n selectedValue: selectedValue,\n locale: locale,\n disabled: mergedDisabled,\n disabledDate: disabledDate,\n generateConfig: generateConfig\n }, openRecordsRef.current[1], openRecordsRef.current[0]),\n _useRangeDisabled2 = _slicedToArray(_useRangeDisabled, 2),\n disabledStartDate = _useRangeDisabled2[0],\n disabledEndDate = _useRangeDisabled2[1]; // ============================= Open ==============================\n\n\n var _useMergedState9 = useMergedState(false, {\n value: open,\n defaultValue: defaultOpen,\n postState: function postState(postOpen) {\n return mergedDisabled[mergedActivePickerIndex] ? false : postOpen;\n },\n onChange: function onChange(newOpen) {\n if (onOpenChange) {\n onOpenChange(newOpen);\n }\n\n if (!newOpen && operationRef.current && operationRef.current.onClose) {\n operationRef.current.onClose();\n }\n }\n }),\n _useMergedState10 = _slicedToArray(_useMergedState9, 2),\n mergedOpen = _useMergedState10[0],\n triggerInnerOpen = _useMergedState10[1];\n\n var startOpen = mergedOpen && mergedActivePickerIndex === 0;\n var endOpen = mergedOpen && mergedActivePickerIndex === 1; // ============================= Popup =============================\n // Popup min width\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n popupMinWidth = _useState2[0],\n setPopupMinWidth = _useState2[1];\n\n useEffect(function () {\n if (!mergedOpen && containerRef.current) {\n setPopupMinWidth(containerRef.current.offsetWidth);\n }\n }, [mergedOpen]); // ============================ Trigger ============================\n\n var triggerRef = React.useRef();\n\n function _triggerOpen(newOpen, index) {\n if (newOpen) {\n clearTimeout(triggerRef.current);\n openRecordsRef.current[index] = true;\n setMergedActivePickerIndex(index);\n triggerInnerOpen(newOpen); // Open to reset view date\n\n if (!mergedOpen) {\n setViewDate(null, index);\n }\n } else if (mergedActivePickerIndex === index) {\n triggerInnerOpen(newOpen); // Clean up async\n // This makes ref not quick refresh in case user open another input with blur trigger\n\n var openRecords = openRecordsRef.current;\n triggerRef.current = setTimeout(function () {\n if (openRecords === openRecordsRef.current) {\n openRecordsRef.current = {};\n }\n });\n }\n }\n\n function triggerOpenAndFocus(index) {\n _triggerOpen(true, index); // Use setTimeout to make sure panel DOM exists\n\n\n setTimeout(function () {\n var inputRef = [startInputRef, endInputRef][index];\n\n if (inputRef.current) {\n inputRef.current.focus();\n }\n }, 0);\n }\n\n function triggerChange(newValue, sourceIndex) {\n var values = newValue;\n var startValue = getValue(values, 0);\n var endValue = getValue(values, 1); // >>>>> Format start & end values\n\n if (startValue && endValue && generateConfig.isAfter(startValue, endValue)) {\n if ( // WeekPicker only compare week\n picker === 'week' && !isSameWeek(generateConfig, locale.locale, startValue, endValue) || // QuotaPicker only compare week\n picker === 'quarter' && !isSameQuarter(generateConfig, startValue, endValue) || // Other non-TimePicker compare date\n picker !== 'week' && picker !== 'quarter' && picker !== 'time' && !isSameDate(generateConfig, startValue, endValue)) {\n // Clean up end date when start date is after end date\n if (sourceIndex === 0) {\n values = [startValue, null];\n endValue = null;\n } else {\n startValue = null;\n values = [null, endValue];\n } // Clean up cache since invalidate\n\n\n openRecordsRef.current = _defineProperty({}, sourceIndex, true);\n } else if (picker !== 'time' || order !== false) {\n // Reorder when in same date\n values = reorderValues(values, generateConfig);\n }\n }\n\n setSelectedValue(values);\n var startStr = values && values[0] ? formatValue(values[0], {\n generateConfig: generateConfig,\n locale: locale,\n format: formatList[0]\n }) : '';\n var endStr = values && values[1] ? formatValue(values[1], {\n generateConfig: generateConfig,\n locale: locale,\n format: formatList[0]\n }) : '';\n\n if (onCalendarChange) {\n var info = {\n range: sourceIndex === 0 ? 'start' : 'end'\n };\n onCalendarChange(values, [startStr, endStr], info);\n } // >>>>> Trigger `onChange` event\n\n\n var canStartValueTrigger = canValueTrigger(startValue, 0, mergedDisabled, allowEmpty);\n var canEndValueTrigger = canValueTrigger(endValue, 1, mergedDisabled, allowEmpty);\n var canTrigger = values === null || canStartValueTrigger && canEndValueTrigger;\n\n if (canTrigger) {\n // Trigger onChange only when value is validate\n setInnerValue(values);\n\n if (onChange && (!isEqual(generateConfig, getValue(mergedValue, 0), startValue) || !isEqual(generateConfig, getValue(mergedValue, 1), endValue))) {\n onChange(values, [startStr, endStr]);\n }\n } // >>>>> Open picker when\n // Always open another picker if possible\n\n\n var nextOpenIndex = null;\n\n if (sourceIndex === 0 && !mergedDisabled[1]) {\n nextOpenIndex = 1;\n } else if (sourceIndex === 1 && !mergedDisabled[0]) {\n nextOpenIndex = 0;\n }\n\n if (nextOpenIndex !== null && nextOpenIndex !== mergedActivePickerIndex && (!openRecordsRef.current[nextOpenIndex] || !getValue(values, nextOpenIndex)) && getValue(values, sourceIndex)) {\n // Delay to focus to avoid input blur trigger expired selectedValues\n triggerOpenAndFocus(nextOpenIndex);\n } else {\n _triggerOpen(false, sourceIndex);\n }\n }\n\n var forwardKeyDown = function forwardKeyDown(e) {\n if (mergedOpen && operationRef.current && operationRef.current.onKeyDown) {\n // Let popup panel handle keyboard\n return operationRef.current.onKeyDown(e);\n }\n /* istanbul ignore next */\n\n /* eslint-disable no-lone-blocks */\n\n\n {\n warning(false, 'Picker not correct forward KeyDown operation. Please help to fire issue about this.');\n return false;\n }\n }; // ============================= Text ==============================\n\n\n var sharedTextHooksProps = {\n formatList: formatList,\n generateConfig: generateConfig,\n locale: locale\n };\n\n var _useValueTexts = useValueTexts(getValue(selectedValue, 0), sharedTextHooksProps),\n _useValueTexts2 = _slicedToArray(_useValueTexts, 2),\n startValueTexts = _useValueTexts2[0],\n firstStartValueText = _useValueTexts2[1];\n\n var _useValueTexts3 = useValueTexts(getValue(selectedValue, 1), sharedTextHooksProps),\n _useValueTexts4 = _slicedToArray(_useValueTexts3, 2),\n endValueTexts = _useValueTexts4[0],\n firstEndValueText = _useValueTexts4[1];\n\n var _onTextChange = function onTextChange(newText, index) {\n var inputDate = parseValue(newText, {\n locale: locale,\n formatList: formatList,\n generateConfig: generateConfig\n });\n var disabledFunc = index === 0 ? disabledStartDate : disabledEndDate;\n\n if (inputDate && !disabledFunc(inputDate)) {\n setSelectedValue(updateValues(selectedValue, inputDate, index));\n setViewDate(inputDate, index);\n }\n };\n\n var _useTextValueMapping = useTextValueMapping({\n valueTexts: startValueTexts,\n onTextChange: function onTextChange(newText) {\n return _onTextChange(newText, 0);\n }\n }),\n _useTextValueMapping2 = _slicedToArray(_useTextValueMapping, 3),\n startText = _useTextValueMapping2[0],\n triggerStartTextChange = _useTextValueMapping2[1],\n resetStartText = _useTextValueMapping2[2];\n\n var _useTextValueMapping3 = useTextValueMapping({\n valueTexts: endValueTexts,\n onTextChange: function onTextChange(newText) {\n return _onTextChange(newText, 1);\n }\n }),\n _useTextValueMapping4 = _slicedToArray(_useTextValueMapping3, 3),\n endText = _useTextValueMapping4[0],\n triggerEndTextChange = _useTextValueMapping4[1],\n resetEndText = _useTextValueMapping4[2];\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n rangeHoverValue = _useState4[0],\n setRangeHoverValue = _useState4[1]; // ========================== Hover Range ==========================\n\n\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n hoverRangedValue = _useState6[0],\n setHoverRangedValue = _useState6[1];\n\n var _useHoverValue = useHoverValue(startText, {\n formatList: formatList,\n generateConfig: generateConfig,\n locale: locale\n }),\n _useHoverValue2 = _slicedToArray(_useHoverValue, 3),\n startHoverValue = _useHoverValue2[0],\n onStartEnter = _useHoverValue2[1],\n onStartLeave = _useHoverValue2[2];\n\n var _useHoverValue3 = useHoverValue(endText, {\n formatList: formatList,\n generateConfig: generateConfig,\n locale: locale\n }),\n _useHoverValue4 = _slicedToArray(_useHoverValue3, 3),\n endHoverValue = _useHoverValue4[0],\n onEndEnter = _useHoverValue4[1],\n onEndLeave = _useHoverValue4[2];\n\n var onDateMouseEnter = function onDateMouseEnter(date) {\n setHoverRangedValue(updateValues(selectedValue, date, mergedActivePickerIndex));\n\n if (mergedActivePickerIndex === 0) {\n onStartEnter(date);\n } else {\n onEndEnter(date);\n }\n };\n\n var onDateMouseLeave = function onDateMouseLeave() {\n setHoverRangedValue(updateValues(selectedValue, null, mergedActivePickerIndex));\n\n if (mergedActivePickerIndex === 0) {\n onStartLeave();\n } else {\n onEndLeave();\n }\n }; // ============================= Input =============================\n\n\n var getSharedInputHookProps = function getSharedInputHookProps(index, resetText) {\n return {\n blurToCancel: needConfirmButton,\n forwardKeyDown: forwardKeyDown,\n onBlur: onBlur,\n isClickOutside: function isClickOutside(target) {\n return !elementsContains([panelDivRef.current, startInputDivRef.current, endInputDivRef.current], target);\n },\n onFocus: function onFocus(e) {\n setMergedActivePickerIndex(index);\n\n if (_onFocus) {\n _onFocus(e);\n }\n },\n triggerOpen: function triggerOpen(newOpen) {\n _triggerOpen(newOpen, index);\n },\n onSubmit: function onSubmit() {\n triggerChange(selectedValue, index);\n resetText();\n },\n onCancel: function onCancel() {\n _triggerOpen(false, index);\n\n setSelectedValue(mergedValue);\n resetText();\n }\n };\n };\n\n var _usePickerInput = usePickerInput(_objectSpread(_objectSpread({}, getSharedInputHookProps(0, resetStartText)), {}, {\n open: startOpen,\n value: startText,\n onKeyDown: function onKeyDown(e, preventDefault) {\n _onKeyDown === null || _onKeyDown === void 0 ? void 0 : _onKeyDown(e, preventDefault);\n }\n })),\n _usePickerInput2 = _slicedToArray(_usePickerInput, 2),\n startInputProps = _usePickerInput2[0],\n _usePickerInput2$ = _usePickerInput2[1],\n startFocused = _usePickerInput2$.focused,\n startTyping = _usePickerInput2$.typing;\n\n var _usePickerInput3 = usePickerInput(_objectSpread(_objectSpread({}, getSharedInputHookProps(1, resetEndText)), {}, {\n open: endOpen,\n value: endText,\n onKeyDown: function onKeyDown(e, preventDefault) {\n _onKeyDown === null || _onKeyDown === void 0 ? void 0 : _onKeyDown(e, preventDefault);\n }\n })),\n _usePickerInput4 = _slicedToArray(_usePickerInput3, 2),\n endInputProps = _usePickerInput4[0],\n _usePickerInput4$ = _usePickerInput4[1],\n endFocused = _usePickerInput4$.focused,\n endTyping = _usePickerInput4$.typing; // ========================== Click Picker ==========================\n\n\n var onPickerClick = function onPickerClick(e) {\n // When click inside the picker & outside the picker's input elements\n // the panel should still be opened\n if (!mergedOpen && !startInputRef.current.contains(e.target) && !endInputRef.current.contains(e.target)) {\n if (!mergedDisabled[0]) {\n triggerOpenAndFocus(0);\n } else if (!mergedDisabled[1]) {\n triggerOpenAndFocus(1);\n }\n }\n };\n\n var onPickerMouseDown = function onPickerMouseDown(e) {\n // shouldn't affect input elements if picker is active\n if (mergedOpen && (startFocused || endFocused) && !startInputRef.current.contains(e.target) && !endInputRef.current.contains(e.target)) {\n e.preventDefault();\n }\n }; // ============================= Sync ==============================\n // Close should sync back with text value\n\n\n var startStr = mergedValue && mergedValue[0] ? formatValue(mergedValue[0], {\n locale: locale,\n format: 'YYYYMMDDHHmmss',\n generateConfig: generateConfig\n }) : '';\n var endStr = mergedValue && mergedValue[1] ? formatValue(mergedValue[1], {\n locale: locale,\n format: 'YYYYMMDDHHmmss',\n generateConfig: generateConfig\n }) : '';\n useEffect(function () {\n if (!mergedOpen) {\n setSelectedValue(mergedValue);\n\n if (!startValueTexts.length || startValueTexts[0] === '') {\n triggerStartTextChange('');\n } else if (firstStartValueText !== startText) {\n resetStartText();\n }\n\n if (!endValueTexts.length || endValueTexts[0] === '') {\n triggerEndTextChange('');\n } else if (firstEndValueText !== endText) {\n resetEndText();\n }\n }\n }, [mergedOpen, startValueTexts, endValueTexts]); // Sync innerValue with control mode\n\n useEffect(function () {\n setSelectedValue(mergedValue);\n }, [startStr, endStr]); // ============================ Warning ============================\n\n if (process.env.NODE_ENV !== 'production') {\n if (value && Array.isArray(disabled) && (getValue(disabled, 0) && !getValue(value, 0) || getValue(disabled, 1) && !getValue(value, 1))) {\n warning(false, '`disabled` should not set with empty `value`. You should set `allowEmpty` or `value` instead.');\n }\n } // ============================ Private ============================\n\n\n if (pickerRef) {\n pickerRef.current = {\n focus: function focus() {\n if (startInputRef.current) {\n startInputRef.current.focus();\n }\n },\n blur: function blur() {\n if (startInputRef.current) {\n startInputRef.current.blur();\n }\n\n if (endInputRef.current) {\n endInputRef.current.blur();\n }\n }\n };\n } // ============================ Ranges =============================\n\n\n var rangeLabels = Object.keys(ranges || {});\n var rangeList = rangeLabels.map(function (label) {\n var range = ranges[label];\n var newValues = typeof range === 'function' ? range() : range;\n return {\n label: label,\n onClick: function onClick() {\n triggerChange(newValues, null);\n\n _triggerOpen(false, mergedActivePickerIndex);\n },\n onMouseEnter: function onMouseEnter() {\n setRangeHoverValue(newValues);\n },\n onMouseLeave: function onMouseLeave() {\n setRangeHoverValue(null);\n }\n };\n }); // ============================= Panel =============================\n\n function renderPanel() {\n var panelPosition = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var panelProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var panelHoverRangedValue = null;\n\n if (mergedOpen && hoverRangedValue && hoverRangedValue[0] && hoverRangedValue[1] && generateConfig.isAfter(hoverRangedValue[1], hoverRangedValue[0])) {\n panelHoverRangedValue = hoverRangedValue;\n }\n\n var panelShowTime = showTime;\n\n if (showTime && _typeof(showTime) === 'object' && showTime.defaultValue) {\n var timeDefaultValues = showTime.defaultValue;\n panelShowTime = _objectSpread(_objectSpread({}, showTime), {}, {\n defaultValue: getValue(timeDefaultValues, mergedActivePickerIndex) || undefined\n });\n }\n\n var panelDateRender = null;\n\n if (dateRender) {\n panelDateRender = function panelDateRender(date, today) {\n return dateRender(date, today, {\n range: mergedActivePickerIndex ? 'end' : 'start'\n });\n };\n }\n\n return /*#__PURE__*/React.createElement(RangeContext.Provider, {\n value: {\n inRange: true,\n panelPosition: panelPosition,\n rangedValue: rangeHoverValue || selectedValue,\n hoverRangedValue: panelHoverRangedValue\n }\n }, /*#__PURE__*/React.createElement(PickerPanel, _extends({}, props, panelProps, {\n dateRender: panelDateRender,\n showTime: panelShowTime,\n mode: mergedModes[mergedActivePickerIndex],\n generateConfig: generateConfig,\n style: undefined,\n direction: direction,\n disabledDate: mergedActivePickerIndex === 0 ? disabledStartDate : disabledEndDate,\n disabledTime: function disabledTime(date) {\n if (_disabledTime) {\n return _disabledTime(date, mergedActivePickerIndex === 0 ? 'start' : 'end');\n }\n\n return false;\n },\n className: classNames(_defineProperty({}, \"\".concat(prefixCls, \"-panel-focused\"), mergedActivePickerIndex === 0 ? !startTyping : !endTyping)),\n value: getValue(selectedValue, mergedActivePickerIndex),\n locale: locale,\n tabIndex: -1,\n onPanelChange: function onPanelChange(date, newMode) {\n // clear hover value when panel change\n if (mergedActivePickerIndex === 0) {\n onStartLeave(true);\n }\n\n if (mergedActivePickerIndex === 1) {\n onEndLeave(true);\n }\n\n triggerModesChange(updateValues(mergedModes, newMode, mergedActivePickerIndex), updateValues(selectedValue, date, mergedActivePickerIndex));\n var viewDate = date;\n\n if (panelPosition === 'right' && mergedModes[mergedActivePickerIndex] === newMode) {\n viewDate = getClosingViewDate(viewDate, newMode, generateConfig, -1);\n }\n\n setViewDate(viewDate, mergedActivePickerIndex);\n },\n onOk: null,\n onSelect: undefined,\n onChange: undefined,\n defaultValue: mergedActivePickerIndex === 0 ? getValue(selectedValue, 1) : getValue(selectedValue, 0),\n defaultPickerValue: undefined\n })));\n }\n\n var arrowLeft = 0;\n var panelLeft = 0;\n\n if (mergedActivePickerIndex && startInputDivRef.current && separatorRef.current && panelDivRef.current) {\n // Arrow offset\n arrowLeft = startInputDivRef.current.offsetWidth + separatorRef.current.offsetWidth;\n\n if (panelDivRef.current.offsetWidth && arrowLeft > panelDivRef.current.offsetWidth) {\n panelLeft = arrowLeft;\n }\n }\n\n var arrowPositionStyle = direction === 'rtl' ? {\n right: arrowLeft\n } : {\n left: arrowLeft\n };\n\n function renderPanels() {\n var panels;\n var extraNode = getExtraFooter(prefixCls, mergedModes[mergedActivePickerIndex], renderExtraFooter);\n var rangesNode = getRanges({\n prefixCls: prefixCls,\n components: components,\n needConfirmButton: needConfirmButton,\n okDisabled: !getValue(selectedValue, mergedActivePickerIndex) || disabledDate && disabledDate(selectedValue[mergedActivePickerIndex]),\n locale: locale,\n rangeList: rangeList,\n onOk: function onOk() {\n if (getValue(selectedValue, mergedActivePickerIndex)) {\n // triggerChangeOld(selectedValue);\n triggerChange(selectedValue, mergedActivePickerIndex);\n\n if (_onOk) {\n _onOk(selectedValue);\n }\n }\n }\n });\n\n if (picker !== 'time' && !showTime) {\n var viewDate = getViewDate(mergedActivePickerIndex);\n var nextViewDate = getClosingViewDate(viewDate, picker, generateConfig);\n var currentMode = mergedModes[mergedActivePickerIndex];\n var showDoublePanel = currentMode === picker;\n var leftPanel = renderPanel(showDoublePanel ? 'left' : false, {\n pickerValue: viewDate,\n onPickerValueChange: function onPickerValueChange(newViewDate) {\n setViewDate(newViewDate, mergedActivePickerIndex);\n }\n });\n var rightPanel = renderPanel('right', {\n pickerValue: nextViewDate,\n onPickerValueChange: function onPickerValueChange(newViewDate) {\n setViewDate(getClosingViewDate(newViewDate, picker, generateConfig, -1), mergedActivePickerIndex);\n }\n });\n\n if (direction === 'rtl') {\n panels = /*#__PURE__*/React.createElement(React.Fragment, null, rightPanel, showDoublePanel && leftPanel);\n } else {\n panels = /*#__PURE__*/React.createElement(React.Fragment, null, leftPanel, showDoublePanel && rightPanel);\n }\n } else {\n panels = renderPanel();\n }\n\n var mergedNodes = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-panels\")\n }, panels), (extraNode || rangesNode) && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-footer\")\n }, extraNode, rangesNode));\n\n if (panelRender) {\n mergedNodes = panelRender(mergedNodes);\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-panel-container\"),\n style: {\n marginLeft: panelLeft\n },\n ref: panelDivRef,\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n }\n }, mergedNodes);\n }\n\n var rangePanel = /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-range-wrapper\"), \"\".concat(prefixCls, \"-\").concat(picker, \"-range-wrapper\")),\n style: {\n minWidth: popupMinWidth\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-range-arrow\"),\n style: arrowPositionStyle\n }), renderPanels()); // ============================= Icons =============================\n\n var suffixNode;\n\n if (suffixIcon) {\n suffixNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-suffix\")\n }, suffixIcon);\n }\n\n var clearNode;\n\n if (allowClear && (getValue(mergedValue, 0) && !mergedDisabled[0] || getValue(mergedValue, 1) && !mergedDisabled[1])) {\n clearNode = /*#__PURE__*/React.createElement(\"span\", {\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n e.stopPropagation();\n },\n onMouseUp: function onMouseUp(e) {\n e.preventDefault();\n e.stopPropagation();\n var values = mergedValue;\n\n if (!mergedDisabled[0]) {\n values = updateValues(values, null, 0);\n }\n\n if (!mergedDisabled[1]) {\n values = updateValues(values, null, 1);\n }\n\n triggerChange(values, null);\n\n _triggerOpen(false, mergedActivePickerIndex);\n },\n className: \"\".concat(prefixCls, \"-clear\")\n }, clearIcon || /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-clear-btn\")\n }));\n }\n\n var inputSharedProps = {\n size: getInputSize(picker, formatList[0], generateConfig)\n };\n var activeBarLeft = 0;\n var activeBarWidth = 0;\n\n if (startInputDivRef.current && endInputDivRef.current && separatorRef.current) {\n if (mergedActivePickerIndex === 0) {\n activeBarWidth = startInputDivRef.current.offsetWidth;\n } else {\n activeBarLeft = arrowLeft;\n activeBarWidth = endInputDivRef.current.offsetWidth;\n }\n }\n\n var activeBarPositionStyle = direction === 'rtl' ? {\n right: activeBarLeft\n } : {\n left: activeBarLeft\n }; // ============================ Return =============================\n\n var onContextSelect = function onContextSelect(date, type) {\n var values = updateValues(selectedValue, date, mergedActivePickerIndex);\n\n if (type === 'submit' || type !== 'key' && !needConfirmButton) {\n // triggerChange will also update selected values\n triggerChange(values, mergedActivePickerIndex); // clear hover value style\n\n if (mergedActivePickerIndex === 0) {\n onStartLeave();\n } else {\n onEndLeave();\n }\n } else {\n setSelectedValue(values);\n }\n };\n\n return /*#__PURE__*/React.createElement(PanelContext.Provider, {\n value: {\n operationRef: operationRef,\n hideHeader: picker === 'time',\n onDateMouseEnter: onDateMouseEnter,\n onDateMouseLeave: onDateMouseLeave,\n hideRanges: true,\n onSelect: onContextSelect,\n open: mergedOpen\n }\n }, /*#__PURE__*/React.createElement(PickerTrigger, {\n visible: mergedOpen,\n popupElement: rangePanel,\n popupStyle: popupStyle,\n prefixCls: prefixCls,\n dropdownClassName: dropdownClassName,\n dropdownAlign: dropdownAlign,\n getPopupContainer: getPopupContainer,\n transitionName: transitionName,\n range: true,\n direction: direction\n }, /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: containerRef,\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-range\"), className, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-disabled\"), mergedDisabled[0] && mergedDisabled[1]), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-focused\"), mergedActivePickerIndex === 0 ? startFocused : endFocused), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames2)),\n style: style,\n onClick: onPickerClick,\n onMouseDown: onPickerMouseDown\n }, getDataOrAriaProps(props)), /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-input\"), (_classNames3 = {}, _defineProperty(_classNames3, \"\".concat(prefixCls, \"-input-active\"), mergedActivePickerIndex === 0), _defineProperty(_classNames3, \"\".concat(prefixCls, \"-input-placeholder\"), !!startHoverValue), _classNames3)),\n ref: startInputDivRef\n }, /*#__PURE__*/React.createElement(\"input\", _extends({\n id: id,\n disabled: mergedDisabled[0],\n readOnly: inputReadOnly || typeof formatList[0] === 'function' || !startTyping,\n value: startHoverValue || startText,\n onChange: function onChange(e) {\n triggerStartTextChange(e.target.value);\n },\n autoFocus: autoFocus,\n placeholder: getValue(placeholder, 0) || '',\n ref: startInputRef\n }, startInputProps, inputSharedProps, {\n autoComplete: autoComplete\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-range-separator\"),\n ref: separatorRef\n }, separator), /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-input\"), (_classNames4 = {}, _defineProperty(_classNames4, \"\".concat(prefixCls, \"-input-active\"), mergedActivePickerIndex === 1), _defineProperty(_classNames4, \"\".concat(prefixCls, \"-input-placeholder\"), !!endHoverValue), _classNames4)),\n ref: endInputDivRef\n }, /*#__PURE__*/React.createElement(\"input\", _extends({\n disabled: mergedDisabled[1],\n readOnly: inputReadOnly || typeof formatList[0] === 'function' || !endTyping,\n value: endHoverValue || endText,\n onChange: function onChange(e) {\n triggerEndTextChange(e.target.value);\n },\n placeholder: getValue(placeholder, 1) || '',\n ref: endInputRef\n }, endInputProps, inputSharedProps, {\n autoComplete: autoComplete\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-active-bar\"),\n style: _objectSpread(_objectSpread({}, activeBarPositionStyle), {}, {\n width: activeBarWidth,\n position: 'absolute'\n })\n }), suffixNode, clearNode)));\n} // Wrap with class component to enable pass generic with instance method\n\n\nvar RangePicker = /*#__PURE__*/function (_React$Component) {\n _inherits(RangePicker, _React$Component);\n\n var _super = _createSuper(RangePicker);\n\n function RangePicker() {\n var _this;\n\n _classCallCheck(this, RangePicker);\n\n _this = _super.apply(this, arguments);\n _this.pickerRef = /*#__PURE__*/React.createRef();\n\n _this.focus = function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.focus();\n }\n };\n\n _this.blur = function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.blur();\n }\n };\n\n return _this;\n }\n\n _createClass(RangePicker, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(InnerRangePicker, _extends({}, this.props, {\n pickerRef: this.pickerRef\n }));\n }\n }]);\n\n return RangePicker;\n}(React.Component);\n\nexport default RangePicker;","import * as React from 'react';\nimport { getValue } from '../utils/miscUtil';\nimport { isSameDate, getQuarter } from '../utils/dateUtil';\nexport default function useRangeDisabled(_ref, disabledStart, disabledEnd) {\n var picker = _ref.picker,\n locale = _ref.locale,\n selectedValue = _ref.selectedValue,\n disabledDate = _ref.disabledDate,\n disabled = _ref.disabled,\n generateConfig = _ref.generateConfig;\n var startDate = getValue(selectedValue, 0);\n var endDate = getValue(selectedValue, 1);\n\n function weekFirstDate(date) {\n return generateConfig.locale.getWeekFirstDate(locale.locale, date);\n }\n\n function monthNumber(date) {\n var year = generateConfig.getYear(date);\n var month = generateConfig.getMonth(date);\n return year * 100 + month;\n }\n\n function quarterNumber(date) {\n var year = generateConfig.getYear(date);\n var quarter = getQuarter(generateConfig, date);\n return year * 10 + quarter;\n }\n\n var disabledStartDate = React.useCallback(function (date) {\n if (disabledDate && disabledDate(date)) {\n return true;\n } // Disabled range\n\n\n if (disabled[1] && endDate) {\n return !isSameDate(generateConfig, date, endDate) && generateConfig.isAfter(date, endDate);\n } // Disabled part\n\n\n if (disabledStart && endDate) {\n switch (picker) {\n case 'quarter':\n return quarterNumber(date) > quarterNumber(endDate);\n\n case 'month':\n return monthNumber(date) > monthNumber(endDate);\n\n case 'week':\n return weekFirstDate(date) > weekFirstDate(endDate);\n\n default:\n return !isSameDate(generateConfig, date, endDate) && generateConfig.isAfter(date, endDate);\n }\n }\n\n return false;\n }, [disabledDate, disabled[1], endDate, disabledStart]);\n var disabledEndDate = React.useCallback(function (date) {\n if (disabledDate && disabledDate(date)) {\n return true;\n } // Disabled range\n\n\n if (disabled[0] && startDate) {\n return !isSameDate(generateConfig, date, endDate) && generateConfig.isAfter(startDate, date);\n } // Disabled part\n\n\n if (disabledEnd && startDate) {\n switch (picker) {\n case 'quarter':\n return quarterNumber(date) < quarterNumber(startDate);\n\n case 'month':\n return monthNumber(date) < monthNumber(startDate);\n\n case 'week':\n return weekFirstDate(date) < weekFirstDate(startDate);\n\n default:\n return !isSameDate(generateConfig, date, startDate) && generateConfig.isAfter(startDate, date);\n }\n }\n\n return false;\n }, [disabledDate, disabled[0], startDate, disabledEnd]);\n return [disabledStartDate, disabledEndDate];\n}","import Picker from './Picker';\nimport PickerPanel from './PickerPanel';\nimport RangePicker from './RangePicker';\nexport { PickerPanel, RangePicker };\nexport default Picker;","export function getPlaceholder(picker, locale, customizePlaceholder) {\n if (customizePlaceholder !== undefined) {\n return customizePlaceholder;\n }\n\n if (picker === 'year' && locale.lang.yearPlaceholder) {\n return locale.lang.yearPlaceholder;\n }\n\n if (picker === 'quarter' && locale.lang.quarterPlaceholder) {\n return locale.lang.quarterPlaceholder;\n }\n\n if (picker === 'month' && locale.lang.monthPlaceholder) {\n return locale.lang.monthPlaceholder;\n }\n\n if (picker === 'week' && locale.lang.weekPlaceholder) {\n return locale.lang.weekPlaceholder;\n }\n\n if (picker === 'time' && locale.timePickerLocale.placeholder) {\n return locale.timePickerLocale.placeholder;\n }\n\n return locale.lang.placeholder;\n}\nexport function getRangePlaceholder(picker, locale, customizePlaceholder) {\n if (customizePlaceholder !== undefined) {\n return customizePlaceholder;\n }\n\n if (picker === 'year' && locale.lang.yearPlaceholder) {\n return locale.lang.rangeYearPlaceholder;\n }\n\n if (picker === 'month' && locale.lang.monthPlaceholder) {\n return locale.lang.rangeMonthPlaceholder;\n }\n\n if (picker === 'week' && locale.lang.weekPlaceholder) {\n return locale.lang.rangeWeekPlaceholder;\n }\n\n if (picker === 'time' && locale.timePickerLocale.placeholder) {\n return locale.timePickerLocale.rangePlaceholder;\n }\n\n return locale.lang.rangePlaceholder;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CalendarOutlined from \"@ant-design/icons/es/icons/CalendarOutlined\";\nimport ClockCircleOutlined from \"@ant-design/icons/es/icons/ClockCircleOutlined\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport RCPicker from 'rc-picker';\nimport enUS from '../locale/en_US';\nimport { getPlaceholder } from '../util';\nimport devWarning from '../../_util/devWarning';\nimport { ConfigContext } from '../../config-provider';\nimport LocaleReceiver from '../../locale-provider/LocaleReceiver';\nimport SizeContext from '../../config-provider/SizeContext';\nimport { getTimeProps, Components } from '.';\nexport default function generatePicker(generateConfig) {\n function getPicker(picker, displayName) {\n var Picker = /*#__PURE__*/function (_React$Component) {\n _inherits(Picker, _React$Component);\n\n var _super = _createSuper(Picker);\n\n function Picker(props) {\n var _this;\n\n _classCallCheck(this, Picker);\n\n _this = _super.call(this, props);\n _this.pickerRef = /*#__PURE__*/React.createRef();\n\n _this.focus = function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.focus();\n }\n };\n\n _this.blur = function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.blur();\n }\n };\n\n _this.renderPicker = function (contextLocale) {\n var locale = _extends(_extends({}, contextLocale), _this.props.locale);\n\n var _this$context = _this.context,\n getPrefixCls = _this$context.getPrefixCls,\n direction = _this$context.direction,\n getPopupContainer = _this$context.getPopupContainer;\n\n var _a = _this.props,\n customizePrefixCls = _a.prefixCls,\n customizeGetPopupContainer = _a.getPopupContainer,\n className = _a.className,\n customizeSize = _a.size,\n _a$bordered = _a.bordered,\n bordered = _a$bordered === void 0 ? true : _a$bordered,\n placeholder = _a.placeholder,\n restProps = __rest(_a, [\"prefixCls\", \"getPopupContainer\", \"className\", \"size\", \"bordered\", \"placeholder\"]);\n\n var _this$props = _this.props,\n format = _this$props.format,\n showTime = _this$props.showTime;\n var prefixCls = getPrefixCls('picker', customizePrefixCls);\n var additionalProps = {\n showToday: true\n };\n var additionalOverrideProps = {};\n\n if (picker) {\n additionalOverrideProps.picker = picker;\n }\n\n var mergedPicker = picker || _this.props.picker;\n additionalOverrideProps = _extends(_extends(_extends({}, additionalOverrideProps), showTime ? getTimeProps(_extends({\n format: format,\n picker: mergedPicker\n }, showTime)) : {}), mergedPicker === 'time' ? getTimeProps(_extends(_extends({\n format: format\n }, _this.props), {\n picker: mergedPicker\n })) : {});\n var rootPrefixCls = getPrefixCls();\n return /*#__PURE__*/React.createElement(SizeContext.Consumer, null, function (size) {\n var _classNames;\n\n var mergedSize = customizeSize || size;\n return /*#__PURE__*/React.createElement(RCPicker, _extends({\n ref: _this.pickerRef,\n placeholder: getPlaceholder(mergedPicker, locale, placeholder),\n suffixIcon: mergedPicker === 'time' ? /*#__PURE__*/React.createElement(ClockCircleOutlined, null) : /*#__PURE__*/React.createElement(CalendarOutlined, null),\n clearIcon: /*#__PURE__*/React.createElement(CloseCircleFilled, null),\n allowClear: true,\n transitionName: \"\".concat(rootPrefixCls, \"-slide-up\")\n }, additionalProps, restProps, additionalOverrideProps, {\n locale: locale.lang,\n className: classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(mergedSize), mergedSize), _defineProperty(_classNames, \"\".concat(prefixCls, \"-borderless\"), !bordered), _classNames), className),\n prefixCls: prefixCls,\n getPopupContainer: customizeGetPopupContainer || getPopupContainer,\n generateConfig: generateConfig,\n prevIcon: /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-prev-icon\")\n }),\n nextIcon: /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-next-icon\")\n }),\n superPrevIcon: /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-super-prev-icon\")\n }),\n superNextIcon: /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-super-next-icon\")\n }),\n components: Components,\n direction: direction\n }));\n });\n };\n\n devWarning(picker !== 'quarter', displayName, \"DatePicker.\".concat(displayName, \" is legacy usage. Please use DatePicker[picker='\").concat(picker, \"'] directly.\"));\n return _this;\n }\n\n _createClass(Picker, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(LocaleReceiver, {\n componentName: \"DatePicker\",\n defaultLocale: enUS\n }, this.renderPicker);\n }\n }]);\n\n return Picker;\n }(React.Component);\n\n Picker.contextType = ConfigContext;\n\n if (displayName) {\n Picker.displayName = displayName;\n }\n\n return Picker;\n }\n\n var DatePicker = getPicker();\n var WeekPicker = getPicker('week', 'WeekPicker');\n var MonthPicker = getPicker('month', 'MonthPicker');\n var YearPicker = getPicker('year', 'YearPicker');\n var TimePicker = getPicker('time', 'TimePicker');\n var QuarterPicker = getPicker('quarter', 'QuarterPicker');\n return {\n DatePicker: DatePicker,\n WeekPicker: WeekPicker,\n MonthPicker: MonthPicker,\n YearPicker: YearPicker,\n TimePicker: TimePicker,\n QuarterPicker: QuarterPicker\n };\n}","// This icon file is generated automatically.\nvar SwapRightOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z\" } }] }, \"name\": \"swap-right\", \"theme\": \"outlined\" };\nexport default SwapRightOutlined;\n","// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport SwapRightOutlinedSvg from \"@ant-design/icons-svg/es/asn/SwapRightOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar SwapRightOutlined = function SwapRightOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, Object.assign({}, props, {\n ref: ref,\n icon: SwapRightOutlinedSvg\n }));\n};\n\nSwapRightOutlined.displayName = 'SwapRightOutlined';\nexport default /*#__PURE__*/React.forwardRef(SwapRightOutlined);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CalendarOutlined from \"@ant-design/icons/es/icons/CalendarOutlined\";\nimport ClockCircleOutlined from \"@ant-design/icons/es/icons/ClockCircleOutlined\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport SwapRightOutlined from \"@ant-design/icons/es/icons/SwapRightOutlined\";\nimport { RangePicker as RCRangePicker } from 'rc-picker';\nimport enUS from '../locale/en_US';\nimport { ConfigContext } from '../../config-provider';\nimport SizeContext from '../../config-provider/SizeContext';\nimport LocaleReceiver from '../../locale-provider/LocaleReceiver';\nimport { getRangePlaceholder } from '../util';\nimport { getTimeProps, Components } from '.';\nexport default function generateRangePicker(generateConfig) {\n var RangePicker = /*#__PURE__*/function (_React$Component) {\n _inherits(RangePicker, _React$Component);\n\n var _super = _createSuper(RangePicker);\n\n function RangePicker() {\n var _this;\n\n _classCallCheck(this, RangePicker);\n\n _this = _super.apply(this, arguments);\n _this.pickerRef = /*#__PURE__*/React.createRef();\n\n _this.focus = function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.focus();\n }\n };\n\n _this.blur = function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.blur();\n }\n };\n\n _this.renderPicker = function (contextLocale) {\n var locale = _extends(_extends({}, contextLocale), _this.props.locale);\n\n var _this$context = _this.context,\n getPrefixCls = _this$context.getPrefixCls,\n direction = _this$context.direction,\n getPopupContainer = _this$context.getPopupContainer;\n\n var _a = _this.props,\n customizePrefixCls = _a.prefixCls,\n customGetPopupContainer = _a.getPopupContainer,\n className = _a.className,\n customizeSize = _a.size,\n _a$bordered = _a.bordered,\n bordered = _a$bordered === void 0 ? true : _a$bordered,\n placeholder = _a.placeholder,\n restProps = __rest(_a, [\"prefixCls\", \"getPopupContainer\", \"className\", \"size\", \"bordered\", \"placeholder\"]);\n\n var _this$props = _this.props,\n format = _this$props.format,\n showTime = _this$props.showTime,\n picker = _this$props.picker;\n var prefixCls = getPrefixCls('picker', customizePrefixCls);\n var additionalOverrideProps = {};\n additionalOverrideProps = _extends(_extends(_extends({}, additionalOverrideProps), showTime ? getTimeProps(_extends({\n format: format,\n picker: picker\n }, showTime)) : {}), picker === 'time' ? getTimeProps(_extends(_extends({\n format: format\n }, _this.props), {\n picker: picker\n })) : {});\n var rootPrefixCls = getPrefixCls();\n return /*#__PURE__*/React.createElement(SizeContext.Consumer, null, function (size) {\n var _classNames;\n\n var mergedSize = customizeSize || size;\n return /*#__PURE__*/React.createElement(RCRangePicker, _extends({\n separator: /*#__PURE__*/React.createElement(\"span\", {\n \"aria-label\": \"to\",\n className: \"\".concat(prefixCls, \"-separator\")\n }, /*#__PURE__*/React.createElement(SwapRightOutlined, null)),\n ref: _this.pickerRef,\n placeholder: getRangePlaceholder(picker, locale, placeholder),\n suffixIcon: picker === 'time' ? /*#__PURE__*/React.createElement(ClockCircleOutlined, null) : /*#__PURE__*/React.createElement(CalendarOutlined, null),\n clearIcon: /*#__PURE__*/React.createElement(CloseCircleFilled, null),\n allowClear: true,\n transitionName: \"\".concat(rootPrefixCls, \"-slide-up\")\n }, restProps, additionalOverrideProps, {\n className: classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(mergedSize), mergedSize), _defineProperty(_classNames, \"\".concat(prefixCls, \"-borderless\"), !bordered), _classNames), className),\n locale: locale.lang,\n prefixCls: prefixCls,\n getPopupContainer: customGetPopupContainer || getPopupContainer,\n generateConfig: generateConfig,\n prevIcon: /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-prev-icon\")\n }),\n nextIcon: /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-next-icon\")\n }),\n superPrevIcon: /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-super-prev-icon\")\n }),\n superNextIcon: /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-super-next-icon\")\n }),\n components: Components,\n direction: direction\n }));\n });\n };\n\n return _this;\n }\n\n _createClass(RangePicker, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(LocaleReceiver, {\n componentName: \"DatePicker\",\n defaultLocale: enUS\n }, this.renderPicker);\n }\n }]);\n\n return RangePicker;\n }(React.Component);\n\n RangePicker.contextType = ConfigContext;\n return RangePicker;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport PickerButton from '../PickerButton';\nimport PickerTag from '../PickerTag';\nimport generateSinglePicker from './generateSinglePicker';\nimport generateRangePicker from './generateRangePicker';\nexport var Components = {\n button: PickerButton,\n rangeItem: PickerTag\n};\n\nfunction toArray(list) {\n if (!list) {\n return [];\n }\n\n return Array.isArray(list) ? list : [list];\n}\n\nexport function getTimeProps(props) {\n var format = props.format,\n picker = props.picker,\n showHour = props.showHour,\n showMinute = props.showMinute,\n showSecond = props.showSecond,\n use12Hours = props.use12Hours;\n var firstFormat = toArray(format)[0];\n\n var showTimeObj = _extends({}, props);\n\n if (firstFormat && typeof firstFormat === 'string') {\n if (!firstFormat.includes('s') && showSecond === undefined) {\n showTimeObj.showSecond = false;\n }\n\n if (!firstFormat.includes('m') && showMinute === undefined) {\n showTimeObj.showMinute = false;\n }\n\n if (!firstFormat.includes('H') && !firstFormat.includes('h') && showHour === undefined) {\n showTimeObj.showHour = false;\n }\n\n if ((firstFormat.includes('a') || firstFormat.includes('A')) && use12Hours === undefined) {\n showTimeObj.use12Hours = true;\n }\n }\n\n if (picker === 'time') {\n return showTimeObj;\n }\n\n if (typeof firstFormat === 'function') {\n // format of showTime should use default when format is custom format function\n delete showTimeObj.format;\n }\n\n return {\n showTime: showTimeObj\n };\n}\n\nfunction generatePicker(generateConfig) {\n // =========================== Picker ===========================\n var _generateSinglePicker = generateSinglePicker(generateConfig),\n DatePicker = _generateSinglePicker.DatePicker,\n WeekPicker = _generateSinglePicker.WeekPicker,\n MonthPicker = _generateSinglePicker.MonthPicker,\n YearPicker = _generateSinglePicker.YearPicker,\n TimePicker = _generateSinglePicker.TimePicker,\n QuarterPicker = _generateSinglePicker.QuarterPicker; // ======================== Range Picker ========================\n\n\n var RangePicker = generateRangePicker(generateConfig);\n var MergedDatePicker = DatePicker;\n MergedDatePicker.WeekPicker = WeekPicker;\n MergedDatePicker.MonthPicker = MonthPicker;\n MergedDatePicker.YearPicker = YearPicker;\n MergedDatePicker.RangePicker = RangePicker;\n MergedDatePicker.TimePicker = TimePicker;\n MergedDatePicker.QuarterPicker = QuarterPicker;\n return MergedDatePicker;\n}\n\nexport default generatePicker;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Button from '../button';\nexport default function PickerButton(props) {\n return /*#__PURE__*/React.createElement(Button, _extends({\n size: \"small\",\n type: \"primary\"\n }, props));\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Tag from '../tag';\nexport default function PickerTag(props) {\n return /*#__PURE__*/React.createElement(Tag, _extends({\n color: \"blue\"\n }, props));\n}","import momentGenerateConfig from \"rc-picker/es/generate/moment\";\nimport generatePicker from './generatePicker';\nvar DatePicker = generatePicker(momentGenerateConfig);\nexport default DatePicker;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { SpaceContext } from '.';\nexport default function Item(_ref) {\n var className = _ref.className,\n direction = _ref.direction,\n index = _ref.index,\n marginDirection = _ref.marginDirection,\n children = _ref.children,\n split = _ref.split,\n wrap = _ref.wrap;\n\n var _React$useContext = React.useContext(SpaceContext),\n horizontalSize = _React$useContext.horizontalSize,\n verticalSize = _React$useContext.verticalSize,\n latestIndex = _React$useContext.latestIndex;\n\n var style = {};\n\n if (direction === 'vertical') {\n if (index < latestIndex) {\n style = {\n marginBottom: horizontalSize / (split ? 2 : 1)\n };\n }\n } else {\n style = _extends(_extends({}, index < latestIndex && _defineProperty({}, marginDirection, horizontalSize / (split ? 2 : 1))), wrap && {\n paddingBottom: verticalSize\n });\n }\n\n if (children === null || children === undefined) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: className,\n style: style\n }, children), index < latestIndex && split && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(className, \"-split\"),\n style: style\n }, split));\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport { ConfigContext } from '../config-provider';\nimport Item from './Item';\nexport var SpaceContext = /*#__PURE__*/React.createContext({\n latestIndex: 0,\n horizontalSize: 0,\n verticalSize: 0\n});\nvar spaceSize = {\n small: 8,\n middle: 16,\n large: 24\n};\n\nfunction getNumberSize(size) {\n return typeof size === 'string' ? spaceSize[size] : size || 0;\n}\n\nvar Space = function Space(props) {\n var _classNames;\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n space = _React$useContext.space,\n directionConfig = _React$useContext.direction;\n\n var _props$size = props.size,\n size = _props$size === void 0 ? (space === null || space === void 0 ? void 0 : space.size) || 'small' : _props$size,\n align = props.align,\n className = props.className,\n children = props.children,\n _props$direction = props.direction,\n direction = _props$direction === void 0 ? 'horizontal' : _props$direction,\n customizePrefixCls = props.prefixCls,\n split = props.split,\n style = props.style,\n _props$wrap = props.wrap,\n wrap = _props$wrap === void 0 ? false : _props$wrap,\n otherProps = __rest(props, [\"size\", \"align\", \"className\", \"children\", \"direction\", \"prefixCls\", \"split\", \"style\", \"wrap\"]);\n\n var _React$useMemo = React.useMemo(function () {\n return (Array.isArray(size) ? size : [size, size]).map(function (item) {\n return getNumberSize(item);\n });\n }, [size]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n horizontalSize = _React$useMemo2[0],\n verticalSize = _React$useMemo2[1];\n\n var childNodes = toArray(children, {\n keepEmpty: true\n });\n\n if (childNodes.length === 0) {\n return null;\n }\n\n var mergedAlign = align === undefined && direction === 'horizontal' ? 'center' : align;\n var prefixCls = getPrefixCls('space', customizePrefixCls);\n var cn = classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(direction), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), directionConfig === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-align-\").concat(mergedAlign), mergedAlign), _classNames), className);\n var itemClassName = \"\".concat(prefixCls, \"-item\");\n var marginDirection = directionConfig === 'rtl' ? 'marginLeft' : 'marginRight'; // Calculate latest one\n\n var latestIndex = 0;\n var nodes = childNodes.map(function (child, i) {\n if (child !== null && child !== undefined) {\n latestIndex = i;\n }\n /* eslint-disable react/no-array-index-key */\n\n\n return /*#__PURE__*/React.createElement(Item, {\n className: itemClassName,\n key: \"\".concat(itemClassName, \"-\").concat(i),\n direction: direction,\n index: i,\n marginDirection: marginDirection,\n split: split,\n wrap: wrap\n }, child);\n /* eslint-enable */\n });\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: cn,\n style: _extends(_extends({}, wrap && {\n flexWrap: 'wrap',\n marginBottom: -verticalSize\n }), style)\n }, otherProps), /*#__PURE__*/React.createElement(SpaceContext.Provider, {\n value: {\n horizontalSize: horizontalSize,\n verticalSize: verticalSize,\n latestIndex: latestIndex\n }\n }, nodes));\n};\n\nexport default Space;"],"sourceRoot":""}