{"version":3,"sources":["webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/vant/es/utils/dom/event.js","webpack:///./src/views/jwb/edit.vue","webpack:///./node_modules/vant/es/cell-group/index.js","webpack:///./node_modules/vant/es/utils/vnodes.js","webpack:///./node_modules/vant/es/form/index.js","webpack:///./node_modules/vant/es/mixins/popup/context.js","webpack:///./node_modules/vant/es/overlay/index.js","webpack:///./node_modules/vant/es/utils/dom/node.js","webpack:///./node_modules/vant/es/mixins/popup/overlay.js","webpack:///./node_modules/vant/es/mixins/touch.js","webpack:///./node_modules/vant/es/mixins/portal.js","webpack:///./node_modules/vant/es/mixins/bind-event.js","webpack:///./node_modules/vant/es/mixins/close-on-popstate.js","webpack:///./node_modules/vant/es/mixins/popup/index.js","webpack:///./node_modules/vant/es/popup/index.js","webpack:///./node_modules/vant/es/datetime-picker/utils.js","webpack:///./node_modules/vant/es/picker/shared.js","webpack:///./node_modules/vant/es/utils/deep-clone.js","webpack:///./node_modules/vant/es/picker/PickerColumn.js","webpack:///./node_modules/vant/es/picker/index.js","webpack:///./node_modules/vant/es/datetime-picker/shared.js","webpack:///./node_modules/vant/es/datetime-picker/TimePicker.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack:///./node_modules/@babel/runtime/helpers/esm/construct.js","webpack:///./node_modules/vant/es/utils/validate/date.js","webpack:///./node_modules/vant/es/datetime-picker/DatePicker.js","webpack:///./node_modules/vant/es/datetime-picker/index.js","webpack:///./node_modules/vant/es/calendar/utils.js","webpack:///./node_modules/vant/es/toast/lock-click.js","webpack:///./node_modules/vant/es/toast/Toast.js","webpack:///./node_modules/vant/es/toast/index.js","webpack:///./node_modules/vant/es/calendar/components/Month.js","webpack:///./node_modules/vant/es/calendar/components/Header.js","webpack:///./node_modules/vant/es/calendar/index.js","webpack:///./node_modules/vant/es/switch/shared.js","webpack:///./node_modules/vant/es/mixins/field.js","webpack:///./node_modules/vant/es/switch/index.js","webpack:///./node_modules/vant/es/mixins/relation.js","webpack:///./node_modules/vant/es/goods-action/index.js","webpack:///./node_modules/vant/es/dialog/index.js","webpack:///./node_modules/vant/es/goods-action-button/index.js","webpack:///./node_modules/vant/es/dialog/Dialog.js","webpack:///./src/components/Meeting-FreeBusy-jwb.vue","webpack:///src/components/Meeting-FreeBusy-jwb.vue","webpack:///./src/components/Meeting-FreeBusy-jwb.vue?4cf3","webpack:///./src/components/Meeting-FreeBusy-jwb.vue?a8ca","webpack:///src/views/jwb/edit.vue","webpack:///./src/views/jwb/edit.vue?9588","webpack:///./src/views/jwb/edit.vue?0471","webpack:///./node_modules/@vue/babel-helper-vue-jsx-merge-props/dist/helper.js","webpack:///./node_modules/vant/es/utils/dom/raf.js","webpack:///./node_modules/vant/es/utils/format/number.js","webpack:///./node_modules/vant/es/utils/router.js","webpack:///./src/common/mixins/common-mixin.js","webpack:///./node_modules/vant/es/loading/index.js","webpack:///./node_modules/vant/es/utils/validate/system.js","webpack:///./node_modules/vant/es/utils/dom/reset-scroll.js","webpack:///./node_modules/vant/es/field/index.js","webpack:///./node_modules/vant/es/utils/format/string.js","webpack:///./node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/vant/es/cell/index.js","webpack:///./node_modules/vant/es/utils/validate/number.js","webpack:///./src/common/mixins/front-edit-mixin.js","webpack:///./node_modules/vant/es/utils/index.js","webpack:///./node_modules/vant/es/utils/dom/scroll.js","webpack:///./node_modules/vant/es/info/index.js","webpack:///./node_modules/vant/es/icon/index.js","webpack:///./node_modules/vant/es/utils/constant.js","webpack:///./node_modules/vant/es/button/index.js","webpack:///./node_modules/vant/es/utils/functional.js","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/vant/es/utils/create/bem.js","webpack:///./node_modules/vant/es/mixins/slots.js","webpack:///./node_modules/vant/es/utils/create/component.js","webpack:///./node_modules/vant/es/utils/deep-assign.js","webpack:///./node_modules/vant/es/locale/lang/zh-CN.js","webpack:///./node_modules/vant/es/locale/index.js","webpack:///./node_modules/vant/es/utils/create/i18n.js","webpack:///./node_modules/vant/es/utils/create/index.js","webpack:///./src/components/Meeting-FreeBusy-jwb.vue?d24f","webpack:///./node_modules/vant/es/cell/shared.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/vant/es/utils/format/unit.js"],"names":["ctx","IObject","toObject","toLength","asc","module","exports","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","create","$this","callbackfn","that","val","res","O","self","f","length","index","result","undefined","push","cof","Array","isArray","arg","supportsPassive","opts","Object","defineProperty","get","window","addEventListener","e","on","target","event","handler","passive","capture","off","removeEventListener","stopPropagation","preventDefault","isStopPropagation","cancelable","render","_vm","this","_c","_self","staticClass","staticStyle","ref","attrs","onSubmit","$route","meta","nickname","name","required","model","value","single","topic","callback","$$v","$set","expression","findLabel","group_id","allRoomGroups","$event","show_picker","v1","onPickConfirm","meeting_date","canAdd","showCalendar","onConfirmDate","meeting_time","showDateTimePicker","$dateParse","timeFilter","onConfirmTime","duration","duration_options","showDurationPicker","onDurationConfirm","id","handleFreeChange","scopedSlots","_u","key","fn","changeCheck","waiting_room","proxy","option_jbh","option_mute","isTencentMeeting","option_interpreter","option_live","pattern","makeRandomPassword","_v","password","assistants","description","$router","replace","staticRenderFns","_createNamespace","createComponent","bem","CellGroup","h","props","slots","_ref","Group","inset","border","default","title","data","String","Boolean","type","flattenVNodes","vnodes","traverse","forEach","vnode","componentInstance","$children","map","item","$vnode","children","sortChildren","parent","componentOptions","sort","a","b","indexOf","colon","disabled","readonly","labelWidth","Number","labelAlign","inputAlign","scrollToError","validateFirst","errorMessageAlign","submitOnEnter","validateTrigger","showError","showErrorMessage","provide","vanForm","fields","methods","getFieldsByNames","names","filter","field","validateSeq","_this","Promise","resolve","reject","errors","reduce","promise","then","validate","error","validateFields","_this2","all","validateField","matched","resetValidation","scrollToField","options","some","$el","scrollIntoView","addField","removeField","getValues","form","formValue","submit","_this3","values","$emit","catch","arguments","context","zIndex","lockCount","stack","find","vm","remove","overlay","splice","preventTouchMove","Overlay","style","customStyle","animationDuration","show","className","lockScroll","removeNode","el","parentNode","removeChild","defaultConfig","mountOverlay","click","closeOnClickOverlay","onClickOverlay","close","updateOverlay","config","insertBefore","openOverlay","closeOverlay","removeOverlay","getDirection","x","y","TouchMixin","direction","touchStart","resetTouchStatus","startX","touches","clientX","startY","clientY","touchMove","touch","deltaX","deltaY","offsetX","Math","abs","offsetY","LOCK_DIRECTION_DISTANCE","bindTouchEvent","onTouchStart","onTouchMove","onTouchEnd","getElement","selector","document","querySelector","PortalMixin","_temp","afterPortal","getContainer","Function","watch","mounted","portal","container","$refs","$parent","appendChild","call","uid","BindEventMixin","bind","unbind","activated","deactivated","beforeDestroy","CloseOnPopstateMixin","mixins","isBind","handlePopstate","closeOnPopstate","bindStatus","onPopstate","shouldReopen","$isServer","action","popupMixinProps","transitionAppear","overlayStyle","overlayClass","lazyRender","PopupMixin","vanPopup","onReopenCallback","inited","computed","shouldRender","skipToggleEvent","open","opened","removeLock","renderOverlay","addLock","body","classList","add","scrollHeight","offsetHeight","scrollTop","status","parseInt","$nextTick","updateZIndex","onReopen","round","closeable","transition","safeAreaInsetBottom","closeIcon","closeIconPosition","position","beforeCreate","createEmitter","eventName","onClick","onOpened","onClosed","onClickCloseIcon","_bem","isCenter","transitionName","times","n","iteratee","getTrueValue","slice","getMonthEndDay","year","month","Date","getDate","DEFAULT_ITEM_HEIGHT","pickerProps","loading","itemHeight","showToolbar","cancelButtonText","confirmButtonText","allowHtml","visibleItemCount","swipeDuration","deepClone","obj","to","keys","DEFAULT_DURATION","MOMENTUM_LIMIT_TIME","MOMENTUM_LIMIT_DISTANCE","getElementTranslateY","element","getComputedStyle","transform","webkitTransform","translateY","split","isOptionDisabled","option","supportMousewheel","mousewheelTimer","valueKey","defaultIndex","initialOptions","offset","currentIndex","created","setIndex","onMouseWheel","destroyed","count","baseOffset","setOptions","JSON","stringify","moving","wrapper","min","startOffset","transitionEndTrigger","touchStartTime","now","momentumOffset","distance","allowMomentum","momentum","getIndexByOffset","setTimeout","itemOffset","clearTimeout","onTransitionEnd","stopMomentum","onClickItem","adjustIndex","i","_i","getOptionText","emitChange","trigger","setValue","getValue","speed","genOptions","_this4","$createElement","optionStyle","height","_domProps","text","role","tabindex","class","selected","childData","domProps","wrapperStyle","transitionDuration","transitionProperty","columns","toolbarPosition","formattedColumns","itemPxHeight","unit","dataType","firstColumn","immediate","format","formatCascade","formatted","cursor","_cursor$defaultIndex","_cursor","emit","getColumnValue","getColumnIndex","getIndexes","onCascadeChange","columnIndex","indexes","setColumnValues","onChange","getColumn","column","setColumnValue","setColumnIndex","optionIndex","getColumnValues","child","setValues","setIndexes","confirm","cancel","genTitle","titleSlot","genCancel","genConfirm","genToolbar","genColumns","wrapHeight","frameStyle","columnsStyle","maskStyle","backgroundSize","genColumnItems","_this5","_item$defaultIndex","PickerColumn","$scopedSlots","sharedProps","columnsOrder","formatter","TimePickerMixin","innerValue","formatValue","originColumns","ranges","rangeArr","range","oldVal","updateColumnValue","updateInnerValue","getPicker","picker","getProxiedPicker","apply","onConfirm","onCancel","minHour","maxHour","minMinute","maxMinute","_this$innerValue$spli","hour","minute","_this$innerValue$spli2","_value$split","_this$getPicker$getIn","hourIndex","minuteIndex","_this$originColumns","hourColumn","minuteColumn","pair","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","prototype","valueOf","Parent","args","Class","Constructor","instance","isDate","toString","getTime","currentYear","getFullYear","minDate","validator","maxDate","_this$getBoundary","getBoundary","maxYear","maxMonth","_this$getBoundary2","minYear","minMonth","concat","dateMethods","day","dateColumns","minDateVal","maxDateVal","max","unshift","dates","_dateColumns$filter$","_ref2","boundary","date","getMonth","getHours","getMinutes","maxDay","TimePicker","DatePicker","root","Component","$props","$listeners","formatMonthTitle","compareMonth","date1","date2","year1","year2","month1","month2","compareDay","day1","day2","compareMonthResult","getDayByOffset","setDate","getPrevDay","getNextDay","calcDateNum","copyDate","copyDates","lockClick","lock","icon","iconPrefix","loadingType","forbidClick","closeOnClick","message","clickable","toggleClickable","onAfterEnter","onAfterLeave","genIcon","hasIcon","genMessage","defaultOptions","mask","onClose","defaultOptionsMap","queue","currentOptions","parseOptions","isInDocument","contains","createInstance","toast","extend","createElement","$on","transformOptions","clear","timer","$destroy","method","shift","setDefaultOptions","resetDefaultOptions","allowMultiple","install","use","$toast","color","showMark","rowHeight","currentDate","allowSameDay","showSubtitle","showMonthTitle","firstDayOfWeek","visible","rowHeightWithUnit","realDay","getDay","totalDay","placeholders","rows","ceil","days","getDayType","bottomInfo","getBottomInfo","getHeight","_this$$el","getBoundingClientRect","_this$$refs","top","getMultipleDayType","isSelected","prevDay","nextDay","prevSelected","nextSelected","getRangeDayType","_this$currentDate","startDay","endDay","compareToStart","compareToEnd","getDayStyle","width","marginLeft","background","genMark","genDays","genDay","genTopInfo","slot","topInfo","genBottomInfo","subtitle","showTitle","genSubtitle","genWeekDays","weekdays","renderWeekDays","confirmText","rangePrompt","defaultDate","confirmDisabledText","poppable","maxRange","showConfirm","inject","getInitialDate","months","setMonth","buttonDisabled","dayOffset","reset","_this$vanPopup","init","onScroll","bodyHeight","floor","scrollToDate","targetDate","raf","displayed","_this2$$refs","defaultVal","bottom","heights","heightSum","currentMonth","visibleRange","showed","onClickDay","select","selectedIndex","dateItem","equal","_currentDate$splice","unselectedDate","togglePopup","complete","valid","checkRange","genMonth","Month","genFooterContent","genFooter","unfit","genCalendar","Header","_attrs","createListener","switchProps","size","activeColor","inactiveColor","activeValue","inactiveValue","FieldMixin","vanField","validateWithTrigger","checked","fontSize","backgroundColor","newValue","genLoading","ChildrenMixin","_parent","_inject","_computed","indexKey","disableBindRelation","bindRelation","ParentMixin","isFirst","prev","$options","isLast","next","first","last","theme","beforeClose","messageAlign","cancelButtonColor","confirmButtonColor","showCancelButton","showConfirmButton","handleAction","state","_this2$$refs$dialog","dialog","focus","onKeydown","onEventType","Enter","Escape","genRoundButtons","genButtons","multiple","genContent","hasTitle","messageSlot","isolated","Title","initInstance","propsData","alert","$dialog","_l","hourHeader","_s","states","occupy","selectDate","newState","headers","start_date","debounced","Format","time","d","setMinutes","jump","group","validateDate","queryBF","scrollTo","h323","option_h323","_objectSpread","mapState","chineseDate","v","reg","test","decrease","start","increase","chinese","$affirm","ret","$organization","no_indicate","substr","end","minutes","$debounce","$api","success","state_h323","component","editMixin","components","_components","_defineProperty","Button","Field","Cell","Form","Popup","DatetimePicker","Calendar","Picker","Switch","MeetingFreebusy","is_loading","attendees","emails","Toast","assign","ask","afterSubmit","fail","Dialog","home_page","array","one","label","final","hasOwnProperty","_extends","c","normalMerge","toArrayMerge","functionalMerge","mergeJsxProps","g","mergeFn","fallback","curr","ms","global","iRaf","requestAnimationFrame","cancelAnimationFrame","num","trimExtraChar","_char","regExp","prefix","match","formatNumber","allowDot","allowMinus","isRedundantNavigation","err","route","router","url","location","href","functionalRoute","routeProps","mapGetters","en","$english","english","is_mobile","$isMobile","mapMutations","LoadingIcon","Spin","LoadingText","_props$textColor","textSize","textColor","Loading","iconSize","vertical","isIOS","navigator","userAgent","toLowerCase","resetScroll","inheritAttrs","rules","autosize","leftIcon","rightIcon","clearable","maxlength","labelClass","placeholder","errorMessage","showWordLimit","clearTrigger","formatTrigger","focused","validateFailed","validateMessage","updateValue","adjustSize","showClear","getProp","hasValue","listeners","blur","onBlur","onFocus","input","onInput","onClickInput","keypress","onKeypress","labelStyle","$slots","runValidator","rule","returnVal","isEmptyValue","runSyncRule","getRuleMessage","runRules","defaultTrigger","isNumber","composing","onClickLeftIcon","onClickRightIcon","onClear","ENTER_CODE","keyCode","_this$autosize","maxHeight","minHeight","genInput","inputSlot","inputProps","$attrs","directives","inputMode","inputType","genLeftIcon","showLeftIcon","genRightIcon","showRightIcon","genWordLimit","genLabel","Label","extra","center","isLink","arrowDirection","camelizeRE","camelize","str","_","toUpperCase","padZero","targetLength","$export","$find","KEY","forced","P","F","_props$clickable","showLabel","titleClass","titleStyle","Value","showValue","alone","valueClass","LeftIcon","RightIcon","rightIconSlot","classes","borderless","isNumeric","isNaN","CommonMixin","usage","is_recurrent","recurrent_id","end_meeting_date","end_meeting_times","repeat_type","auto_record","assistant","option_enroll","enroll_attendees","enroll_questions","enroll_selection","option_water_mark","option_sso_only","meeting_guests","enroll_search","search","enroll_data","enroll_question_list","question","address_book_visible","old_data","page_ready","sizes","repeat_options","edit_tab","filters","enrollAnswer","enroll","answers","answer_list","question_title","answer_content","join","enrollDataFiltered","console","log","nick_name","userid","approveType","approve_status","approveIcon","editRules","_loop","validation","includes","title_en","cmd","can","level","user","role_level","preset","app","create_meeting_forbidden","join_meeting_at","meeting_start","end_meeting_at","need_approval","allow","_toConsumableArray","allow_room_group","room_groups","t","max_hours","isWelinkMeeting","roomGroupPlatform","isZoom","platform","invisible","org","allow_recurrent_book","handleEnrollOptionChange","approveEnroll","enroll_id","enroll_ids","$notice","tableFilterHandler","row","property","handleSelectionChange","handleSubmitEnroll","loadEnrollData","exportEnrollData","exportExcel","wb","XLSX","utils","table_to_book","raw","wbout","write","bookType","bookSST","FileSaver","saveAs","Blob","handleSubmit","_this6","$notify","$alert","handleAddressBook","handleCancel","handleSuccess","removeEmail","importEmails","import_text","parse","random","processData","checkCreateMeetingForbidden","create_meeting_forbidden_redirect","create_meeting_forbidden_message","go","params","setInterval","clearInterval","_this7","quite","default_group","no_default_group","new_min","inBrowser","isServer","noop","isDef","isFunction","isObject","isPromise","object","path","_result$key","overflowScrollReg","getScroller","node","tagName","nodeType","_window$getComputedSt","overflowY","getScrollTop","pageYOffset","setScrollTop","scrollX","getRootScrollTop","documentElement","setRootScrollTop","Info","dot","info","showInfo","isImage","LEGACY_MAP","medel","correctName","Icon","_props$badge","imageIcon","tag","classPrefix","badge","BORDER","BORDER_TOP","BORDER_LEFT","BORDER_SURROUND","BORDER_TOP_BOTTOM","BORDER_UNSET_TOP_BOTTOM","plain","hairline","loadingText","iconPosition","onTouchstart","borderColor","block","square","renderIcon","loadingSize","renderContent","content","nativeType","inheritKey","mapInheritKey","nativeOn","inherit","inheritListeners","_len","_key","listener","mount","source","speciesConstructor","original","gen","mods","createBEM","SlotsMixin","scopedSlot","Vue","unifySlots","transformFunctionComponent","pure","functional","sfc","assignKey","from","deepAssign","tel","save","delete","telEmpty","nameEmpty","nameInvalid","confirmDelete","telInvalid","vanCalendar","startEnd","monthTitle","vanCascader","vanContactCard","addText","vanContactList","vanPagination","vanPullRefresh","pulling","loosing","vanSubmitBar","vanCoupon","unlimited","discount","_discount","condition","_condition","vanCouponCell","tips","_count","vanCouponList","empty","exchange","enable","vanAddressEdit","area","postal","areaEmpty","addressEmpty","postalEmpty","defaultAddress","telPlaceholder","namePlaceholder","areaPlaceholder","vanAddressEditDetail","vanAddressList","proto","defineReactive","util","messages","$vantMessages","$vantLang","lang","_this$add","createI18N","locale","createNamespace","cellProps","SPECIES","C","constructor","rootFontSize","addUnit","getRootFontSize","doc","parseFloat","convertRem","convertVw","innerWidth","convertVh","innerHeight","unitToPx"],"mappings":"8FAOA,IAAIA,EAAM,EAAQ,QACdC,EAAU,EAAQ,QAClBC,EAAW,EAAQ,QACnBC,EAAW,EAAQ,QACnBC,EAAM,EAAQ,QAClBC,EAAOC,QAAU,SAAUC,EAAMC,GAC/B,IAAIC,EAAiB,GAARF,EACTG,EAAoB,GAARH,EACZI,EAAkB,GAARJ,EACVK,EAAmB,GAARL,EACXM,EAAwB,GAARN,EAChBO,EAAmB,GAARP,GAAaM,EACxBE,EAASP,GAAWJ,EACxB,OAAO,SAAUY,EAAOC,EAAYC,GAQlC,IAPA,IAMIC,EAAKC,EANLC,EAAInB,EAASc,GACbM,EAAOrB,EAAQoB,GACfE,EAAIvB,EAAIiB,EAAYC,EAAM,GAC1BM,EAASrB,EAASmB,EAAKE,QACvBC,EAAQ,EACRC,EAASjB,EAASM,EAAOC,EAAOQ,GAAUd,EAAYK,EAAOC,EAAO,QAAKW,EAEvEH,EAASC,EAAOA,IAAS,IAAIX,GAAYW,KAASH,KACtDH,EAAMG,EAAKG,GACXL,EAAMG,EAAEJ,EAAKM,EAAOJ,GAChBd,GACF,GAAIE,EAAQiB,EAAOD,GAASL,OACvB,GAAIA,EAAK,OAAQb,GACpB,KAAK,EAAG,OAAO,EACf,KAAK,EAAG,OAAOY,EACf,KAAK,EAAG,OAAOM,EACf,KAAK,EAAGC,EAAOE,KAAKT,QACf,GAAIP,EAAU,OAAO,EAGhC,OAAOC,GAAiB,EAAIF,GAAWC,EAAWA,EAAWc,K,qBCxCjE,IAAIG,EAAM,EAAQ,QAClBxB,EAAOC,QAAUwB,MAAMC,SAAW,SAAiBC,GACjD,MAAmB,SAAZH,EAAIG,K,kCCHb,sHAEWC,GAAkB,EAE7B,IAAK,OACH,IACE,IAAIC,EAAO,GACXC,OAAOC,eAAeF,EAAM,UAAW,CAErCG,IAAK,WAEHJ,GAAkB,KAGtBK,OAAOC,iBAAiB,eAAgB,KAAML,GAC9C,MAAOM,IAGJ,SAASC,EAAGC,EAAQC,EAAOC,EAASC,QACzB,IAAZA,IACFA,GAAU,GAGP,QACHH,EAAOH,iBAAiBI,EAAOC,IAASX,GAAkB,CACxDa,SAAS,EACTD,QAASA,IAIR,SAASE,EAAIL,EAAQC,EAAOC,GAC5B,QACHF,EAAOM,oBAAoBL,EAAOC,GAG/B,SAASK,EAAgBN,GAC9BA,EAAMM,kBAED,SAASC,EAAeP,EAAOQ,IAEJ,mBAArBR,EAAMS,YAA4BT,EAAMS,aACjDT,EAAMO,iBAGJC,GACFF,EAAgBN,K,mEC7ChBU,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,iBAAiBC,YAAY,CAAC,aAAa,SAAS,aAAa,SAAS,CAACH,EAAG,WAAW,CAACI,IAAI,cAAcC,MAAM,CAAC,sBAAqB,GAAOpB,GAAG,CAAC,OAASa,EAAIQ,WAAW,CAACN,EAAG,iBAAiB,CAACK,MAAM,CAAC,MAAQP,EAAIS,OAAOC,MAAQV,EAAIS,OAAOC,KAAKC,UAAYX,EAAIS,OAAOG,OAAO,CAACV,EAAG,YAAY,CAACK,MAAM,CAAC,KAAO,QAAQ,MAAQ,KAAK,YAAc,QAAQ,MAAQ,CAAC,CAAEM,UAAU,IAAO,UAAY,IAAIC,MAAM,CAACC,MAAOf,EAAIgB,OAAOC,MAAOC,SAAS,SAAUC,GAAMnB,EAAIoB,KAAKpB,EAAIgB,OAAQ,QAASG,IAAME,WAAW,kBAAkBnB,EAAG,YAAY,CAACK,MAAM,CAAC,SAAW,GAAG,UAAY,GAAG,KAAO,aAAa,MAAQP,EAAIsB,UAAUtB,EAAIgB,OAAOO,SAASvB,EAAIwB,cAAc,MAAM,MAAQ,MAAM,YAAc,SAASrC,GAAG,CAAC,MAAQ,SAASsC,GAAQzB,EAAI0B,YAAYH,UAAW,MAASrB,EAAG,YAAY,CAACK,MAAM,CAAC,SAAW,UAAUO,MAAM,CAACC,MAAOf,EAAI0B,YAAYH,SAAUL,SAAS,SAAUC,GAAMnB,EAAIoB,KAAKpB,EAAI0B,YAAa,WAAYP,IAAME,WAAW,yBAAyB,CAACnB,EAAG,aAAa,CAACK,MAAM,CAAC,eAAe,GAAG,YAAY,OAAO,QAAUP,EAAIwB,eAAerC,GAAG,CAAC,QAAU,SAACwC,GAAE,OAAK3B,EAAI4B,cAAc,WAAWD,IAAI,OAAS,SAASF,GAAQzB,EAAI0B,YAAYH,UAAW,OAAW,IAAI,GAAGrB,EAAG,iBAAiB,CAACK,MAAM,CAAC,MAAQ,OAAO,CAACL,EAAG,YAAY,CAACK,MAAM,CAAC,SAAW,GAAG,UAAY,GAAG,KAAO,WAAW,MAAQP,EAAIgB,OAAOa,aAAa,MAAQ,OAAO,YAAc,SAAS,UAAY7B,EAAI8B,QAAQ3C,GAAG,CAAC,MAAQ,SAASsC,GAAQzB,EAAI+B,cAAe,MAAS7B,EAAG,eAAe,CAACK,MAAM,CAAC,gBAAe,GAAOpB,GAAG,CAAC,QAAUa,EAAIgC,eAAelB,MAAM,CAACC,MAAOf,EAAI+B,aAAcb,SAAS,SAAUC,GAAMnB,EAAI+B,aAAaZ,GAAKE,WAAW,kBAAkBnB,EAAG,YAAY,CAACK,MAAM,CAAC,SAAW,GAAG,UAAY,GAAG,KAAO,iBAAiB,MAAQP,EAAIgB,OAAOiB,aAAa,MAAQ,OAAO,YAAc,SAAS,UAAYjC,EAAI8B,QAAQ3C,GAAG,CAAC,MAAQ,SAASsC,GAAQzB,EAAIkC,oBAAqB,MAAShC,EAAG,YAAY,CAACK,MAAM,CAAC,SAAW,UAAUO,MAAM,CAACC,MAAOf,EAAIkC,mBAAoBhB,SAAS,SAAUC,GAAMnB,EAAIkC,mBAAmBf,GAAKE,WAAW,uBAAuB,CAACnB,EAAG,sBAAsB,CAACK,MAAM,CAAC,KAAO,OAAO,eAAeP,EAAImC,WAAWnC,EAAIgB,OAAOa,cAAc,OAAS7B,EAAIoC,YAAYjD,GAAG,CAAC,QAAUa,EAAIqC,cAAc,OAAS,SAASZ,GAAQzB,EAAIkC,oBAAqB,IAAQpB,MAAM,CAACC,MAAOf,EAAIgB,OAAOiB,aAAcf,SAAS,SAAUC,GAAMnB,EAAIoB,KAAKpB,EAAIgB,OAAQ,eAAgBG,IAAME,WAAW,0BAA0B,GAAGnB,EAAG,YAAY,CAACK,MAAM,CAAC,SAAW,GAAG,UAAY,GAAG,KAAO,SAAS,MAAQP,EAAIsB,UAAUtB,EAAIgB,OAAOsB,SAAStC,EAAIuC,kBAAkB,MAAQ,OAAO,YAAc,UAAUpD,GAAG,CAAC,MAAQ,SAASsC,GAAQzB,EAAIwC,oBAAqB,MAAStC,EAAG,YAAY,CAACK,MAAM,CAAC,SAAW,UAAUO,MAAM,CAACC,MAAOf,EAAIwC,mBAAoBtB,SAAS,SAAUC,GAAMnB,EAAIwC,mBAAmBrB,GAAKE,WAAW,uBAAuB,CAACnB,EAAG,aAAa,CAACK,MAAM,CAAC,eAAe,GAAG,YAAY,QAAQ,QAAUP,EAAIuC,kBAAkBpD,GAAG,CAAC,QAAUa,EAAIyC,kBAAkB,OAAS,SAAShB,GAAQzB,EAAIwC,oBAAqB,OAAW,GAAGtC,EAAG,WAAW,CAACE,YAAY,QAAQ,CAACF,EAAG,mBAAmB,CAACI,IAAI,eAAeC,MAAM,CAAC,KAAOP,EAAI8B,OAAO,KAAO9B,EAAIgB,OAAOa,aAAa,GAAK7B,EAAIgB,OAAO0B,GAAG,MAAQ1C,EAAIgB,OAAOO,SAAS,SAAWvB,EAAIgB,OAAOsB,SAAS,KAAOtC,EAAIgB,OAAOiB,cAAc9C,GAAG,CAAC,OAASa,EAAI2C,qBAAqB,IAAI,GAAGzC,EAAG,iBAAiB,CAACK,MAAM,CAAC,MAAQ,OAAO,CAACL,EAAG,YAAY,CAACK,MAAM,CAAC,KAAO,eAAe,MAAQ,OAAOqC,YAAY5C,EAAI6C,GAAG,CAAC,CAACC,IAAI,QAAQC,GAAG,WAAW,MAAO,CAAC7C,EAAG,aAAa,CAACK,MAAM,CAAC,KAAO,KAAK,eAAe,IAAI,iBAAiB,KAAKpB,GAAG,CAAC,OAAS,SAASsC,GAAQ,OAAOzB,EAAIgD,YAAY,KAAKlC,MAAM,CAACC,MAAOf,EAAIgB,OAAOiC,aAAc/B,SAAS,SAAUC,GAAMnB,EAAIoB,KAAKpB,EAAIgB,OAAQ,eAAgBG,IAAME,WAAW,2BAA2B6B,OAAM,OAAUhD,EAAG,YAAY,CAACK,MAAM,CAAC,KAAO,aAAa,MAAQ,QAAQqC,YAAY5C,EAAI6C,GAAG,CAAC,CAACC,IAAI,QAAQC,GAAG,WAAW,MAAO,CAAC7C,EAAG,aAAa,CAACK,MAAM,CAAC,KAAO,KAAK,eAAe,IAAI,iBAAiB,KAAKpB,GAAG,CAAC,OAAS,SAASsC,GAAQ,OAAOzB,EAAIgD,YAAY,KAAKlC,MAAM,CAACC,MAAOf,EAAIgB,OAAOmC,WAAYjC,SAAS,SAAUC,GAAMnB,EAAIoB,KAAKpB,EAAIgB,OAAQ,aAAcG,IAAME,WAAW,yBAAyB6B,OAAM,OAAUhD,EAAG,YAAY,CAACK,MAAM,CAAC,KAAO,cAAc,MAAQ,QAAQqC,YAAY5C,EAAI6C,GAAG,CAAC,CAACC,IAAI,QAAQC,GAAG,WAAW,MAAO,CAAC7C,EAAG,aAAa,CAACK,MAAM,CAAC,KAAO,KAAK,eAAe,IAAI,iBAAiB,KAAKO,MAAM,CAACC,MAAOf,EAAIgB,OAAOoC,YAAalC,SAAS,SAAUC,GAAMnB,EAAIoB,KAAKpB,EAAIgB,OAAQ,cAAeG,IAAME,WAAW,0BAA0B6B,OAAM,OAAUhD,EAAG,YAAY,CAACK,MAAM,CAAC,KAAO,qBAAqB,MAAQ,QAAQqC,YAAY5C,EAAI6C,GAAG,CAAC,CAACC,IAAI,QAAQC,GAAG,WAAW,MAAO,CAAC7C,EAAG,aAAa,CAACK,MAAM,CAAC,SAAWP,EAAIgB,QAAUhB,EAAIgB,OAAO0B,IAAM1C,EAAIqD,iBAAiB,KAAO,KAAK,eAAe,IAAI,iBAAiB,KAAKvC,MAAM,CAACC,MAAOf,EAAIgB,OAAOsC,mBAAoBpC,SAAS,SAAUC,GAAMnB,EAAIoB,KAAKpB,EAAIgB,OAAQ,qBAAsBG,IAAME,WAAW,iCAAiC6B,OAAM,OAAUhD,EAAG,YAAY,CAACK,MAAM,CAAC,KAAO,cAAc,MAAQ,QAAQqC,YAAY5C,EAAI6C,GAAG,CAAC,CAACC,IAAI,QAAQC,GAAG,WAAW,MAAO,CAAC7C,EAAG,aAAa,CAACK,MAAM,CAAC,KAAO,KAAK,eAAe,IAAI,iBAAiB,KAAKO,MAAM,CAACC,MAAOf,EAAIgB,OAAOuC,YAAarC,SAAS,SAAUC,GAAMnB,EAAIoB,KAAKpB,EAAIgB,OAAQ,cAAeG,IAAME,WAAW,0BAA0B6B,OAAM,OAAUhD,EAAG,YAAY,CAACK,MAAM,CAAC,KAAO,QAAQ,MAAQ,KAAK,YAAc,QAAQ,KAAO,QAAQ,MAAQ,CAAC,CAACiD,QAASxD,EAAIwD,UAAU,OAAS,GAAG,UAAY,IAAIZ,YAAY5C,EAAI6C,GAAG,CAAC,CAACC,IAAI,SAASC,GAAG,WAAW,MAAO,CAAC7C,EAAG,YAAY,CAACK,MAAM,CAAC,KAAO,QAAQ,MAAQ,GAAG,KAAO,WAAWpB,GAAG,CAAC,MAAQa,EAAIyD,qBAAqB,CAACzD,EAAI0D,GAAG,UAAUR,OAAM,KAAQpC,MAAM,CAACC,MAAOf,EAAIgB,OAAO2C,SAAUzC,SAAS,SAAUC,GAAMnB,EAAIoB,KAAKpB,EAAIgB,OAAQ,WAAYG,IAAME,WAAW,qBAAqBnB,EAAG,YAAY,CAACK,MAAM,CAAC,KAAO,QAAQ,MAAQ,OAAO,YAAc,mBAAmB,OAAS,GAAG,UAAY,IAAIO,MAAM,CAACC,MAAOf,EAAIgB,OAAO4C,WAAY1C,SAAS,SAAUC,GAAMnB,EAAIoB,KAAKpB,EAAIgB,OAAQ,aAAcG,IAAME,WAAW,uBAAuBnB,EAAG,YAAY,CAACK,MAAM,CAAC,KAAO,cAAc,YAAc,SAAS,KAAO,IAAI,MAAQ,OAAO,KAAO,WAAW,UAAY,MAAM,kBAAkB,IAAIO,MAAM,CAACC,MAAOf,EAAIgB,OAAO6C,YAAa3C,SAAS,SAAUC,GAAMnB,EAAIoB,KAAKpB,EAAIgB,OAAQ,cAAeG,IAAME,WAAW,yBAAyB,GAAGnB,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,aAAa,CAACE,YAAY,OAAOG,MAAM,CAAC,MAAQ,GAAG,KAAO,OAAO,cAAc,WAAW,CAACP,EAAI0D,GAAG,UAAUxD,EAAG,aAAa,CAACK,MAAM,CAAC,MAAQ,GAAG,KAAO,WAAWpB,GAAG,CAAC,MAAQ,SAASsC,GAAQ,OAAOzB,EAAI8D,QAAQC,QAAQ,oBAAoB,CAAC/D,EAAI0D,GAAG,WAAW,IAAI,IAAI,IAEzhNM,EAAkB,G,yGCIlBC,EAAmB,OAAAxG,EAAA,MAAgB,cACnCyG,EAAkBD,EAAiB,GACnCE,EAAMF,EAAiB,GAE3B,SAASG,EAAUC,EAAGC,EAAOC,EAAO7H,GAClC,IAAI8H,EAEAC,EAAQJ,EAAE,MAAO,IAAe,CAAC,CACnC,MAAS,CAACF,EAAI,CACZO,MAAOJ,EAAMI,SACVF,EAAO,GAAIA,EAAK,QAAqBF,EAAMK,OAAQH,KACvD,eAAQ9H,GAAK,KAAS,CAAkB,MAAjB6H,EAAMK,aAAkB,EAASL,EAAMK,YAEjE,OAAIN,EAAMO,OAASN,EAAMM,MAChBR,EAAE,MAAO,CACd,IAAO3H,EAAIoI,KAAKhC,KACf,CAACuB,EAAE,MAAO,CACX,MAASF,EAAI,QAAS,CACpBO,MAAOJ,EAAMI,SAEd,CAACH,EAAMM,MAAQN,EAAMM,QAAUP,EAAMO,QAASJ,IAG5CA,EAGTL,EAAUE,MAAQ,CAChBO,MAAOE,OACPL,MAAOM,QACPL,OAAQ,CACNM,KAAMD,QACNJ,SAAS,IAGE,MAAAV,EAAA,G,YCxCf,SAASgB,EAAcC,GACrB,IAAI/G,EAAS,GAEb,SAASgH,EAASD,GAChBA,EAAOE,SAAQ,SAAUC,GACvBlH,EAAOE,KAAKgH,GAERA,EAAMC,mBACRH,EAASE,EAAMC,kBAAkBC,UAAUC,KAAI,SAAUC,GACvD,OAAOA,EAAKC,WAIZL,EAAMM,UACRR,EAASE,EAAMM,aAMrB,OADAR,EAASD,GACF/G,EAIF,SAASyH,EAAaD,EAAUE,GACrC,IAAIC,EAAmBD,EAAOH,OAAOI,iBAErC,GAAKA,GAAqBA,EAAiBH,SAA3C,CAIA,IAAIT,EAASD,EAAca,EAAiBH,UAC5CA,EAASI,MAAK,SAAUC,EAAGC,GACzB,OAAOf,EAAOgB,QAAQF,EAAEN,QAAUR,EAAOgB,QAAQD,EAAEP,YC9BvD,IAAI,EAAmB,OAAAlI,EAAA,MAAgB,QACnC,EAAkB,EAAiB,GACnC,EAAM,EAAiB,GAEZ,IAAgB,CAC7B6G,MAAO,CACL8B,MAAOpB,QACPqB,SAAUrB,QACVsB,SAAUtB,QACVuB,WAAY,CAACC,OAAQzB,QACrB0B,WAAY1B,OACZ2B,WAAY3B,OACZ4B,cAAe3B,QACf4B,cAAe5B,QACf6B,kBAAmB9B,OACnB+B,cAAe,CACb7B,KAAMD,QACNJ,SAAS,GAEXmC,gBAAiB,CACf9B,KAAMF,OACNH,QAAS,UAEXoC,UAAW,CACT/B,KAAMD,QACNJ,SAAS,GAEXqC,iBAAkB,CAChBhC,KAAMD,QACNJ,SAAS,IAGbsC,QAAS,WACP,MAAO,CACLC,QAASlH,OAGb6E,KAAM,WACJ,MAAO,CACLsC,OAAQ,KAGZC,QAAS,CACPC,iBAAkB,SAA0BC,GAC1C,OAAIA,EACKtH,KAAKmH,OAAOI,QAAO,SAAUC,GAClC,OAAsC,IAA/BF,EAAMpB,QAAQsB,EAAM7G,SAIxBX,KAAKmH,QAEdM,YAAa,SAAqBH,GAChC,IAAII,EAAQ1H,KAEZ,OAAO,IAAI2H,SAAQ,SAAUC,EAASC,GACpC,IAAIC,EAAS,GAETX,EAASO,EAAML,iBAAiBC,GAEpCH,EAAOY,QAAO,SAAUC,EAASR,GAC/B,OAAOQ,EAAQC,MAAK,WAClB,IAAKH,EAAO7J,OACV,OAAOuJ,EAAMU,WAAWD,MAAK,SAAUE,GACjCA,GACFL,EAAOzJ,KAAK8J,WAKnBR,QAAQC,WAAWK,MAAK,WACrBH,EAAO7J,OACT4J,EAAOC,GAEPF,WAKRQ,eAAgB,SAAwBd,GACtC,IAAIe,EAASrI,KAEb,OAAO,IAAI2H,SAAQ,SAAUC,EAASC,GACpC,IAAIV,EAASkB,EAAOhB,iBAAiBC,GAErCK,QAAQW,IAAInB,EAAO3B,KAAI,SAAUC,GAC/B,OAAOA,EAAKyC,eACVD,MAAK,SAAUH,GACjBA,EAASA,EAAOP,QAAO,SAAU9B,GAC/B,OAAOA,KAGLqC,EAAO7J,OACT4J,EAAOC,GAEPF,WAMRM,SAAU,SAAkBvH,GAC1B,OAAIA,IAASpC,MAAMC,QAAQmC,GAClBX,KAAKuI,cAAc5H,GAGrBX,KAAK2G,cAAgB3G,KAAKyH,YAAY9G,GAAQX,KAAKoI,eAAezH,IAE3E4H,cAAe,SAAuB5H,GACpC,IAAI6H,EAAUxI,KAAKmH,OAAOI,QAAO,SAAU9B,GACzC,OAAOA,EAAK9E,OAASA,KAGvB,OAAI6H,EAAQvK,OACH,IAAI0J,SAAQ,SAAUC,EAASC,GACpCW,EAAQ,GAAGN,WAAWD,MAAK,SAAUE,GAC/BA,EACFN,EAAOM,GAEPP,UAMDD,QAAQE,UAGjBY,gBAAiB,SAAyB9H,GACpCA,IAASpC,MAAMC,QAAQmC,KACzBA,EAAO,CAACA,IAGV,IAAIwG,EAASnH,KAAKqH,iBAAiB1G,GACnCwG,EAAO/B,SAAQ,SAAUK,GACvBA,EAAKgD,sBAITC,cAAe,SAAuB/H,EAAMgI,GAC1C3I,KAAKmH,OAAOyB,MAAK,SAAUnD,GACzB,OAAIA,EAAK9E,OAASA,IAChB8E,EAAKoD,IAAIC,eAAeH,IACjB,OAMbI,SAAU,SAAkBvB,GAC1BxH,KAAKmH,OAAO9I,KAAKmJ,GACjB5B,EAAa5F,KAAKmH,OAAQnH,OAE5BgJ,YAAa,SAAqBxB,GAChCxH,KAAKmH,OAASnH,KAAKmH,OAAOI,QAAO,SAAU9B,GACzC,OAAOA,IAAS+B,MAGpByB,UAAW,WACT,OAAOjJ,KAAKmH,OAAOY,QAAO,SAAUmB,EAAM1B,GAExC,OADA0B,EAAK1B,EAAM7G,MAAQ6G,EAAM2B,UAClBD,IACN,KAEL3I,SAAU,SAAkBnB,GAC1BA,EAAMO,iBACNK,KAAKoJ,UAGPA,OAAQ,WACN,IAAIC,EAASrJ,KAETsJ,EAAStJ,KAAKiJ,YAClBjJ,KAAKkI,WAAWD,MAAK,WACnBoB,EAAOE,MAAM,SAAUD,MACtBE,OAAM,SAAU1B,GACjBuB,EAAOE,MAAM,SAAU,CACrBD,OAAQA,EACRxB,OAAQA,IAGNuB,EAAO3C,eACT2C,EAAOX,cAAcZ,EAAO,GAAGnH,WAKvCb,OAAQ,WACN,IAAIsE,EAAIqF,UAAU,GAClB,OAAOrF,EAAE,OAAQ,CACf,MAAS,IACT,GAAM,CACJ,OAAUpE,KAAKO,WAEhB,CAACP,KAAKsE,a,YCrMFoF,EAAU,CACnBC,OAAQ,IACRC,UAAW,EACXC,MAAO,GACPC,KAAM,SAAcC,GAClB,OAAO/J,KAAK6J,MAAMtC,QAAO,SAAU9B,GACjC,OAAOA,EAAKsE,KAAOA,KAClB,IAELC,OAAQ,SAAgBD,GACtB,IAAItE,EAAOzF,KAAK8J,KAAKC,GACrB,GAAKtE,EAAL,CACAA,EAAKsE,GAAK,KACVtE,EAAKwE,QAAU,KACf,IAAI/L,EAAQ8B,KAAK6J,MAAM3D,QAAQT,GAC/BzF,KAAK6J,MAAMK,OAAOhM,EAAO,M,wBCRzB,EAAmB,OAAAV,EAAA,MAAgB,WACnC,EAAkB,EAAiB,GACnC,EAAM,EAAiB,GAE3B,SAAS2M,EAAiB/K,GACxB,eAAeA,GAAO,GAGxB,SAASgL,EAAQhG,EAAGC,EAAOC,EAAO7H,GAChC,IAAI4N,EAAQ,eAAS,CACnBV,OAAQtF,EAAMsF,QACbtF,EAAMiG,aAMT,OAJI,eAAMjG,EAAMhC,YACdgI,EAAME,kBAAoBlG,EAAMhC,SAAW,KAGtC+B,EAAE,aAAc,CACrB,MAAS,CACP,KAAQ,aAET,CAACA,EAAE,MAAO,IAAe,CAAC,CAC3B,WAAc,CAAC,CACbzD,KAAM,OACNG,MAAOuD,EAAMmG,OAEf,MAASH,EACT,MAAS,CAAC,IAAOhG,EAAMoG,WACvB,GAAM,CACJ,UAAapG,EAAMqG,WAAaP,EAAmB,SAEpD,eAAQ1N,GAAK,KAAS,CAAkB,MAAjB6H,EAAMK,aAAkB,EAASL,EAAMK,cAGnEyF,EAAQ/F,MAAQ,CACdmG,KAAMzF,QACN4E,OAAQ,CAACpD,OAAQzB,QACjBzC,SAAU,CAACkE,OAAQzB,QACnB2F,UAAW,KACXH,YAAa1L,OACb8L,WAAY,CACV1F,KAAMD,QACNJ,SAAS,IAGE,QAAgByF,GCpDxB,SAASO,EAAWC,GACzB,IAAI/E,EAAS+E,EAAGC,WAEZhF,GACFA,EAAOiF,YAAYF,GCCvB,IAAIG,EAAgB,CAClBN,UAAW,GACXH,YAAa,IAGf,SAASU,EAAajB,GACpB,OAAO,eAAM,EAAS,CACpB7K,GAAI,CAEF+L,MAAO,WACLlB,EAAGR,MAAM,iBAELQ,EAAGmB,sBACDnB,EAAGoB,eACLpB,EAAGoB,iBAEHpB,EAAGqB,aAQR,SAASC,EAActB,GAC5B,IAAItE,EAAOiE,EAAQI,KAAKC,GAExB,GAAItE,EAAM,CACR,IAAImF,EAAKb,EAAGlB,IACRyC,EAAS7F,EAAK6F,OACdrB,EAAUxE,EAAKwE,QAEfW,GAAMA,EAAGC,YACXD,EAAGC,WAAWU,aAAatB,EAAQpB,IAAK+B,GAG1C,eAASX,EAASc,EAAeO,EAAQ,CACvCd,MAAM,KAIL,SAASgB,EAAYzB,EAAIuB,GAC9B,IAAI7F,EAAOiE,EAAQI,KAAKC,GAExB,GAAItE,EACFA,EAAK6F,OAASA,MACT,CACL,IAAIrB,EAAUe,EAAajB,GAC3BL,EAAQG,MAAMxL,KAAK,CACjB0L,GAAIA,EACJuB,OAAQA,EACRrB,QAASA,IAIboB,EAActB,GAET,SAAS0B,EAAa1B,GAC3B,IAAItE,EAAOiE,EAAQI,KAAKC,GAEpBtE,IACFA,EAAKwE,QAAQO,MAAO,GAGjB,SAASkB,EAAc3B,GAC5B,IAAItE,EAAOiE,EAAQI,KAAKC,GAEpBtE,IACFkF,EAAWlF,EAAKwE,QAAQpB,KACxBa,EAAQM,OAAOD,I,gBCxEnB,SAAS4B,EAAaC,EAAGC,GACvB,OAAID,EAAIC,EACC,aAGLA,EAAID,EACC,WAGF,GAGF,IAAIE,EAAa,CACtBjH,KAAM,WACJ,MAAO,CACLkH,UAAW,KAGf3E,QAAS,CACP4E,WAAY,SAAoB5M,GAC9BY,KAAKiM,mBACLjM,KAAKkM,OAAS9M,EAAM+M,QAAQ,GAAGC,QAC/BpM,KAAKqM,OAASjN,EAAM+M,QAAQ,GAAGG,SAEjCC,UAAW,SAAmBnN,GAC5B,IAAIoN,EAAQpN,EAAM+M,QAAQ,GAE1BnM,KAAKyM,OAASD,EAAMJ,QAAU,EAAI,EAAII,EAAMJ,QAAUpM,KAAKkM,OAC3DlM,KAAK0M,OAASF,EAAMF,QAAUtM,KAAKqM,OACnCrM,KAAK2M,QAAUC,KAAKC,IAAI7M,KAAKyM,QAC7BzM,KAAK8M,QAAUF,KAAKC,IAAI7M,KAAK0M,QAE7B,IAAIK,EAA0B,KAEzB/M,KAAK+L,WAAa/L,KAAK2M,QAAUI,GAA2B/M,KAAK8M,QAAUC,KAC9E/M,KAAK+L,UAAYJ,EAAa3L,KAAK2M,QAAS3M,KAAK8M,WAGrDb,iBAAkB,WAChBjM,KAAK+L,UAAY,GACjB/L,KAAKyM,OAAS,EACdzM,KAAK0M,OAAS,EACd1M,KAAK2M,QAAU,EACf3M,KAAK8M,QAAU,GAIjBE,eAAgB,SAAwBpC,GACtC,IAAIqC,EAAejN,KAAKiN,aACpBC,EAAclN,KAAKkN,YACnBC,EAAanN,KAAKmN,WACtB,eAAGvC,EAAI,aAAcqC,GACrB,eAAGrC,EAAI,YAAasC,GAEhBC,IACF,eAAGvC,EAAI,WAAYuC,GACnB,eAAGvC,EAAI,cAAeuC,OC1D9B,SAASC,EAAWC,GAClB,MAAwB,kBAAbA,EACFC,SAASC,cAAcF,GAGzBA,IAGF,SAASG,EAAYC,GAC1B,IAAIlJ,OAAiB,IAAVkJ,EAAmB,GAAKA,EAC/BpN,EAAMkE,EAAKlE,IACXqN,EAAcnJ,EAAKmJ,YAEvB,MAAO,CACLrJ,MAAO,CACLsJ,aAAc,CAAC7I,OAAQ8I,WAEzBC,MAAO,CACLF,aAAc,UAEhBG,QAAS,WACH9N,KAAK2N,cACP3N,KAAK+N,UAGT3G,QAAS,CACP2G,OAAQ,WACN,IAEIC,EAFAL,EAAe3N,KAAK2N,aACpB/C,EAAKvK,EAAML,KAAKiO,MAAM5N,GAAOL,KAAK6I,IAGlC8E,EACFK,EAAYZ,EAAWO,GACd3N,KAAKkO,UACdF,EAAYhO,KAAKkO,QAAQrF,KAGvBmF,GAAaA,IAAcpD,EAAGC,YAChCmD,EAAUG,YAAYvD,GAGpB8C,GACFA,EAAYU,KAAKpO,SCtC3B,IAAIqO,EAAM,EACH,SAASC,EAAejP,GAC7B,IAAIwD,EAAM,UAAYwL,IAEtB,SAASE,IACFvO,KAAK6C,KACRxD,EAAQ+O,KAAKpO,KAAM,QAAI,GACvBA,KAAK6C,IAAO,GAIhB,SAAS2L,IACHxO,KAAK6C,KACPxD,EAAQ+O,KAAKpO,KAAM,QAAK,GACxBA,KAAK6C,IAAO,GAIhB,MAAO,CACLiL,QAASS,EACTE,UAAWF,EACXG,YAAaF,EACbG,cAAeH,GCxBZ,IAAII,EAAuB,CAChCC,OAAQ,CAACP,GAAe,SAAUC,EAAMO,GACtC9O,KAAK+O,eAAeD,GAAU9O,KAAKgP,qBAErC3K,MAAO,CACL2K,gBAAiBjK,SAEnBF,KAAM,WACJ,MAAO,CACLoK,YAAY,IAGhBpB,MAAO,CACLmB,gBAAiB,SAAyBpR,GACxCoC,KAAK+O,eAAenR,KAGxBwJ,QAAS,CACP8H,WAAY,WACVlP,KAAKoL,QACLpL,KAAKmP,cAAe,GAEtBJ,eAAgB,SAAwBR,GAEtC,IAAIvO,KAAKoP,WAILpP,KAAKiP,aAAeV,EAAM,CAC5BvO,KAAKiP,WAAaV,EAClB,IAAIc,EAASd,EAAO,OAAK,OACzBc,EAAOtQ,OAAQ,WAAYiB,KAAKkP,gBCtB7BI,EAAkB,CAE3BC,iBAAkBxK,QAElBjE,MAAOiE,QAEPkF,QAASlF,QAETyK,aAAc5Q,OAEd6Q,aAAc3K,OAEdoG,oBAAqBnG,QAErB4E,OAAQ,CAACpD,OAAQzB,QAEjB4F,WAAY,CACV1F,KAAMD,QACNJ,SAAS,GAGX+K,WAAY,CACV1K,KAAMD,QACNJ,SAAS,IAGN,SAASgL,EAAWhH,GAKzB,YAJgB,IAAZA,IACFA,EAAU,IAGL,CACLkG,OAAQ,CAAC/C,EAAY8C,EAAsBpB,EAAY,CACrDE,YAAa,WACP1N,KAAKiK,SACPoB,QAINpE,QAAS,WACP,MAAO,CACL2I,SAAU5P,OAGdqE,MAAOiL,EACPzK,KAAM,WAEJ,OADA7E,KAAK6P,iBAAmB,GACjB,CACLC,OAAQ9P,KAAKc,QAGjBiP,SAAU,CACRC,aAAc,WACZ,OAAOhQ,KAAK8P,SAAW9P,KAAK0P,aAGhC7B,MAAO,CACL/M,MAAO,SAAelD,GACpB,IAAIoH,EAAOpH,EAAM,OAAS,QAC1BoC,KAAK8P,OAAS9P,KAAK8P,QAAU9P,KAAKc,MAClCd,KAAKgF,KAEA2D,EAAQsH,iBACXjQ,KAAKuJ,MAAMvE,IAGfiF,QAAS,iBAEX6D,QAAS,WACH9N,KAAKc,OACPd,KAAKkQ,QAKTzB,UAAW,WACLzO,KAAKmP,eACPnP,KAAKuJ,MAAM,SAAS,GACpBvJ,KAAKmP,cAAe,IAGxBR,cAAe,WACbjD,EAAc1L,MAEVA,KAAKmQ,QACPnQ,KAAKoQ,aAGHpQ,KAAK2N,cACPhD,EAAW3K,KAAK6I,MAKpB6F,YAAa,WACP1O,KAAKc,QACPd,KAAKoL,QACLpL,KAAKmP,cAAe,IAGxB/H,QAAS,CACP8I,KAAM,WAEAlQ,KAAKoP,WAAapP,KAAKmQ,cAKP/R,IAAhB4B,KAAK2J,SACPD,EAAQC,OAAS3J,KAAK2J,QAGxB3J,KAAKmQ,QAAS,EACdnQ,KAAKqQ,gBACLrQ,KAAKsQ,UACLtQ,KAAK6P,iBAAiBzK,SAAQ,SAAUnE,GACtCA,SAGJqP,QAAS,WACHtQ,KAAK0K,aACP,eAAG4C,SAAU,aAActN,KAAKgM,YAChC,eAAGsB,SAAU,YAAatN,KAAKkN,aAE1BxD,EAAQE,WACX0D,SAASiD,KAAKC,UAAUC,IAAI,uBAG9B/G,EAAQE,cAGZwG,WAAY,WACNpQ,KAAK0K,YAAchB,EAAQE,YAC7BF,EAAQE,YACR,eAAI0D,SAAU,aAActN,KAAKgM,YACjC,eAAIsB,SAAU,YAAatN,KAAKkN,aAE3BxD,EAAQE,WACX0D,SAASiD,KAAKC,UAAUxG,OAAO,yBAIrCoB,MAAO,WACApL,KAAKmQ,SAIV1E,EAAazL,MACbA,KAAKmQ,QAAS,EACdnQ,KAAKoQ,aACLpQ,KAAKuJ,MAAM,SAAS,KAEtB2D,YAAa,SAAqB9N,GAChCY,KAAKuM,UAAUnN,GACf,IAAI2M,EAAY/L,KAAK0M,OAAS,EAAI,KAAO,KACrC9B,EAAK,eAAYxL,EAAMD,OAAQa,KAAK6I,KACpC6H,EAAe9F,EAAG8F,aAClBC,EAAe/F,EAAG+F,aAClBC,EAAYhG,EAAGgG,UACfC,EAAS,KAGK,IAAdD,EACFC,EAASF,GAAgBD,EAAe,KAAO,KACtCE,EAAYD,GAAgBD,IACrCG,EAAS,MAKI,OAAXA,GAAsC,aAAnB7Q,KAAK+L,WAA8B+E,SAASD,EAAQ,GAAKC,SAAS/E,EAAW,IAClG,eAAe3M,GAAO,IAG1BiR,cAAe,WACb,IAAI3I,EAAQ1H,MAERA,KAAKoP,WAAcpP,KAAKc,OAI5Bd,KAAK+Q,WAAU,WACbrJ,EAAMsJ,aAAatJ,EAAMuC,QAAU,EAAI,GAEnCvC,EAAMuC,QACRuB,EAAY9D,EAAO,CACjBiC,OAAQD,EAAQC,SAChBtH,SAAUqF,EAAMrF,SAChBoI,UAAW/C,EAAM+H,aACjBnF,YAAa5C,EAAM8H,eAGrB/D,EAAa/D,OAInBsJ,aAAc,SAAsBlQ,QACpB,IAAVA,IACFA,EAAQ,GAGVd,KAAK6I,IAAIwB,MAAMV,SAAWD,EAAQC,OAAS7I,GAE7CmQ,SAAU,SAAkBhQ,GAC1BjB,KAAK6P,iBAAiBxR,KAAK4C,M,gBCnN/B,EAAmB,OAAAzD,EAAA,MAAgB,SACnC,GAAkB,EAAiB,GACnC,GAAM,EAAiB,GAEZ,MAAgB,CAC7BqR,OAAQ,CAACc,KACTtL,MAAO,CACL6M,MAAOnM,QACP1C,SAAU,CAACkE,OAAQzB,QACnBqM,UAAWpM,QACXqM,WAAYtM,OACZuM,oBAAqBtM,QACrBuM,UAAW,CACTtM,KAAMF,OACNH,QAAS,SAEX4M,kBAAmB,CACjBvM,KAAMF,OACNH,QAAS,aAEX6M,SAAU,CACRxM,KAAMF,OACNH,QAAS,UAEXsF,QAAS,CACPjF,KAAMD,QACNJ,SAAS,GAEXuG,oBAAqB,CACnBlG,KAAMD,QACNJ,SAAS,IAGb8M,aAAc,WACZ,IAAI/J,EAAQ1H,KAER0R,EAAgB,SAAuBC,GACzC,OAAO,SAAUvS,GACf,OAAOsI,EAAM6B,MAAMoI,EAAWvS,KAIlCY,KAAK4R,QAAUF,EAAc,SAC7B1R,KAAK6R,SAAWH,EAAc,UAC9B1R,KAAK8R,SAAWJ,EAAc,WAEhCtK,QAAS,CACP2K,iBAAkB,SAA0B3S,GAC1CY,KAAKuJ,MAAM,mBAAoBnK,GAC/BY,KAAKoL,UAGTtL,OAAQ,WACN,IAAIkS,EAEA5N,EAAIqF,UAAU,GAElB,GAAKzJ,KAAKgQ,aAAV,CAIA,IAAIkB,EAAQlR,KAAKkR,MACbM,EAAWxR,KAAKwR,SAChBnP,EAAWrC,KAAKqC,SAChB4P,EAAwB,WAAbT,EACXU,EAAiBlS,KAAKoR,aAAea,EAAW,WAAa,mBAAqBT,GAClFnH,EAAQ,GAEZ,GAAI,eAAMhI,GAAW,CACnB,IAAIQ,EAAMoP,EAAW,oBAAsB,qBAC3C5H,EAAMxH,GAAOR,EAAW,IAG1B,OAAO+B,EAAE,aAAc,CACrB,MAAS,CACP,OAAUpE,KAAKuP,iBACf,KAAQ2C,GAEV,GAAM,CACJ,WAAclS,KAAK6R,SACnB,WAAc7R,KAAK8R,WAEpB,CAAC1N,EAAE,MAAO,CACX,WAAc,CAAC,CACbzD,KAAM,OACNG,MAAOd,KAAKc,QAEd,MAASuJ,EACT,MAAS,IAAK2H,EAAO,CACnBd,MAAOA,GACNc,EAAKR,GAAYA,EAAUQ,EAAK,0BAA4BhS,KAAKqR,oBAAqBW,IACzF,GAAM,CACJ,MAAShS,KAAK4R,UAEf,CAAC5R,KAAKsE,QAAStE,KAAKmR,WAAa/M,EAAE,OAAM,CAC1C,MAAS,CACP,KAAQ,SACR,SAAY,IACZ,KAAQpE,KAAKsR,WAEf,MAAS,GAAI,aAActR,KAAKuR,mBAChC,GAAM,CACJ,MAASvR,KAAK+R,4B,uCCzGf,SAASI,GAAMC,EAAGC,GACvB,GAAID,EAAI,EACN,MAAO,GAGT,IAAIlU,GAAS,EACTC,EAASI,MAAM6T,GAEnB,QAASlU,EAAQkU,EACfjU,EAAOD,GAASmU,EAASnU,GAG3B,OAAOC,EAEF,SAASmU,GAAaxR,GAC3B,IAAKA,EACH,OAAO,EAGT,MAAO,gBAAMgQ,SAAShQ,EAAO,KAAM,CACjC,KAAIA,EAAM7C,OAAS,GAGjB,OAAO,EAFP6C,EAAQA,EAAMyR,MAAM,GAMxB,OAAOzB,SAAShQ,EAAO,IAElB,SAAS0R,GAAeC,EAAMC,GACnC,OAAO,GAAK,IAAIC,KAAKF,EAAMC,EAAQ,EAAG,IAAIE,UC/BrC,IAAIC,GAAsB,GACtBC,GAAc,CACvBlO,MAAOE,OACPiO,QAAShO,QACTsB,SAAUtB,QACViO,WAAY,CAACzM,OAAQzB,QACrBmO,YAAalO,QACbmO,iBAAkBpO,OAClBqO,kBAAmBrO,OACnBsO,UAAW,CACTpO,KAAMD,QACNJ,SAAS,GAEX0O,iBAAkB,CAChBrO,KAAM,CAACuB,OAAQzB,QACfH,QAAS,GAEX2O,cAAe,CACbtO,KAAM,CAACuB,OAAQzB,QACfH,QAAS,M,0BClBN,SAAS4O,GAAUC,GACxB,IAAK,eAAMA,GACT,OAAOA,EAGT,GAAIjV,MAAMC,QAAQgV,GAChB,OAAOA,EAAIhO,KAAI,SAAUC,GACvB,OAAO8N,GAAU9N,MAIrB,GAAmB,kBAAR+N,EAAkB,CAC3B,IAAIC,EAAK,GAIT,OAHA7U,OAAO8U,KAAKF,GAAKpO,SAAQ,SAAUvC,GACjC4Q,EAAG5Q,GAAO0Q,GAAUC,EAAI3Q,OAEnB4Q,EAGT,OAAOD,ECbT,IAAIG,GAAmB,IAIZC,GAAsB,IACtBC,GAA0B,GAEjC,GAAmB,OAAArW,EAAA,MAAgB,iBACnC,GAAkB,GAAiB,GACnC,GAAM,GAAiB,GAE3B,SAASsW,GAAqBC,GAC5B,IAAI1J,EAAQtL,OAAOiV,iBAAiBD,GAChCE,EAAY5J,EAAM4J,WAAa5J,EAAM6J,gBACrCC,EAAaF,EAAU1B,MAAM,EAAG0B,EAAUhW,OAAS,GAAGmW,MAAM,MAAM,GACtE,OAAO7N,OAAO4N,GAGhB,SAASE,GAAiBC,GACxB,OAAO,eAASA,IAAWA,EAAOlO,SAKpC,IAAImO,GAAoB,QAAa,YAAaxV,OAC9CyV,GAAkB,KACP,MAAgB,CAC7B3F,OAAQ,CAAC/C,GACTzH,MAAO,CACLoQ,SAAU3P,OACVuB,SAAUtB,QACVqO,UAAWrO,QACX0F,UAAW3F,OACXkO,WAAYzM,OACZmO,aAAcnO,OACd+M,cAAe,CAAC/M,OAAQzB,QACxBuO,iBAAkB,CAAC9M,OAAQzB,QAC3B6P,eAAgB,CACd3P,KAAMzG,MACNoG,QAAS,WACP,MAAO,MAIbE,KAAM,WACJ,MAAO,CACL+P,OAAQ,EACRvS,SAAU,EACVsG,QAAS4K,GAAUvT,KAAK2U,gBACxBE,aAAc7U,KAAK0U,eAGvBI,QAAS,WACH9U,KAAKkO,QAAQvI,UACf3F,KAAKkO,QAAQvI,SAAStH,KAAK2B,MAG7BA,KAAK+U,SAAS/U,KAAK6U,eAErB/G,QAAS,WACP9N,KAAKgN,eAAehN,KAAK6I,KAErB0L,IACF,eAAGvU,KAAK6I,IAAK,QAAS7I,KAAKgV,cAAc,IAG7CC,UAAW,WACT,IAAItP,EAAW3F,KAAKkO,QAAQvI,SAExBA,GACFA,EAASuE,OAAOvE,EAASO,QAAQlG,MAAO,GAGtCuU,IACF,eAAIvU,KAAK6I,IAAK,UAGlBgF,MAAO,CACL8G,eAAgB,aAChBD,aAAc,SAAsB9W,GAClCoC,KAAK+U,SAASnX,KAGlBmS,SAAU,CACRmF,MAAO,WACL,OAAOlV,KAAK2I,QAAQ1K,QAEtBkX,WAAY,WACV,OAAOnV,KAAKgT,YAAchT,KAAKqT,iBAAmB,GAAK,IAG3DjM,QAAS,CACPgO,WAAY,SAAoBzM,GAC1B0M,KAAKC,UAAU3M,KAAa0M,KAAKC,UAAUtV,KAAK2I,WAClD3I,KAAK2I,QAAU4K,GAAU5K,GACzB3I,KAAK+U,SAAS/U,KAAK0U,gBAGvBzH,aAAc,SAAsB7N,GAClC,IAAIY,KAAKqG,SAAT,CAMA,GAFArG,KAAKgM,WAAW5M,GAEZY,KAAKuV,OAAQ,CACf,IAAIpB,EAAaL,GAAqB9T,KAAKiO,MAAMuH,SACjDxV,KAAK4U,OAAShI,KAAK6I,IAAI,EAAGtB,EAAanU,KAAKmV,YAC5CnV,KAAK0V,YAAc1V,KAAK4U,YAExB5U,KAAK0V,YAAc1V,KAAK4U,OAG1B5U,KAAKqC,SAAW,EAChBrC,KAAK2V,qBAAuB,KAC5B3V,KAAK4V,eAAiBjD,KAAKkD,MAC3B7V,KAAK8V,eAAiB9V,KAAK0V,cAE7BxI,YAAa,SAAqB9N,GAChC,IAAIY,KAAKqG,SAAT,CAIArG,KAAKuM,UAAUnN,GAEQ,aAAnBY,KAAK+L,YACP/L,KAAKuV,QAAS,EACd,eAAenW,GAAO,IAGxBY,KAAK4U,OAAS,gBAAM5U,KAAK0V,YAAc1V,KAAK0M,QAAU1M,KAAKkV,MAAQlV,KAAKgT,WAAahT,KAAKgT,YAC1F,IAAI6C,EAAMlD,KAAKkD,MAEXA,EAAM7V,KAAK4V,eAAiBhC,KAC9B5T,KAAK4V,eAAiBC,EACtB7V,KAAK8V,eAAiB9V,KAAK4U,UAG/BzH,WAAY,WACV,IAAIzF,EAAQ1H,KAEZ,IAAIA,KAAKqG,SAAT,CAIA,IAAI0P,EAAW/V,KAAK4U,OAAS5U,KAAK8V,eAC9BzT,EAAWsQ,KAAKkD,MAAQ7V,KAAK4V,eAC7BI,EAAgB3T,EAAWuR,IAAuBhH,KAAKC,IAAIkJ,GAAYlC,GAE3E,GAAImC,EACFhW,KAAKiW,SAASF,EAAU1T,OAD1B,CAKA,IAAInE,EAAQ8B,KAAKkW,iBAAiBlW,KAAK4U,QACvC5U,KAAKqC,SAAWsR,GAChB3T,KAAK+U,SAAS7W,GAAO,GAGrBiY,YAAW,WACTzO,EAAM6N,QAAS,IACd,MAELP,aAAc,SAAsB5V,GAClC,IAAIiJ,EAASrI,KAEb,IAAIA,KAAKqG,SAAT,CAIA,eAAejH,GAAO,GAEtB,IAAI+U,EAAaL,GAAqB9T,KAAKiO,MAAMuH,SACjDxV,KAAK0V,YAAc9I,KAAK6I,IAAI,EAAGtB,EAAanU,KAAKmV,YACjDnV,KAAK8V,eAAiB9V,KAAK0V,YAC3B1V,KAAK2V,qBAAuB,KAI5B,IAAIjJ,EAAStN,EAAMsN,OAEnB,KAAyB,IAArB1M,KAAK0V,aAAqBhJ,EAAS,GAAvC,CAKA,IAAI0J,EAAapW,KAAKgT,YAActG,EAAS,GAAK,EAAI,GACtD1M,KAAK4U,OAAS,gBAAM5U,KAAK0V,YAAcU,GAAcpW,KAAKkV,MAAQlV,KAAKgT,WAAahT,KAAKgT,YAErFwB,IACF6B,aAAa7B,IAGfA,GAAkB2B,YAAW,WAC3B9N,EAAO8E,aAEP9E,EAAOuN,eAAiB,IACvBhC,OAEL0C,gBAAiB,WACftW,KAAKuW,gBAEPC,YAAa,SAAqBtY,GAC5B8B,KAAKuV,QAAUvV,KAAKqG,WAIxBrG,KAAK2V,qBAAuB,KAC5B3V,KAAKqC,SAAWsR,GAChB3T,KAAK+U,SAAS7W,GAAO,KAEvBuY,YAAa,SAAqBvY,GAChCA,EAAQ,gBAAMA,EAAO,EAAG8B,KAAKkV,OAE7B,IAAK,IAAIwB,EAAIxY,EAAOwY,EAAI1W,KAAKkV,MAAOwB,IAClC,IAAKrC,GAAiBrU,KAAK2I,QAAQ+N,IAAK,OAAOA,EAGjD,IAAK,IAAIC,EAAKzY,EAAQ,EAAGyY,GAAM,EAAGA,IAChC,IAAKtC,GAAiBrU,KAAK2I,QAAQgO,IAAM,OAAOA,GAGpDC,cAAe,SAAuBtC,GACpC,OAAI,eAASA,IAAWtU,KAAKyU,YAAYH,EAChCA,EAAOtU,KAAKyU,UAGdH,GAETS,SAAU,SAAkB7W,EAAO2Y,GACjC,IAAIxN,EAASrJ,KAEb9B,EAAQ8B,KAAKyW,YAAYvY,IAAU,EACnC,IAAI0W,GAAU1W,EAAQ8B,KAAKgT,WAEvB8D,EAAU,WACR5Y,IAAUmL,EAAOwL,eACnBxL,EAAOwL,aAAe3W,EAElB2Y,GACFxN,EAAOE,MAAM,SAAUrL,KAMzB8B,KAAKuV,QAAUX,IAAW5U,KAAK4U,OACjC5U,KAAK2V,qBAAuBmB,EAE5BA,IAGF9W,KAAK4U,OAASA,GAEhBmC,SAAU,SAAkBjW,GAG1B,IAFA,IAAI6H,EAAU3I,KAAK2I,QAEV+N,EAAI,EAAGA,EAAI/N,EAAQ1K,OAAQyY,IAClC,GAAI1W,KAAK4W,cAAcjO,EAAQ+N,MAAQ5V,EACrC,OAAOd,KAAK+U,SAAS2B,IAI3BM,SAAU,WACR,OAAOhX,KAAK2I,QAAQ3I,KAAK6U,eAE3BqB,iBAAkB,SAA0BtB,GAC1C,OAAO,gBAAMhI,KAAKsE,OAAO0D,EAAS5U,KAAKgT,YAAa,EAAGhT,KAAKkV,MAAQ,IAEtEe,SAAU,SAAkBF,EAAU1T,GACpC,IAAI4U,EAAQrK,KAAKC,IAAIkJ,EAAW1T,GAChC0T,EAAW/V,KAAK4U,OAASqC,EAAQ,MAASlB,EAAW,GAAK,EAAI,GAC9D,IAAI7X,EAAQ8B,KAAKkW,iBAAiBH,GAClC/V,KAAKqC,UAAYrC,KAAKsT,cACtBtT,KAAK+U,SAAS7W,GAAO,IAEvBqY,aAAc,WACZvW,KAAKuV,QAAS,EACdvV,KAAKqC,SAAW,EAEZrC,KAAK2V,uBACP3V,KAAK2V,uBACL3V,KAAK2V,qBAAuB,OAGhCuB,WAAY,WACV,IAAIC,EAASnX,KAEToE,EAAIpE,KAAKoX,eACTC,EAAc,CAChBC,OAAQtX,KAAKgT,WAAa,MAE5B,OAAOhT,KAAK2I,QAAQnD,KAAI,SAAU8O,EAAQpW,GACxC,IAAIqZ,EAEAC,EAAOL,EAAOP,cAActC,GAE5BlO,EAAWiO,GAAiBC,GAC5BzP,EAAO,CACTwF,MAAOgN,EACP/W,MAAO,CACLmX,KAAM,SACNC,SAAUtR,GAAY,EAAI,GAE5BuR,MAAO,CAAC,GAAI,OAAQ,CAClBvR,SAAUA,EACVwR,SAAU1Z,IAAUiZ,EAAOtC,gBAE7B3V,GAAI,CACF+L,MAAO,WACLkM,EAAOX,YAAYtY,MAIrB2Z,EAAY,CACdF,MAAO,eACPG,UAAWP,EAAY,GAAIA,EAAUJ,EAAO/D,UAAY,YAAc,eAAiBoE,EAAMD,IAE/F,OAAOnT,EAAE,KAAM,IAAe,CAAC,GAAIS,IAAQ,CAACsS,EAAO7S,MAAM,SAAUgQ,IAAWlQ,EAAE,MAAO,IAAgB,CAAC,GAAIyT,YAIlH/X,OAAQ,WACN,IAAIsE,EAAIqF,UAAU,GACdsO,EAAe,CACjB9D,UAAW,mBAAqBjU,KAAK4U,OAAS5U,KAAKmV,YAAc,SACjE6C,mBAAoBhY,KAAKqC,SAAW,KACpC4V,mBAAoBjY,KAAKqC,SAAW,MAAQ,QAE9C,OAAO+B,EAAE,MAAO,CACd,MAAS,CAAC,KAAOpE,KAAKyK,YACrB,CAACrG,EAAE,KAAM,CACV,IAAO,UACP,MAAS2T,EACT,MAAS,GAAI,WACb,GAAM,CACJ,cAAiB/X,KAAKsW,kBAEvB,CAACtW,KAAKkX,oBC9UT,GAAmB,OAAA1Z,EAAA,MAAgB,UACnC,GAAkB,GAAiB,GACnC,GAAM,GAAiB,GACvB,GAAI,GAAiB,GAEV,MAAgB,CAC7B6G,MAAO,eAAS,GAAIyO,GAAa,CAC/B4B,aAAc,CACZ1P,KAAM,CAACuB,OAAQzB,QACfH,QAAS,GAEXuT,QAAS,CACPlT,KAAMzG,MACNoG,QAAS,WACP,MAAO,KAGXwT,gBAAiB,CACfnT,KAAMF,OACNH,QAAS,OAEX8P,SAAU,CACRzP,KAAMF,OACNH,QAAS,UAGbE,KAAM,WACJ,MAAO,CACLc,SAAU,GACVyS,iBAAkB,KAGtBrI,SAAU,CACRsI,aAAc,WACZ,OAAOrY,KAAKgT,WAAa,OAAAsF,GAAA,MAAStY,KAAKgT,YAAcH,IAEvD0F,SAAU,WACR,IAAIL,EAAUlY,KAAKkY,QACfM,EAAcN,EAAQ,IAAM,GAEhC,OAAIM,EAAY7S,SACP,UAGL6S,EAAYlP,OACP,SAGF,SAGXuE,MAAO,CACLqK,QAAS,CACP7Y,QAAS,SACToZ,WAAW,IAGfrR,QAAS,CACPsR,OAAQ,WACN,IAAIR,EAAUlY,KAAKkY,QACfK,EAAWvY,KAAKuY,SAEH,SAAbA,EACFvY,KAAKoY,iBAAmB,CAAC,CACvB9O,OAAQ4O,IAEY,YAAbK,EACTvY,KAAK2Y,gBAEL3Y,KAAKoY,iBAAmBF,GAG5BS,cAAe,WACb,IAAIC,EAAY,GACZC,EAAS,CACXlT,SAAU3F,KAAKkY,SAGjB,MAAOW,GAAUA,EAAOlT,SAAU,CAChC,IAAImT,EAEAC,EAAUF,EACVlT,EAAWoT,EAAQpT,SACnB+O,EAA+D,OAA/CoE,EAAuBD,EAAOnE,cAAwBoE,GAAwB9Y,KAAK0U,aAEvG,MAAO/O,EAAS+O,IAAiB/O,EAAS+O,GAActO,SAAU,CAChE,KAAIsO,EAAe/O,EAAS1H,OAAS,GAE9B,CACLyW,EAAe,EACf,MAHAA,IAOJkE,EAAUva,KAAK,CACbiL,OAAQuP,EAAOlT,SACf8E,UAAWoO,EAAOpO,UAClBiK,aAAcA,IAEhBmE,EAASlT,EAAS+O,GAGpB1U,KAAKoY,iBAAmBQ,GAE1BI,KAAM,SAAc5Z,GAClB,IAAIsI,EAAQ1H,KAEZ,GAAsB,SAAlBA,KAAKuY,SACPvY,KAAKuJ,MAAMnK,EAAOY,KAAKiZ,eAAe,GAAIjZ,KAAKkZ,eAAe,QACzD,CACL,IAAI5P,EAAStJ,KAAKiJ,YAII,YAAlBjJ,KAAKuY,WACPjP,EAASA,EAAO9D,KAAI,SAAUC,GAC5B,OAAOA,EAAKiC,EAAM+M,cAItBzU,KAAKuJ,MAAMnK,EAAOkK,EAAQtJ,KAAKmZ,gBAGnCC,gBAAiB,SAAyBC,GAMxC,IALA,IAAIR,EAAS,CACXlT,SAAU3F,KAAKkY,SAEboB,EAAUtZ,KAAKmZ,aAEVzC,EAAI,EAAGA,GAAK2C,EAAa3C,IAChCmC,EAASA,EAAOlT,SAAS2T,EAAQ5C,IAGnC,MAAOmC,GAAUA,EAAOlT,SACtB0T,IACArZ,KAAKuZ,gBAAgBF,EAAaR,EAAOlT,UACzCkT,EAASA,EAAOlT,SAASkT,EAAOnE,cAAgB,IAGpD8E,SAAU,SAAkBH,GAC1B,IAAIhR,EAASrI,KAMb,GAJsB,YAAlBA,KAAKuY,UACPvY,KAAKoZ,gBAAgBC,GAGD,SAAlBrZ,KAAKuY,SACPvY,KAAKuJ,MAAM,SAAUvJ,KAAMA,KAAKiZ,eAAe,GAAIjZ,KAAKkZ,eAAe,QAClE,CACL,IAAI5P,EAAStJ,KAAKiJ,YAII,YAAlBjJ,KAAKuY,WACPjP,EAASA,EAAO9D,KAAI,SAAUC,GAC5B,OAAOA,EAAK4C,EAAOoM,cAIvBzU,KAAKuJ,MAAM,SAAUvJ,KAAMsJ,EAAQ+P,KAIvCI,UAAW,SAAmBvb,GAC5B,OAAO8B,KAAK2F,SAASzH,IAIvB+a,eAAgB,SAAwB/a,GACtC,IAAIwb,EAAS1Z,KAAKyZ,UAAUvb,GAC5B,OAAOwb,GAAUA,EAAO1C,YAI1B2C,eAAgB,SAAwBzb,EAAO4C,GAC7C,IAAI4Y,EAAS1Z,KAAKyZ,UAAUvb,GAExBwb,IACFA,EAAO3C,SAASjW,GAEM,YAAlBd,KAAKuY,UACPvY,KAAKoZ,gBAAgBlb,KAM3Bgb,eAAgB,SAAwBG,GACtC,OAAQrZ,KAAKyZ,UAAUJ,IAAgB,IAAIxE,cAI7C+E,eAAgB,SAAwBP,EAAaQ,GACnD,IAAIH,EAAS1Z,KAAKyZ,UAAUJ,GAExBK,IACFA,EAAO3E,SAAS8E,GAEM,YAAlB7Z,KAAKuY,UACPvY,KAAKoZ,gBAAgBC,KAM3BS,gBAAiB,SAAyB5b,GACxC,OAAQ8B,KAAK2F,SAASzH,IAAU,IAAIyK,SAItC4Q,gBAAiB,SAAyBrb,EAAOyK,GAC/C,IAAI+Q,EAAS1Z,KAAK2F,SAASzH,GAEvBwb,GACFA,EAAOtE,WAAWzM,IAKtBM,UAAW,WACT,OAAOjJ,KAAK2F,SAASH,KAAI,SAAUuU,GACjC,OAAOA,EAAM/C,eAKjBgD,UAAW,SAAmB1Q,GAC5B,IAAID,EAASrJ,KAEbsJ,EAAOlE,SAAQ,SAAUtE,EAAO5C,GAC9BmL,EAAOsQ,eAAezb,EAAO4C,OAKjCqY,WAAY,WACV,OAAOnZ,KAAK2F,SAASH,KAAI,SAAUuU,GACjC,OAAOA,EAAMlF,iBAKjBoF,WAAY,SAAoBX,GAC9B,IAAInC,EAASnX,KAEbsZ,EAAQlU,SAAQ,SAAUyU,EAAaR,GACrClC,EAAOyC,eAAeP,EAAaQ,OAIvCK,QAAS,WACPla,KAAK2F,SAASP,SAAQ,SAAU2U,GAC9B,OAAOA,EAAMxD,kBAEfvW,KAAKgZ,KAAK,YAEZmB,OAAQ,WACNna,KAAKgZ,KAAK,WAEZoB,SAAU,WACR,IAAIhW,EAAIpE,KAAKoX,eACTiD,EAAYra,KAAKsE,MAAM,SAE3B,OAAI+V,IAIAra,KAAK4E,MACAR,EAAE,MAAO,CACd,MAAS,CAAC,eAAgB,GAAI,WAC7B,CAACpE,KAAK4E,aAHX,IAMF0V,UAAW,WACT,IAAIlW,EAAIpE,KAAKoX,eACb,OAAOhT,EAAE,SAAU,CACjB,MAAS,CACP,KAAQ,UAEV,MAAS,GAAI,UACb,GAAM,CACJ,MAASpE,KAAKma,SAEf,CAACna,KAAKsE,MAAM,WAAatE,KAAKkT,kBAAoB,GAAE,aAEzDqH,WAAY,WACV,IAAInW,EAAIpE,KAAKoX,eACb,OAAOhT,EAAE,SAAU,CACjB,MAAS,CACP,KAAQ,UAEV,MAAS,GAAI,WACb,GAAM,CACJ,MAASpE,KAAKka,UAEf,CAACla,KAAKsE,MAAM,YAActE,KAAKmT,mBAAqB,GAAE,cAE3DqH,WAAY,WACV,IAAIpW,EAAIpE,KAAKoX,eAEb,GAAIpX,KAAKiT,YACP,OAAO7O,EAAE,MAAO,CACd,MAAS,GAAI,YACZ,CAACpE,KAAKsE,SAAW,CAACtE,KAAKsa,YAAata,KAAKoa,WAAYpa,KAAKua,iBAGjEE,WAAY,WACV,IAAIrW,EAAIpE,KAAKoX,eACTiB,EAAerY,KAAKqY,aACpBqC,EAAarC,EAAerY,KAAKqT,iBACjCsH,EAAa,CACfrD,OAAQe,EAAe,MAErBuC,EAAe,CACjBtD,OAAQoD,EAAa,MAEnBG,EAAY,CACdC,eAAgB,SAAWJ,EAAarC,GAAgB,EAAI,MAE9D,OAAOjU,EAAE,MAAO,CACd,MAAS,GAAI,WACb,MAASwW,EACT,GAAM,CACJ,UAAa,SAEd,CAAC5a,KAAK+a,iBAAkB3W,EAAE,MAAO,CAClC,MAAS,GAAI,QACb,MAASyW,IACPzW,EAAE,MAAO,CACX,MAAS,CAAC,OAAyB,GAAI,UACvC,MAASuW,OAGbI,eAAgB,WACd,IAAIC,EAAShb,KAEToE,EAAIpE,KAAKoX,eACb,OAAOpX,KAAKoY,iBAAiB5S,KAAI,SAAUC,EAAM4T,GAC/C,IAAI4B,EAEJ,OAAO7W,EAAE8W,GAAc,CACrB,MAAS,CACP,SAAYF,EAAO3U,SACnB,SAAY2U,EAAOvG,SACnB,UAAauG,EAAO5H,UACpB,UAAa3N,EAAKgF,UAClB,WAAcuQ,EAAO3C,aACrB,aAA4D,OAA3C4C,EAAqBxV,EAAKiP,cAAwBuG,GAAsBD,EAAOtG,aAChG,cAAiBsG,EAAO1H,cACxB,iBAAoB0H,EAAO3H,iBAC3B,eAAkB5N,EAAK6D,QAEzB,YAAe,CACbgL,OAAQ0G,EAAOG,aAAa7G,QAE9B,GAAM,CACJ,OAAU,WACR0G,EAAOxB,SAASH,YAO5BvZ,OAAQ,SAAgBsE,GACtB,OAAOA,EAAE,MAAO,CACd,MAAS,MACR,CAA0B,QAAzBpE,KAAKmY,gBAA4BnY,KAAKwa,aAAepW,IAAKpE,KAAK+S,QAAU3O,EAAE,QAAS,CACtF,MAAS,GAAI,aACVA,IAAKpE,KAAKsE,MAAM,eAAgBtE,KAAKya,aAAcza,KAAKsE,MAAM,kBAA4C,WAAzBtE,KAAKmY,gBAA+BnY,KAAKwa,aAAepW,SCvXvIgX,GAAc,eAAS,GAAItI,GAAa,CACjDhS,MAAO,KACPyG,OAAQqG,SACRyN,aAAc9c,MACd0U,YAAa,CACXjO,KAAMD,QACNJ,SAAS,GAEX2W,UAAW,CACTtW,KAAM4I,SACNjJ,QAAS,SAAkBK,EAAMlE,GAC/B,OAAOA,MAIFya,GAAkB,CAC3B1W,KAAM,WACJ,MAAO,CACL2W,WAAYxb,KAAKyb,YAAYzb,KAAKc,SAGtCiP,SAAU,CACR2L,cAAe,WACb,IAAIhU,EAAQ1H,KAEZ,OAAOA,KAAK2b,OAAOnW,KAAI,SAAUjB,GAC/B,IAAIS,EAAOT,EAAKS,KACZ4W,EAAWrX,EAAKsX,MAChBvS,EAAS6I,GAAMyJ,EAAS,GAAKA,EAAS,GAAK,GAAG,SAAU1d,GAC1D,IAAI4C,EAAQ,gBAAQ8a,EAAS,GAAK1d,GAClC,OAAO4C,KAOT,OAJI4G,EAAMH,SACR+B,EAAS5B,EAAMH,OAAOvC,EAAMsE,IAGvB,CACLtE,KAAMA,EACNsE,OAAQA,OAId4O,QAAS,WACP,IAAI7P,EAASrI,KAEb,OAAOA,KAAK0b,cAAclW,KAAI,SAAUkU,GACtC,MAAO,CACLpQ,OAAQoQ,EAAOpQ,OAAO9D,KAAI,SAAU1E,GAClC,OAAOuH,EAAOiT,UAAU5B,EAAO1U,KAAMlE,YAM/C+M,MAAO,CACLqK,QAAS,oBACTsD,WAAY,SAAoB5d,EAAKke,GAC9BA,EAGH9b,KAAKuJ,MAAM,QAAS3L,GAFpBoC,KAAKuJ,MAAM,QAAS,QAM1BuE,QAAS,WACP,IAAIzE,EAASrJ,KAEbA,KAAK+b,oBACL/b,KAAK+Q,WAAU,WACb1H,EAAO2S,uBAGX5U,QAAS,CACP6U,UAAW,WACT,OAAOjc,KAAKiO,MAAMiO,QAGpBC,iBAAkB,WAChB,IAAIhF,EAASnX,KAETkc,EAASlc,KAAKiO,MAAMiO,OAExB,GAAIA,EAAQ,CACV,IAAIjZ,EAAQ,SAAeH,GACzB,OAAO,WACLoZ,EAAOpZ,GAAIsZ,MAAMF,EAAQzS,WAEzB0N,EAAO6E,qBAIX,OAAO,eAAS,GAAIE,EAAQ,CAC1BlC,UAAW/W,EAAM,aACjBgX,WAAYhX,EAAM,cAClB2W,eAAgB3W,EAAM,kBACtB0W,eAAgB1W,EAAM,sBAI5BoZ,UAAW,WACTrc,KAAKuJ,MAAM,QAASvJ,KAAKwb,YACzBxb,KAAKuJ,MAAM,UAAWvJ,KAAKwb,aAE7Bc,SAAU,WACRtc,KAAKuJ,MAAM,YAGfzJ,OAAQ,WACN,IAAIkb,EAAShb,KAEToE,EAAIqF,UAAU,GACdpF,EAAQ,GAIZ,OAHAzF,OAAO8U,KAAKZ,IAAa1N,SAAQ,SAAUvC,GACzCwB,EAAMxB,GAAOmY,EAAOnY,MAEfuB,EAAE,GAAQ,CACf,IAAO,SACP,MAAS,CACP,QAAWpE,KAAKkY,QAChB,SAAYlY,KAAKqG,UAEnB,YAAerG,KAAKmb,aACpB,GAAM,CACJ,OAAUnb,KAAKwZ,SACf,QAAWxZ,KAAKqc,UAChB,OAAUrc,KAAKsc,UAEjB,MAAS,eAAS,GAAIjY,OC/HxB,GAAmB,OAAA7G,EAAA,MAAgB,eACnC,GAAkB,GAAiB,GAExB,MAAgB,CAC7BqR,OAAQ,CAAC0M,IACTlX,MAAO,eAAS,GAAI+W,GAAa,CAC/BmB,QAAS,CACPvX,KAAM,CAACuB,OAAQzB,QACfH,QAAS,GAEX6X,QAAS,CACPxX,KAAM,CAACuB,OAAQzB,QACfH,QAAS,IAEX8X,UAAW,CACTzX,KAAM,CAACuB,OAAQzB,QACfH,QAAS,GAEX+X,UAAW,CACT1X,KAAM,CAACuB,OAAQzB,QACfH,QAAS,MAGboL,SAAU,CACR4L,OAAQ,WACN,MAAO,CAAC,CACN3W,KAAM,OACN6W,MAAO,EAAE7b,KAAKuc,SAAUvc,KAAKwc,UAC5B,CACDxX,KAAM,SACN6W,MAAO,EAAE7b,KAAKyc,WAAYzc,KAAK0c,eAIrC7O,MAAO,CACLtG,OAAQ,mBACRgV,QAAS,WACP,IAAI7U,EAAQ1H,KAEZA,KAAK+Q,WAAU,WACbrJ,EAAMsU,uBAGVQ,QAAS,SAAiB1b,GACxB,IAAI6b,EAAwB3c,KAAKwb,WAAWpH,MAAM,KAC9CwI,EAAOD,EAAsB,GAC7BE,EAASF,EAAsB,GAE/BC,GAAQ9b,GACVd,KAAKwb,WAAaxb,KAAKyb,YAAY3a,EAAQ,IAAM+b,GACjD7c,KAAK+b,qBAEL/b,KAAKgc,oBAGTS,UAAW,mBACXC,UAAW,SAAmB5b,GAC5B,IAAIgc,EAAyB9c,KAAKwb,WAAWpH,MAAM,KAC/CwI,EAAOE,EAAuB,GAC9BD,EAASC,EAAuB,GAEhCD,GAAU/b,GACZd,KAAKwb,WAAaxb,KAAKyb,YAAYmB,EAAO,IAAM9b,GAChDd,KAAK+b,qBAEL/b,KAAKgc,oBAGTlb,MAAO,SAAelD,GACpBA,EAAMoC,KAAKyb,YAAY7d,GAEnBA,IAAQoC,KAAKwb,aACfxb,KAAKwb,WAAa5d,EAClBoC,KAAK+b,uBAIX3U,QAAS,CACPqU,YAAa,SAAqB3a,GAC3BA,IACHA,EAAQ,gBAAQd,KAAKuc,SAAW,IAAM,gBAAQvc,KAAKyc,YAGrD,IAAIM,EAAejc,EAAMsT,MAAM,KAC3BwI,EAAOG,EAAa,GACpBF,EAASE,EAAa,GAI1B,OAFAH,EAAO,gBAAQ,gBAAMA,EAAM5c,KAAKuc,QAASvc,KAAKwc,UAC9CK,EAAS,gBAAQ,gBAAMA,EAAQ7c,KAAKyc,UAAWzc,KAAK0c,YAC7CE,EAAO,IAAMC,GAEtBb,iBAAkB,WAChB,IAAIgB,EAAwBhd,KAAKic,YAAY9C,aACzC8D,EAAYD,EAAsB,GAClCE,EAAcF,EAAsB,GAEpCG,EAAsBnd,KAAK0b,cAC3B0B,EAAaD,EAAoB,GACjCE,EAAeF,EAAoB,GACnCP,EAAOQ,EAAW9T,OAAO2T,IAAcG,EAAW9T,OAAO,GACzDuT,EAASQ,EAAa/T,OAAO4T,IAAgBG,EAAa/T,OAAO,GACrEtJ,KAAKwb,WAAaxb,KAAKyb,YAAYmB,EAAO,IAAMC,GAChD7c,KAAK+b,qBAEPvC,SAAU,SAAkB0C,GAC1B,IAAI7T,EAASrI,KAEbA,KAAKgc,mBACLhc,KAAK+Q,WAAU,WACb1I,EAAO0I,WAAU,WAEf1I,EAAO2T,mBAEP3T,EAAOkB,MAAM,SAAU2S,UAI7BH,kBAAmB,WACjB,IAAI1S,EAASrJ,KAETsb,EAAYtb,KAAKsb,UACjBgC,EAAOtd,KAAKwb,WAAWpH,MAAM,KAC7B9K,EAAS,CAACgS,EAAU,OAAQgC,EAAK,IAAKhC,EAAU,SAAUgC,EAAK,KACnEtd,KAAK+Q,WAAU,WACb1H,EAAO4S,YAAYjC,UAAU1Q,UClItB,SAASiU,GAAgBC,EAAGC,GAKzC,OAJAF,GAAkB3e,OAAO8e,eAAiB9e,OAAO8e,eAAenP,OAAS,SAAyBiP,EAAGC,GAEnG,OADAD,EAAEG,UAAYF,EACPD,GAEFD,GAAgBC,EAAGC,GCLb,SAASG,KACtB,GAAuB,qBAAZC,UAA4BA,QAAQC,UAAW,OAAO,EACjE,GAAID,QAAQC,UAAUC,KAAM,OAAO,EACnC,GAAqB,oBAAVC,MAAsB,OAAO,EACxC,IAEE,OADAjZ,QAAQkZ,UAAUC,QAAQ9P,KAAKyP,QAAQC,UAAU/Y,QAAS,IAAI,iBACvD,EACP,MAAO9F,GACP,OAAO,GCNI,SAAS,GAAWkf,EAAQC,EAAMC,GAa/C,OAXE,GADE,KACWR,QAAQC,UAAUvP,OAElB,SAAoB4P,EAAQC,EAAMC,GAC7C,IAAIrY,EAAI,CAAC,MACTA,EAAE3H,KAAK+d,MAAMpW,EAAGoY,GAChB,IAAIE,EAAc1Q,SAASW,KAAK6N,MAAM+B,EAAQnY,GAC1CuY,EAAW,IAAID,EAEnB,OADID,GAAO,GAAeE,EAAUF,EAAMJ,WACnCM,GAGJ,GAAWnC,MAAM,KAAM3S,WCdzB,SAAS+U,GAAO5gB,GACrB,MAA+C,kBAAxCgB,OAAOqf,UAAUQ,SAASrQ,KAAKxQ,KAA6B,gBAAMA,EAAI8gB,WCK/E,IAAIC,IAAc,IAAIhM,MAAOiM,cAEzB,GAAmB,OAAAphB,EAAA,MAAgB,eACnC,GAAkB,GAAiB,GAExB,MAAgB,CAC7BqR,OAAQ,CAAC0M,IACTlX,MAAO,eAAS,GAAI+W,GAAa,CAC/BpW,KAAM,CACJA,KAAMF,OACNH,QAAS,YAEXka,QAAS,CACP7Z,KAAM2N,KACNhO,QAAS,WACP,OAAO,IAAIgO,KAAKgM,GAAc,GAAI,EAAG,IAEvCG,UAAWN,IAEbO,QAAS,CACP/Z,KAAM2N,KACNhO,QAAS,WACP,OAAO,IAAIgO,KAAKgM,GAAc,GAAI,GAAI,KAExCG,UAAWN,MAGf3Q,MAAO,CACLtG,OAAQ,mBACRsX,QAAS,WACP,IAAInX,EAAQ1H,KAEZA,KAAK+Q,WAAU,WACbrJ,EAAMsU,uBAGV+C,QAAS,SAAiBje,GACpBd,KAAKwb,WAAW0C,WAAapd,EAAMod,UACrCle,KAAKwb,WAAa1a,EAElBd,KAAKgc,oBAGTlb,MAAO,SAAelD,GACpBA,EAAMoC,KAAKyb,YAAY7d,GAEnBA,GAAOA,EAAIsgB,YAAcle,KAAKwb,WAAW0C,YAC3Cle,KAAKwb,WAAa5d,KAIxBmS,SAAU,CACR4L,OAAQ,WACN,IAAIqD,EAAoBhf,KAAKif,YAAY,MAAOjf,KAAKwb,WAAaxb,KAAKwb,WAAaxb,KAAK6e,SACrFK,EAAUF,EAAkBE,QAC5BH,EAAUC,EAAkBD,QAC5BI,EAAWH,EAAkBG,SAC7B3C,EAAUwC,EAAkBxC,QAC5BE,EAAYsC,EAAkBtC,UAE9B0C,EAAqBpf,KAAKif,YAAY,MAAOjf,KAAKwb,WAAaxb,KAAKwb,WAAaxb,KAAK6e,SACtFQ,EAAUD,EAAmBC,QAC7BR,EAAUO,EAAmBP,QAC7BS,EAAWF,EAAmBE,SAC9B/C,EAAU6C,EAAmB7C,QAC7BE,EAAY2C,EAAmB3C,UAE/Bte,EAAS,CAAC,CACZ6G,KAAM,OACN6W,MAAO,CAACwD,EAASH,IAChB,CACDla,KAAM,QACN6W,MAAO,CAACyD,EAAUH,IACjB,CACDna,KAAM,MACN6W,MAAO,CAACgD,EAASE,IAChB,CACD/Z,KAAM,OACN6W,MAAO,CAACU,EAASC,IAChB,CACDxX,KAAM,SACN6W,MAAO,CAACY,EAAWC,KAGrB,OAAQ1c,KAAKgF,MACX,IAAK,OACH7G,EAASA,EAAOoU,MAAM,EAAG,GACzB,MAEF,IAAK,aACHpU,EAASA,EAAOoU,MAAM,EAAG,GACzB,MAEF,IAAK,YACHpU,EAASA,EAAOoU,MAAM,EAAG,GACzB,MAEF,IAAK,WACHpU,EAASA,EAAOoU,MAAM,EAAG,GACzB,MAGJ,GAAIvS,KAAKqb,aAAc,CACrB,IAAIA,EAAerb,KAAKqb,aAAakE,OAAOphB,EAAOqH,KAAI,SAAUkU,GAC/D,OAAOA,EAAO1U,SAEhB7G,EAAO4H,MAAK,SAAUC,EAAGC,GACvB,OAAOoV,EAAanV,QAAQF,EAAEhB,MAAQqW,EAAanV,QAAQD,EAAEjB,SAIjE,OAAO7G,IAGXiJ,QAAS,CACPqU,YAAa,SAAqB3a,GAChC,IAAIuH,EAASrI,KAEb,IAAKwe,GAAO1d,GACV,OAAO,KAGT,IAAI+d,EAAU,IAAIlM,KAAK3S,KAAK6e,SACxBE,EAAU,IAAIpM,KAAK3S,KAAK+e,SACxBS,EAAc,CAChB/M,KAAM,cACNC,MAAO,WACP+M,IAAK,UACL7C,KAAM,WACNC,OAAQ,cAGV,GAAI7c,KAAK0b,cAAe,CACtB,IAAIgE,EAAc1f,KAAK0b,cAAclW,KAAI,SAAUjB,EAAMrG,GACvD,IAAI8G,EAAOT,EAAKS,KACZsE,EAAS/E,EAAK+E,OACduS,EAAQxT,EAAOsT,OAAOzd,GAAO2d,MAC7B8D,EAAad,EAAQW,EAAYxa,MACjC4a,EAAab,EAAQS,EAAYxa,MACjCyQ,EAAe,UAATzQ,GAAoBsE,EAAO,GAAK,GAAKA,EAAO,GAClDuW,EAAe,UAAT7a,GAAoBsE,EAAOA,EAAOrL,OAAS,GAAK,GAAKqL,EAAOA,EAAOrL,OAAS,GACtF,MAAO,CACL+G,KAAMA,EACNsE,OAAQ,CAACqW,EAAa9D,EAAM,GAAKjP,KAAKiT,IAAIF,EAAYlK,GAAOA,GAAOkK,EAAYC,EAAa/D,EAAM,GAAKjP,KAAK6I,IAAImK,EAAYC,GAAOA,GAAOD,OAI/I,GAAkB,cAAd5f,KAAKgF,KAAsB,CAC7B,IAAIyN,GAAQzS,KAAKwb,YAAcxb,KAAK6e,SAASD,cAC7Cc,EAAYI,QAAQ,CAClB9a,KAAM,OACNsE,OAAQ,CAACmJ,EAAMA,KAInB,IAAIsN,EAAQnhB,OAAO8U,KAAK8L,GAAaha,KAAI,SAAUR,GACjD,IAAIgb,EAEJ,OAEU,OAFFA,EAAuBN,EAAYnY,QAAO,SAAU9B,GAC1D,OAAOA,EAAKT,OAASA,KACpB,SAAc,EAASgb,EAAqB1W,UAC9C/B,QAAO,SAAU9B,GAClB,OAAOA,KAEToZ,EAAU,GAAWlM,KAAMoN,EAAMva,KAAI,SAAU5H,GAC7C,OAAO0U,GAAa1U,EAAI,QAE1BmhB,EAAU,GAAWpM,KAAMoN,EAAMva,KAAI,SAAU5H,GAC7C,OAAO0U,GAAa1U,EAAI,QAM5B,OAFAkD,EAAQ8L,KAAKiT,IAAI/e,EAAO+d,EAAQH,WAChC5d,EAAQ8L,KAAK6I,IAAI3U,EAAOie,EAAQL,WACzB,IAAI/L,KAAK7R,IAElBme,YAAa,SAAqBja,EAAMlE,GACtC,IAAImf,EAEAC,EAAWlgB,KAAKgF,EAAO,QACvByN,EAAOyN,EAAStB,cAChBlM,EAAQ,EACRyN,EAAO,EACPvD,EAAO,EACPC,EAAS,EAyBb,MAvBa,QAAT7X,IACF0N,EAAQ,GACRyN,EAAO3N,GAAe1R,EAAM8d,cAAe9d,EAAMsf,WAAa,GAC9DxD,EAAO,GACPC,EAAS,IAGP/b,EAAM8d,gBAAkBnM,IAC1BC,EAAQwN,EAASE,WAAa,EAE1Btf,EAAMsf,WAAa,IAAM1N,IAC3ByN,EAAOD,EAAStN,UAEZ9R,EAAM8R,YAAcuN,IACtBvD,EAAOsD,EAASG,WAEZvf,EAAMuf,aAAezD,IACvBC,EAASqD,EAASI,iBAMnBL,EAAQ,GAAIA,EAAMjb,EAAO,QAAUyN,EAAMwN,EAAMjb,EAAO,SAAW0N,EAAOuN,EAAMjb,EAAO,QAAUmb,EAAMF,EAAMjb,EAAO,QAAU4X,EAAMqD,EAAMjb,EAAO,UAAY6X,EAAQoD,GAE5KjE,iBAAkB,WAChB,IAkBIvJ,EACAC,EACA+M,EApBApW,EAASrJ,KAETgF,EAAOhF,KAAKgF,KACZsU,EAAUtZ,KAAKic,YAAY9C,aAE3BnC,EAAW,SAAkBhS,GAC/B,IAAI9G,EAAQ,EAEZmL,EAAOqS,cAActW,SAAQ,SAAUsU,EAAQL,GACzCrU,IAAS0U,EAAO1U,OAClB9G,EAAQmb,MAIZ,IAAI/P,EAASD,EAAOqS,cAAcxd,GAAOoL,OACzC,OAAOgJ,GAAahJ,EAAOgQ,EAAQpb,MAOxB,cAAT8G,GACFyN,GAAQzS,KAAKwb,YAAcxb,KAAK6e,SAASD,cACzClM,EAAQsE,EAAS,SACjByI,EAAMzI,EAAS,SAEfvE,EAAOuE,EAAS,QAChBtE,EAAQsE,EAAS,SACjByI,EAAe,eAATza,EAAwB,EAAIgS,EAAS,QAG7C,IAAIuJ,EAAS/N,GAAeC,EAAMC,GAClC+M,EAAMA,EAAMc,EAASA,EAASd,EAC9B,IAAI7C,EAAO,EACPC,EAAS,EAEA,aAAT7X,IACF4X,EAAO5F,EAAS,SAGL,aAAThS,IACF4X,EAAO5F,EAAS,QAChB6F,EAAS7F,EAAS,WAGpB,IAAIlW,EAAQ,IAAI6R,KAAKF,EAAMC,EAAQ,EAAG+M,EAAK7C,EAAMC,GACjD7c,KAAKwb,WAAaxb,KAAKyb,YAAY3a,IAErC0Y,SAAU,SAAkB0C,GAC1B,IAAI/E,EAASnX,KAEbA,KAAKgc,mBACLhc,KAAK+Q,WAAU,WACboG,EAAOpG,WAAU,WAEfoG,EAAO6E,mBAEP7E,EAAO5N,MAAM,SAAU2S,UAI7BH,kBAAmB,WACjB,IAAIf,EAAShb,KAETc,EAAQd,KAAKwb,WAAaxb,KAAKwb,WAAaxb,KAAK6e,QACjDvD,EAAYtb,KAAKsb,UACjBhS,EAAStJ,KAAK0b,cAAclW,KAAI,SAAUkU,GAC5C,OAAQA,EAAO1U,MACb,IAAK,OACH,OAAOsW,EAAU,OAAQ,GAAKxa,EAAM8d,eAEtC,IAAK,QACH,OAAOtD,EAAU,QAAS,gBAAQxa,EAAMsf,WAAa,IAEvD,IAAK,MACH,OAAO9E,EAAU,MAAO,gBAAQxa,EAAM8R,YAExC,IAAK,OACH,OAAO0I,EAAU,OAAQ,gBAAQxa,EAAMuf,aAEzC,IAAK,SACH,OAAO/E,EAAU,SAAU,gBAAQxa,EAAMwf,eAE3C,QAEE,OAAO,SAGbtgB,KAAK+Q,WAAU,WACbiK,EAAOiB,YAAYjC,UAAU1Q,UChTjC,GAAmB,OAAA9L,EAAA,MAAgB,mBACnC,GAAkB,GAAiB,GACnC,GAAM,GAAiB,GAEZ,MAAgB,CAC7B6G,MAAO,eAAS,GAAImc,GAAWnc,MAAOoc,GAAWpc,OACjD+C,QAAS,CAEP6U,UAAW,WACT,OAAOjc,KAAKiO,MAAMyS,KAAKvE,qBAG3Brc,OAAQ,WACN,IAAIsE,EAAIqF,UAAU,GACdkX,EAA0B,SAAd3gB,KAAKgF,KAAkBwb,GAAaC,GACpD,OAAOrc,EAAEuc,EAAW,CAClB,IAAO,OACP,MAAS,KACT,YAAe3gB,KAAKmb,aACpB,MAAS,eAAS,GAAInb,KAAK4gB,QAC3B,GAAM,eAAS,GAAI5gB,KAAK6gB,iB,aCvB1B,GAAmB,OAAArjB,EAAA,MAAgB,YACnC,GAAkB,GAAiB,GACnC,GAAM,GAAiB,GACvB,GAAI,GAAiB,GAGlB,SAASsjB,GAAiBX,GAC/B,OAAO,GAAE,aAAcA,EAAKvB,cAAeuB,EAAKC,WAAa,GAExD,SAASW,GAAaC,EAAOC,GAClC,IAAIC,EAAQF,EAAMpC,cACduC,EAAQF,EAAMrC,cACdwC,EAASJ,EAAMZ,WACfiB,EAASJ,EAAMb,WAEnB,OAAIc,IAAUC,EACLC,IAAWC,EAAS,EAAID,EAASC,EAAS,GAAK,EAGjDH,EAAQC,EAAQ,GAAK,EAEvB,SAASG,GAAWC,EAAMC,GAC/B,IAAIC,EAAqBV,GAAaQ,EAAMC,GAE5C,GAA2B,IAAvBC,EAA0B,CAC5B,IAAIT,EAAQO,EAAK3O,UACbqO,EAAQO,EAAK5O,UACjB,OAAOoO,IAAUC,EAAQ,EAAID,EAAQC,EAAQ,GAAK,EAGpD,OAAOQ,EAEF,SAASC,GAAevB,EAAMvL,GAGnC,OAFAuL,EAAO,IAAIxN,KAAKwN,GAChBA,EAAKwB,QAAQxB,EAAKvN,UAAYgC,GACvBuL,EAEF,SAASyB,GAAWzB,GACzB,OAAOuB,GAAevB,GAAO,GAExB,SAAS0B,GAAW1B,GACzB,OAAOuB,GAAevB,EAAM,GAEvB,SAAS2B,GAAY3B,GAC1B,IAAIoB,EAAOpB,EAAK,GAAGzB,UACf8C,EAAOrB,EAAK,GAAGzB,UACnB,OAAQ8C,EAAOD,GAAQ,MAAwB,EAE1C,SAASQ,GAAShC,GACvB,OAAO,IAAIpN,KAAKoN,GAEX,SAASiC,GAAUjC,GACxB,OAAIxhB,MAAMC,QAAQuhB,GACTA,EAAMva,KAAI,SAAU2a,GACzB,OAAa,OAATA,EACKA,EAGF4B,GAAS5B,MAIb4B,GAAShC,G,iBChEdnW,GAAY,EACT,SAASqY,GAAUC,GACpBA,GACGtY,IACH0D,SAASiD,KAAKC,UAAUC,IAAI,0BAG9B7G,OAEAA,KAEKA,IACH0D,SAASiD,KAAKC,UAAUxG,OAAO,2BCHrC,IAAI,GAAmB,OAAAxM,EAAA,MAAgB,SACnC,GAAkB,GAAiB,GACnC,GAAM,GAAiB,GAEZ,MAAgB,CAC7BqR,OAAQ,CAACc,KACTtL,MAAO,CACL8d,KAAMrd,OACN2F,UAAW,KACX2X,WAAYtd,OACZud,YAAavd,OACbwd,YAAavd,QACbwd,aAAcxd,QACdyd,QAAS,CAACjc,OAAQzB,QAClBE,KAAM,CACJA,KAAMF,OACNH,QAAS,QAEX6M,SAAU,CACRxM,KAAMF,OACNH,QAAS,UAEXyM,WAAY,CACVpM,KAAMF,OACNH,QAAS,YAEX+F,WAAY,CACV1F,KAAMD,QACNJ,SAAS,IAGbE,KAAM,WACJ,MAAO,CACL4d,WAAW,IAGf3U,QAAS,WACP9N,KAAK0iB,mBAEPzN,UAAW,WACTjV,KAAK0iB,mBAEP7U,MAAO,CACL/M,MAAO,kBACPwhB,YAAa,mBAEflb,QAAS,CACPwK,QAAS,WACH5R,KAAKuiB,cACPviB,KAAKoL,SAGTsX,gBAAiB,WACf,IAAID,EAAYziB,KAAKc,OAASd,KAAKsiB,YAE/BtiB,KAAKyiB,YAAcA,IACrBziB,KAAKyiB,UAAYA,EACjBR,GAAUQ,KAKdE,aAAc,WACZ3iB,KAAKuJ,MAAM,UAEPvJ,KAAK6R,UACP7R,KAAK6R,YAGT+Q,aAAc,WACZ5iB,KAAKuJ,MAAM,WAEbsZ,QAAS,WACP,IAAIze,EAAIpE,KAAKoX,eACT+K,EAAOniB,KAAKmiB,KACZnd,EAAOhF,KAAKgF,KACZod,EAAapiB,KAAKoiB,WAClBC,EAAcriB,KAAKqiB,YACnBS,EAAUX,GAAiB,YAATnd,GAA+B,SAATA,EAE5C,OAAI8d,EACK1e,EAAE,OAAM,CACb,MAAS,GAAI,QACb,MAAS,CACP,YAAege,EACf,KAAQD,GAAQnd,KAKT,YAATA,EACKZ,EAAE,QAAS,CAChB,MAAS,GAAI,WACb,MAAS,CACP,KAAQie,UAJd,GASFU,WAAY,WACV,IAAI3e,EAAIpE,KAAKoX,eACTpS,EAAOhF,KAAKgF,KACZwd,EAAUxiB,KAAKwiB,QAEnB,GAAK,eAAMA,IAAwB,KAAZA,EAIvB,MAAa,SAATxd,EACKZ,EAAE,MAAO,CACd,MAAS,GAAI,QACb,SAAY,CACV,UAAaoe,KAKZpe,EAAE,MAAO,CACd,MAAS,GAAI,SACZ,CAACoe,MAGR1iB,OAAQ,WACN,IAAIyE,EAEAH,EAAIqF,UAAU,GAClB,OAAOrF,EAAE,aAAc,CACrB,MAAS,CACP,KAAQpE,KAAKoR,YAEf,GAAM,CACJ,WAAcpR,KAAK2iB,aACnB,WAAc3iB,KAAK4iB,eAEpB,CAACxe,EAAE,MAAO,CACX,WAAc,CAAC,CACbzD,KAAM,OACNG,MAAOd,KAAKc,QAEd,MAAS,CAAC,GAAI,CAACd,KAAKwR,UAAWjN,EAAO,GAAIA,EAAKvE,KAAKgF,OAAShF,KAAKmiB,KAAM5d,KAASvE,KAAKyK,WACtF,GAAM,CACJ,MAASzK,KAAK4R,UAEf,CAAC5R,KAAK6iB,UAAW7iB,KAAK+iB,oBCnJzBC,GAAiB,CACnBb,KAAM,GACNnd,KAAM,OAENie,MAAM,EACNniB,OAAO,EACP0hB,QAAS,GACT/X,UAAW,GACXR,SAAS,EACTiZ,QAAS,KACTrR,SAAU,KACVxP,SAAU,IACV+f,gBAAYhkB,EACZoT,SAAU,SACVJ,WAAY,WACZkR,aAAa,EACbD,iBAAajkB,EACbuP,aAAc,OACd6B,aAAc,KACd+S,cAAc,EACdrX,qBAAqB,GAGnBiY,GAAoB,GACpBC,GAAQ,GACR,IAAW,EAEXC,GAAiB,eAAS,GAAIL,IAElC,SAASM,GAAad,GACpB,OAAI,eAASA,GACJA,EAGF,CACLA,QAASA,GAIb,SAASe,GAAaxP,GACpB,OAAOzG,SAASiD,KAAKiT,SAASzP,GAGhC,SAAS0P,KAEP,GAAI,OACF,MAAO,GAOT,GAJAL,GAAQA,GAAM7b,QAAO,SAAU9B,GAC7B,OAAQA,EAAKoD,IAAIgC,YAAc0Y,GAAa9d,EAAKoD,SAG9Cua,GAAMnlB,QAAU,GAAU,CAC7B,IAAIylB,EAAQ,IAAK,cAAIC,OAAO,IAAhB,CAA2B,CACrC/Y,GAAI0C,SAASsW,cAAc,SAE7BF,EAAMG,IAAI,SAAS,SAAU/iB,GAC3B4iB,EAAM5iB,MAAQA,KAEhBsiB,GAAM/kB,KAAKqlB,GAGb,OAAON,GAAMA,GAAMnlB,OAAS,GAI9B,SAAS6lB,GAAiBnb,GACxB,OAAO,eAAS,GAAIA,EAAS,CAC3BsB,QAAStB,EAAQsa,MAAQta,EAAQsB,QACjCgZ,UAAM7kB,EACNiE,cAAUjE,IAId,SAAS,GAAMuK,QACG,IAAZA,IACFA,EAAU,IAGZ,IAAI+a,EAAQD,KA2CZ,OAzCIC,EAAM5iB,OACR4iB,EAAM1S,eAGRrI,EAAU2a,GAAa3a,GACvBA,EAAU,eAAS,GAAI0a,GAAgBF,GAAkBxa,EAAQ3D,MAAQqe,GAAere,MAAO2D,GAM/FA,EAAQob,MAAQ,WACdL,EAAM5iB,OAAQ,EAEV6H,EAAQua,UACVva,EAAQua,UACRva,EAAQua,QAAU,MAGhB,KAAa,QACfQ,EAAMG,IAAI,UAAU,WAClBxN,aAAaqN,EAAMM,OACnBZ,GAAQA,GAAM7b,QAAO,SAAU9B,GAC7B,OAAOA,IAASie,KAElB/Y,EAAW+Y,EAAM7a,KACjB6a,EAAMO,eAKZ,eAASP,EAAOI,GAAiBnb,IAEjC0N,aAAaqN,EAAMM,OAEfrb,EAAQtG,SAAW,IACrBqhB,EAAMM,MAAQ7N,YAAW,WACvBuN,EAAMK,UACLpb,EAAQtG,WAGNqhB,EAGT,IAAI,GAAe,SAAsB1e,GACvC,OAAO,SAAU2D,GACf,OAAO,GAAM,eAAS,CACpB3D,KAAMA,GACLse,GAAa3a,OAIpB,CAAC,UAAW,UAAW,QAAQvD,SAAQ,SAAU8e,GAC/C,GAAMA,GAAU,GAAaA,MAG/B,GAAMH,MAAQ,SAAUzb,GAClB8a,GAAMnlB,SACJqK,GACF8a,GAAMhe,SAAQ,SAAUse,GACtBA,EAAMK,WAERX,GAAQ,IACE,GAGVA,GAAMe,QAAQJ,QAFdX,GAAM,GAAGW,UAOf,GAAMK,kBAAoB,SAAUpf,EAAM2D,GACpB,kBAAT3D,EACTme,GAAkBne,GAAQ2D,EAE1B,eAAS0a,GAAgBre,IAI7B,GAAMqf,oBAAsB,SAAUrf,GAChB,kBAATA,EACTme,GAAkBne,GAAQ,MAE1Bqe,GAAiB,eAAS,GAAIL,IAC9BG,GAAoB,KAIxB,GAAMmB,cAAgB,SAAUxjB,QAChB,IAAVA,IACFA,GAAQ,GAGV,GAAWA,GAGb,GAAMyjB,QAAU,WACd,cAAIC,IAAI,KAGV,cAAIvG,UAAUwG,OAAS,GACR,UCvLX,GAAmB,OAAAjnB,EAAA,MAAgB,kBACnC,GAAkB,GAAiB,GAExB,MAAgB,CAC7B6G,MAAO,CACL8b,KAAMxN,KACN3N,KAAMF,OACN4f,MAAO5f,OACP+Z,QAASlM,KACToM,QAASpM,KACTgS,SAAU5f,QACV6f,UAAW,CAACre,OAAQzB,QACpBwW,UAAW1N,SACX8B,WAAY3K,QACZ8f,YAAa,CAAClS,KAAMpU,OACpBumB,aAAc/f,QACdggB,aAAchgB,QACdigB,eAAgBjgB,QAChBkgB,eAAgB1e,QAElB1B,KAAM,WACJ,MAAO,CACLqgB,SAAS,IAGbnV,SAAU,CACRnL,MAAO,WACL,OAAOkc,GAAiB9gB,KAAKmgB,OAE/BgF,kBAAmB,WACjB,OAAO,gBAAQnlB,KAAK4kB,YAEtBhQ,OAAQ,WACN,IAAIqQ,EAAiBjlB,KAAKilB,eACtBG,EAAUplB,KAAKmgB,KAAKkF,SAExB,OAAKJ,GAIGG,EAAU,EAAIplB,KAAKilB,gBAAkB,EAHpCG,GAKXE,SAAU,WACR,OAAO9S,GAAexS,KAAKmgB,KAAKvB,cAAe5e,KAAKmgB,KAAKC,WAAa,IAExEpQ,aAAc,WACZ,OAAOhQ,KAAKklB,UAAYllB,KAAK0P,YAE/B6V,aAAc,WAIZ,IAHA,IAAIC,EAAO,GACPtQ,EAAQtI,KAAK6Y,MAAMzlB,KAAKslB,SAAWtlB,KAAK4U,QAAU,GAE7C6K,EAAM,EAAGA,GAAOvK,EAAOuK,IAC9B+F,EAAKnnB,KAAK,CACR2G,KAAM,gBAIV,OAAOwgB,GAETE,KAAM,WAKJ,IAJA,IAAIA,EAAO,GACPjT,EAAOzS,KAAKmgB,KAAKvB,cACjBlM,EAAQ1S,KAAKmgB,KAAKC,WAEbX,EAAM,EAAGA,GAAOzf,KAAKslB,SAAU7F,IAAO,CAC7C,IAAIU,EAAO,IAAIxN,KAAKF,EAAMC,EAAO+M,GAC7Bza,EAAOhF,KAAK2lB,WAAWxF,GACvB7U,EAAS,CACX6U,KAAMA,EACNnb,KAAMA,EACNwS,KAAMiI,EACNmG,WAAY5lB,KAAK6lB,cAAc7gB,IAG7BhF,KAAKsb,YACPhQ,EAAStL,KAAKsb,UAAUhQ,IAG1Boa,EAAKrnB,KAAKiN,GAGZ,OAAOoa,IAGXte,QAAS,CACP0e,UAAW,WACT,IAAIC,EAEJ,OAAkC,OAAzBA,EAAY/lB,KAAK6I,UAAe,EAASkd,EAAUC,wBAAwB1O,SAAW,GAEjGxO,eAAgB,SAAwByH,GACtC,IAAI0V,EAAcjmB,KAAKiO,MACnByX,EAAOO,EAAYP,KACnBhT,EAAQuT,EAAYvT,MACpB9H,EAAK5K,KAAK+kB,aAAeW,EAAOhT,EAChC9B,EAAYhG,EAAGob,wBAAwBE,IAAM3V,EAAKyV,wBAAwBE,IAAM3V,EAAKK,UACzF,eAAaL,EAAMK,IAErBuV,mBAAoB,SAA4B1G,GAC9C,IAAI/X,EAAQ1H,KAERomB,EAAa,SAAoBjG,GACnC,OAAOzY,EAAMmd,YAAYjc,MAAK,SAAUnD,GACtC,OAAkC,IAA3B6b,GAAW7b,EAAM0a,OAI5B,GAAIiG,EAAW3G,GAAM,CACnB,IAAI4G,EAAUzE,GAAWnC,GACrB6G,EAAUzE,GAAWpC,GACrB8G,EAAeH,EAAWC,GAC1BG,EAAeJ,EAAWE,GAE9B,OAAIC,GAAgBC,EACX,kBAGLD,EACK,MAGFC,EAAe,QAAU,oBAGlC,MAAO,IAETC,gBAAiB,SAAyBhH,GACxC,IAAIiH,EAAoB1mB,KAAK6kB,YACzB8B,EAAWD,EAAkB,GAC7BE,EAASF,EAAkB,GAE/B,IAAKC,EACH,MAAO,GAGT,IAAIE,EAAiBvF,GAAW7B,EAAKkH,GAErC,IAAKC,EACH,OAA0B,IAAnBC,EAAuB,QAAU,GAG1C,IAAIC,EAAexF,GAAW7B,EAAKmH,GAEnC,OAAuB,IAAnBC,GAAyC,IAAjBC,GAAsB9mB,KAAK8kB,aAC9C,YAGc,IAAnB+B,EACK,QAGY,IAAjBC,EACK,MAGLD,EAAiB,GAAKC,EAAe,EAChC,cADT,GAIFnB,WAAY,SAAoBlG,GAC9B,IAAIza,EAAOhF,KAAKgF,KACZ6Z,EAAU7e,KAAK6e,QACfE,EAAU/e,KAAK+e,QACf8F,EAAc7kB,KAAK6kB,YAEvB,OAAIvD,GAAW7B,EAAKZ,GAAW,GAAKyC,GAAW7B,EAAKV,GAAW,EACtD,WAGW,OAAhB8F,EAIS,WAAT7f,EACsC,IAAjCsc,GAAW7B,EAAKoF,GAAqB,WAAa,GAG9C,aAAT7f,EACKhF,KAAKmmB,mBAAmB1G,GAKpB,UAATza,EACKhF,KAAKymB,gBAAgBhH,QAD9B,OAdA,GAkBFoG,cAAe,SAAuB7gB,GACpC,GAAkB,UAAdhF,KAAKgF,KAAkB,CACzB,GAAa,UAATA,GAA6B,QAATA,EACtB,OAAO,GAAEA,GAGX,GAAa,cAATA,EACF,OAAO,GAAE,cAIf+hB,YAAa,SAAqB/hB,EAAM9G,GACtC,IAAImM,EAAQ,CACViN,OAAQtX,KAAKmlB,mBAGf,MAAa,gBAATngB,GACFqF,EAAM2c,MAAQ,OACP3c,IAGK,IAAVnM,IACFmM,EAAM4c,WAAa,IAAMjnB,KAAK4U,OAAS,EAAI,KAGzC5U,KAAK0kB,QACM,UAAT1f,GAA6B,QAATA,GAA2B,cAATA,GAAiC,sBAATA,GAAyC,oBAATA,EAChGqF,EAAM6c,WAAalnB,KAAK0kB,MACN,WAAT1f,IACTqF,EAAMqa,MAAQ1kB,KAAK0kB,QAIhBra,IAET+P,SAAU,WACR,IAAIhW,EAAIpE,KAAKoX,eAEb,GAAIpX,KAAKglB,eACP,OAAO5gB,EAAE,MAAO,CACd,MAAS,GAAI,gBACZ,CAACpE,KAAK4E,SAGbuiB,QAAS,WACP,IAAI/iB,EAAIpE,KAAKoX,eAEb,GAAIpX,KAAK2kB,UAAY3kB,KAAKgQ,aACxB,OAAO5L,EAAE,MAAO,CACd,MAAS,GAAI,eACZ,CAACpE,KAAKmgB,KAAKC,WAAa,KAG/BgH,QAAS,WACP,IAAIhjB,EAAIpE,KAAKoX,eACTsO,EAAO1lB,KAAKgQ,aAAehQ,KAAK0lB,KAAO1lB,KAAKulB,aAChD,OAAOnhB,EAAE,MAAO,CACd,IAAO,OACP,MAAS,CACP,KAAQ,QAEV,MAAS,GAAI,SACZ,CAACpE,KAAKmnB,UAAWzB,EAAKlgB,IAAIxF,KAAKqnB,WAEpCC,WAAY,SAAoB7hB,GAC9B,IAAIrB,EAAIpE,KAAKoX,eACTmQ,EAAOvnB,KAAKmb,aAAa,YAE7B,GAAI1V,EAAK+hB,SAAWD,EAClB,OAAOnjB,EAAE,MAAO,CACd,MAAS,GAAI,aACZ,CAACmjB,EAAOA,EAAK9hB,GAAQA,EAAK+hB,WAGjCC,cAAe,SAAuBhiB,GACpC,IAAIrB,EAAIpE,KAAKoX,eACTmQ,EAAOvnB,KAAKmb,aAAa,eAE7B,GAAI1V,EAAKmgB,YAAc2B,EACrB,OAAOnjB,EAAE,MAAO,CACd,MAAS,GAAI,gBACZ,CAACmjB,EAAOA,EAAK9hB,GAAQA,EAAKmgB,cAGjCyB,OAAQ,SAAgB5hB,EAAMvH,GAC5B,IAAImK,EAASrI,KAEToE,EAAIpE,KAAKoX,eACTpS,EAAOS,EAAKT,KACZqF,EAAQrK,KAAK+mB,YAAY/hB,EAAM9G,GAC/BkI,EAAoB,aAATpB,EAEX4M,EAAU,WACPxL,GACHiC,EAAOkB,MAAM,QAAS9D,IAI1B,MAAa,aAATT,EACKZ,EAAE,MAAO,CACd,MAAS,CACP,KAAQ,WACR,UAAa,GAEf,MAASiG,EACT,MAAS,CAAC,GAAI,OAAQ5E,EAAKgF,WAC3B,GAAM,CACJ,MAASmH,IAEV,CAACxN,EAAE,MAAO,CACX,MAAS,GAAI,gBACb,MAAS,CACP4iB,MAAOhnB,KAAKmlB,kBACZ7N,OAAQtX,KAAKmlB,kBACb+B,WAAYlnB,KAAK0kB,QAElB,CAAC1kB,KAAKsnB,WAAW7hB,GAAOA,EAAK+R,KAAMxX,KAAKynB,cAAchiB,OAGpDrB,EAAE,MAAO,CACd,MAAS,CACP,KAAQ,WACR,SAAYgC,EAAW,MAAQ,GAEjC,MAASiE,EACT,MAAS,CAAC,GAAI,MAAOrF,GAAOS,EAAKgF,WACjC,GAAM,CACJ,MAASmH,IAEV,CAAC5R,KAAKsnB,WAAW7hB,GAAOA,EAAK+R,KAAMxX,KAAKynB,cAAchiB,OAG7D3F,OAAQ,WACN,IAAIsE,EAAIqF,UAAU,GAClB,OAAOrF,EAAE,MAAO,CACd,MAAS,GAAI,SACb,IAAO,SACN,CAACpE,KAAKoa,WAAYpa,KAAKonB,eCvU1B,GAAmB,OAAA5pB,EAAA,MAAgB,mBACnC,GAAkB,GAAiB,GAExB,MAAgB,CAC7B6G,MAAO,CACLO,MAAOE,OACP4iB,SAAU5iB,OACV6iB,UAAW5iB,QACXggB,aAAchgB,QACdkgB,eAAgB1e,QAElBa,QAAS,CACPgT,SAAU,WACR,IAAIhW,EAAIpE,KAAKoX,eAEb,GAAIpX,KAAK2nB,UAAW,CAClB,IAAI/iB,EAAQ5E,KAAKsE,MAAM,UAAYtE,KAAK4E,OAAS,GAAE,SACnD,OAAOR,EAAE,MAAO,CACd,MAAS,GAAI,iBACZ,CAACQ,MAGRgjB,YAAa,WACX,IAAIxjB,EAAIpE,KAAKoX,eAEb,GAAIpX,KAAK+kB,aACP,OAAO3gB,EAAE,MAAO,CACd,MAAS,GAAI,oBACZ,CAACpE,KAAK0nB,YAGbG,YAAa,WACX,IAAIzjB,EAAIpE,KAAKoX,eACT0Q,EAAW,GAAE,YACb7C,EAAiBjlB,KAAKilB,eACtB8C,EAAiB,GAAGxI,OAAOuI,EAASvV,MAAM0S,EAAgB,GAAI6C,EAASvV,MAAM,EAAG0S,IACpF,OAAO7gB,EAAE,MAAO,CACd,MAAS,GAAI,aACZ,CAAC2jB,EAAeviB,KAAI,SAAUC,GAC/B,OAAOrB,EAAE,OAAQ,CACf,MAAS,GAAI,YACZ,CAACqB,WAIV3F,OAAQ,WACN,IAAIsE,EAAIqF,UAAU,GAClB,OAAOrF,EAAE,MAAO,CACd,MAAS,GAAI,WACZ,CAACpE,KAAKoa,WAAYpa,KAAK4nB,cAAe5nB,KAAK6nB,mBCzCnC,MAAgB,CAC7BxjB,MAAO,CACLO,MAAOE,OACP4f,MAAO5f,OACPhE,MAAOiE,QACPsB,SAAUtB,QACVuW,UAAW1N,SACXgX,UAAW,CAACre,OAAQzB,QACpBkjB,YAAaljB,OACbmjB,YAAanjB,OACbojB,YAAa,CAACvV,KAAMpU,OACpBoP,aAAc,CAAC7I,OAAQ8I,UACvBkX,aAAc/f,QACdojB,oBAAqBrjB,OACrBE,KAAM,CACJA,KAAMF,OACNH,QAAS,UAEXuM,MAAO,CACLlM,KAAMD,QACNJ,SAAS,GAEX6M,SAAU,CACRxM,KAAMF,OACNH,QAAS,UAEXyjB,SAAU,CACRpjB,KAAMD,QACNJ,SAAS,GAEX0jB,SAAU,CACRrjB,KAAM,CAACuB,OAAQzB,QACfH,QAAS,MAEX+K,WAAY,CACV1K,KAAMD,QACNJ,SAAS,GAEXggB,SAAU,CACR3f,KAAMD,QACNJ,SAAS,GAEXgjB,UAAW,CACT3iB,KAAMD,QACNJ,SAAS,GAEX2jB,YAAa,CACXtjB,KAAMD,QACNJ,SAAS,GAEXogB,aAAc,CACZ/f,KAAMD,QACNJ,SAAS,GAEXqK,gBAAiB,CACfhK,KAAMD,QACNJ,SAAS,GAEXuG,oBAAqB,CACnBlG,KAAMD,QACNJ,SAAS,GAEX0M,oBAAqB,CACnBrM,KAAMD,QACNJ,SAAS,GAEXka,QAAS,CACP7Z,KAAM2N,KACNmM,UAAWN,GACX7Z,QAAS,WACP,OAAO,IAAIgO,OAGfoM,QAAS,CACP/Z,KAAM2N,KACNmM,UAAWN,GACX7Z,QAAS,WACP,IAAIkR,EAAM,IAAIlD,KACd,OAAO,IAAIA,KAAKkD,EAAI+I,cAAe/I,EAAIuK,WAAa,EAAGvK,EAAIjD,aAG/DqS,eAAgB,CACdjgB,KAAM,CAACuB,OAAQzB,QACfH,QAAS,EACTma,UAAW,SAAmBlhB,GAC5B,OAAOA,GAAO,GAAKA,GAAO,KAIhC2qB,OAAQ,CACN3Y,SAAU,CACRjL,QAAS,OAGbE,KAAM,WACJ,MAAO,CACL6iB,SAAU,GACV7C,YAAa7kB,KAAKwoB,mBAGtBzY,SAAU,CACR0Y,OAAQ,WACN,IAAIA,EAAS,GACT5P,EAAS,IAAIlG,KAAK3S,KAAK6e,SAC3BhG,EAAO8I,QAAQ,GAEf,GACE8G,EAAOpqB,KAAK,IAAIsU,KAAKkG,IACrBA,EAAO6P,SAAS7P,EAAOuH,WAAa,SACU,IAAvCW,GAAalI,EAAQ7Y,KAAK+e,UAEnC,OAAO0J,GAETE,eAAgB,WACd,IAAI3jB,EAAOhF,KAAKgF,KACZ6f,EAAc7kB,KAAK6kB,YAEvB,GAAIA,EAAa,CACf,GAAa,UAAT7f,EACF,OAAQ6f,EAAY,KAAOA,EAAY,GAGzC,GAAa,aAAT7f,EACF,OAAQ6f,EAAY5mB,OAIxB,OAAQ4mB,GAEV+D,UAAW,WACT,OAAO5oB,KAAKilB,eAAiBjlB,KAAKilB,eAAiB,EAAI,IAG3DpX,MAAO,CACL/M,MAAO,OACPkE,KAAM,WACJhF,KAAK6oB,SAEPX,YAAa,SAAqBtqB,GAChCoC,KAAK6kB,YAAcjnB,EACnBoC,KAAK8I,mBAGTgF,QAAS,WAIL,IAAIgb,GAHN9oB,KAAK+oB,OAEA/oB,KAAKooB,YAG4B,OAAnCU,EAAiB9oB,KAAK4P,WAA6BkZ,EAAejF,IAAI,SAAU7jB,KAAKgpB,YAK1Fva,UAAW,WACTzO,KAAK+oB,QAEP3hB,QAAS,CAEPyhB,MAAO,SAAe1I,QACP,IAATA,IACFA,EAAOngB,KAAKwoB,kBAGdxoB,KAAK6kB,YAAc1E,EACnBngB,KAAK8I,kBAEPigB,KAAM,WACJ,IAAIrhB,EAAQ1H,KAERA,KAAKooB,WAAapoB,KAAKc,OAI3Bd,KAAK+Q,WAAU,WAGbrJ,EAAMuhB,WAAarc,KAAKsc,MAAMxhB,EAAMuG,MAAMsC,KAAKyV,wBAAwB1O,QAEvE5P,EAAMshB,WAENthB,EAAMoB,qBAIVqgB,aAAc,SAAsBC,GAClC,IAAI/gB,EAASrI,KAEb,OAAAqpB,GAAA,OAAI,WACF,IAAIC,EAAYjhB,EAAOvH,QAAUuH,EAAO+f,SAGnCgB,GAAeE,IAIpBjhB,EAAOogB,OAAO7f,MAAK,SAAU8J,EAAOxU,GAClC,GAAwC,IAApC6iB,GAAarO,EAAO0W,GAAmB,CACzC,IAAIG,EAAelhB,EAAO4F,MACtBsC,EAAOgZ,EAAahZ,KACpBkY,EAASc,EAAad,OAE1B,OADAA,EAAOvqB,GAAO4K,eAAeyH,IACtB,EAGT,OAAO,KAGTlI,EAAO2gB,gBAIXlgB,eAAgB,WACd,IAAI+b,EAAc7kB,KAAK6kB,YAEvB,GAAIA,EAAa,CACf,IAAIuE,EAA2B,WAAdppB,KAAKgF,KAAoB6f,EAAcA,EAAY,GACpE7kB,KAAKmpB,aAAaC,KAGtBZ,eAAgB,WACd,IAAIxjB,EAAOhF,KAAKgF,KACZ6Z,EAAU7e,KAAK6e,QACfE,EAAU/e,KAAK+e,QACfmJ,EAAcloB,KAAKkoB,YAEvB,GAAoB,OAAhBA,EACF,OAAOA,EAGT,IAAIsB,EAAa,IAAI7W,KAQrB,IANyC,IAArC2O,GAAWkI,EAAY3K,GACzB2K,EAAa3K,EACgC,IAApCyC,GAAWkI,EAAYzK,KAChCyK,EAAazK,GAGF,UAAT/Z,EAAkB,CACpB,IAAIT,EAAO2jB,GAAe,GACtBvB,EAAWpiB,EAAK,GAChBqiB,EAASriB,EAAK,GAElB,MAAO,CAACoiB,GAAY6C,EAAY5C,GAAU/E,GAAW2H,IAGvD,MAAa,aAATxkB,EACKkjB,GAAe,CAACsB,GAGlBtB,GAAesB,GAIxBR,SAAU,WACR,IAAI/C,EAAcjmB,KAAKiO,MACnBsC,EAAO0V,EAAY1V,KACnBkY,EAASxC,EAAYwC,OACrBvC,EAAM,eAAa3V,GACnBkZ,EAASvD,EAAMlmB,KAAKipB,WACpBS,EAAUjB,EAAOjjB,KAAI,SAAUC,GACjC,OAAOA,EAAKqgB,eAEV6D,EAAYD,EAAQ3hB,QAAO,SAAU/B,EAAGC,GAC1C,OAAOD,EAAIC,IACV,GAEH,KAAIwjB,EAASE,GAAazD,EAAM,GAAhC,CAQA,IAJA,IACI0D,EADAtS,EAAS,EAETuS,EAAe,EAAE,GAAI,GAEhBnT,EAAI,EAAGA,EAAI+R,EAAOxqB,OAAQyY,IAAK,CACtC,IAAIwO,EAAU5N,GAAUmS,GAAUnS,EAASoS,EAAQhT,IAAMwP,EAErDhB,IACF2E,EAAa,GAAKnT,EAEbkT,IACHA,EAAenB,EAAO/R,GACtBmT,EAAa,GAAKnT,GAGf+R,EAAO/R,GAAGoT,SACbrB,EAAO/R,GAAGoT,QAAS,EACnB9pB,KAAKuJ,MAAM,aAAc,CACvB4W,KAAMsI,EAAO/R,GAAGyJ,KAChBvb,MAAO6jB,EAAO/R,GAAG9R,UAKvB0S,GAAUoS,EAAQhT,GAGpB+R,EAAOrjB,SAAQ,SAAUsN,EAAOxU,GAC9BwU,EAAMwS,QAAUhnB,GAAS2rB,EAAa,GAAK,GAAK3rB,GAAS2rB,EAAa,GAAK,KAIzED,IACF5pB,KAAK0nB,SAAWkC,EAAahlB,SAGjCmlB,WAAY,SAAoBtkB,GAC9B,IAAIzF,KAAKqG,SAAT,CAIA,IAAI8Z,EAAO1a,EAAK0a,KACZnb,EAAOhF,KAAKgF,KACZ6f,EAAc7kB,KAAK6kB,YAEvB,GAAa,UAAT7f,EAAkB,CACpB,IAAK6f,EAEH,YADA7kB,KAAKgqB,OAAO,CAAC7J,EAAM,OAIrB,IAAIwG,EAAW9B,EAAY,GACvB+B,EAAS/B,EAAY,GAEzB,GAAI8B,IAAaC,EAAQ,CACvB,IAAIC,EAAiBvF,GAAWnB,EAAMwG,GAEf,IAAnBE,EACF7mB,KAAKgqB,OAAO,CAACrD,EAAUxG,IAAO,IACD,IAApB0G,EACT7mB,KAAKgqB,OAAO,CAAC7J,EAAM,OACVngB,KAAK8kB,cACd9kB,KAAKgqB,OAAO,CAAC7J,EAAMA,IAAO,QAG5BngB,KAAKgqB,OAAO,CAAC7J,EAAM,YAEhB,GAAa,aAATnb,EAAqB,CAC9B,IAAK6f,EAEH,YADA7kB,KAAKgqB,OAAO,CAAC7J,IAIf,IAAI8J,EACArS,EAAW5X,KAAK6kB,YAAYjc,MAAK,SAAUshB,EAAUhsB,GACvD,IAAIisB,EAAuC,IAA/B7I,GAAW4I,EAAU/J,GAMjC,OAJIgK,IACFF,EAAgB/rB,GAGXisB,KAGT,GAAIvS,EAAU,CACZ,IAAIwS,EAAsBvF,EAAY3a,OAAO+f,EAAe,GACxDI,EAAiBD,EAAoB,GAEzCpqB,KAAKuJ,MAAM,WAAYwY,GAASsI,SACvBrqB,KAAKqoB,UAAYxD,EAAY5mB,QAAU+B,KAAKqoB,SACrD,GAAMroB,KAAKioB,aAAe,GAAE,cAAejoB,KAAKqoB,WAEhDroB,KAAKgqB,OAAO,GAAGzK,OAAOsF,EAAa,CAAC1E,UAGtCngB,KAAKgqB,OAAO7J,GAAM,KAGtBmK,YAAa,SAAqB1sB,GAChCoC,KAAKuJ,MAAM,QAAS3L,IAEtBosB,OAAQ,SAAgB7J,EAAMoK,GAC5B,IAAIlhB,EAASrJ,KAETgZ,EAAO,SAAcmH,GACvB9W,EAAOwb,YAAc1E,EAErB9W,EAAOE,MAAM,SAAUyY,GAAU3Y,EAAOwb,eAG1C,GAAI0F,GAA0B,UAAdvqB,KAAKgF,KAAkB,CACrC,IAAIwlB,EAAQxqB,KAAKyqB,WAAWtK,GAE5B,IAAKqK,EAQH,YANIxqB,KAAKsoB,YACPtP,EAAK,CAACmH,EAAK,GAAIuB,GAAevB,EAAK,GAAIngB,KAAKqoB,SAAW,KAEvDrP,EAAKmH,IAOXnH,EAAKmH,GAEDoK,IAAavqB,KAAKsoB,aACpBtoB,KAAKqc,aAGToO,WAAY,SAAoBtK,GAC9B,IAAIkI,EAAWroB,KAAKqoB,SAChBJ,EAAcjoB,KAAKioB,YAEvB,QAAII,GAAYvG,GAAY3B,GAAQkI,KAClC,GAAMJ,GAAe,GAAE,cAAeI,KAC/B,IAKXhM,UAAW,WACTrc,KAAKuJ,MAAM,UAAWyY,GAAUhiB,KAAK6kB,eAEvC6F,SAAU,SAAkBvK,EAAMjiB,GAChC,IAAIkG,EAAIpE,KAAKoX,eACT4N,EAA2B,IAAV9mB,IAAgB8B,KAAK+kB,aAC1C,OAAO3gB,EAAEumB,GAAO,CACd,IAAO,SACP,UAAY,EACZ,MAAS,CACP,KAAQxK,EACR,KAAQngB,KAAKgF,KACb,MAAShF,KAAK0kB,MACd,QAAW1kB,KAAK6e,QAChB,QAAW7e,KAAK+e,QAChB,SAAY/e,KAAK2kB,SACjB,UAAa3kB,KAAKsb,UAClB,UAAatb,KAAK4kB,UAClB,WAAc5kB,KAAK0P,WACnB,YAAe1P,KAAK6kB,YACpB,aAAgB7kB,KAAK+kB,aACrB,aAAgB/kB,KAAK8kB,aACrB,eAAkBE,EAClB,eAAkBhlB,KAAK4oB,WAEzB,YAAe,CACb,WAAY5oB,KAAKmb,aAAa,YAC9B,cAAenb,KAAKmb,aAAa,gBAEnC,GAAM,CACJ,MAASnb,KAAK+pB,eAIpBa,iBAAkB,WAChB,IAAIxmB,EAAIpE,KAAKoX,eACTmQ,EAAOvnB,KAAKsE,MAAM,UAEtB,GAAIijB,EACF,OAAOA,EAGT,GAAIvnB,KAAKsoB,YAAa,CACpB,IAAI9Q,EAAOxX,KAAK2oB,eAAiB3oB,KAAKmoB,oBAAsBnoB,KAAKgoB,YACjE,OAAO5jB,EAAE,OAAQ,CACf,MAAS,CACP,OAAS,EACT,OAAS,EACT,KAAQ,SACR,MAASpE,KAAK0kB,MACd,SAAY1kB,KAAK2oB,eACjB,WAAc,UAEhB,MAAS,GAAI,WACb,GAAM,CACJ,MAAS3oB,KAAKqc,YAEf,CAAC7E,GAAQ,GAAE,eAGlBqT,UAAW,WACT,IAAIzmB,EAAIpE,KAAKoX,eACb,OAAOhT,EAAE,MAAO,CACd,MAAS,GAAI,SAAU,CACrB0mB,OAAQ9qB,KAAKqR,uBAEd,CAACrR,KAAK4qB,sBAEXG,YAAa,WACX,IAAI5T,EAASnX,KAEToE,EAAIpE,KAAKoX,eACb,OAAOhT,EAAE,MAAO,CACd,MAAS,MACR,CAACA,EAAE4mB,GAAQ,CACZ,MAAS,CACP,MAAShrB,KAAK4E,MACd,UAAa5E,KAAK2nB,UAClB,SAAY3nB,KAAK0nB,SACjB,aAAgB1nB,KAAK+kB,aACrB,eAAkB/kB,KAAK4oB,WAEzB,YAAe,CACbhkB,MAAO,WACL,OAAOuS,EAAO7S,MAAM,aAGtBF,EAAE,MAAO,CACX,IAAO,OACP,MAAS,GAAI,QACb,GAAM,CACJ,OAAUpE,KAAKgpB,WAEhB,CAAChpB,KAAKyoB,OAAOjjB,IAAIxF,KAAK0qB,YAAa1qB,KAAK6qB,gBAG/C/qB,OAAQ,WACN,IAAIkb,EAAShb,KAEToE,EAAIqF,UAAU,GAElB,GAAIzJ,KAAKooB,SAAU,CACjB,IAAI6C,EAEAC,EAAiB,SAAwBvqB,GAC3C,OAAO,WACL,OAAOqa,EAAOzR,MAAM5I,KAIxB,OAAOyD,EAAE,GAAO,CACd,OAAU6mB,EAAS,CACjB,OAAS,EACT,MAASjrB,KAAKc,OACbmqB,EAAO,SAAWjrB,KAAKkR,MAAO+Z,EAAO,YAAcjrB,KAAKwR,SAAUyZ,EAAO,aAAejrB,KAAK2nB,WAAa3nB,KAAK+kB,aAAckG,EAAO,gBAAkBjrB,KAAK2N,aAAcsd,EAAO,mBAAqBjrB,KAAKgP,gBAAiBic,EAAO,uBAAyBjrB,KAAKkL,oBAAqB+f,GACxR,MAAS,GAAI,SACb,GAAM,CACJ,MAASjrB,KAAKsqB,YACd,KAAQY,EAAe,QACvB,OAAUA,EAAe,UACzB,MAASA,EAAe,SACxB,OAAUA,EAAe,YAE1B,CAAClrB,KAAK+qB,gBAGX,OAAO/qB,KAAK+qB,iBCniBLI,GAAc,CACvBC,KAAM,CAAC7kB,OAAQzB,QACfhE,MAAO,KACPiS,QAAShO,QACTqB,SAAUrB,QACVsmB,YAAavmB,OACbwmB,cAAexmB,OACfymB,YAAa,CACXvmB,KAAM,KACNL,SAAS,GAEX6mB,cAAe,CACbxmB,KAAM,KACNL,SAAS,IChBF8mB,GAAa,CACtBlD,OAAQ,CACNmD,SAAU,CACR/mB,QAAS,OAGbkJ,MAAO,CACL/M,MAAO,WACL,IAAI0G,EAAQxH,KAAK0rB,SAEblkB,IACFA,EAAMiB,kBACNjB,EAAMmkB,oBAAoB,eAIhC7W,QAAS,WACP,IAAItN,EAAQxH,KAAK0rB,SAEblkB,IAAUA,EAAM7B,WAClB6B,EAAM7B,SAAW3F,QCZnB,GAAmB,OAAAxC,EAAA,MAAgB,UACnC,GAAkB,GAAiB,GACnC,GAAM,GAAiB,GAEZ,MAAgB,CAC7BqR,OAAQ,CAAC4c,IACTpnB,MAAO8mB,GACPpb,SAAU,CACR6b,QAAS,WACP,OAAO5rB,KAAKc,QAAUd,KAAKurB,aAE7BlhB,MAAO,WACL,MAAO,CACLwhB,SAAU,gBAAQ7rB,KAAKorB,MACvBU,gBAAiB9rB,KAAK4rB,QAAU5rB,KAAKqrB,YAAcrrB,KAAKsrB,iBAI9DlkB,QAAS,CACPwK,QAAS,SAAiBxS,GAGxB,GAFAY,KAAKuJ,MAAM,QAASnK,IAEfY,KAAKoG,WAAapG,KAAK+S,QAAS,CACnC,IAAIgZ,EAAW/rB,KAAK4rB,QAAU5rB,KAAKwrB,cAAgBxrB,KAAKurB,YACxDvrB,KAAKuJ,MAAM,QAASwiB,GACpB/rB,KAAKuJ,MAAM,SAAUwiB,KAGzBC,WAAY,WACV,IAAI5nB,EAAIpE,KAAKoX,eAEb,GAAIpX,KAAK+S,QAAS,CAChB,IAAI2R,EAAQ1kB,KAAK4rB,QAAU5rB,KAAKqrB,YAAcrrB,KAAKsrB,cACnD,OAAOlnB,EAAE,QAAS,CAChB,MAAS,GAAI,WACb,MAAS,CACP,MAASsgB,QAMnB5kB,OAAQ,WACN,IAAIsE,EAAIqF,UAAU,GACdmiB,EAAU5rB,KAAK4rB,QACf7Y,EAAU/S,KAAK+S,QACf3M,EAAWpG,KAAKoG,SACpB,OAAOhC,EAAE,MAAO,CACd,MAAS,GAAI,CACXlF,GAAI0sB,EACJ7Y,QAASA,EACT3M,SAAUA,IAEZ,MAAS,CACP,KAAQ,SACR,eAAgBtB,OAAO8mB,IAEzB,MAAS5rB,KAAKqK,MACd,GAAM,CACJ,MAASrK,KAAK4R,UAEf,CAACxN,EAAE,MAAO,CACX,MAAS,GAAI,SACZ,CAACpE,KAAKgsB,oBCtEN,SAASC,GAAcC,EAASvjB,GACrC,IAAIwjB,EAASC,OAEG,IAAZzjB,IACFA,EAAU,IAGZ,IAAI0jB,EAAW1jB,EAAQ0jB,UAAY,QACnC,MAAO,CACL9D,QAAS4D,EAAU,GAAIA,EAAQD,GAAW,CACxCvnB,QAAS,MACRwnB,GACHpc,UAAWqc,EAAY,CACrBvmB,OAAQ,WACN,OAAI7F,KAAKssB,oBACA,KAGFtsB,KAAKksB,KAEbE,EAAUC,GAAY,WAGvB,OAFArsB,KAAKusB,eAEDvsB,KAAK6F,OACA7F,KAAK6F,OAAOF,SAASO,QAAQlG,MAG/B,MACNosB,GACHve,MAAO,CACLye,oBAAqB,SAA6B1uB,GAC3CA,GACHoC,KAAKusB,iBAIXze,QAAS,WACP9N,KAAKusB,gBAEP5d,cAAe,WACb,IAAIjH,EAAQ1H,KAERA,KAAK6F,SACP7F,KAAK6F,OAAOF,SAAW3F,KAAK6F,OAAOF,SAAS4B,QAAO,SAAU9B,GAC3D,OAAOA,IAASiC,OAItBN,QAAS,CACPmlB,aAAc,WACZ,GAAKvsB,KAAK6F,SAAkD,IAAxC7F,KAAK6F,OAAOF,SAASO,QAAQlG,MAAjD,CAIA,IAAI2F,EAAW,GAAG4Z,OAAOvf,KAAK6F,OAAOF,SAAU,CAAC3F,OAChD4F,EAAaD,EAAU3F,KAAK6F,QAC5B7F,KAAK6F,OAAOF,SAAWA,MAKxB,SAAS6mB,GAAY3mB,GAC1B,MAAO,CACLoB,QAAS,WACP,IAAI1C,EAEJ,OAAOA,EAAO,GAAIA,EAAKsB,GAAU7F,KAAMuE,GAEzCM,KAAM,WACJ,MAAO,CACLc,SAAU,MCpElB,ICCI,GDDA,GAAmB,OAAAnI,EAAA,MAAgB,gBACnC,GAAkB,GAAiB,GACnC,GAAM,GAAiB,GAEZ,MAAgB,CAC7BqR,OAAQ,CAAC2d,GAAY,mBACrBnoB,MAAO,CACLgN,oBAAqB,CACnBrM,KAAMD,QACNJ,SAAS,IAGb7E,OAAQ,WACN,IAAIsE,EAAIqF,UAAU,GAClB,OAAOrF,EAAE,MAAO,CACd,MAAS,GAAI,CACX0mB,OAAQ9qB,KAAKqR,uBAEd,CAACrR,KAAKsE,a,aEfT,GAAmB,OAAA9G,EAAA,MAAgB,uBACnC,GAAkB,GAAiB,GACnC,GAAM,GAAiB,GAEZ,MAAgB,CAC7BqR,OAAQ,CAACod,GAAc,mBACvB5nB,MAAO,eAAS,GAAI,QAAY,CAC9BW,KAAMF,OACN0S,KAAM1S,OACNqd,KAAMrd,OACN4f,MAAO5f,OACPiO,QAAShO,QACTqB,SAAUrB,UAEZgL,SAAU,CACR0c,QAAS,WACP,IAAIC,EAAO1sB,KAAK6F,QAAU7F,KAAK6F,OAAOF,SAAS3F,KAAK9B,MAAQ,GAC5D,OAAQwuB,GAAQA,EAAKC,SAAShsB,OAASX,KAAK2sB,SAAShsB,MAEvDisB,OAAQ,WACN,IAAIC,EAAO7sB,KAAK6F,QAAU7F,KAAK6F,OAAOF,SAAS3F,KAAK9B,MAAQ,GAC5D,OAAQ2uB,GAAQA,EAAKF,SAAShsB,OAASX,KAAK2sB,SAAShsB,OAGzDyG,QAAS,CACPwK,QAAS,SAAiBxS,GACxBY,KAAKuJ,MAAM,QAASnK,GACpB,gBAAMY,KAAK6D,QAAS7D,QAGxBF,OAAQ,WACN,IAAIsE,EAAIqF,UAAU,GAClB,OAAOrF,EAAE,OAAQ,CACf,MAAS,GAAI,CAAC,CACZ0oB,MAAO9sB,KAAKysB,QACZM,KAAM/sB,KAAK4sB,QACV5sB,KAAKgF,OACR,MAAS,CACP,KAAQ,QACR,KAAQhF,KAAKgF,KACb,KAAQhF,KAAKmiB,KACb,MAASniB,KAAK0kB,MACd,QAAW1kB,KAAK+S,QAChB,SAAY/S,KAAKoG,UAEnB,GAAM,CACJ,MAASpG,KAAK4R,UAEf,CAAC5R,KAAKsE,SAAWtE,KAAKwX,UC9CzB,GAAmB,OAAAha,EAAA,MAAgB,UACnC,GAAkB,GAAiB,GACnC,GAAM,GAAiB,GACvB,GAAI,GAAiB,GAEV,MAAgB,CAC7BqR,OAAQ,CAACc,KACTtL,MAAO,CACLO,MAAOE,OACPkoB,MAAOloB,OACPkiB,MAAO,CAACzgB,OAAQzB,QAChB0d,QAAS1d,OACT2F,UAAW,KACXxJ,SAAU2M,SACVqf,YAAarf,SACbsf,aAAcpoB,OACdoO,iBAAkBpO,OAClBqoB,kBAAmBroB,OACnBqO,kBAAmBrO,OACnBsoB,mBAAoBtoB,OACpBuoB,iBAAkBtoB,QAClBkF,QAAS,CACPjF,KAAMD,QACNJ,SAAS,GAEXyO,UAAW,CACTpO,KAAMD,QACNJ,SAAS,GAEXyM,WAAY,CACVpM,KAAMF,OACNH,QAAS,qBAEX2oB,kBAAmB,CACjBtoB,KAAMD,QACNJ,SAAS,GAEXqK,gBAAiB,CACfhK,KAAMD,QACNJ,SAAS,GAEXuG,oBAAqB,CACnBlG,KAAMD,QACNJ,SAAS,IAGbE,KAAM,WACJ,MAAO,CACLkO,QAAS,CACPmH,SAAS,EACTC,QAAQ,KAId/S,QAAS,CACP+D,eAAgB,WACdnL,KAAKutB,aAAa,YAEpBA,aAAc,SAAsBle,GAClC,IAAI3H,EAAQ1H,KAEZA,KAAKuJ,MAAM8F,GAENrP,KAAKc,QAINd,KAAKitB,aACPjtB,KAAK+S,QAAQ1D,IAAU,EACvBrP,KAAKitB,YAAY5d,GAAQ,SAAUme,IACnB,IAAVA,GAAmB9lB,EAAMqL,QAAQ1D,IACnC3H,EAAMwb,QAAQ7T,GAGhB3H,EAAMqL,QAAQmH,SAAU,EACxBxS,EAAMqL,QAAQoH,QAAS,MAGzBna,KAAKkjB,QAAQ7T,KAGjB6T,QAAS,SAAiB7T,GACxBrP,KAAKoL,QAEDpL,KAAKiB,UACPjB,KAAKiB,SAASoO,IAGlBwC,SAAU,WACR,IAAIxJ,EAASrI,KAEbA,KAAKuJ,MAAM,UACXvJ,KAAK+Q,WAAU,WACb,IAAI0c,EAE2C,OAA9CA,EAAsBplB,EAAO4F,MAAMyf,SAA2BD,EAAoBE,YAGvF7b,SAAU,WACR9R,KAAKuJ,MAAM,WAEbqkB,UAAW,SAAmBxuB,GAC5B,IAAIiK,EAASrJ,KAEb,GAAkB,WAAdZ,EAAMyD,KAAkC,UAAdzD,EAAMyD,IAAiB,CAEnD,GAAIzD,EAAMD,SAAWa,KAAKiO,MAAMyf,OAC9B,OAGF,IAAIG,EAAc,CAChBC,MAAO9tB,KAAKstB,kBAAoB,WAC9B,OAAOjkB,EAAOkkB,aAAa,YACzB,OACJQ,OAAQ/tB,KAAKqtB,iBAAmB,WAC9B,OAAOhkB,EAAOkkB,aAAa,WACzB,QAENM,EAAYzuB,EAAMyD,OAClB7C,KAAKuJ,MAAM,UAAWnK,KAG1B4uB,gBAAiB,WACf,IAAI7W,EAASnX,KAEToE,EAAIpE,KAAKoX,eACb,OAAOhT,EAAE,GAAa,CACpB,MAAS,GAAI,WACZ,CAACpE,KAAKqtB,kBAAoBjpB,EAAE,GAAmB,CAChD,MAAS,CACP,KAAQ,QACR,KAAQ,UACR,KAAQpE,KAAKkT,kBAAoB,GAAE,UACnC,MAASlT,KAAKmtB,kBACd,QAAWntB,KAAK+S,QAAQoH,QAE1B,MAAS,GAAI,UACb,GAAM,CACJ,MAAS,WACPhD,EAAOoW,aAAa,cAGtBvtB,KAAKstB,mBAAqBlpB,EAAE,GAAmB,CACjD,MAAS,CACP,KAAQ,QACR,KAAQ,SACR,KAAQpE,KAAKmT,mBAAqB,GAAE,WACpC,MAASnT,KAAKotB,mBACd,QAAWptB,KAAK+S,QAAQmH,SAE1B,MAAS,GAAI,WACb,GAAM,CACJ,MAAS,WACP/C,EAAOoW,aAAa,kBAK5BU,WAAY,WACV,IACI1pB,EADAyW,EAAShb,KAGToE,EAAIpE,KAAKoX,eACT8W,EAAWluB,KAAKqtB,kBAAoBrtB,KAAKstB,kBAC7C,OAAOlpB,EAAE,MAAO,CACd,MAAS,CAAC,OAAY,GAAI,YACzB,CAACpE,KAAKqtB,kBAAoBjpB,EAAE,OAAQ,CACrC,MAAS,CACP,KAAQ,QACR,QAAWpE,KAAK+S,QAAQoH,OACxB,KAAQna,KAAKkT,kBAAoB,GAAE,UACnC,WAAc,UAEhB,MAAS,GAAI,UACb,MAAS,CACPwR,MAAO1kB,KAAKmtB,mBAEd,GAAM,CACJ,MAAS,WACPnS,EAAOuS,aAAa,cAGtBvtB,KAAKstB,mBAAqBlpB,EAAE,OAAQ,CACtC,MAAS,CACP,KAAQ,QACR,QAAWpE,KAAK+S,QAAQmH,QACxB,KAAQla,KAAKmT,mBAAqB,GAAE,WACpC,WAAc,UAEhB,MAAS,CAAC,GAAI,YAAa5O,EAAO,GAAIA,EAAK,QAAe2pB,EAAU3pB,IACpE,MAAS,CACPmgB,MAAO1kB,KAAKotB,oBAEd,GAAM,CACJ,MAAS,WACPpS,EAAOuS,aAAa,kBAK5BY,WAAY,SAAoBC,EAAUC,GACxC,IAAIjqB,EAAIpE,KAAKoX,eAEb,GAAIiX,EACF,OAAOjqB,EAAE,MAAO,CACd,MAAS,GAAI,YACZ,CAACiqB,IAGN,IAAI7L,EAAUxiB,KAAKwiB,QACf0K,EAAeltB,KAAKktB,aAExB,GAAI1K,EAAS,CACX,IAAIxQ,EAAMuF,EAEN1S,EAAO,CACT8S,MAAO,GAAI,WAAY3F,EAAO,CAC5B,YAAaoc,GACZpc,EAAKkb,GAAgBA,EAAclb,IACtC8F,UAAWP,EAAY,GAAIA,EAAUvX,KAAKoT,UAAY,YAAc,eAAiBoP,EAASjL,IAEhG,OAAOnT,EAAE,MAAO,CACd,MAAS,GAAI,UAAW,CACtBkqB,UAAWF,KAEZ,CAAChqB,EAAE,MAAO,IAAe,CAAC,GAAIS,UAIvC/E,OAAQ,WACN,IAAIsE,EAAIqF,UAAU,GAElB,GAAKzJ,KAAKgQ,aAAV,CAIA,IAAIwS,EAAUxiB,KAAKwiB,QACf6L,EAAcruB,KAAKsE,QACnBM,EAAQ5E,KAAKsE,MAAM,UAAYtE,KAAK4E,MACpC2pB,EAAQ3pB,GAASR,EAAE,MAAO,CAC5B,MAAS,GAAI,SAAU,CACrBkqB,UAAW9L,IAAY6L,KAExB,CAACzpB,IACJ,OAAOR,EAAE,aAAc,CACrB,MAAS,CACP,KAAQpE,KAAKoR,YAEf,GAAM,CACJ,WAAcpR,KAAK6R,SACnB,WAAc7R,KAAK8R,WAEpB,CAAC1N,EAAE,MAAO,CACX,WAAc,CAAC,CACbzD,KAAM,OACNG,MAAOd,KAAKc,QAEd,MAAS,CACP,KAAQ,SACR,kBAAmBd,KAAK4E,OAAS4d,EACjC,SAAY,GAEd,MAAS,CAAC,GAAI,CAACxiB,KAAKgtB,QAAShtB,KAAKyK,WAClC,MAAS,CACPuc,MAAO,gBAAQhnB,KAAKgnB,QAEtB,IAAO,SACP,GAAM,CACJ,QAAWhnB,KAAK4tB,YAEjB,CAACW,EAAOvuB,KAAKmuB,WAAWvpB,EAAOypB,GAA6B,iBAAfruB,KAAKgtB,MAA2BhtB,KAAKguB,kBAAoBhuB,KAAKiuB,qBFhRlH,SAAS,GAAala,GACpB,OAAOzG,SAASiD,KAAKiT,SAASzP,GAGhC,SAASya,KACH,IACF,GAASvK,WAGX,GAAW,IAAK,cAAIN,OAAO,IAAhB,CAA4B,CACrC/Y,GAAI0C,SAASsW,cAAc,OAE3B6K,UAAW,CACT/e,YAAY,KAGhB,GAASmU,IAAI,SAAS,SAAU/iB,GAC9B,GAASA,MAAQA,KAIrB,SAAS,GAAO6H,GAEd,OAAI,OACKhB,QAAQC,UAGV,IAAID,SAAQ,SAAUC,EAASC,GAC/B,IAAa,GAAa,GAASgB,MACtC2lB,KAGF,eAAS,GAAU,GAAOnL,eAAgB1a,EAAS,CACjDf,QAASA,EACTC,OAAQA,OAKd,GAAOmb,eAAiB,CACtBliB,OAAO,EACP8D,MAAO,GACPoiB,MAAO,GACPgG,MAAO,KACPxK,QAAS,GACTvY,SAAS,EACTQ,UAAW,GACX2I,WAAW,EACX1I,YAAY,EACZ0G,WAAY,oBACZ6b,YAAa,KACbxd,aAAc,GACdD,aAAc,KACd0d,aAAc,GACdvf,aAAc,OACduF,iBAAkB,GAClBia,kBAAmB,KACnBha,kBAAmB,GACnBia,mBAAoB,KACpBE,mBAAmB,EACnBD,kBAAkB,EAClBre,iBAAiB,EACjB9D,qBAAqB,EACrBjK,SAAU,SAAkBoO,GAC1B,GAAoB,YAAXA,EAAuB,UAAY,UAAUA,KAG1D,GAAOqf,MAAQ,GAEf,GAAOxU,QAAU,SAAUvR,GACzB,OAAO,GAAO,eAAS,CACrB0kB,kBAAkB,GACjB1kB,KAGL,GAAOyC,MAAQ,WACT,KACF,GAAStK,OAAQ,IAIrB,GAAOsjB,kBAAoB,SAAUzb,GACnC,eAAS,GAAO0a,eAAgB1a,IAGlC,GAAO0b,oBAAsB,WAC3B,GAAOhB,eAAiB,eAAS,GAAI,GAAOL,iBAG9C,GAAOqB,sBAEP,GAAOE,QAAU,WACf,cAAIC,IAAI,KAGV,GAAO7D,UAAY,GACnB,cAAI1C,UAAU0Q,QAAU,GACT,UGvGX7uB,I,UAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,MAAM,CAACI,IAAI,eAAeF,YAAY,YAAY,CAACF,EAAG,MAAM,CAACE,YAAY,WAAWJ,EAAI6uB,GAAI7uB,EAAI8uB,YAAY,SAASjS,GAAM,OAAO3c,EAAG,MAAM,CAAC4C,IAAI+Z,EAAKzc,YAAY,UAAU,CAACJ,EAAI0D,GAAG,yBAAyB1D,EAAI+uB,GAAGlS,GAAM,2BAA0B,GAAG3c,EAAG,MAAM,CAACE,YAAY,WAAWJ,EAAI6uB,GAAI7uB,EAAIgvB,QAAQ,SAASvB,EAAM3qB,GAAK,OAAO5C,EAAG,MAAM,CAAC4C,IAAIA,EAAI1C,YAAY,OAAOwX,MAAM,CAAC,KAAe,MAAR6V,EAAY,KAAe,MAARA,EAAY,OAASztB,EAAIivB,OAAOnsB,IAAM3D,GAAG,CAAC,MAAQ,SAASsC,GAAQ,OAAOzB,EAAIkvB,WAAWpsB,EAAI2qB,MAAU,CAACztB,EAAI0D,GAAG,yBAAyB1D,EAAI+uB,GAAG/uB,EAAImvB,SAAS1B,EAAO3qB,IAAM,2BAA0B,WAEntBkB,GAAkB,G,ipBCuBP,I,GAAA,IACfpD,KAAA,uBACAkE,KAAA,WACA,OACAkqB,OAAA,GACAI,QAAA,GACAC,WAAA,KAAAjP,KACA7e,SAAA,EACA+tB,UAAA,OAGAhrB,MAAA,CACA8b,KAAA,CACAnb,KAAAF,OACAH,QAAA,WACA,WAAAgO,MAAA2c,OAAA,gBAGAC,KAAA,CACAvqB,KAAAF,OACAH,QAAA,WACA,IAAA6qB,EAAA,IAAA7c,KAEA,OADA6c,EAAAC,WAAA,GAAA7iB,KAAAsc,MAAAsG,EAAAlP,aAAA,KACAkP,EAAAF,OAAA,WAGAjtB,SAAA,CACA2C,KAAAuB,OACA5B,QAAA,WACA,YAGAlC,GAAA,CACAuC,KAAAuB,OACA5B,QAAA,WACA,WAGA+qB,KAAA,CACA1qB,KAAAD,QACAJ,QAAA,WACA,WAGAgrB,MAAA,CACA3qB,KAAAuB,OACA5B,QAAA,WACA,YAIAkJ,MAAA,CACAsS,KAAA,CACA9gB,QAAA,SAAAzB,GACA,KAAAgyB,aAAAhyB,KACA,KAAAwxB,WAAAxxB,EACA,KAAAiyB,YAGApX,WAAA,GAEA8W,KAAA,CACAlwB,QAAA,SAAAzB,GACA,IAAAgf,EAAA9L,SAAAlT,GACA,KAAAqQ,MAAA,iBACA,KAAAA,MAAA,gBAAA6hB,SAAA,GAAAlT,EAAA,KAIAva,SAAA,CACAhD,QAAA,WACA,KAAAwwB,WAEApX,WAAA,GAEAsX,KAAA,CACA1wB,QAAA,SAAAzB,GACA,KAAAoyB,YAAApyB,EACA,KAAAiyB,WAEApX,WAAA,GAEAkX,MAAA,CACAtwB,QAAA,SAAAzB,GACA,KAAA0D,SAAA1D,EACA,KAAAiyB,WAEApX,WAAA,IAIA1I,SAAAkgB,MAAA,GACAC,gBAAA,kBACAC,YAAA,WACA,IAAAX,EAAA,KAAAJ,WAAAhb,MAAA,KACA,OAAAob,EAAA,OAAAA,EAAA,QAEAX,WAAA,WACA,YAAAM,QAAA5nB,QAAA,SAAAnD,EAAAsS,GACA,OAAAA,EAAA,YAIAtP,QAAA,CACAwoB,aAAA,SAAAQ,GACA,IAAAC,EAAA,wBACA,OAAAA,EAAAC,KAAAF,IAEAlB,SAAA,SAAAtxB,EAAAiF,GACA,YAAAjF,EAAA,KACA,KAAAoxB,OAAAnsB,GAAA,KACA,IAEA0tB,SAAA,WACA,IAAAC,EAAA,IAAA7d,KAAA,KAAAyc,WAAAtrB,QAAA,WACA0sB,EAAA7O,QAAA6O,EAAA5d,UAAA,GACA,KAAAwc,WAAAoB,EAAAlB,OAAA,cACA,KAAAO,WAEAY,SAAA,WACA,IAAAD,EAAA,IAAA7d,KAAA,KAAAyc,WAAAtrB,QAAA,WACA0sB,EAAA7O,QAAA6O,EAAA5d,UAAA,GACA,KAAAwc,WAAAoB,EAAAlB,OAAA,cACA,KAAAO,WAEAA,QAAA,WACA,KAAAR,WAAA,KAAAA,aAEAJ,WAAA,SAAApsB,EAAA2qB,GACA,QAAAkC,KAAA,CACA,IAAA3lB,EAAA,KACA,SAAAyjB,EAAA,CACA,IAAAgC,EAAA,KAAAJ,WAAAhb,MAAA,KACAsc,EAAAlB,EAAA,OAAAA,EAAA,OAAAA,EAAA,OACA,KAAAmB,QAAA,QAAAD,EAAA,IAAA7tB,EAAA,aAAAoF,MAAA,WACA,IAAA2oB,EAAA,CAAAzQ,KAAApW,EAAAqlB,WAAAG,KAAA1sB,GACAkH,EAAAR,MAAA,SAAAqnB,MACApnB,OAAA,kBAIAwlB,OAAA,SAAAO,GACA,QAAAsB,cAAAC,YAAA,SACA,IAAAN,EAAA,GAAA1f,SAAA,KAAAye,KAAAwB,OAAA,MAAAjgB,SAAA,KAAAye,KAAAwB,QAAA,IACAC,EAAAR,EAAA,KAAAnuB,SACA4uB,EAAA,GAAAngB,SAAAye,EAAAwB,OAAA,MAAAjgB,SAAAye,EAAAwB,QAAA,IAGA,OAAAE,GAAAT,GAAAS,EAAAD,IAGAlc,QAAA,WACA,IAAA/K,EAAA,KACA,KAAAslB,YACA,KAAAA,UAAA,KAAA6B,UAAA,uBAAAxpB,EAAA,KACA,IAAAqC,EAAAzI,UACAyI,EAAAonB,KAAA,cACA/B,WAAArlB,EAAAqlB,WACA3sB,GAAAsH,EAAAtH,GACAJ,SAAA0H,EAAA1H,SACA0tB,MAAA,EACAzuB,SAAAyI,EAAAzI,WACA,GAAA2G,MAAA,SAAApK,GACAA,EAAAgH,KAAAusB,UACArnB,EAAA5I,KAAA4I,EAAA,SAAAlM,EAAAgH,UAAAkqB,QACAhlB,EAAAolB,QAAAtxB,EAAAgH,UAAAsqB,QACAplB,EAAAsnB,WAAAxzB,EAAAgH,UAAAkrB,KACAroB,EAAAqJ,WAAA,WACA,IAAA6L,EAAA9L,SAAA/G,EAAAwlB,MACAxlB,EAAAkE,MAAA,iBACAlE,EAAAkE,MAAA,gBAAA6hB,SAAA,GAAAlT,EAAA,eAQA9O,QAAA,WACA,IAAA/D,EAAA,KACAA,EAAA8lB,YC7M6V,M,yBCQzVyB,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,GAAAA,G,qBCwJA,IACf3wB,KAAA,WACAkO,OAAA,CAAA0iB,SACA1sB,KAAA,WACA,OACAtB,QAAA,QACAtB,oBAAA,EACAH,cAAA,EACAS,oBAAA,EACAd,YAAA,CACAH,UAAA,KAIAkwB,YAAAC,GAAA,GAAAC,sJAAAD,GACAE,OAAAhxB,KAAAgxB,QACAC,OAAAjxB,KAAAixB,QACAztB,EAAAxD,KAAAwD,GACA0tB,OAAAlxB,KAAAkxB,QACAC,EAAAnxB,KAAAmxB,GACAC,GAAApxB,KAAAoxB,IACAC,GAAArxB,KAAAqxB,IACAC,GAAAtxB,KAAAsxB,IACAC,GAAAvxB,KAAAuxB,IACAC,GAAAxxB,KAAAwxB,IAAAT,eAAAD,GAAA,kBACAW,KAEAhrB,QAAA,CACA7G,SAAA,eAAAmH,EAAA,KACAqC,EAAA,KACAA,EAAAsoB,YAAA,EACAtoB,EAAAhJ,OAAAuxB,UAAAjd,KAAAC,UAAAvL,EAAAwoB,QACAC,GAAAzf,QAAA,CAAAyP,QAAA,SAAAF,aAAA,IACAvY,EAAAonB,KAAA,eAAAvyB,OAAA6zB,OAAA,GAAA1oB,EAAAhJ,OAAA,CAAA2xB,IAAA,QAAAzqB,MAAA,SAAApK,GACA,GAAAA,EAAAgH,KAAAusB,QAIA,eAAAvzB,EAAAgH,UACA2tB,GAAAzO,QACAha,EAAAsoB,YAAA,EACAtoB,EAAA4mB,QAAA,yBAAA1oB,MAAA,WACAuqB,GAAAzf,QAAA,CAAAyP,QAAA,SAAAF,aAAA,IACAvY,EAAAsoB,YAAA,EACAtoB,EAAAonB,KAAA,eAAApnB,EAAAhJ,QAAA,GAAAkH,MAAA,WACAuqB,GAAAzO,QACAha,EAAAsoB,YAAA,EACA,IAAAzB,EAAA/yB,EAAAgH,UACA6C,EAAAirB,YAAA/B,MACApnB,OAAA,WACAO,EAAAsoB,YAAA,EACAtoB,EAAAkE,MAAA,gBAAA4hB,oBAGA,CACA2C,GAAAzO,QACAha,EAAAsoB,YAAA,EACA,IAAAzB,EAAA/yB,EAAAgH,UACA6C,EAAAirB,YAAA/B,QAvBA4B,GAAAzO,QACAyO,GAAAI,KAAA/0B,EAAAgH,KAAA2S,SAyBAhO,OAAA,WACAO,EAAAsoB,YAAA,EACAtoB,EAAAkE,MAAA,gBAAA4hB,cAIA8C,YAAA,SAAA/B,GAAA,IAAAvoB,EAAA,KACA0B,EAAA,KACA,YAAA6mB,EAAApO,SAAA,YAAAoO,EAAApO,QACAqQ,GAAA3Y,QAAA,CACA/G,kBAAA,QACAD,iBAAA,KACAsP,QAAA,sBAAAoO,EAAApO,QAAA,iCACAva,MAAA,WACAlJ,OAAAmR,KAAA0gB,EAAA/rB,KAAA,UACAkF,EAAAlG,QAAAxF,KAAAgK,EAAAwoB,cAAAiC,cACAtpB,OAAA,WACAO,EAAAlG,QAAAxF,KAAAgK,EAAAwoB,cAAAiC,cAGAD,GAAAnE,MAAA,CACAvb,kBAAA,KACAqP,QAAA,iCACAva,MAAA,WACA8B,EAAAlG,QAAAxF,KAAAgK,EAAAwoB,cAAAiC,eAIA/wB,cAAA,SAAAoe,GACA,KAAApf,OAAAa,aAAAue,EAAAmP,OAAA,cACA,KAAAxtB,cAAA,GAEAM,cAAA,SAAAmtB,GACA,KAAAxuB,OAAAiB,aAAAutB,EACA,KAAAttB,oBAAA,GAEAO,kBAAA,SAAA1B,GACA,KAAAC,OAAAsB,SAAAvB,QACA,KAAAyB,oBAAA,GAGAJ,WAAA,SAAA6C,EAAA2D,GACA,iBAAA3D,EACA2D,EAAApB,QAAA,SAAA+M,GAAA,OAAAA,EAAA,UAEA3L,GAEAtH,UAAA,SAAAP,EAAAiyB,EAAAlwB,GACA,IAAAmwB,EAAAD,EAAAjpB,MAAA,SAAArE,GAAA,OAAA5C,EAAA4C,EAAA5C,KAAA/B,EAAA2E,EAAA3E,aACA,OAAAkyB,EAAAnwB,EAAAmwB,EAAAryB,KAAAqyB,EAAAC,MACA,IAEAtxB,cAAA,SAAA8D,EAAA3E,GACA,IAAAoyB,EAAApyB,QACAA,EAAAqyB,eAAA,QACAD,EAAApyB,EAAA2B,IAEA,KAAAtB,KAAA,KAAAJ,OAAA0E,EAAAytB,GACA,KAAA/xB,KAAA,KAAAM,YAAAgE,GAAA,IAEA1C,YAAA,SAAAqtB,GACA,IAAAA,EACA,KAAArvB,OAAAiC,eACA,KAAAjC,OAAAmC,WAAA,GAGA,KAAAnC,OAAAmC,aACA,KAAAnC,OAAAiC,aAAA,MC3S4V,MCOxV,GAAY,gBACd,GACA,EACAe,GACA,EACA,KACA,WACA,MAIa,gB,2CClBF,SAASqvB,IAAW,OAAOA,EAASx0B,OAAO6zB,OAAO7zB,OAAO6zB,OAAOlkB,OAAO,SAASvI,GAAG,IAAI,IAAIC,EAAEotB,EAAE,EAAEA,EAAE5pB,UAAUxL,OAAOo1B,IAAI,IAAI,IAAI7D,KAAKvpB,EAAEwD,UAAU4pB,GAAGptB,EAAErH,OAAOqf,UAAUkV,eAAe/kB,KAAKnI,EAAEupB,KAAKxpB,EAAEwpB,GAAGvpB,EAAEupB,IAAI,OAAOxpB,GAAGotB,EAAShX,MAAMpc,KAAKyJ,WAAW,IAAI6pB,EAAY,CAAC,QAAQ,QAAQ,YAAYC,EAAa,CAAC,QAAQ,QAAQ,cAAcC,EAAgB,CAAC,KAAK,YAAYC,EAAc,SAASztB,GAAG,OAAOA,EAAE+B,QAAO,SAASsrB,EAAErtB,GAAG,IAAI,IAAIC,KAAKD,EAAE,GAAIqtB,EAAEptB,GAAkB,IAAI,IAAIqtB,EAAYptB,QAAQD,GAAGotB,EAAEptB,GAAGmtB,EAAS,GAAGC,EAAEptB,GAAGD,EAAEC,SAAS,IAAI,IAAIstB,EAAartB,QAAQD,GAAG,CAAC,IAAIupB,EAAE6D,EAAEptB,aAAa1H,MAAM80B,EAAEptB,GAAG,CAACotB,EAAEptB,IAAIhH,EAAE+G,EAAEC,aAAa1H,MAAMyH,EAAEC,GAAG,CAACD,EAAEC,IAAIotB,EAAEptB,GAAG,GAAGsZ,OAAOiQ,EAAEvwB,QAAQ,IAAI,IAAIu0B,EAAgBttB,QAAQD,GAAI,IAAI,IAAIjI,KAAKgI,EAAEC,GAAG,GAAGotB,EAAEptB,GAAGjI,GAAG,CAAC,IAAI01B,EAAEL,EAAEptB,GAAGjI,aAAaO,MAAM80B,EAAEptB,GAAGjI,GAAG,CAACq1B,EAAEptB,GAAGjI,IAAIoG,EAAE4B,EAAEC,GAAGjI,aAAaO,MAAMyH,EAAEC,GAAGjI,GAAG,CAACgI,EAAEC,GAAGjI,IAAIq1B,EAAEptB,GAAGjI,GAAG,GAAGuhB,OAAOmU,EAAEtvB,QAAQivB,EAAEptB,GAAGjI,GAAGgI,EAAEC,GAAGjI,QAAS,GAAG,SAASiI,EAAE,IAAI,IAAIyQ,KAAK1Q,EAAEC,GAAGotB,EAAEptB,GAAGyQ,GAAG2c,EAAEptB,GAAGyQ,GAAGid,EAAQN,EAAEptB,GAAGyQ,GAAG1Q,EAAEC,GAAGyQ,IAAI1Q,EAAEC,GAAGyQ,QAAQ2c,EAAEptB,GAAGD,EAAEC,QAAhgBotB,EAAEptB,GAAGD,EAAEC,GAA4f,OAAOotB,IAAG,KAAKM,EAAQ,SAAS3tB,EAAEC,GAAG,OAAO,WAAWD,GAAGA,EAAEoW,MAAMpc,KAAKyJ,WAAWxD,GAAGA,EAAEmW,MAAMpc,KAAKyJ,aAAa3M,EAAOC,QAAQ02B,G,4DCA/kC,8DAII/G,EAAO/Z,KAAKkD,MAGhB,SAAS+d,EAAS9wB,GAChB,IAAI+wB,EAAOlhB,KAAKkD,MACZie,EAAKlnB,KAAKiT,IAAI,EAAG,IAAMgU,EAAOnH,IAC9BjqB,EAAK0T,WAAWrT,EAAIgxB,GAExB,OADApH,EAAOmH,EAAOC,EACPrxB,EAKT,IAAIie,EAAO,OAAWqT,EAASh1B,OAG3Bi1B,EAAOtT,EAAKuT,uBAAyBL,EAG3BlT,EAAKwT,sBAAwBxT,EAAKrK,aACzC,SAASgT,EAAIvmB,GAClB,OAAOkxB,EAAK5lB,KAAKsS,EAAM5d,M,0DCzBlB,SAAS+Y,EAAMsY,EAAK1e,EAAKoK,GAC9B,OAAOjT,KAAK6I,IAAI7I,KAAKiT,IAAIsU,EAAK1e,GAAMoK,GAGtC,SAASuU,EAActzB,EAAOuzB,EAAOC,GACnC,IAAIp2B,EAAQ4C,EAAMoF,QAAQmuB,GACtBE,EAAS,GAEb,OAAe,IAAXr2B,EACK4C,EAGK,MAAVuzB,GAA2B,IAAVn2B,EACZ4C,EAAMyR,MAAM,EAAGrU,IAGV,MAAVm2B,GAAiBvzB,EAAM0zB,MAAM,eAC/BD,EAASr2B,EAAQ,KAAO,KAGnBq2B,EAASzzB,EAAMyR,MAAM,EAAGrU,EAAQ,GAAK4C,EAAMyR,MAAMrU,GAAO4F,QAAQwwB,EAAQ,KAG1E,SAASG,EAAa3zB,EAAO4zB,EAAUC,QAC3B,IAAbD,IACFA,GAAW,QAGM,IAAfC,IACFA,GAAa,GAIb7zB,EADE4zB,EACMN,EAActzB,EAAO,IAAK,OAE1BA,EAAMsT,MAAM,KAAK,GAIzBtT,EADE6zB,EACMP,EAActzB,EAAO,IAAK,MAE1BA,EAAMgD,QAAQ,IAAK,IAG7B,IAAIwwB,EAASI,EAAW,YAAc,WACtC,OAAO5zB,EAAMgD,QAAQwwB,EAAQ,IA7C/B,qE,oCCGA,SAASM,EAAsBC,GAC7B,MAAoB,yBAAbA,EAAIl0B,MACXk0B,EAAIrS,UAA4D,IAAjDqS,EAAIrS,QAAQtc,QAAQ,wBAG9B,SAAS4uB,EAAMC,EAAQzpB,GAC5B,IAAImI,EAAKnI,EAAOmI,GACZuhB,EAAM1pB,EAAO0pB,IACblxB,EAAUwH,EAAOxH,QAErB,GAAI2P,GAAMshB,EAAQ,CAChB,IAAI/sB,EAAU+sB,EAAOjxB,EAAU,UAAY,QAAQ2P,GAG/CzL,GAAWA,EAAQwB,OACrBxB,EAAQwB,OAAM,SAAUqrB,GACtB,GAAIA,IAAQD,EAAsBC,GAChC,MAAMA,UAIHG,IACTlxB,EAAUmxB,SAASnxB,QAAQkxB,GAAOC,SAASC,KAAOF,GAG/C,SAASG,EAAgBzrB,GAC9BorB,EAAMprB,EAAQ7D,QAAU6D,EAAQ7D,OAAOhC,QAAS6F,EAAQrF,OA7B1D,sGA+BO,IAAI+wB,EAAa,CACtBJ,IAAKlwB,OACLhB,QAASiB,QACT0O,GAAI,CAAC3O,OAAQlG,U,0qBCjCA,QACXmR,SAAQkgB,QAAA,GACDC,eAAS,CAAC,UAAU,YACpBmF,eAAW,UAAU,CAAC,cAAc,cACpCA,eAAW,OAAO,CAAC,UAAQ,IAC9BC,GAAE,WACE,OAAOt1B,KAAKu1B,YAEhBC,QAAO,WACH,OAAOx1B,KAAKu1B,YAEhBE,UAAS,WACL,OAAOz1B,KAAK01B,eAGpBtuB,QAAO6oB,IAAA,GACA0F,eAAa,OAAQ,CAAC,QAAQ,iBAC9BA,eAAa,UAAW,CAAC,eAAe,mB,oCClBnD,6DAKI3xB,EAAmB,eAAgB,WACnCC,EAAkBD,EAAiB,GACnCE,EAAMF,EAAiB,GAE3B,SAAS4xB,EAAYxxB,EAAGC,GACtB,GAAmB,YAAfA,EAAMW,KAAoB,CAG5B,IAFA,IAAI6wB,EAAO,GAEFnf,EAAI,EAAGA,EAAI,GAAIA,IACtBmf,EAAKx3B,KAAK+F,EAAE,MAGd,OAAOyxB,EAGT,OAAOzxB,EAAE,MAAO,CACd,MAASF,EAAI,YACb,MAAS,CACP,QAAW,gBAEZ,CAACE,EAAE,SAAU,CACd,MAAS,CACP,GAAM,KACN,GAAM,KACN,EAAK,KACL,KAAQ,YAKd,SAAS0xB,EAAY1xB,EAAGC,EAAOC,GAC7B,GAAIA,EAAMK,QAAS,CACjB,IAAIoxB,EAEA1rB,EAAQ,CACVwhB,SAAU,eAAQxnB,EAAM2xB,UACxBtR,MAA+C,OAAvCqR,EAAmB1xB,EAAM4xB,WAAqBF,EAAmB1xB,EAAMqgB,OAEjF,OAAOtgB,EAAE,OAAQ,CACf,MAASF,EAAI,QACb,MAASmG,GACR,CAAC/F,EAAMK,aAId,SAASuxB,EAAQ9xB,EAAGC,EAAOC,EAAO7H,GAChC,IAAIioB,EAAQrgB,EAAMqgB,MACd0G,EAAO/mB,EAAM+mB,KACbpmB,EAAOX,EAAMW,KACbqF,EAAQ,CACVqa,MAAOA,GAGT,GAAI0G,EAAM,CACR,IAAI+K,EAAW,eAAQ/K,GACvB/gB,EAAM2c,MAAQmP,EACd9rB,EAAMiN,OAAS6e,EAGjB,OAAO/xB,EAAE,MAAO,IAAe,CAAC,CAC9B,MAASF,EAAI,CAACc,EAAM,CAClBoxB,SAAU/xB,EAAM+xB,aAEjB,eAAQ35B,GAAK,KAAS,CAAC2H,EAAE,OAAQ,CAClC,MAASF,EAAI,UAAWc,GACxB,MAASqF,GACR,CAACurB,EAAYxxB,EAAGC,KAAUyxB,EAAY1xB,EAAGC,EAAOC,KAGrD4xB,EAAQ7xB,MAAQ,CACdqgB,MAAO5f,OACPsmB,KAAM,CAAC7kB,OAAQzB,QACfsxB,SAAUrxB,QACVixB,SAAU,CAACzvB,OAAQzB,QACnBmxB,UAAWnxB,OACXE,KAAM,CACJA,KAAMF,OACNH,QAAS,aAGE,OAAAV,EAAA,I,qFChFR,SAASoyB,IAEd,OAAO,QAAmB,uBAAuB/F,KAAKgG,UAAUC,UAAUC,e,gBCDxE,EAAQ,IAGL,SAASC,IACV,GACF,eAAiB,kB,wFCGjBzyB,EAAmB,OAAAxG,EAAA,MAAgB,SACnCyG,EAAkBD,EAAiB,GACnCE,EAAMF,EAAiB,GAEZ,OAAAC,EAAA,CACbyyB,cAAc,EACdzvB,QAAS,WACP,MAAO,CACLykB,SAAU1rB,OAGduoB,OAAQ,CACNrhB,QAAS,CACPvC,QAAS,OAGbN,MAAO,eAAS,GAAI,OAAW,CAC7B1D,KAAMmE,OACN6xB,MAAOp4B,MACP6H,SAAU,CACRpB,KAAMD,QACNJ,QAAS,MAEX0B,SAAU,CACRrB,KAAMD,QACNJ,QAAS,MAEXiyB,SAAU,CAAC7xB,QAASnG,QACpBi4B,SAAU/xB,OACVgyB,UAAWhyB,OACXiyB,UAAWhyB,QACXuW,UAAW1N,SACXopB,UAAW,CAACzwB,OAAQzB,QACpBwB,WAAY,CAACC,OAAQzB,QACrBmyB,WAAY,KACZzwB,WAAY1B,OACZ2B,WAAY3B,OACZoyB,YAAapyB,OACbqyB,aAAcryB,OACd8B,kBAAmB9B,OACnBsyB,cAAeryB,QACfjE,MAAO,CACLkE,KAAM,CAACuB,OAAQzB,QACfH,QAAS,IAEXK,KAAM,CACJA,KAAMF,OACNH,QAAS,QAEXwD,MAAO,CACLnD,KAAMD,QACNJ,QAAS,MAEXwB,MAAO,CACLnB,KAAMD,QACNJ,QAAS,MAEX0yB,aAAc,CACZryB,KAAMF,OACNH,QAAS,SAEX2yB,cAAe,CACbtyB,KAAMF,OACNH,QAAS,cAGbE,KAAM,WACJ,MAAO,CACL0yB,SAAS,EACTC,gBAAgB,EAChBC,gBAAiB,KAGrB5pB,MAAO,CACL/M,MAAO,WACLd,KAAK03B,YAAY13B,KAAKc,OACtBd,KAAKyI,kBACLzI,KAAK2rB,oBAAoB,YACzB3rB,KAAK+Q,UAAU/Q,KAAK23B,cAGxB7pB,QAAS,WACP9N,KAAK03B,YAAY13B,KAAKc,MAAOd,KAAKs3B,eAClCt3B,KAAK+Q,UAAU/Q,KAAK23B,YAEhB33B,KAAKkH,SACPlH,KAAKkH,QAAQ6B,SAAS/I,OAG1B2O,cAAe,WACT3O,KAAKkH,SACPlH,KAAKkH,QAAQ8B,YAAYhJ,OAG7B+P,SAAU,CACR6nB,UAAW,WACT,IAAIvxB,EAAWrG,KAAK63B,QAAQ,YAE5B,GAAI73B,KAAK+2B,YAAc1wB,EAAU,CAC/B,IAAIyxB,EAAW,eAAM93B,KAAKc,QAAyB,KAAfd,KAAKc,MACrCgW,EAAgC,WAAtB9W,KAAKq3B,cAAmD,UAAtBr3B,KAAKq3B,cAA4Br3B,KAAKu3B,QACtF,OAAOO,GAAYhhB,IAGvB/P,UAAW,WACT,OAAmB,OAAf/G,KAAKmI,MACAnI,KAAKmI,SAGVnI,KAAKkH,SAAWlH,KAAKkH,QAAQH,WAAa/G,KAAKw3B,sBAAnD,GAIFO,UAAW,WACT,OAAO,eAAS,GAAI/3B,KAAK6gB,WAAY,CACnCmX,KAAMh4B,KAAKi4B,OACXtK,MAAO3tB,KAAKk4B,QACZC,MAAOn4B,KAAKo4B,QACZntB,MAAOjL,KAAKq4B,aACZC,SAAUt4B,KAAKu4B,cAGnBC,WAAY,WACV,IAAIlyB,EAAatG,KAAK63B,QAAQ,cAE9B,GAAIvxB,EACF,MAAO,CACL0gB,MAAO,eAAQ1gB,KAIrB6C,UAAW,WACT,OAAInJ,KAAK2F,WAAa3F,KAAKmb,aAAagd,OAASn4B,KAAKy4B,OAAON,OACpDn4B,KAAK2F,SAAS7E,MAGhBd,KAAKc,QAGhBsG,QAAS,CAEPumB,MAAO,WACD3tB,KAAKiO,MAAMkqB,OACbn4B,KAAKiO,MAAMkqB,MAAMxK,SAIrBqK,KAAM,WACAh4B,KAAKiO,MAAMkqB,OACbn4B,KAAKiO,MAAMkqB,MAAMH,QAGrBU,aAAc,SAAsB53B,EAAO63B,GACzC,OAAO,IAAIhxB,SAAQ,SAAUC,GAC3B,IAAIgxB,EAAYD,EAAK7Z,UAAUhe,EAAO63B,GAEtC,GAAI,eAAUC,GACZ,OAAOA,EAAU3wB,KAAKL,GAGxBA,EAAQgxB,OAGZC,aAAc,SAAsB/3B,GAClC,OAAIvC,MAAMC,QAAQsC,IACRA,EAAM7C,OAGF,IAAV6C,IAIIA,GAEVg4B,YAAa,SAAqBh4B,EAAO63B,GACvC,QAAIA,EAAK/3B,WAAYZ,KAAK64B,aAAa/3B,OAInC63B,EAAKp1B,UAAYo1B,EAAKp1B,QAAQ+sB,KAAKxvB,KAMzCi4B,eAAgB,SAAwBj4B,EAAO63B,GAC7C,IAAInW,EAAUmW,EAAKnW,QAEnB,OAAI,eAAWA,GACNA,EAAQ1hB,EAAO63B,GAGjBnW,GAETwW,SAAU,SAAkBrC,GAC1B,IAAIjvB,EAAQ1H,KAEZ,OAAO22B,EAAM5uB,QAAO,SAAUC,EAAS2wB,GACrC,OAAO3wB,EAAQC,MAAK,WAClB,IAAIP,EAAM8vB,eAAV,CAIA,IAAI12B,EAAQ4G,EAAMyB,UAMlB,OAJIwvB,EAAKrd,YACPxa,EAAQ63B,EAAKrd,UAAUxa,EAAO63B,IAG3BjxB,EAAMoxB,YAAYh4B,EAAO63B,GAM1BA,EAAK7Z,UACApX,EAAMgxB,aAAa53B,EAAO63B,GAAM1wB,MAAK,SAAU9J,IACrC,IAAXA,IACFuJ,EAAM8vB,gBAAiB,EACvB9vB,EAAM+vB,gBAAkB/vB,EAAMqxB,eAAej4B,EAAO63B,YAJ1D,GALEjxB,EAAM8vB,gBAAiB,OACvB9vB,EAAM+vB,gBAAkB/vB,EAAMqxB,eAAej4B,EAAO63B,WAavDhxB,QAAQC,YAEbM,SAAU,SAAkByuB,GAC1B,IAAItuB,EAASrI,KAMb,YAJc,IAAV22B,IACFA,EAAQ32B,KAAK22B,OAGR,IAAIhvB,SAAQ,SAAUC,GACtB+uB,GACH/uB,IAGFS,EAAOI,kBAEPJ,EAAO2wB,SAASrC,GAAO1uB,MAAK,WACtBI,EAAOmvB,eACT5vB,EAAQ,CACNjH,KAAM0H,EAAO1H,KACb6hB,QAASna,EAAOovB,kBAGlB7vB,WAKR+jB,oBAAqB,SAA6B7U,GAChD,GAAI9W,KAAKkH,SAAWlH,KAAK22B,MAAO,CAC9B,IAAIsC,EAAiBj5B,KAAKkH,QAAQJ,kBAAoBgQ,EAClD6f,EAAQ32B,KAAK22B,MAAMpvB,QAAO,SAAUoxB,GACtC,OAAIA,EAAK7hB,QACA6hB,EAAK7hB,UAAYA,EAGnBmiB,KAGLtC,EAAM14B,QACR+B,KAAKkI,SAASyuB,KAIpBluB,gBAAiB,WACXzI,KAAKw3B,iBACPx3B,KAAKw3B,gBAAiB,EACtBx3B,KAAKy3B,gBAAkB,KAG3BC,YAAa,SAAqB52B,EAAOgW,QACvB,IAAZA,IACFA,EAAU,YAGZhW,EAAQ,eAAMA,GAASgE,OAAOhE,GAAS,GAGvC,IAAIk2B,EAAYh3B,KAAKg3B,UAUrB,GARI,eAAMA,IAAcl2B,EAAM7C,OAAS+4B,IAEnCl2B,EADEd,KAAKc,OAASd,KAAKc,MAAM7C,UAAY+4B,EAC/Bh3B,KAAKc,MAELA,EAAMyR,MAAM,EAAGykB,IAIT,WAAdh3B,KAAKgF,MAAmC,UAAdhF,KAAKgF,KAAkB,CACnD,IAAIk0B,EAAyB,WAAdl5B,KAAKgF,KACpBlE,EAAQ,eAAaA,EAAOo4B,EAAUA,GAGpCl5B,KAAKsb,WAAaxE,IAAY9W,KAAKs3B,gBACrCx2B,EAAQd,KAAKsb,UAAUxa,IAGzB,IAAIq3B,EAAQn4B,KAAKiO,MAAMkqB,MAEnBA,GAASr3B,IAAUq3B,EAAMr3B,QAC3Bq3B,EAAMr3B,MAAQA,GAGZA,IAAUd,KAAKc,OACjBd,KAAKuJ,MAAM,QAASzI,IAGxBs3B,QAAS,SAAiBh5B,GAEpBA,EAAMD,OAAOg6B,WAIjBn5B,KAAK03B,YAAYt4B,EAAMD,OAAO2B,QAEhCo3B,QAAS,SAAiB94B,GACxBY,KAAKu3B,SAAU,EACfv3B,KAAKuJ,MAAM,QAASnK,GAEpBY,KAAK+Q,UAAU/Q,KAAK23B,YAIhB33B,KAAK63B,QAAQ,aACf73B,KAAKg4B,QAGTC,OAAQ,SAAgB74B,GAClBY,KAAK63B,QAAQ,cAIjB73B,KAAKu3B,SAAU,EACfv3B,KAAK03B,YAAY13B,KAAKc,MAAO,UAC7Bd,KAAKuJ,MAAM,OAAQnK,GACnBY,KAAK2rB,oBAAoB,UACzB3rB,KAAK+Q,UAAU/Q,KAAK23B,YACpBlB,MAEF7kB,QAAS,SAAiBxS,GACxBY,KAAKuJ,MAAM,QAASnK,IAEtBi5B,aAAc,SAAsBj5B,GAClCY,KAAKuJ,MAAM,cAAenK,IAE5Bg6B,gBAAiB,SAAyBh6B,GACxCY,KAAKuJ,MAAM,kBAAmBnK,IAEhCi6B,iBAAkB,SAA0Bj6B,GAC1CY,KAAKuJ,MAAM,mBAAoBnK,IAEjCk6B,QAAS,SAAiBl6B,GACxB,eAAeA,GACfY,KAAKuJ,MAAM,QAAS,IACpBvJ,KAAKuJ,MAAM,QAASnK,IAEtBm5B,WAAY,SAAoBn5B,GAC9B,IAAIm6B,EAAa,GAEjB,GAAIn6B,EAAMo6B,UAAYD,EAAY,CAChC,IAAI1yB,EAAgB7G,KAAK63B,QAAQ,iBAE5BhxB,GAA+B,aAAd7G,KAAKgF,MACzB,eAAe5F,GAIC,WAAdY,KAAKgF,MACPhF,KAAKg4B,OAITh4B,KAAKuJ,MAAM,WAAYnK,IAEzBu4B,WAAY,WACV,IAAIQ,EAAQn4B,KAAKiO,MAAMkqB,MAEvB,GAAoB,aAAdn4B,KAAKgF,MAAuBhF,KAAK42B,UAAcuB,EAArD,CAIA,IAAIvnB,EAAY,iBAChBunB,EAAM9tB,MAAMiN,OAAS,OACrB,IAAIA,EAAS6gB,EAAMznB,aAEnB,GAAI,eAAS1Q,KAAK42B,UAAW,CAC3B,IAAI6C,EAAiBz5B,KAAK42B,SACtB8C,EAAYD,EAAeC,UAC3BC,EAAYF,EAAeE,UAE3BD,IACFpiB,EAAS1K,KAAK6I,IAAI6B,EAAQoiB,IAGxBC,IACFriB,EAAS1K,KAAKiT,IAAIvI,EAAQqiB,IAI1BriB,IACF6gB,EAAM9tB,MAAMiN,OAASA,EAAS,KAE9B,eAAiB1G,MAGrBgpB,SAAU,WACR,IAAIx1B,EAAIpE,KAAKoX,eACTpS,EAAOhF,KAAKgF,KACZoB,EAAWpG,KAAK63B,QAAQ,YACxBxxB,EAAWrG,KAAK63B,QAAQ,YACxBgC,EAAY75B,KAAKsE,MAAM,SACvBmC,EAAazG,KAAK63B,QAAQ,cAE9B,GAAIgC,EACF,OAAOz1B,EAAE,MAAO,CACd,MAASF,EAAI,UAAW,CAACuC,EAAY,WACrC,GAAM,CACJ,MAASzG,KAAKq4B,eAEf,CAACwB,IAGN,IAAIC,EAAa,CACfz5B,IAAK,QACLsX,MAAOzT,EAAI,UAAWuC,GACtBqR,SAAU,CACRhX,MAAOd,KAAKc,OAEdR,MAAO,eAAS,GAAIN,KAAK+5B,OAAQ,CAC/Bp5B,KAAMX,KAAKW,KACXyF,SAAUA,EACVC,SAAUA,EACV6wB,YAAal3B,KAAKk3B,cAEpBh4B,GAAIc,KAAK+3B,UAETiC,WAAY,CAAC,CACXr5B,KAAM,QACNG,MAAOd,KAAKc,SAIhB,GAAa,aAATkE,EACF,OAAOZ,EAAE,WAAY,IAAe,CAAC,GAAI01B,KAG3C,IACIG,EADAC,EAAYl1B,EAchB,MAVa,WAATA,IACFk1B,EAAY,OACZD,EAAY,WAGD,UAATj1B,IACFk1B,EAAY,MACZD,EAAY,WAGP71B,EAAE,QAAS,IAAgB,CAAC,CACjC,MAAS,CACP,KAAQ81B,EACR,UAAaD,IAEdH,MAELK,YAAa,WACX,IAAI/1B,EAAIpE,KAAKoX,eACTgjB,EAAep6B,KAAKsE,MAAM,cAAgBtE,KAAK62B,SAEnD,GAAIuD,EACF,OAAOh2B,EAAE,MAAO,CACd,MAASF,EAAI,aACb,GAAM,CACJ,MAASlE,KAAKo5B,kBAEf,CAACp5B,KAAKsE,MAAM,cAAgBF,EAAE,OAAM,CACrC,MAAS,CACP,KAAQpE,KAAK62B,SACb,YAAe72B,KAAKoiB,iBAK5BiY,aAAc,WACZ,IAAIj2B,EAAIpE,KAAKoX,eACT9S,EAAQtE,KAAKsE,MACbg2B,EAAgBh2B,EAAM,eAAiBtE,KAAK82B,UAEhD,GAAIwD,EACF,OAAOl2B,EAAE,MAAO,CACd,MAASF,EAAI,cACb,GAAM,CACJ,MAASlE,KAAKq5B,mBAEf,CAAC/0B,EAAM,eAAiBF,EAAE,OAAM,CACjC,MAAS,CACP,KAAQpE,KAAK82B,UACb,YAAe92B,KAAKoiB,iBAK5BmY,aAAc,WACZ,IAAIn2B,EAAIpE,KAAKoX,eAEb,GAAIpX,KAAKo3B,eAAiBp3B,KAAKg3B,UAAW,CACxC,IAAI9hB,GAASlV,KAAKc,OAAS,IAAI7C,OAC/B,OAAOmG,EAAE,MAAO,CACd,MAASF,EAAI,eACZ,CAACE,EAAE,OAAQ,CACZ,MAASF,EAAI,aACZ,CAACgR,IAAS,IAAKlV,KAAKg3B,cAG3BjU,WAAY,WACV,IAAI3e,EAAIpE,KAAKoX,eAEb,IAAIpX,KAAKkH,UAA6C,IAAlClH,KAAKkH,QAAQF,iBAAjC,CAIA,IAAIwb,EAAUxiB,KAAKm3B,cAAgBn3B,KAAKy3B,gBAExC,GAAIjV,EAAS,CACX,IAAI5b,EAAoB5G,KAAK63B,QAAQ,qBACrC,OAAOzzB,EAAE,MAAO,CACd,MAASF,EAAI,gBAAiB0C,IAC7B,CAAC4b,OAGRqV,QAAS,SAAiBh1B,GACxB,OAAI,eAAM7C,KAAK6C,IACN7C,KAAK6C,GAGV7C,KAAKkH,SAAW,eAAMlH,KAAKkH,QAAQrE,IAC9B7C,KAAKkH,QAAQrE,QADtB,GAIF23B,SAAU,WACR,IAAIp2B,EAAIpE,KAAKoX,eACTjR,EAAQnG,KAAK63B,QAAQ,SAAW,IAAM,GAE1C,OAAI73B,KAAKsE,MAAM,SACN,CAACtE,KAAKsE,MAAM,SAAU6B,GAG3BnG,KAAKizB,MACA7uB,EAAE,OAAQ,CAACpE,KAAKizB,MAAQ9sB,SADjC,IAKJrG,OAAQ,WACN,IAAIkS,EAEA5N,EAAIqF,UAAU,GACdnF,EAAQtE,KAAKsE,MACb8B,EAAWpG,KAAK63B,QAAQ,YACxBrxB,EAAaxG,KAAK63B,QAAQ,cAC1Bl1B,EAAc,CAChBwf,KAAMniB,KAAKm6B,aAETM,EAAQz6B,KAAKw6B,WAEbC,IACF93B,EAAYiC,MAAQ,WAClB,OAAO61B,IAIX,IAAIC,EAAQ16B,KAAKsE,MAAM,SAQvB,OANIo2B,IACF/3B,EAAY+3B,MAAQ,WAClB,OAAOA,IAIJt2B,EAAE,OAAM,CACb,MAAS,CACP,KAAQpE,KAAK62B,SACb,KAAQ72B,KAAKorB,KACb,OAAUprB,KAAK26B,OACf,OAAU36B,KAAK0E,OACf,OAAU1E,KAAK46B,OACf,SAAY56B,KAAKY,SACjB,UAAaZ,KAAKyiB,UAClB,WAAcziB,KAAKw4B,WACnB,WAAct0B,EAAI,SAClB,WAAc,CAACA,EAAI,QAASsC,GAAaxG,KAAKi3B,YAC9C,eAAkBj3B,KAAK66B,gBAEzB,YAAel4B,EACf,MAASuB,GAAK8N,EAAO,CACnB7J,MAAOnI,KAAK+G,UACZX,SAAUA,GACT4L,EAAK,SAAWxL,GAAcA,EAAYwL,EAAK,cAA8B,aAAdhS,KAAKgF,OAAwBhF,KAAK42B,SAAU5kB,IAC9G,GAAM,CACJ,MAAShS,KAAK4R,UAEf,CAACxN,EAAE,MAAO,CACX,MAASF,EAAI,SACZ,CAAClE,KAAK45B,WAAY55B,KAAK43B,WAAaxzB,EAAE,OAAM,CAC7C,MAAS,CACP,KAAQ,SAEV,MAASF,EAAI,SACb,GAAM,CACJ,WAAclE,KAAKs5B,WAEnBt5B,KAAKq6B,eAAgB/1B,EAAM,WAAaF,EAAE,MAAO,CACnD,MAASF,EAAI,WACZ,CAACI,EAAM,cAAetE,KAAKu6B,eAAgBv6B,KAAK+iB,mB,oCCxnBvD,wEAAI+X,EAAa,SACV,SAASC,EAASC,GACvB,OAAOA,EAAIl3B,QAAQg3B,GAAY,SAAUG,EAAG5H,GAC1C,OAAOA,EAAE6H,iBAGN,SAASC,EAAQhH,EAAKiH,QACN,IAAjBA,IACFA,EAAe,GAGjB,IAAIJ,EAAM7G,EAAM,GAEhB,MAAO6G,EAAI/8B,OAASm9B,EAClBJ,EAAM,IAAMA,EAGd,OAAOA,I,kCCfT,IAAIK,EAAU,EAAQ,QAClBC,EAAQ,EAAQ,OAAR,CAA4B,GACpCC,EAAM,OACNC,GAAS,EAETD,IAAO,IAAIh9B,MAAM,GAAGg9B,IAAK,WAAcC,GAAS,KACpDH,EAAQA,EAAQI,EAAIJ,EAAQK,EAAIF,EAAQ,QAAS,CAC/C1xB,KAAM,SAAcpM,GAClB,OAAO49B,EAAMt7B,KAAMtC,EAAY+L,UAAUxL,OAAS,EAAIwL,UAAU,QAAKrL,MAGzE,EAAQ,OAAR,CAAiCm9B,I,kCCbjC,6GAUIv3B,EAAmB,eAAgB,QACnCC,EAAkBD,EAAiB,GACnCE,EAAMF,EAAiB,GAE3B,SAAS6tB,EAAKztB,EAAGC,EAAOC,EAAO7H,GAC7B,IAAIk/B,EAEAxZ,EAAO9d,EAAM8d,KACbiJ,EAAO/mB,EAAM+mB,KACbxmB,EAAQP,EAAMO,MACdquB,EAAQ5uB,EAAM4uB,MACdnyB,EAAQuD,EAAMvD,MACd85B,EAASv2B,EAAMu2B,OACfjT,EAAYrjB,EAAMM,OAAS,eAAMA,GAErC,SAAS61B,IACP,IAAImB,EAAYt3B,EAAM2uB,OAAS,eAAMA,GAErC,GAAI2I,EACF,OAAOx3B,EAAE,MAAO,CACd,MAAS,CAACF,EAAI,SAAUG,EAAM4yB,aAC7B,CAAC3yB,EAAM2uB,MAAQ3uB,EAAM2uB,QAAUA,IAItC,SAAS1E,IACP,GAAI5G,EACF,OAAOvjB,EAAE,MAAO,CACd,MAAS,CAACF,EAAI,SAAUG,EAAMw3B,YAC9B,MAASx3B,EAAMy3B,YACd,CAACx3B,EAAMM,MAAQN,EAAMM,QAAUR,EAAE,OAAQ,CAACQ,IAAS61B,MAI1D,SAASsB,IACP,IAAIC,EAAY13B,EAAMK,SAAW,eAAM7D,GAEvC,GAAIk7B,EACF,OAAO53B,EAAE,MAAO,CACd,MAAS,CAACF,EAAI,QAAS,CACrB+3B,OAAQtU,IACNtjB,EAAM63B,aACT,CAAC53B,EAAMK,QAAUL,EAAMK,UAAYP,EAAE,OAAQ,CAACtD,MAIrD,SAASq7B,IACP,OAAI73B,EAAM6d,KACD7d,EAAM6d,OAGXA,EACK/d,EAAE,OAAM,CACb,MAASF,EAAI,aACb,MAAS,CACP,KAAQie,EACR,YAAe9d,EAAM+d,mBAL3B,EAWF,SAASga,IACP,IAAIC,EAAgB/3B,EAAM,cAE1B,GAAI+3B,EACF,OAAOA,IAGT,GAAIzB,EAAQ,CACV,IAAIC,EAAiBx2B,EAAMw2B,eAC3B,OAAOz2B,EAAE,OAAM,CACb,MAASF,EAAI,cACb,MAAS,CACP,KAAQ22B,EAAiB,SAAWA,EAAiB,YAM7D,SAASjpB,EAAQxS,GACf,eAAK3C,EAAK,QAAS2C,GACnB,eAAgB3C,GAGlB,IAAIgmB,EAAoD,OAAvCkZ,EAAmBt3B,EAAMoe,WAAqBkZ,EAAmBf,EAC9E0B,EAAU,CACZ7Z,UAAWA,EACXkY,OAAQt2B,EAAMs2B,OACd/5B,SAAUyD,EAAMzD,SAChB27B,YAAal4B,EAAMK,QAOrB,OAJI0mB,IACFkR,EAAQlR,GAAQA,GAGXhnB,EAAE,MAAO,IAAe,CAAC,CAC9B,MAASF,EAAIo4B,GACb,MAAS,CACP,KAAQ7Z,EAAY,SAAW,KAC/B,SAAYA,EAAY,EAAI,MAE9B,GAAM,CACJ,MAAS7Q,IAEV,eAAQnV,KAAQ,CAAC0/B,IAAY5N,IAASwN,IAASK,IAA4B,MAAf93B,EAAMo2B,WAAgB,EAASp2B,EAAMo2B,UAGtG7I,EAAKxtB,MAAQ,eAAS,GAAI,OAAW,QACtB,OAAAJ,EAAA,I,6DCxHR,SAASu4B,EAAU5+B,GACxB,MAAO,gBAAgB0yB,KAAK1yB,GAEvB,SAAS6+B,EAAM7+B,GACpB,OAAI2I,OAAOk2B,MACFl2B,OAAOk2B,MAAM7+B,GAIfA,IAAQA,EATjB,qE,kLCIe,QACXiR,OAAQ,CAAC6tB,QACT73B,KAAI,WACA,MAAO,CACHwtB,YAAY,EACZtxB,OAAQ,CACJsB,SAAU,GACVT,cAAc,IAAI+Q,MAAO2c,OAAO,cAChCttB,aAAc,QACdmB,YAAa,IACbD,WAAY,IACZ8sB,YAAa,IACb1uB,SAAU,KACVq7B,MAAO,KACPC,aAAa,EACbC,aAAa,EACbC,kBAAkB,IAAInqB,MAAO2c,OAAO,cACpCyN,kBAAkB,EAClBC,YAAY,EACZ5R,KAAM,IACN6R,YAAa,EACbC,UAAW,GACXC,cAAe,IACfC,iBAAkB,GAClBC,iBAAkB,GAClBC,iBAAiB,GACjBC,kBAAmB,IACnBC,gBAAiB,IACjBC,eAAgB,GAChBxK,MAAM,IAEVyK,cAAc,CACVC,OAAO,IAEXC,YAAa,GACbC,qBAAsB,CAClB,CAACp7B,GAAI,EAAGq7B,SAAU,OAClB,CAACr7B,GAAI,EAAGq7B,SAAU,MAClB,CAACr7B,GAAI,EAAGq7B,SAAU,MAClB,CAACr7B,GAAI,EAAGq7B,SAAU,SAEtB32B,OAAQ,GACRorB,OAAQ,GACRwL,sBAAsB,EACtBC,SAAU,CACN7d,KAAM,KACNoP,KAAM,KACNltB,SAAU,KACVqB,SAAU,MAEdu6B,YAAY,EACZC,MAAO,CAAC,IAAK,IAAK,KAClBC,eAAe,CAAC,CAACx9B,KAAK,OAAOG,MAAM,GAAG,CAACH,KAAK,OAAOG,MAAM,GAAG,CAACH,KAAK,OAAOG,MAAM,IAC/Es9B,SAAU,MAGlBC,QAAQ,CACJC,aAAY,SAACC,EAAQT,GACjB,IAAMU,EAAUD,EAAOE,YACvB,GAAID,GAAWA,EAAQvgC,OACnB,IAAK,IAAIyY,EAAI,EAAGA,EAAI8nB,EAAQvgC,OAAQyY,IAChC,GAAI8nB,EAAQ9nB,GAAGgoB,iBAAmBZ,EAC9B,OAAOU,EAAQ9nB,GAAGioB,eAAeC,KAAK,KAIlD,MAAO,KAGf7uB,SAAU,CACN8uB,mBAAkB,WAChB,GAAI7+B,KAAK49B,YAAa,CAClB,IAAMD,EAAS39B,KAAK09B,cAAcC,OAClC,OAAIA,EAAO1/B,OACA+B,KAAK49B,YAAYr2B,QAAO,SAAA9B,GAE3B,GADAq5B,QAAQC,IAAI,OAAOpB,EAAOl4B,GACtBA,EAAKu5B,WAAav5B,EAAKu5B,UAAU94B,QAAQy3B,IAAW,EAAI,OAAO,EACnE,GAAIl4B,EAAKw5B,QAAUx5B,EAAKw5B,OAAO/4B,QAAQy3B,IAAW,EAAI,OAAO,EAC7D,IAAMa,EAAU/4B,EAAKg5B,YACrB,GAAID,GAAWA,EAAQvgC,OACnB,IAAK,IAAIyY,EAAI,EAAGA,EAAI8nB,EAAQvgC,OAAQyY,IAAK,CACrC,IAAM9K,EAAI4yB,EAAQ9nB,GAAGioB,eAAeC,KAAK,KACzC,GAAKhzB,EAAE1F,QAAQy3B,IAAW,EAAG,OAAO,EAG5C,OAAO,KAGJ39B,KAAK49B,YAGpB,MAAO,IAETsB,YAAW,WACP,MAAkC,MAA9Bl/B,KAAKe,OAAOo+B,eACL,UAC8B,MAA9Bn/B,KAAKe,OAAOo+B,eACZ,SAC8B,MAA9Bn/B,KAAKe,OAAOo+B,eACZ,UAEA,QAGfC,YAAW,WACP,MAAkC,MAA9Bp/B,KAAKe,OAAOo+B,eACL,gBAC8B,MAA9Bn/B,KAAKe,OAAOo+B,eACZ,gBAC8B,MAA9Bn/B,KAAKe,OAAOo+B,eACZ,sBAEA,wBAGfE,UAAS,WAAG,IAAA33B,EAAA,KACJivB,EAAQ,GAAG2I,EAAA,SAAA1zB,GAEX,IAAMpE,EAAQE,EAAKP,OAAOyE,GACtBpE,EAAM+3B,aACN5I,EAAM/qB,GAAK,GACXpE,EAAM+3B,WAAWn6B,SAAQ,SAAAK,GACrB,IAAMqR,EAAU,CAAC,OAAQ,WAAY,UAAU0oB,SAAS/5B,EAAKT,MAAQ,OAAS,SAQ9E,GAPa,aAATS,GACAkxB,EAAM/qB,GAAGvN,KAAK,CACVuC,UAAU,EACV4hB,QAAS9a,EAAK8tB,SAAYhuB,EAAMi4B,UAAYj4B,EAAM5C,OAAS,gBAAoB,MAAQ4C,EAAM5C,MAC7FkS,QAASA,IAGY,IAAzBrR,EAAKS,QAAQ,SAA0C,IAAzBT,EAAKS,QAAQ,QAAe,CAC1D,IAAIw5B,EAAMj6B,EAAK2O,MAAM,KACrB,GAAIsrB,EAAIzhC,OAAS,EAAG,CAChB,IAAImyB,EAAI,CACJ5N,SAAqB,QAAXkd,EAAI,GAAgB,KAAS,MAASA,EAAI,GAAM,KAC1D5oB,QAAS,QAEbsZ,EAAEsP,EAAI,IAAM5uB,SAAS4uB,EAAI,IACzB/I,EAAM/qB,GAAGvN,KAAK+xB,IAGQ,IAA1B3qB,EAAKS,QAAQ,UACbywB,EAAM/qB,GAAGvN,KAAK,CACV2G,KAAM,QACNwd,QAAU,aACV1L,QAASA,SA5B7B,IAAK,IAAIlL,KAAK5L,KAAKmH,OAAMm4B,EAAA1zB,GAkCzB,OAAO+qB,GAEX90B,OAAM,WACF,IAAI89B,GAAM,EACJC,EAAQ9uB,SAAS9Q,KAAK6/B,KAAKC,YAMjC,OALI9/B,KAAK+/B,OAAOC,IAAIC,0BACZL,EAAQ,IACRD,GAAM,GAGPA,GAEXO,gBAAe,WACX,IAAMC,EAAgBngC,KAAKe,OAAOa,aAAe,IAAM5B,KAAKe,OAAOiB,aAC/DwtB,EAAIxvB,KAAKkC,WAAWi+B,GAAe,GAEvC,OADA3Q,EAAEC,WAAWD,EAAElP,aAAe,IACvBkP,EAAEF,OAAO,qBAEpB8Q,eAAc,WACV,IAAMD,EAAgBngC,KAAKe,OAAOa,aAAe,IAAM5B,KAAKe,OAAOiB,aAC/DwtB,EAAIxvB,KAAKkC,WAAWi+B,GAAe,GAEvC,OADA3Q,EAAEC,WAAWD,EAAElP,aAAe,GAAKtgB,KAAKe,OAAOsB,UACxCmtB,EAAEF,OAAO,qBAEpB6Q,cAAa,WACT,OAAOngC,KAAKe,OAAOa,aAAe,IAAM5B,KAAKe,OAAOiB,cAExDq+B,cAAa,WACT,OAA0B,IAAnBrgC,KAAKe,OAAO0B,IAAYzC,KAAKe,OAAOa,eAAiB5B,KAAKg+B,SAASp8B,cACrE5B,KAAKe,OAAOiB,aAAe,QAAUhC,KAAKg+B,SAASh8B,cAChDhC,KAAKe,OAAOiB,eAAiBhC,KAAKg+B,SAASh8B,cAC/ChC,KAAKe,OAAOsB,WAAarC,KAAKg+B,SAAS37B,UAA2C,OAA/BrC,KAAKe,OAAOo+B,gBAEvE59B,cAAa,WACT,IAAM++B,EAAQtgC,KAAK6/B,KAAIU,eAAOvgC,KAAK6/B,KAAKW,kBAAoB,GACtDl4B,EAAMtI,KAAK+/B,OAAOC,IAAMhgC,KAAK+/B,OAAOC,IAAIS,YAAc,GAC5D,OAAKH,GAAUh4B,GACXtI,KAAKe,SAAWu/B,EAAMd,SAASx/B,KAAKe,OAAOO,WAC3Cg/B,EAAMjiC,KAAK2B,KAAKe,OAAOO,UAEpBgH,EAAIf,QAAO,SAACm5B,GACf,OAAOJ,EAAMd,SAASkB,EAAEj+B,QALD,IAQ/BH,iBAAgB,WAEZ,IADA,IAAMqG,EAAU,GACP+N,EAAI,GAAKA,GAAK1W,KAAK+/B,OAAOC,IAAIW,UAAWjqB,GAAK,GACnD/N,EAAQtK,KAAK,CAAC40B,MAAOvc,EAAI,KAAM5V,MAAW,GAAJ4V,IAE1C,OAAO/N,GAEXi4B,gBAAe,WACX,OAAkC,IAA3B5gC,KAAK6gC,mBAEhBC,OAAM,WACF,MAAO,CAAC,EAAG,EAAG,GAAGtB,SAASx/B,KAAK6gC,oBAEnCz9B,iBAAgB,WACZ,OAAkC,IAA3BpD,KAAK6gC,mBAEhBA,kBAAiB,WAAG,IAAAx4B,EAAA,KACZ04B,EAAW,EAMf,OALI/gC,KAAK+/B,OAAOC,IAAIS,aAChBzgC,KAAK+/B,OAAOC,IAAIS,YAAYr7B,SAAQ,SAACwG,GAC7BA,EAAEnJ,KAAO4F,EAAKtH,OAAOO,WAAUy/B,EAAWn1B,EAAEm1B,aAGjDA,GAEXC,UAAS,WACL,MAAkC,SAA3BhhC,KAAK6wB,cAAcoQ,KAE9BC,qBAAoB,WAChB,QAASlhC,KAAK+/B,OAAOC,KAAOhgC,KAAK+/B,OAAOC,IAAIkB,uBAGpD95B,QAAS,CACL+5B,yBAAwB,WACa,GAA7BnhC,KAAKe,OAAOo8B,eACZn9B,KAAKg+B,SAASt6B,SAAW1D,KAAKe,OAAO2C,SACrC1D,KAAKe,OAAO2C,SAAW,IAEvB1D,KAAKe,OAAO2C,SAAW1D,KAAKg+B,SAASt6B,UAG7C09B,cAAa,SAAC/xB,GAAQ,IAAAhG,EAAA,KACZxE,EAAO7E,KAAKs9B,iBAAiB93B,KAAI,SAAAoG,GAAC,OAAIA,EAAEy1B,aAC9CvC,QAAQC,IAAIl6B,GACPA,EAAK5G,OAGN+B,KAAKmxB,KAAK,yBAAyB,CAAC1uB,GAAGzC,KAAKe,OAAO0B,GAAG4M,OAAOA,EAAOiyB,WAAWz8B,IAAOoD,MAAK,SAACpK,GACxFwL,EAAKk4B,QAAQnQ,QAAQ,SACrB/nB,EAAKu0B,YAAc//B,EAAIgH,KAAKA,QAJhC7E,KAAKuhC,QAAQp5B,MAAM,gBAQ3Bq5B,mBAAkB,SAAC1gC,EAAO2gC,EAAK/nB,GAC3BolB,QAAQC,IAAIj+B,EAAM2gC,EAAI/nB,GACtB,IAAMgoB,EAAWhoB,EAAO,YACxB,OAAO+nB,EAAIC,IAAa5gC,GAE5B6gC,sBAAqB,SAAC/jC,GAClBoC,KAAKs9B,iBAAmB1/B,GAE5BgkC,mBAAkB,WAAE,IAAAzqB,EAAA,KACO,IAAnBnX,KAAKe,OAAO0B,GACZzC,KAAKuhC,QAAQp5B,MAAM,sBAEnBnI,KAAKmxB,KAAK,wBAAwBnxB,KAAKe,QAAO,GAAMkH,MAAK,WACrDkP,EAAKoqB,QAAQnQ,QAAQ,aAIjCyQ,eAAc,WAAG,IAAA7mB,EAAA,KACRhb,KAAKe,OAAO0B,GAGbzC,KAAKmxB,KAAK,oCAAqC,CAAC1uB,GAAIzC,KAAKe,OAAO0B,KAAK,GAAMwF,MAAK,SAAApK,GAC5Emd,EAAK4iB,YAAc//B,EAAIgH,KAAKA,QAHhC7E,KAAKuhC,QAAQp5B,MAAM,sBAO3B25B,iBAAgB,WACR9hC,KAAK49B,YAAY3/B,OAAS,EAC1B+B,KAAK+hC,YAAY,QAEjB/hC,KAAKuhC,QAAQp5B,MAAM,iBAG3B45B,YAAW,SAACphC,GAER,IAAIqhC,EAAKC,IAAKC,MAAMC,cAAcniC,KAAKiO,MAAM,eAAgB,CAACm0B,KAAK,IAE/DC,EAAQJ,IAAKK,MAAMN,EAAI,CAACO,SAAU,OAAQC,SAAS,EAAMx9B,KAAM,UAC/D6Q,GAAM,IAAIlD,MAAO2c,OAAO,cAC5B,IACImT,IAAUC,OAAO,IAAIC,KAAK,CAACN,GAAQ,CAACr9B,KAAM,6BAA8B,GAAFua,OAAK5e,EAAI,KAAA4e,OAAI1J,EAAG,UACxF,MAAO5W,GACL6/B,QAAQC,IAAI9/B,EAAGojC,GAEnB,OAAOA,GAEXO,aAAY,WAAG,IAAAC,EAAA,KACP94B,EAAK/J,KACTA,KAAKiO,MAAM,eAAe/F,UAAS,SAAAsiB,GAC/B,IAAIA,EAoCA,OALAqY,EAAKC,QAAQ,CACTl+B,MAAO,KACP4d,QAAS,eACTxd,KAAM,WAEH,EAnCP+E,EAAGsoB,YAAa,EAChBtoB,EAAGhJ,OAAOuxB,UAAYjd,KAAKC,UAAUvL,EAAGwoB,QACxCxoB,EAAGonB,KAAK,eAAgBvyB,OAAO6zB,OAAO,GAAI1oB,EAAGhJ,OAAQ,CAAC2xB,IAAK,KAAK,GAAMzqB,MAAK,SAACpK,GACxEkM,EAAGsoB,YAAa,EACM,YAAlBx0B,EAAIgH,KAAKA,KACTkF,EAAG4mB,QAAQ,yBAAyB1oB,MAAK,WACrC8B,EAAGonB,KAAK,eAAgBpnB,EAAGhJ,QAAQ,GAAMkH,MAAK,WAC1C8B,EAAGsoB,YAAa,EAChBwQ,EAAKE,OAAO,oBAAqB,KAAM,CACnC5vB,kBAAmB,KACnBnO,KAAM,YAEV+E,EAAGlG,QAAQxF,KAAKwkC,EAAKhS,cAAciC,cACpCtpB,OAAM,WACLO,EAAGsoB,YAAa,EAChBtoB,EAAGkE,MAAM,gBAAgB4hB,iBAIjCgT,EAAKE,OAAO,oBAAqB,KAAM,CACnC5vB,kBAAmB,KACnBnO,KAAM,YAEV+E,EAAGlG,QAAQxF,KAAKwkC,EAAKhS,cAAciC,eAExCtpB,OAAM,WACLO,EAAGsoB,YAAa,EAChBtoB,EAAGkE,MAAM,gBAAgB4hB,iBAYzCntB,iBAAgB,SAAC+C,GACbzF,KAAKe,OAAOa,aAAe6D,EAAK0a,KAChCngB,KAAKe,OAAOiB,aAAeyD,EAAK8pB,MAEpCyT,kBAAiB,WACbhjC,KAAK+9B,sBAAuB,GAEhCkF,aAAY,WACRjjC,KAAK+9B,sBAAuB,GAEhCmF,cAAa,SAACtlC,GACVoC,KAAK+9B,sBAAuB,EAC5B/9B,KAAKuyB,OAAS30B,GAElBulC,YAAW,SAACvlC,GACR,IAAMM,EAAQ8B,KAAKuyB,OAAOrsB,QAAQtI,GAC9BM,GAAS,GAAG8B,KAAKuyB,OAAOroB,OAAOhM,EAAO,IAE9CklC,aAAY,SAACC,GACTrjC,KAAKuyB,OAAS,GACd,IACI,IAAI1tB,EAAOwQ,KAAKiuB,MAAMD,GAClB9kC,MAAMC,QAAQqG,KACd7E,KAAKuyB,OAAS1tB,GAEpB,MAAO5F,GACL6/B,QAAQC,IAAI9/B,KAGpBuE,mBAAkB,WACdxD,KAAKmB,KAAKnB,KAAKe,OAAQ,WAAY6L,KAAKsE,MAAM,IAAStE,KAAK22B,SAAW,OAE3EC,YAAW,aAEXC,4BAA2B,WACnBzjC,KAAK+/B,OAAOC,IAAIC,0BAA4BjgC,KAAK6/B,KAAKC,WAAa,EAC/D9/B,KAAK+/B,OAAOC,IAAI0D,kCAChB3kC,OAAOk2B,SAASC,KAAOl1B,KAAK+/B,OAAOC,IAAI0D,mCAEvC1jC,KAAKuhC,QAAQp5B,MAAMnI,KAAK+/B,OAAOC,IAAI2D,kCACnC3jC,KAAK6D,QAAQ+/B,IAAI,IAGrB5jC,KAAKi+B,YAAa,IAI9BnpB,QAAO,WACH,IAAM/K,EAAK/J,KACX,GAAKA,KAAKQ,OAAOqjC,OAAOphC,GAapBzC,KAAKi+B,YAAa,OAXlB,GAAIj+B,KAAK+/B,OAAOC,IAAIr/B,KAChBX,KAAKyjC,mCAEL,IAAMzf,EAAQ8f,aAAY,WAClB/5B,EAAGg2B,OAAOC,IAAIr/B,OACdojC,cAAc/f,GACdja,EAAG05B,iCAER,MAMf31B,QAAO,WAAG,IAEFqS,EAFE6jB,EAAA,KACFj6B,EAAK/J,KAET,GAAKA,KAAKQ,OAAOqjC,OAAOphC,GAsDpBzC,KAAKmxB,KAAK,cAAe,CAAC1uB,GAAIzC,KAAKQ,OAAOqjC,OAAOphC,KAAKwF,MAAK,SAAApK,GACvD,GAAIA,EAAIgH,KAAKusB,QAAS,CAClB,IAAMvsB,EAAOhH,EAAIgH,KAAKA,KAAKA,KAC3BA,EAAKxC,SAAWyO,SAASjM,EAAKxC,UAC9BwC,EAAKo4B,YAAcnsB,SAASjM,EAAKo4B,aACjCp4B,EAAK7B,aAAe8N,SAASjM,EAAK7B,cAClC6B,EAAKo/B,QAAUnzB,SAASjM,EAAKo/B,OAC7Bp/B,EAAKvD,SAAWwP,SAASjM,EAAKvD,UAE9ByI,EAAGhJ,OAAS8D,EACZm/B,EAAK7iC,KAAK6iC,EAAM,SAAUnmC,EAAIgH,KAAKA,KAAKsC,QACxC68B,EAAKR,cAELz5B,EAAGi0B,SAASp8B,aAAeiD,EAAKjD,aAChCmI,EAAGi0B,SAASh8B,aAAe6C,EAAK7C,aAChC+H,EAAGi0B,SAAS37B,SAAWwC,EAAKxC,SAC5B0H,EAAGi0B,SAASt6B,SAAWsgC,EAAKjjC,OAAO2C,SACnCqG,EAAGq5B,aAAav+B,EAAKytB,WAEY,GAA7B0R,EAAKjjC,OAAOo8B,gBAAoB6G,EAAKjjC,OAAO2C,SAAW,QAExD,CACH,IAAM8T,EAAO3Z,EAAIgH,KAAK2S,KACtBzN,EAAGg5B,OAAOvrB,EAAM,KAAM,CAClBrE,kBAAmB,KACnBnO,KAAM,QACN/D,SAAU,WACN8I,EAAGlG,QAAQC,QAAQiG,EAAG8mB,cAAciC,kBAIjDtpB,OAAM,WACLO,EAAGlG,QAAQ+/B,IAAI,UAtFK,CACxB,IAAMtD,EAAQtgC,KAAK6/B,KAAO7/B,KAAK6/B,KAAKW,iBAAmB,GACnD0D,EAAgB,KAChB5D,GAASA,EAAMriC,SACfimC,EAAgB5D,EAAM,GAClBtgC,KAAK6wB,cAAcsT,mBACnBD,EAAgB,OAGxB,IAAMr/B,EAAO,CACTxC,SAAU,GACVc,YAAa,IACbD,WAAY,IACZ+5B,YAAaj9B,KAAK6wB,cAAcoM,YAChCj6B,aAAc,IACdP,GAAI,EACJwhC,OAAO,EACP3iC,SAAU4iC,EACVvH,MAAO,KACPvR,KAAM,IACN+R,cAAe,IACfC,iBAAkB,GAClBC,iBAAkB,IAGtB,GAAIr9B,KAAKQ,OAAOqjC,OAAOrT,OAASxwB,KAAKQ,OAAOqjC,OAAO7S,IAAK,CACpD7Q,EAAOngB,KAAKQ,OAAOqjC,OAAOrT,MAC1B,IAAM/a,EAAM0K,EAAKG,aACb8jB,EAAwC,GAA9Bx3B,KAAKsc,OAAOzT,EAAM,IAAM,IACtC0K,EAAKsP,WAAW2U,GAChBv/B,EAAKxC,SAAWuK,KAAKsc,OAAOlpB,KAAKQ,OAAOqjC,OAAO7S,IAAMhxB,KAAKQ,OAAOqjC,OAAOrT,OAAS,KACjFsO,QAAQC,IAAIl6B,EAAKxC,UACjBwC,EAAKxC,SAA8C,GAAnCuK,KAAKsc,MAAOrkB,EAAKxC,SAAY,QAC1C,CACH8d,EAAO,IAAIxN,KACX,IAAM8C,EAAM0K,EAAKG,aACb8jB,EAAwC,GAA9Bx3B,KAAKsc,OAAOzT,EAAM,IAAM,IACtC0K,EAAKsP,WAAW2U,GAGpBv/B,EAAKjD,aAAeue,EAAKmP,OAAO,cAChCzqB,EAAK7C,aAAeme,EAAKmP,OAAO,SAEhCvlB,EAAGhJ,OAASnC,OAAO6zB,OAAO,GAAI1oB,EAAGhJ,OAAQ8D,GAEzCkF,EAAGi0B,SAASp8B,aAAe,GAC3BmI,EAAGi0B,SAASh8B,aAAe,GAC3B+H,EAAGi0B,SAAS37B,SAAW,EAEvBrC,KAAKwD,qBACLuG,EAAGi0B,SAASt6B,SAAW1D,KAAKe,OAAO2C,SACF,GAA7B1D,KAAKe,OAAOo8B,gBAAoBn9B,KAAKe,OAAO2C,SAAW,Q,kCC5cvE,gSAGW2gC,EAA8B,qBAAXtlC,OACnBulC,EAAW,aAAIrmB,UAAU7O,UAE7B,SAASm1B,KACT,SAASC,EAAM5mC,GACpB,YAAeQ,IAARR,GAA6B,OAARA,EAEvB,SAAS6mC,EAAW7mC,GACzB,MAAsB,oBAARA,EAET,SAAS8mC,EAAS9mC,GACvB,OAAe,OAARA,GAA+B,kBAARA,EAEzB,SAAS+mC,EAAU/mC,GACxB,OAAO8mC,EAAS9mC,IAAQ6mC,EAAW7mC,EAAIqK,OAASw8B,EAAW7mC,EAAI4L,OAE1D,SAAS1K,EAAI8lC,EAAQC,GAC1B,IAAInxB,EAAOmxB,EAAKzwB,MAAM,KAClBjW,EAASymC,EAMb,OALAlxB,EAAKtO,SAAQ,SAAUvC,GACrB,IAAIiiC,EAEJ3mC,EAASumC,EAASvmC,IAAyC,OAA9B2mC,EAAc3mC,EAAO0E,IAAgBiiC,EAAmB,MAEhF3mC,I,kCC3BT,0KAMA,IAAI4mC,EAAoB,uBACjB,SAASC,EAAYp6B,EAAI8V,QACjB,IAATA,IACFA,EAAO3hB,QAGT,IAAIkmC,EAAOr6B,EAEX,MAAOq6B,GAAyB,SAAjBA,EAAKC,SAAuC,SAAjBD,EAAKC,SAAwC,IAAlBD,EAAKE,UAAkBF,IAASvkB,EAAM,CACzG,IAAI0kB,EAAwBrmC,OAAOiV,iBAAiBixB,GAChDI,EAAYD,EAAsBC,UAEtC,GAAIN,EAAkBzU,KAAK+U,GACzB,OAAOJ,EAGTA,EAAOA,EAAKp6B,WAGd,OAAO6V,EAEF,SAAS4kB,EAAa16B,GAC3B,IAAIsb,EAAM,cAAetb,EAAKA,EAAGgG,UAAYhG,EAAG26B,YAEhD,OAAO34B,KAAKiT,IAAIqG,EAAK,GAEhB,SAASsf,EAAa56B,EAAI9J,GAC3B,cAAe8J,EACjBA,EAAGgG,UAAY9P,EAEf8J,EAAGklB,SAASllB,EAAG66B,QAAS3kC,GAGrB,SAAS4kC,IACd,OAAO3mC,OAAOwmC,aAAej4B,SAASq4B,gBAAgB/0B,WAAatD,SAASiD,KAAKK,WAAa,EAEzF,SAASg1B,EAAiB9kC,GAC/B0kC,EAAazmC,OAAQ+B,GACrB0kC,EAAal4B,SAASiD,KAAMzP,K,2GCvC1BkD,EAAmB,OAAAxG,EAAA,MAAgB,QACnCyG,EAAkBD,EAAiB,GACnCE,EAAMF,EAAiB,GAE3B,SAAS6hC,EAAKzhC,EAAGC,EAAOC,EAAO7H,GAC7B,IAAIqpC,EAAMzhC,EAAMyhC,IACZC,EAAO1hC,EAAM0hC,KACbC,EAAW,eAAMD,IAAkB,KAATA,EAE9B,GAAKD,GAAQE,EAIb,OAAO5hC,EAAE,MAAO,IAAe,CAAC,CAC9B,MAASF,EAAI,CACX4hC,IAAKA,KAEN,eAAQrpC,GAAK,KAAS,CAACqpC,EAAM,GAAKzhC,EAAM0hC,OAG7CF,EAAKxhC,MAAQ,CACXyhC,IAAK/gC,QACLghC,KAAM,CAACx/B,OAAQzB,SAEF,MAAAb,EAAA,GCtBX,EAAmB,OAAAzG,EAAA,MAAgB,QACnC,EAAkB,EAAiB,GACnC,EAAM,EAAiB,GAE3B,SAASyoC,EAAQtlC,GACf,QAAOA,IAA8B,IAAvBA,EAAKuF,QAAQ,KAI7B,IAAIggC,EAAa,CACfC,MAAO,QACP,UAAW,UACX,aAAc,cAGhB,SAASC,EAAYzlC,GACnB,OAAOA,GAAQulC,EAAWvlC,IAASA,EAGrC,SAAS0lC,EAAKjiC,EAAGC,EAAOC,EAAO7H,GAC7B,IAAI6pC,EAEA3lC,EAAOylC,EAAY/hC,EAAM1D,MACzB4lC,EAAYN,EAAQtlC,GAMxB,OAAOyD,EAAEC,EAAMmiC,IAAK,IAAe,CAAC,CAClC,MAAS,CAACniC,EAAMoiC,YAAaF,EAAY,GAAKliC,EAAMoiC,YAAc,IAAM9lC,GACxE,MAAS,CACP+jB,MAAOrgB,EAAMqgB,MACbmH,SAAU,eAAQxnB,EAAM+mB,QAEzB,eAAQ3uB,GAAK,KAAS,CAAC6H,EAAMK,SAAWL,EAAMK,UAAW4hC,GAAaniC,EAAE,MAAO,CAChF,MAAS,EAAI,SACb,MAAS,CACP,IAAOzD,KAEPyD,EAAE,EAAM,CACV,MAAS,CACP,IAAOC,EAAMyhC,IACb,KAAwC,OAA/BQ,EAAejiC,EAAMqiC,OAAiBJ,EAAejiC,EAAM0hC,UAK1EM,EAAKhiC,MAAQ,CACXyhC,IAAK/gC,QACLpE,KAAMmE,OACNsmB,KAAM,CAAC7kB,OAAQzB,QAGfihC,KAAM,CAACx/B,OAAQzB,QACf4hC,MAAO,CAACngC,OAAQzB,QAChB4f,MAAO5f,OACP0hC,IAAK,CACHxhC,KAAMF,OACNH,QAAS,KAEX8hC,YAAa,CACXzhC,KAAMF,OACNH,QAAS,MAGE,SAAgB0hC,I,kCCzE/B,0KACO,IAEIM,EAAS,eACTC,EAAaD,EAAS,QACtBE,EAAcF,EAAS,SAEvBG,EAAkBH,EAAS,aAC3BI,EAAoBJ,EAAS,eAC7BK,EAA0BL,EAAS,sB,kCCT9C,6GAWI3iC,EAAmB,eAAgB,UACnCC,EAAkBD,EAAiB,GACnCE,EAAMF,EAAiB,GAE3B,SAAS2tB,EAAOvtB,EAAGC,EAAOC,EAAO7H,GAC/B,IAAI8H,EAEAiiC,EAAMniC,EAAMmiC,IACZrkB,EAAO9d,EAAM8d,KACbnd,EAAOX,EAAMW,KACb0f,EAAQrgB,EAAMqgB,MACduiB,EAAQ5iC,EAAM4iC,MACd7gC,EAAW/B,EAAM+B,SACjB2M,EAAU1O,EAAM0O,QAChBm0B,EAAW7iC,EAAM6iC,SACjBC,EAAc9iC,EAAM8iC,YACpBC,EAAe/iC,EAAM+iC,aACrB/8B,EAAQ,GAkBZ,SAASuH,EAAQxS,GACXiF,EAAM0O,SACR3T,EAAMO,iBAGHoT,GAAY3M,IACf,eAAK3J,EAAK,QAAS2C,GACnB,eAAgB3C,IAIpB,SAAS4qC,EAAajoC,GACpB,eAAK3C,EAAK,aAAc2C,GA5BtBslB,IACFra,EAAMqa,MAAQuiB,EAAQviB,EAAQ,QAEzBuiB,IAEH58B,EAAM6c,WAAaxC,IAIc,IAA/BA,EAAMxe,QAAQ,YAChBmE,EAAM3F,OAAS,EAEf2F,EAAMi9B,YAAc5iB,GAmBxB,IAAI4X,EAAU,CAACp4B,EAAI,CAACc,EAAMX,EAAM+mB,KAAM,CACpC6b,MAAOA,EACPl0B,QAASA,EACT3M,SAAUA,EACV8gC,SAAUA,EACVK,MAAOljC,EAAMkjC,MACbr2B,MAAO7M,EAAM6M,MACbs2B,OAAQnjC,EAAMmjC,WACVjjC,EAAO,GAAIA,EAAK,QAAmB2iC,EAAU3iC,IAEnD,SAASkjC,IACP,OAAI10B,EACKzO,EAAMyO,QAAUzO,EAAMyO,UAAY3O,EAAE,OAAS,CAClD,MAASF,EAAI,WACb,MAAS,CACP,KAAQG,EAAMqjC,YACd,KAAQrjC,EAAMge,YACd,MAAS,kBAKX/d,EAAM6d,KACD/d,EAAE,MAAO,CACd,MAASF,EAAI,SACZ,CAACI,EAAM6d,SAGRA,EACK/d,EAAE,OAAM,CACb,MAAS,CACP,KAAQ+d,EACR,YAAe9d,EAAM+d,YAEvB,MAASle,EAAI,eANjB,EAWF,SAASyjC,IACP,IAMInwB,EANAowB,EAAU,GAwBd,MAtBqB,SAAjBR,GACFQ,EAAQvpC,KAAKopC,KAMbjwB,EADEzE,EACKo0B,EAEA7iC,EAAMK,QAAUL,EAAMK,UAAYN,EAAMmT,KAG7CA,GACFowB,EAAQvpC,KAAK+F,EAAE,OAAQ,CACrB,MAASF,EAAI,SACZ,CAACsT,KAGe,UAAjB4vB,GACFQ,EAAQvpC,KAAKopC,KAGRG,EAGT,OAAOxjC,EAAEoiC,EAAK,IAAe,CAAC,CAC5B,MAASn8B,EACT,MAASiyB,EACT,MAAS,CACP,KAAQj4B,EAAMwjC,WACd,SAAYzhC,GAEd,GAAM,CACJ,MAASwL,EACT,WAAcy1B,IAEf,eAAQ5qC,KAAQ,CAAC2H,EAAE,MAAO,CAC3B,MAASF,EAAI,YACZ,CAACyjC,QAGNhW,EAAOttB,MAAQ,eAAS,GAAI,OAAY,CACtCmT,KAAM1S,OACNqd,KAAMrd,OACN4f,MAAO5f,OACPyiC,MAAOxiC,QACPkiC,MAAOliC,QACPmM,MAAOnM,QACPyiC,OAAQziC,QACRgO,QAAShO,QACTmiC,SAAUniC,QACVqB,SAAUrB,QACVqd,WAAYtd,OACZ+iC,WAAY/iC,OACZqiC,YAAariC,OACbud,YAAavd,OACb0hC,IAAK,CACHxhC,KAAMF,OACNH,QAAS,UAEXK,KAAM,CACJA,KAAMF,OACNH,QAAS,WAEXymB,KAAM,CACJpmB,KAAMF,OACNH,QAAS,UAEX+iC,YAAa,CACX1iC,KAAMF,OACNH,QAAS,QAEXyiC,aAAc,CACZpiC,KAAMF,OACNH,QAAS,UAGE,OAAAV,EAAA,I,kCCpLf,kIAEI6jC,EAAa,CAAC,MAAO,MAAO,QAAS,QAAS,QAAS,WAAY,WAAY,aAAc,cAAe,eAC5GC,EAAgB,CAClBC,SAAU,MAGL,SAASC,EAAQv+B,EAASw+B,GAC/B,IAAI/pC,EAAS2pC,EAAW//B,QAAO,SAAUyL,EAAK3Q,GAK5C,OAJI6G,EAAQ7E,KAAKhC,KACf2Q,EAAIu0B,EAAcllC,IAAQA,GAAO6G,EAAQ7E,KAAKhC,IAGzC2Q,IACN,IAQH,OANI00B,IACF/pC,EAAOe,GAAKf,EAAOe,IAAM,GAEzB,eAASf,EAAOe,GAAIwK,EAAQ7E,KAAK3F,KAG5Bf,EAGF,SAAS6a,EAAKtP,EAASiI,GAC5B,IAAK,IAAIw2B,EAAO1+B,UAAUxL,OAAQmgB,EAAO,IAAI7f,MAAM4pC,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAClGhqB,EAAKgqB,EAAO,GAAK3+B,UAAU2+B,GAG7B,IAAIrQ,EAAYruB,EAAQquB,UAAUpmB,GAE9BomB,IACEx5B,MAAMC,QAAQu5B,GAChBA,EAAU3yB,SAAQ,SAAUijC,GAC1BA,EAASjsB,WAAM,EAAQgC,MAGzB2Z,EAAU3b,WAAM,EAAQgC,IAKvB,SAASkqB,EAAM3nB,EAAW9b,GAC/B,IAAI0Z,EAAW,IAAI,aAAI,CACrB3T,GAAI0C,SAASsW,cAAc,OAC3Bvf,MAAOsc,EAAUtc,MACjBvE,OAAQ,SAAgBsE,GACtB,OAAOA,EAAEuc,EAAW,eAAS,CAC3Btc,MAAOrE,KAAK4gB,QACX/b,OAIP,OADAyI,SAASiD,KAAKpC,YAAYoQ,EAAS1V,KAC5B0V,I,kCCtDM,SAAS6U,IAYtB,OAXAA,EAAWx0B,OAAO6zB,OAAS7zB,OAAO6zB,OAAOlkB,OAAS,SAAUpP,GAC1D,IAAK,IAAIuX,EAAI,EAAGA,EAAIjN,UAAUxL,OAAQyY,IAAK,CACzC,IAAI6xB,EAAS9+B,UAAUiN,GACvB,IAAK,IAAI7T,KAAO0lC,EACV3pC,OAAOqf,UAAUkV,eAAe/kB,KAAKm6B,EAAQ1lC,KAC/C1D,EAAO0D,GAAO0lC,EAAO1lC,IAI3B,OAAO1D,GAEFi0B,EAAShX,MAAMpc,KAAMyJ,WAZ9B,mC,qBCCA,IAAI++B,EAAqB,EAAQ,QAEjC1rC,EAAOC,QAAU,SAAU0rC,EAAUxqC,GACnC,OAAO,IAAKuqC,EAAmBC,GAAxB,CAAmCxqC,K,kCCI5C,SAASyqC,EAAI/nC,EAAMgoC,GACjB,OAAKA,EAIe,kBAATA,EACF,IAAMhoC,EAAO,KAAOgoC,EAGzBpqC,MAAMC,QAAQmqC,GACTA,EAAK5gC,QAAO,SAAU6oB,EAAKnrB,GAChC,OAAOmrB,EAAM8X,EAAI/nC,EAAM8E,KACtB,IAGE7G,OAAO8U,KAAKi1B,GAAM5gC,QAAO,SAAU6oB,EAAK/tB,GAC7C,OAAO+tB,GAAO+X,EAAK9lC,GAAO6lC,EAAI/nC,EAAMkC,GAAO,MAC1C,IAfM,GAkBJ,SAAS+lC,EAAUjoC,GACxB,OAAO,SAAUiK,EAAI+9B,GAOnB,OANI/9B,GAAoB,kBAAPA,IACf+9B,EAAO/9B,EACPA,EAAK,IAGPA,EAAKA,EAAKjK,EAAO,KAAOiK,EAAKjK,EACtB,GAAKiK,EAAK89B,EAAI99B,EAAI+9B,I,8DChClBE,EAAa,CACtBzhC,QAAS,CACP9C,MAAO,SAAe3D,EAAM0D,QACb,IAAT1D,IACFA,EAAO,WAGT,IAAI83B,EAASz4B,KAAKy4B,OACdtd,EAAenb,KAAKmb,aACpB2tB,EAAa3tB,EAAaxa,GAE9B,OAAImoC,EACKA,EAAWzkC,GAGbo0B,EAAO93B,MCVpB,SAAS4jB,EAAQwkB,GACf,IAAIpoC,EAAOX,KAAKW,KAChBooC,EAAIzX,UAAU3wB,EAAMX,MACpB+oC,EAAIzX,UAAU,eAAS,IAAM3wB,GAAOX,MAI/B,SAASgpC,EAAWt/B,GAEzB,IAAI/G,EAAc+G,EAAQ/G,aAAe+G,EAAQ7E,KAAKlC,aAAe,GACjE2B,EAAQoF,EAAQpF,QAQpB,OAPA1F,OAAO8U,KAAKpP,GAAOc,SAAQ,SAAUvC,GAC9BF,EAAYE,KACfF,EAAYE,GAAO,WACjB,OAAOyB,EAAMzB,QAIZF,EAGT,SAASsmC,EAA2BC,GAClC,MAAO,CACLC,YAAY,EACZ9kC,MAAO6kC,EAAK7kC,MACZxD,MAAOqoC,EAAKroC,MACZf,OAAQ,SAAgBsE,EAAGsF,GACzB,OAAOw/B,EAAK9kC,EAAGsF,EAAQrF,MAAO2kC,EAAWt/B,GAAUA,KAKlD,SAASzF,EAAgBtD,GAC9B,OAAO,SAAUyoC,GAYf,OAXI,eAAWA,KACbA,EAAMH,EAA2BG,IAG9BA,EAAID,aACPC,EAAIv6B,OAASu6B,EAAIv6B,QAAU,GAC3Bu6B,EAAIv6B,OAAOxQ,KAAKwqC,IAGlBO,EAAIzoC,KAAOA,EACXyoC,EAAI7kB,QAAUA,EACP6kB,G,gBCrDP,EAAiBxqC,OAAOqf,UAAUkV,eAEtC,SAASkW,EAAU51B,EAAI61B,EAAMzmC,GAC3B,IAAIjF,EAAM0rC,EAAKzmC,GAEV,eAAMjF,KAIN,EAAewQ,KAAKqF,EAAI5Q,IAAS,eAASjF,GAI7C6V,EAAG5Q,GAAO0mC,EAAW3qC,OAAO6U,EAAG5Q,IAAOymC,EAAKzmC,IAH3C4Q,EAAG5Q,GAAOjF,GAOP,SAAS2rC,EAAW91B,EAAI61B,GAI7B,OAHA1qC,OAAO8U,KAAK41B,GAAMlkC,SAAQ,SAAUvC,GAClCwmC,EAAU51B,EAAI61B,EAAMzmC,MAEf4Q,ECtBM,OACb9S,KAAM,KACN6oC,IAAK,KACLC,KAAM,KACNvvB,QAAS,KACTC,OAAQ,KACRuvB,OAAQ,KACRnf,SAAU,KACVxX,QAAS,SACT42B,SAAU,QACVC,UAAW,QACXC,YAAa,WACbC,cAAe,SACfC,WAAY,YACZC,YAAa,CACXhZ,IAAK,KACLR,MAAO,KACP5rB,MAAO,OACPsV,QAAS,KACT+vB,SAAU,QACVniB,SAAU,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACzCoiB,WAAY,SAAoBz3B,EAAMC,GACpC,OAAOD,EAAO,IAAWC,EAAQ,KAEnCuV,YAAa,SAAqBI,GAChC,MAAO,YAAsDA,EAAW,OAG5E8hB,YAAa,CACXngB,OAAQ,OAEVogB,eAAgB,CACdC,QAAS,SAEXC,eAAgB,CACdD,QAAS,SAEXE,cAAe,CACb7d,KAAM,MACNG,KAAM,OAER2d,eAAgB,CACdC,QAAS,YACTC,QAAS,aAEXC,aAAc,CACZ1X,MAAO,OAET2X,UAAW,CACTC,UAAW,QACXC,SAAU,SAAkBC,GAC1B,OAAOA,EAAY,KAErBC,UAAW,SAAmBC,GAC5B,MAAO,IAAWA,EAAa,QAGnCC,cAAe,CACbtmC,MAAO,MACPumC,KAAM,OACNj2B,MAAO,SAAek2B,GACpB,OAAOA,EAAS,QAGpBC,cAAe,CACbC,MAAO,QACPC,SAAU,KACVngC,MAAO,SACPogC,OAAQ,KACRplC,SAAU,MACV8wB,YAAa,UAEfuU,eAAgB,CACdC,KAAM,KACNC,OAAQ,OACRC,UAAW,QACXC,aAAc,UACdC,YAAa,YACbC,eAAgB,WAChBC,eAAgB,SAChBC,gBAAiB,QACjBC,gBAAiB,eAEnBC,qBAAsB,CACpBlZ,MAAO,OACPiE,YAAa,iBAEfkV,eAAgB,CACd37B,IAAK,SCrFL47B,EAAQ,aAAIpuB,UACZquB,EAAiB,aAAIC,KAAKD,eAC9BA,EAAeD,EAAO,YAAa,SACnCC,EAAeD,EAAO,gBAAiB,CACrC,QAAS,IAEI,OACbG,SAAU,WACR,OAAOH,EAAMI,cAAcJ,EAAMK,YAEnCloB,IAAK,SAAamoB,EAAMH,GACtB,IAAII,EAEJP,EAAMK,UAAYC,EAClB3sC,KAAKyQ,KAAKm8B,EAAY,GAAIA,EAAUD,GAAQH,EAAUI,KAExDn8B,IAAK,SAAa+7B,QACC,IAAbA,IACFA,EAAW,IAGbjD,EAAW8C,EAAMI,cAAeD,KCrB7B,SAASK,EAAWlsC,GACzB,IAAI4zB,EAAS,eAAS5zB,GAAQ,IAC9B,OAAO,SAAUkkC,GAIf,IAHA,IAAI2H,EAAWM,EAAON,WAClBhqB,EAAU,eAAIgqB,EAAUjY,EAASsQ,IAAS,eAAI2H,EAAU3H,GAEnDsD,EAAO1+B,UAAUxL,OAAQmgB,EAAO,IAAI7f,MAAM4pC,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAClGhqB,EAAKgqB,EAAO,GAAK3+B,UAAU2+B,GAG7B,OAAO,eAAW5lB,GAAWA,EAAQpG,WAAM,EAAQgC,GAAQoE,GCVxD,SAASuqB,EAAgBpsC,GAE9B,OADAA,EAAO,OAASA,EACT,CAACsD,EAAgBtD,GAAOioC,EAAUjoC,GAAOksC,EAAWlsC,M,kCCL7D,W,kCCAA,kCAAO,IAAIqsC,EAAY,CACrB7qB,KAAMrd,OACNsmB,KAAMtmB,OACN61B,OAAQ51B,QACR61B,OAAQ71B,QACRnE,SAAUmE,QACVqd,WAAYtd,OACZg3B,WAAY,KACZD,WAAY,KACZK,WAAY,KACZjF,WAAY,KACZryB,MAAO,CAAC2B,OAAQzB,QAChBhE,MAAO,CAACyF,OAAQzB,QAChBmuB,MAAO,CAAC1sB,OAAQzB,QAChB+1B,eAAgB/1B,OAChBJ,OAAQ,CACNM,KAAMD,QACNJ,SAAS,GAEX8d,UAAW,CACTzd,KAAMD,QACNJ,QAAS,Q,qBCrBb,IAAI+/B,EAAW,EAAQ,QACnBlmC,EAAU,EAAQ,QAClByuC,EAAU,EAAQ,OAAR,CAAkB,WAEhCnwC,EAAOC,QAAU,SAAU0rC,GACzB,IAAIyE,EASF,OARE1uC,EAAQiqC,KACVyE,EAAIzE,EAAS0E,YAEG,mBAALD,GAAoBA,IAAM3uC,QAASC,EAAQ0uC,EAAEjvB,aAAaivB,OAAI9uC,GACrEsmC,EAASwI,KACXA,EAAIA,EAAED,GACI,OAANC,IAAYA,OAAI9uC,UAETA,IAAN8uC,EAAkB3uC,MAAQ2uC,I,kCCdrC,wEAWIE,EAXJ,wBAEO,SAASC,EAAQvsC,GACtB,GAAK,eAAMA,GAKX,OADAA,EAAQgE,OAAOhE,GACR,eAAUA,GAASA,EAAQ,KAAOA,EAK3C,SAASwsC,IACP,IAAKF,EAAc,CACjB,IAAIG,EAAMjgC,SAASq4B,gBACf9Z,EAAW0hB,EAAIljC,MAAMwhB,UAAY9sB,OAAOiV,iBAAiBu5B,GAAK1hB,SAClEuhB,EAAeI,WAAW3hB,GAG5B,OAAOuhB,EAGT,SAASK,EAAW3sC,GAElB,OADAA,EAAQA,EAAMgD,QAAQ,OAAQ,KACtBhD,EAAQwsC,IAGlB,SAASI,EAAU5sC,GAEjB,OADAA,EAAQA,EAAMgD,QAAQ,MAAO,KACrBhD,EAAQ/B,OAAO4uC,WAAa,IAGtC,SAASC,EAAU9sC,GAEjB,OADAA,EAAQA,EAAMgD,QAAQ,MAAO,KACrBhD,EAAQ/B,OAAO8uC,YAAc,IAGhC,SAASC,EAAShtC,GACvB,GAAqB,kBAAVA,EACT,OAAOA,EAGT,GAAI,OAAW,CACb,IAA8B,IAA1BA,EAAMoF,QAAQ,OAChB,OAAOunC,EAAW3sC,GAGpB,IAA6B,IAAzBA,EAAMoF,QAAQ,MAChB,OAAOwnC,EAAU5sC,GAGnB,IAA6B,IAAzBA,EAAMoF,QAAQ,MAChB,OAAO0nC,EAAU9sC,GAIrB,OAAO0sC,WAAW1sC","file":"js/about49.c6ffa4d6.js","sourcesContent":["// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\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","import { isServer } from '..';\n// eslint-disable-next-line import/no-mutable-exports\nexport var supportsPassive = false;\n\nif (!isServer) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', {\n // eslint-disable-next-line getter-return\n get: function get() {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n });\n window.addEventListener('test-passive', null, opts); // eslint-disable-next-line no-empty\n } catch (e) {}\n}\n\nexport function on(target, event, handler, passive) {\n if (passive === void 0) {\n passive = false;\n }\n\n if (!isServer) {\n target.addEventListener(event, handler, supportsPassive ? {\n capture: false,\n passive: passive\n } : false);\n }\n}\nexport function off(target, event, handler) {\n if (!isServer) {\n target.removeEventListener(event, handler);\n }\n}\nexport function stopPropagation(event) {\n event.stopPropagation();\n}\nexport function preventDefault(event, isStopPropagation) {\n /* istanbul ignore else */\n if (typeof event.cancelable !== 'boolean' || event.cancelable) {\n event.preventDefault();\n }\n\n if (isStopPropagation) {\n stopPropagation(event);\n }\n}","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"h-100 bg-light\",staticStyle:{\"overflow-x\":\"hidden\",\"overflow-y\":\"auto\"}},[_c('van-form',{ref:\"MeetingForm\",attrs:{\"show-error-message\":false},on:{\"submit\":_vm.onSubmit}},[_c('van-cell-group',{attrs:{\"title\":_vm.$route.meta && _vm.$route.meta.nickname || _vm.$route.name}},[_c('van-field',{attrs:{\"name\":\"topic\",\"label\":\"主题\",\"placeholder\":\"请输入主题\",\"rules\":[{ required: true}],\"clearable\":\"\"},model:{value:(_vm.single.topic),callback:function ($$v) {_vm.$set(_vm.single, \"topic\", $$v)},expression:\"single.topic\"}}),_c('van-field',{attrs:{\"readonly\":\"\",\"clickable\":\"\",\"name\":\"room_group\",\"value\":_vm.findLabel(_vm.single.group_id,_vm.allRoomGroups,'id'),\"label\":\"会议组\",\"placeholder\":\"选择会议组\"},on:{\"click\":function($event){_vm.show_picker.group_id = true}}}),_c('van-popup',{attrs:{\"position\":\"bottom\"},model:{value:(_vm.show_picker.group_id),callback:function ($$v) {_vm.$set(_vm.show_picker, \"group_id\", $$v)},expression:\"show_picker.group_id\"}},[_c('van-picker',{attrs:{\"show-toolbar\":\"\",\"value-key\":\"name\",\"columns\":_vm.allRoomGroups},on:{\"confirm\":(v1) => _vm.onPickConfirm('group_id',v1),\"cancel\":function($event){_vm.show_picker.group_id = false}}})],1)],1),_c('van-cell-group',{attrs:{\"title\":\"时间\"}},[_c('van-field',{attrs:{\"readonly\":\"\",\"clickable\":\"\",\"name\":\"calendar\",\"value\":_vm.single.meeting_date,\"label\":\"会议日期\",\"placeholder\":\"点击选择日期\",\"disabled\":!_vm.canAdd},on:{\"click\":function($event){_vm.showCalendar = true}}}),_c('van-calendar',{attrs:{\"show-confirm\":false},on:{\"confirm\":_vm.onConfirmDate},model:{value:(_vm.showCalendar),callback:function ($$v) {_vm.showCalendar=$$v},expression:\"showCalendar\"}}),_c('van-field',{attrs:{\"readonly\":\"\",\"clickable\":\"\",\"name\":\"datetimePicker\",\"value\":_vm.single.meeting_time,\"label\":\"会议时间\",\"placeholder\":\"点击选择时间\",\"disabled\":!_vm.canAdd},on:{\"click\":function($event){_vm.showDateTimePicker = true}}}),_c('van-popup',{attrs:{\"position\":\"bottom\"},model:{value:(_vm.showDateTimePicker),callback:function ($$v) {_vm.showDateTimePicker=$$v},expression:\"showDateTimePicker\"}},[_c('van-datetime-picker',{attrs:{\"type\":\"time\",\"default-date\":_vm.$dateParse(_vm.single.meeting_date),\"filter\":_vm.timeFilter},on:{\"confirm\":_vm.onConfirmTime,\"cancel\":function($event){_vm.showDateTimePicker = false}},model:{value:(_vm.single.meeting_time),callback:function ($$v) {_vm.$set(_vm.single, \"meeting_time\", $$v)},expression:\"single.meeting_time\"}})],1),_c('van-field',{attrs:{\"readonly\":\"\",\"clickable\":\"\",\"name\":\"picker\",\"value\":_vm.findLabel(_vm.single.duration,_vm.duration_options),\"label\":\"选择时长\",\"placeholder\":\"点击选择时长\"},on:{\"click\":function($event){_vm.showDurationPicker = true}}}),_c('van-popup',{attrs:{\"position\":\"bottom\"},model:{value:(_vm.showDurationPicker),callback:function ($$v) {_vm.showDurationPicker=$$v},expression:\"showDurationPicker\"}},[_c('van-picker',{attrs:{\"show-toolbar\":\"\",\"value-key\":\"label\",\"columns\":_vm.duration_options},on:{\"confirm\":_vm.onDurationConfirm,\"cancel\":function($event){_vm.showDurationPicker = false}}})],1),_c('van-cell',{staticClass:\"px-1\"},[_c('meeting-freebusy',{ref:\"meeting_busy\",attrs:{\"jump\":_vm.canAdd,\"date\":_vm.single.meeting_date,\"id\":_vm.single.id,\"group\":_vm.single.group_id,\"duration\":_vm.single.duration,\"time\":_vm.single.meeting_time},on:{\"change\":_vm.handleFreeChange}})],1)],1),_c('van-cell-group',{attrs:{\"title\":\"其他\"}},[_c('van-field',{attrs:{\"name\":\"waiting_room\",\"label\":\"等候室\"},scopedSlots:_vm._u([{key:\"input\",fn:function(){return [_c('van-switch',{attrs:{\"size\":\"20\",\"active-value\":\"1\",\"inactive-value\":\"0\"},on:{\"change\":function($event){return _vm.changeCheck(0)}},model:{value:(_vm.single.waiting_room),callback:function ($$v) {_vm.$set(_vm.single, \"waiting_room\", $$v)},expression:\"single.waiting_room\"}})]},proxy:true}])}),_c('van-field',{attrs:{\"name\":\"option_jbh\",\"label\":\"提前参会\"},scopedSlots:_vm._u([{key:\"input\",fn:function(){return [_c('van-switch',{attrs:{\"size\":\"20\",\"active-value\":\"1\",\"inactive-value\":\"0\"},on:{\"change\":function($event){return _vm.changeCheck(1)}},model:{value:(_vm.single.option_jbh),callback:function ($$v) {_vm.$set(_vm.single, \"option_jbh\", $$v)},expression:\"single.option_jbh\"}})]},proxy:true}])}),_c('van-field',{attrs:{\"name\":\"option_mute\",\"label\":\"静音入会\"},scopedSlots:_vm._u([{key:\"input\",fn:function(){return [_c('van-switch',{attrs:{\"size\":\"20\",\"active-value\":\"1\",\"inactive-value\":\"0\"},model:{value:(_vm.single.option_mute),callback:function ($$v) {_vm.$set(_vm.single, \"option_mute\", $$v)},expression:\"single.option_mute\"}})]},proxy:true}])}),_c('van-field',{attrs:{\"name\":\"option_interpreter\",\"label\":\"开启同传\"},scopedSlots:_vm._u([{key:\"input\",fn:function(){return [_c('van-switch',{attrs:{\"disabled\":_vm.single && _vm.single.id && _vm.isTencentMeeting,\"size\":\"20\",\"active-value\":\"1\",\"inactive-value\":\"0\"},model:{value:(_vm.single.option_interpreter),callback:function ($$v) {_vm.$set(_vm.single, \"option_interpreter\", $$v)},expression:\"single.option_interpreter\"}})]},proxy:true}])}),_c('van-field',{attrs:{\"name\":\"option_live\",\"label\":\"开启直播\"},scopedSlots:_vm._u([{key:\"input\",fn:function(){return [_c('van-switch',{attrs:{\"size\":\"20\",\"active-value\":\"1\",\"inactive-value\":\"0\"},model:{value:(_vm.single.option_live),callback:function ($$v) {_vm.$set(_vm.single, \"option_live\", $$v)},expression:\"single.option_live\"}})]},proxy:true}])}),_c('van-field',{attrs:{\"name\":\"topic\",\"label\":\"密码\",\"placeholder\":\"6位纯数字\",\"type\":\"digit\",\"rules\":[{pattern: _vm.pattern}],\"center\":\"\",\"clearable\":\"\"},scopedSlots:_vm._u([{key:\"button\",fn:function(){return [_c('el-button',{attrs:{\"size\":\"small\",\"plain\":\"\",\"type\":\"primary\"},on:{\"click\":_vm.makeRandomPassword}},[_vm._v(\"生成\")])]},proxy:true}]),model:{value:(_vm.single.password),callback:function ($$v) {_vm.$set(_vm.single, \"password\", $$v)},expression:\"single.password\"}}),_c('van-field',{attrs:{\"name\":\"topic\",\"label\":\"联席主持\",\"placeholder\":\"联席主持人的jAccount账号\",\"center\":\"\",\"clearable\":\"\"},model:{value:(_vm.single.assistants),callback:function ($$v) {_vm.$set(_vm.single, \"assistants\", $$v)},expression:\"single.assistants\"}}),_c('van-field',{attrs:{\"name\":\"description\",\"placeholder\":\"填写会议内容\",\"rows\":\"2\",\"label\":\"会议内容\",\"type\":\"textarea\",\"maxlength\":\"100\",\"show-word-limit\":\"\"},model:{value:(_vm.single.description),callback:function ($$v) {_vm.$set(_vm.single, \"description\", $$v)},expression:\"single.description\"}})],1),_c('div',{staticClass:\"m-3 d-flex mb-4\"},[_c('van-button',{staticClass:\"mr-4\",attrs:{\"block\":\"\",\"type\":\"info\",\"native-type\":\"submit\"}},[_vm._v(\"提交申请\")]),_c('van-button',{attrs:{\"block\":\"\",\"type\":\"default\"},on:{\"click\":function($event){return _vm.$router.replace('/jwb/meetings')}}},[_vm._v(\"返回列表\")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { inherit } from '../utils/functional';\nimport { BORDER_TOP_BOTTOM } from '../utils/constant'; // Types\n\nvar _createNamespace = createNamespace('cell-group'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction CellGroup(h, props, slots, ctx) {\n var _ref;\n\n var Group = h(\"div\", _mergeJSXProps([{\n \"class\": [bem({\n inset: props.inset\n }), (_ref = {}, _ref[BORDER_TOP_BOTTOM] = props.border, _ref)]\n }, inherit(ctx, true)]), [slots.default == null ? void 0 : slots.default()]);\n\n if (props.title || slots.title) {\n return h(\"div\", {\n \"key\": ctx.data.key\n }, [h(\"div\", {\n \"class\": bem('title', {\n inset: props.inset\n })\n }, [slots.title ? slots.title() : props.title]), Group]);\n }\n\n return Group;\n}\n\nCellGroup.props = {\n title: String,\n inset: Boolean,\n border: {\n type: Boolean,\n default: true\n }\n};\nexport default createComponent(CellGroup);","function flattenVNodes(vnodes) {\n var result = [];\n\n function traverse(vnodes) {\n vnodes.forEach(function (vnode) {\n result.push(vnode);\n\n if (vnode.componentInstance) {\n traverse(vnode.componentInstance.$children.map(function (item) {\n return item.$vnode;\n }));\n }\n\n if (vnode.children) {\n traverse(vnode.children);\n }\n });\n }\n\n traverse(vnodes);\n return result;\n} // sort children instances by vnodes order\n\n\nexport function sortChildren(children, parent) {\n var componentOptions = parent.$vnode.componentOptions;\n\n if (!componentOptions || !componentOptions.children) {\n return;\n }\n\n var vnodes = flattenVNodes(componentOptions.children);\n children.sort(function (a, b) {\n return vnodes.indexOf(a.$vnode) - vnodes.indexOf(b.$vnode);\n });\n}","import { createNamespace } from '../utils';\nimport { sortChildren } from '../utils/vnodes';\n\nvar _createNamespace = createNamespace('form'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n props: {\n colon: Boolean,\n disabled: Boolean,\n readonly: Boolean,\n labelWidth: [Number, String],\n labelAlign: String,\n inputAlign: String,\n scrollToError: Boolean,\n validateFirst: Boolean,\n errorMessageAlign: String,\n submitOnEnter: {\n type: Boolean,\n default: true\n },\n validateTrigger: {\n type: String,\n default: 'onBlur'\n },\n showError: {\n type: Boolean,\n default: true\n },\n showErrorMessage: {\n type: Boolean,\n default: true\n }\n },\n provide: function provide() {\n return {\n vanForm: this\n };\n },\n data: function data() {\n return {\n fields: []\n };\n },\n methods: {\n getFieldsByNames: function getFieldsByNames(names) {\n if (names) {\n return this.fields.filter(function (field) {\n return names.indexOf(field.name) !== -1;\n });\n }\n\n return this.fields;\n },\n validateSeq: function validateSeq(names) {\n var _this = this;\n\n return new Promise(function (resolve, reject) {\n var errors = [];\n\n var fields = _this.getFieldsByNames(names);\n\n fields.reduce(function (promise, field) {\n return promise.then(function () {\n if (!errors.length) {\n return field.validate().then(function (error) {\n if (error) {\n errors.push(error);\n }\n });\n }\n });\n }, Promise.resolve()).then(function () {\n if (errors.length) {\n reject(errors);\n } else {\n resolve();\n }\n });\n });\n },\n validateFields: function validateFields(names) {\n var _this2 = this;\n\n return new Promise(function (resolve, reject) {\n var fields = _this2.getFieldsByNames(names);\n\n Promise.all(fields.map(function (item) {\n return item.validate();\n })).then(function (errors) {\n errors = errors.filter(function (item) {\n return item;\n });\n\n if (errors.length) {\n reject(errors);\n } else {\n resolve();\n }\n });\n });\n },\n // @exposed-api\n validate: function validate(name) {\n if (name && !Array.isArray(name)) {\n return this.validateField(name);\n }\n\n return this.validateFirst ? this.validateSeq(name) : this.validateFields(name);\n },\n validateField: function validateField(name) {\n var matched = this.fields.filter(function (item) {\n return item.name === name;\n });\n\n if (matched.length) {\n return new Promise(function (resolve, reject) {\n matched[0].validate().then(function (error) {\n if (error) {\n reject(error);\n } else {\n resolve();\n }\n });\n });\n }\n\n return Promise.reject();\n },\n // @exposed-api\n resetValidation: function resetValidation(name) {\n if (name && !Array.isArray(name)) {\n name = [name];\n }\n\n var fields = this.getFieldsByNames(name);\n fields.forEach(function (item) {\n item.resetValidation();\n });\n },\n // @exposed-api\n scrollToField: function scrollToField(name, options) {\n this.fields.some(function (item) {\n if (item.name === name) {\n item.$el.scrollIntoView(options);\n return true;\n }\n\n return false;\n });\n },\n addField: function addField(field) {\n this.fields.push(field);\n sortChildren(this.fields, this);\n },\n removeField: function removeField(field) {\n this.fields = this.fields.filter(function (item) {\n return item !== field;\n });\n },\n getValues: function getValues() {\n return this.fields.reduce(function (form, field) {\n form[field.name] = field.formValue;\n return form;\n }, {});\n },\n onSubmit: function onSubmit(event) {\n event.preventDefault();\n this.submit();\n },\n // @exposed-api\n submit: function submit() {\n var _this3 = this;\n\n var values = this.getValues();\n this.validate().then(function () {\n _this3.$emit('submit', values);\n }).catch(function (errors) {\n _this3.$emit('failed', {\n values: values,\n errors: errors\n });\n\n if (_this3.scrollToError) {\n _this3.scrollToField(errors[0].name);\n }\n });\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"form\", {\n \"class\": bem(),\n \"on\": {\n \"submit\": this.onSubmit\n }\n }, [this.slots()]);\n }\n});","export var context = {\n zIndex: 2000,\n lockCount: 0,\n stack: [],\n find: function find(vm) {\n return this.stack.filter(function (item) {\n return item.vm === vm;\n })[0];\n },\n remove: function remove(vm) {\n var item = this.find(vm);\n if (!item) return;\n item.vm = null;\n item.overlay = null;\n var index = this.stack.indexOf(item);\n this.stack.splice(index, 1);\n }\n};","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace, isDef, noop } from '../utils';\nimport { inherit } from '../utils/functional';\nimport { preventDefault } from '../utils/dom/event'; // Types\n\nvar _createNamespace = createNamespace('overlay'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction preventTouchMove(event) {\n preventDefault(event, true);\n}\n\nfunction Overlay(h, props, slots, ctx) {\n var style = _extends({\n zIndex: props.zIndex\n }, props.customStyle);\n\n if (isDef(props.duration)) {\n style.animationDuration = props.duration + \"s\";\n }\n\n return h(\"transition\", {\n \"attrs\": {\n \"name\": \"van-fade\"\n }\n }, [h(\"div\", _mergeJSXProps([{\n \"directives\": [{\n name: \"show\",\n value: props.show\n }],\n \"style\": style,\n \"class\": [bem(), props.className],\n \"on\": {\n \"touchmove\": props.lockScroll ? preventTouchMove : noop\n }\n }, inherit(ctx, true)]), [slots.default == null ? void 0 : slots.default()])]);\n}\n\nOverlay.props = {\n show: Boolean,\n zIndex: [Number, String],\n duration: [Number, String],\n className: null,\n customStyle: Object,\n lockScroll: {\n type: Boolean,\n default: true\n }\n};\nexport default createComponent(Overlay);","export function removeNode(el) {\n var parent = el.parentNode;\n\n if (parent) {\n parent.removeChild(el);\n }\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport Overlay from '../../overlay';\nimport { context } from './context';\nimport { mount } from '../../utils/functional';\nimport { removeNode } from '../../utils/dom/node';\nvar defaultConfig = {\n className: '',\n customStyle: {}\n};\n\nfunction mountOverlay(vm) {\n return mount(Overlay, {\n on: {\n // close popup when overlay clicked & closeOnClickOverlay is true\n click: function click() {\n vm.$emit('click-overlay');\n\n if (vm.closeOnClickOverlay) {\n if (vm.onClickOverlay) {\n vm.onClickOverlay();\n } else {\n vm.close();\n }\n }\n }\n }\n });\n}\n\nexport function updateOverlay(vm) {\n var item = context.find(vm);\n\n if (item) {\n var el = vm.$el;\n var config = item.config,\n overlay = item.overlay;\n\n if (el && el.parentNode) {\n el.parentNode.insertBefore(overlay.$el, el);\n }\n\n _extends(overlay, defaultConfig, config, {\n show: true\n });\n }\n}\nexport function openOverlay(vm, config) {\n var item = context.find(vm);\n\n if (item) {\n item.config = config;\n } else {\n var overlay = mountOverlay(vm);\n context.stack.push({\n vm: vm,\n config: config,\n overlay: overlay\n });\n }\n\n updateOverlay(vm);\n}\nexport function closeOverlay(vm) {\n var item = context.find(vm);\n\n if (item) {\n item.overlay.show = false;\n }\n}\nexport function removeOverlay(vm) {\n var item = context.find(vm);\n\n if (item) {\n removeNode(item.overlay.$el);\n context.remove(vm);\n }\n}","import { on } from '../utils/dom/event';\n\nfunction getDirection(x, y) {\n if (x > y) {\n return 'horizontal';\n }\n\n if (y > x) {\n return 'vertical';\n }\n\n return '';\n}\n\nexport var TouchMixin = {\n data: function data() {\n return {\n direction: ''\n };\n },\n methods: {\n touchStart: function touchStart(event) {\n this.resetTouchStatus();\n this.startX = event.touches[0].clientX;\n this.startY = event.touches[0].clientY;\n },\n touchMove: function touchMove(event) {\n var touch = event.touches[0]; // safari back will set clientX to negative number\n\n this.deltaX = touch.clientX < 0 ? 0 : touch.clientX - this.startX;\n this.deltaY = touch.clientY - this.startY;\n this.offsetX = Math.abs(this.deltaX);\n this.offsetY = Math.abs(this.deltaY); // lock direction when distance is greater than a certain value\n\n var LOCK_DIRECTION_DISTANCE = 10;\n\n if (!this.direction || this.offsetX < LOCK_DIRECTION_DISTANCE && this.offsetY < LOCK_DIRECTION_DISTANCE) {\n this.direction = getDirection(this.offsetX, this.offsetY);\n }\n },\n resetTouchStatus: function resetTouchStatus() {\n this.direction = '';\n this.deltaX = 0;\n this.deltaY = 0;\n this.offsetX = 0;\n this.offsetY = 0;\n },\n // avoid Vue 2.6 event bubble issues by manually binding events\n // https://github.com/vant-ui/vant/issues/3015\n bindTouchEvent: function bindTouchEvent(el) {\n var onTouchStart = this.onTouchStart,\n onTouchMove = this.onTouchMove,\n onTouchEnd = this.onTouchEnd;\n on(el, 'touchstart', onTouchStart);\n on(el, 'touchmove', onTouchMove);\n\n if (onTouchEnd) {\n on(el, 'touchend', onTouchEnd);\n on(el, 'touchcancel', onTouchEnd);\n }\n }\n }\n};","function getElement(selector) {\n if (typeof selector === 'string') {\n return document.querySelector(selector);\n }\n\n return selector();\n}\n\nexport function PortalMixin(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n ref = _ref.ref,\n afterPortal = _ref.afterPortal;\n\n return {\n props: {\n getContainer: [String, Function]\n },\n watch: {\n getContainer: 'portal'\n },\n mounted: function mounted() {\n if (this.getContainer) {\n this.portal();\n }\n },\n methods: {\n portal: function portal() {\n var getContainer = this.getContainer;\n var el = ref ? this.$refs[ref] : this.$el;\n var container;\n\n if (getContainer) {\n container = getElement(getContainer);\n } else if (this.$parent) {\n container = this.$parent.$el;\n }\n\n if (container && container !== el.parentNode) {\n container.appendChild(el);\n }\n\n if (afterPortal) {\n afterPortal.call(this);\n }\n }\n }\n };\n}","/**\n * Bind event when mounted or activated\n */\nimport { on, off } from '../utils/dom/event';\nvar uid = 0;\nexport function BindEventMixin(handler) {\n var key = \"binded_\" + uid++;\n\n function bind() {\n if (!this[key]) {\n handler.call(this, on, true);\n this[key] = true;\n }\n }\n\n function unbind() {\n if (this[key]) {\n handler.call(this, off, false);\n this[key] = false;\n }\n }\n\n return {\n mounted: bind,\n activated: bind,\n deactivated: unbind,\n beforeDestroy: unbind\n };\n}","import { on, off } from '../utils/dom/event';\nimport { BindEventMixin } from './bind-event';\nexport var CloseOnPopstateMixin = {\n mixins: [BindEventMixin(function (bind, isBind) {\n this.handlePopstate(isBind && this.closeOnPopstate);\n })],\n props: {\n closeOnPopstate: Boolean\n },\n data: function data() {\n return {\n bindStatus: false\n };\n },\n watch: {\n closeOnPopstate: function closeOnPopstate(val) {\n this.handlePopstate(val);\n }\n },\n methods: {\n onPopstate: function onPopstate() {\n this.close();\n this.shouldReopen = false;\n },\n handlePopstate: function handlePopstate(bind) {\n /* istanbul ignore if */\n if (this.$isServer) {\n return;\n }\n\n if (this.bindStatus !== bind) {\n this.bindStatus = bind;\n var action = bind ? on : off;\n action(window, 'popstate', this.onPopstate);\n }\n }\n }\n};","// Context\nimport { context } from './context';\nimport { openOverlay, closeOverlay, updateOverlay, removeOverlay } from './overlay'; // Utils\n\nimport { on, off, preventDefault } from '../../utils/dom/event';\nimport { removeNode } from '../../utils/dom/node';\nimport { getScroller } from '../../utils/dom/scroll'; // Mixins\n\nimport { TouchMixin } from '../touch';\nimport { PortalMixin } from '../portal';\nimport { CloseOnPopstateMixin } from '../close-on-popstate';\nexport var popupMixinProps = {\n // Initial rendering animation\n transitionAppear: Boolean,\n // whether to show popup\n value: Boolean,\n // whether to show overlay\n overlay: Boolean,\n // overlay custom style\n overlayStyle: Object,\n // overlay custom class name\n overlayClass: String,\n // whether to close popup when overlay is clicked\n closeOnClickOverlay: Boolean,\n // z-index\n zIndex: [Number, String],\n // prevent body scroll\n lockScroll: {\n type: Boolean,\n default: true\n },\n // whether to lazy render\n lazyRender: {\n type: Boolean,\n default: true\n }\n};\nexport function PopupMixin(options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n mixins: [TouchMixin, CloseOnPopstateMixin, PortalMixin({\n afterPortal: function afterPortal() {\n if (this.overlay) {\n updateOverlay();\n }\n }\n })],\n provide: function provide() {\n return {\n vanPopup: this\n };\n },\n props: popupMixinProps,\n data: function data() {\n this.onReopenCallback = [];\n return {\n inited: this.value\n };\n },\n computed: {\n shouldRender: function shouldRender() {\n return this.inited || !this.lazyRender;\n }\n },\n watch: {\n value: function value(val) {\n var type = val ? 'open' : 'close';\n this.inited = this.inited || this.value;\n this[type]();\n\n if (!options.skipToggleEvent) {\n this.$emit(type);\n }\n },\n overlay: 'renderOverlay'\n },\n mounted: function mounted() {\n if (this.value) {\n this.open();\n }\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n if (this.shouldReopen) {\n this.$emit('input', true);\n this.shouldReopen = false;\n }\n },\n beforeDestroy: function beforeDestroy() {\n removeOverlay(this);\n\n if (this.opened) {\n this.removeLock();\n }\n\n if (this.getContainer) {\n removeNode(this.$el);\n }\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n if (this.value) {\n this.close();\n this.shouldReopen = true;\n }\n },\n methods: {\n open: function open() {\n /* istanbul ignore next */\n if (this.$isServer || this.opened) {\n return;\n } // cover default zIndex\n\n\n if (this.zIndex !== undefined) {\n context.zIndex = this.zIndex;\n }\n\n this.opened = true;\n this.renderOverlay();\n this.addLock();\n this.onReopenCallback.forEach(function (callback) {\n callback();\n });\n },\n addLock: function addLock() {\n if (this.lockScroll) {\n on(document, 'touchstart', this.touchStart);\n on(document, 'touchmove', this.onTouchMove);\n\n if (!context.lockCount) {\n document.body.classList.add('van-overflow-hidden');\n }\n\n context.lockCount++;\n }\n },\n removeLock: function removeLock() {\n if (this.lockScroll && context.lockCount) {\n context.lockCount--;\n off(document, 'touchstart', this.touchStart);\n off(document, 'touchmove', this.onTouchMove);\n\n if (!context.lockCount) {\n document.body.classList.remove('van-overflow-hidden');\n }\n }\n },\n close: function close() {\n if (!this.opened) {\n return;\n }\n\n closeOverlay(this);\n this.opened = false;\n this.removeLock();\n this.$emit('input', false);\n },\n onTouchMove: function onTouchMove(event) {\n this.touchMove(event);\n var direction = this.deltaY > 0 ? '10' : '01';\n var el = getScroller(event.target, this.$el);\n var scrollHeight = el.scrollHeight,\n offsetHeight = el.offsetHeight,\n scrollTop = el.scrollTop;\n var status = '11';\n /* istanbul ignore next */\n\n if (scrollTop === 0) {\n status = offsetHeight >= scrollHeight ? '00' : '01';\n } else if (scrollTop + offsetHeight >= scrollHeight) {\n status = '10';\n }\n /* istanbul ignore next */\n\n\n if (status !== '11' && this.direction === 'vertical' && !(parseInt(status, 2) & parseInt(direction, 2))) {\n preventDefault(event, true);\n }\n },\n renderOverlay: function renderOverlay() {\n var _this = this;\n\n if (this.$isServer || !this.value) {\n return;\n }\n\n this.$nextTick(function () {\n _this.updateZIndex(_this.overlay ? 1 : 0);\n\n if (_this.overlay) {\n openOverlay(_this, {\n zIndex: context.zIndex++,\n duration: _this.duration,\n className: _this.overlayClass,\n customStyle: _this.overlayStyle\n });\n } else {\n closeOverlay(_this);\n }\n });\n },\n updateZIndex: function updateZIndex(value) {\n if (value === void 0) {\n value = 0;\n }\n\n this.$el.style.zIndex = ++context.zIndex + value;\n },\n onReopen: function onReopen(callback) {\n this.onReopenCallback.push(callback);\n }\n }\n };\n}","import { createNamespace, isDef } from '../utils';\nimport { PopupMixin } from '../mixins/popup';\nimport Icon from '../icon';\n\nvar _createNamespace = createNamespace('popup'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [PopupMixin()],\n props: {\n round: Boolean,\n duration: [Number, String],\n closeable: Boolean,\n transition: String,\n safeAreaInsetBottom: Boolean,\n closeIcon: {\n type: String,\n default: 'cross'\n },\n closeIconPosition: {\n type: String,\n default: 'top-right'\n },\n position: {\n type: String,\n default: 'center'\n },\n overlay: {\n type: Boolean,\n default: true\n },\n closeOnClickOverlay: {\n type: Boolean,\n default: true\n }\n },\n beforeCreate: function beforeCreate() {\n var _this = this;\n\n var createEmitter = function createEmitter(eventName) {\n return function (event) {\n return _this.$emit(eventName, event);\n };\n };\n\n this.onClick = createEmitter('click');\n this.onOpened = createEmitter('opened');\n this.onClosed = createEmitter('closed');\n },\n methods: {\n onClickCloseIcon: function onClickCloseIcon(event) {\n this.$emit('click-close-icon', event);\n this.close();\n }\n },\n render: function render() {\n var _bem;\n\n var h = arguments[0];\n\n if (!this.shouldRender) {\n return;\n }\n\n var round = this.round,\n position = this.position,\n duration = this.duration;\n var isCenter = position === 'center';\n var transitionName = this.transition || (isCenter ? 'van-fade' : \"van-popup-slide-\" + position);\n var style = {};\n\n if (isDef(duration)) {\n var key = isCenter ? 'animationDuration' : 'transitionDuration';\n style[key] = duration + \"s\";\n }\n\n return h(\"transition\", {\n \"attrs\": {\n \"appear\": this.transitionAppear,\n \"name\": transitionName\n },\n \"on\": {\n \"afterEnter\": this.onOpened,\n \"afterLeave\": this.onClosed\n }\n }, [h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.value\n }],\n \"style\": style,\n \"class\": bem((_bem = {\n round: round\n }, _bem[position] = position, _bem['safe-area-inset-bottom'] = this.safeAreaInsetBottom, _bem)),\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.slots(), this.closeable && h(Icon, {\n \"attrs\": {\n \"role\": \"button\",\n \"tabindex\": \"0\",\n \"name\": this.closeIcon\n },\n \"class\": bem('close-icon', this.closeIconPosition),\n \"on\": {\n \"click\": this.onClickCloseIcon\n }\n })])]);\n }\n});","import { isNaN } from '../utils/validate/number';\nexport function times(n, iteratee) {\n if (n < 0) {\n return [];\n }\n\n var index = -1;\n var result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n\n return result;\n}\nexport function getTrueValue(value) {\n if (!value) {\n return 0;\n }\n\n while (isNaN(parseInt(value, 10))) {\n if (value.length > 1) {\n value = value.slice(1);\n } else {\n return 0;\n }\n }\n\n return parseInt(value, 10);\n}\nexport function getMonthEndDay(year, month) {\n return 32 - new Date(year, month - 1, 32).getDate();\n}","export var DEFAULT_ITEM_HEIGHT = 44;\nexport var pickerProps = {\n title: String,\n loading: Boolean,\n readonly: Boolean,\n itemHeight: [Number, String],\n showToolbar: Boolean,\n cancelButtonText: String,\n confirmButtonText: String,\n allowHtml: {\n type: Boolean,\n default: true\n },\n visibleItemCount: {\n type: [Number, String],\n default: 6\n },\n swipeDuration: {\n type: [Number, String],\n default: 1000\n }\n};","import { isDef } from './index';\nexport function deepClone(obj) {\n if (!isDef(obj)) {\n return obj;\n }\n\n if (Array.isArray(obj)) {\n return obj.map(function (item) {\n return deepClone(item);\n });\n }\n\n if (typeof obj === 'object') {\n var to = {};\n Object.keys(obj).forEach(function (key) {\n to[key] = deepClone(obj[key]);\n });\n return to;\n }\n\n return obj;\n}","import _mergeJSXProps2 from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport { deepClone } from '../utils/deep-clone';\nimport { createNamespace, inBrowser, isObject } from '../utils';\nimport { range } from '../utils/format/number';\nimport { preventDefault, on, off } from '../utils/dom/event';\nimport { TouchMixin } from '../mixins/touch';\nvar DEFAULT_DURATION = 200; // 惯性滑动思路:\n// 在手指离开屏幕时,如果和上一次 move 时的间隔小于 `MOMENTUM_LIMIT_TIME` 且 move\n// 距离大于 `MOMENTUM_LIMIT_DISTANCE` 时,执行惯性滑动\n\nexport var MOMENTUM_LIMIT_TIME = 300;\nexport var MOMENTUM_LIMIT_DISTANCE = 15;\n\nvar _createNamespace = createNamespace('picker-column'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction getElementTranslateY(element) {\n var style = window.getComputedStyle(element);\n var transform = style.transform || style.webkitTransform;\n var translateY = transform.slice(7, transform.length - 1).split(', ')[5];\n return Number(translateY);\n}\n\nfunction isOptionDisabled(option) {\n return isObject(option) && option.disabled;\n} // use standard WheelEvent:\n// https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent\n\n\nvar supportMousewheel = inBrowser && 'onwheel' in window;\nvar mousewheelTimer = null;\nexport default createComponent({\n mixins: [TouchMixin],\n props: {\n valueKey: String,\n readonly: Boolean,\n allowHtml: Boolean,\n className: String,\n itemHeight: Number,\n defaultIndex: Number,\n swipeDuration: [Number, String],\n visibleItemCount: [Number, String],\n initialOptions: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n offset: 0,\n duration: 0,\n options: deepClone(this.initialOptions),\n currentIndex: this.defaultIndex\n };\n },\n created: function created() {\n if (this.$parent.children) {\n this.$parent.children.push(this);\n }\n\n this.setIndex(this.currentIndex);\n },\n mounted: function mounted() {\n this.bindTouchEvent(this.$el);\n\n if (supportMousewheel) {\n on(this.$el, 'wheel', this.onMouseWheel, false);\n }\n },\n destroyed: function destroyed() {\n var children = this.$parent.children;\n\n if (children) {\n children.splice(children.indexOf(this), 1);\n }\n\n if (supportMousewheel) {\n off(this.$el, 'wheel');\n }\n },\n watch: {\n initialOptions: 'setOptions',\n defaultIndex: function defaultIndex(val) {\n this.setIndex(val);\n }\n },\n computed: {\n count: function count() {\n return this.options.length;\n },\n baseOffset: function baseOffset() {\n return this.itemHeight * (this.visibleItemCount - 1) / 2;\n }\n },\n methods: {\n setOptions: function setOptions(options) {\n if (JSON.stringify(options) !== JSON.stringify(this.options)) {\n this.options = deepClone(options);\n this.setIndex(this.defaultIndex);\n }\n },\n onTouchStart: function onTouchStart(event) {\n if (this.readonly) {\n return;\n }\n\n this.touchStart(event);\n\n if (this.moving) {\n var translateY = getElementTranslateY(this.$refs.wrapper);\n this.offset = Math.min(0, translateY - this.baseOffset);\n this.startOffset = this.offset;\n } else {\n this.startOffset = this.offset;\n }\n\n this.duration = 0;\n this.transitionEndTrigger = null;\n this.touchStartTime = Date.now();\n this.momentumOffset = this.startOffset;\n },\n onTouchMove: function onTouchMove(event) {\n if (this.readonly) {\n return;\n }\n\n this.touchMove(event);\n\n if (this.direction === 'vertical') {\n this.moving = true;\n preventDefault(event, true);\n }\n\n this.offset = range(this.startOffset + this.deltaY, -(this.count * this.itemHeight), this.itemHeight);\n var now = Date.now();\n\n if (now - this.touchStartTime > MOMENTUM_LIMIT_TIME) {\n this.touchStartTime = now;\n this.momentumOffset = this.offset;\n }\n },\n onTouchEnd: function onTouchEnd() {\n var _this = this;\n\n if (this.readonly) {\n return;\n }\n\n var distance = this.offset - this.momentumOffset;\n var duration = Date.now() - this.touchStartTime;\n var allowMomentum = duration < MOMENTUM_LIMIT_TIME && Math.abs(distance) > MOMENTUM_LIMIT_DISTANCE;\n\n if (allowMomentum) {\n this.momentum(distance, duration);\n return;\n }\n\n var index = this.getIndexByOffset(this.offset);\n this.duration = DEFAULT_DURATION;\n this.setIndex(index, true); // compatible with desktop scenario\n // use setTimeout to skip the click event Emitted after touchstart\n\n setTimeout(function () {\n _this.moving = false;\n }, 0);\n },\n onMouseWheel: function onMouseWheel(event) {\n var _this2 = this;\n\n if (this.readonly) {\n return;\n }\n\n preventDefault(event, true); // simply combine touchstart and touchmove\n\n var translateY = getElementTranslateY(this.$refs.wrapper);\n this.startOffset = Math.min(0, translateY - this.baseOffset);\n this.momentumOffset = this.startOffset;\n this.transitionEndTrigger = null; // directly use deltaY, see https://caniuse.com/?search=deltaY\n // use deltaY to detect direction for not special setting device\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/wheel_event\n\n var deltaY = event.deltaY;\n\n if (this.startOffset === 0 && deltaY < 0) {\n return;\n } // Calculate the offset based on itemHeight\n\n\n var itemOffset = this.itemHeight * (deltaY > 0 ? -1 : 1);\n this.offset = range(this.startOffset + itemOffset, -(this.count * this.itemHeight), this.itemHeight);\n\n if (mousewheelTimer) {\n clearTimeout(mousewheelTimer);\n }\n\n mousewheelTimer = setTimeout(function () {\n _this2.onTouchEnd();\n\n _this2.touchStartTime = 0;\n }, MOMENTUM_LIMIT_TIME);\n },\n onTransitionEnd: function onTransitionEnd() {\n this.stopMomentum();\n },\n onClickItem: function onClickItem(index) {\n if (this.moving || this.readonly) {\n return;\n }\n\n this.transitionEndTrigger = null;\n this.duration = DEFAULT_DURATION;\n this.setIndex(index, true);\n },\n adjustIndex: function adjustIndex(index) {\n index = range(index, 0, this.count);\n\n for (var i = index; i < this.count; i++) {\n if (!isOptionDisabled(this.options[i])) return i;\n }\n\n for (var _i = index - 1; _i >= 0; _i--) {\n if (!isOptionDisabled(this.options[_i])) return _i;\n }\n },\n getOptionText: function getOptionText(option) {\n if (isObject(option) && this.valueKey in option) {\n return option[this.valueKey];\n }\n\n return option;\n },\n setIndex: function setIndex(index, emitChange) {\n var _this3 = this;\n\n index = this.adjustIndex(index) || 0;\n var offset = -index * this.itemHeight;\n\n var trigger = function trigger() {\n if (index !== _this3.currentIndex) {\n _this3.currentIndex = index;\n\n if (emitChange) {\n _this3.$emit('change', index);\n }\n }\n }; // trigger the change event after transitionend when moving\n\n\n if (this.moving && offset !== this.offset) {\n this.transitionEndTrigger = trigger;\n } else {\n trigger();\n }\n\n this.offset = offset;\n },\n setValue: function setValue(value) {\n var options = this.options;\n\n for (var i = 0; i < options.length; i++) {\n if (this.getOptionText(options[i]) === value) {\n return this.setIndex(i);\n }\n }\n },\n getValue: function getValue() {\n return this.options[this.currentIndex];\n },\n getIndexByOffset: function getIndexByOffset(offset) {\n return range(Math.round(-offset / this.itemHeight), 0, this.count - 1);\n },\n momentum: function momentum(distance, duration) {\n var speed = Math.abs(distance / duration);\n distance = this.offset + speed / 0.003 * (distance < 0 ? -1 : 1);\n var index = this.getIndexByOffset(distance);\n this.duration = +this.swipeDuration;\n this.setIndex(index, true);\n },\n stopMomentum: function stopMomentum() {\n this.moving = false;\n this.duration = 0;\n\n if (this.transitionEndTrigger) {\n this.transitionEndTrigger();\n this.transitionEndTrigger = null;\n }\n },\n genOptions: function genOptions() {\n var _this4 = this;\n\n var h = this.$createElement;\n var optionStyle = {\n height: this.itemHeight + \"px\"\n };\n return this.options.map(function (option, index) {\n var _domProps;\n\n var text = _this4.getOptionText(option);\n\n var disabled = isOptionDisabled(option);\n var data = {\n style: optionStyle,\n attrs: {\n role: 'button',\n tabindex: disabled ? -1 : 0\n },\n class: [bem('item', {\n disabled: disabled,\n selected: index === _this4.currentIndex\n })],\n on: {\n click: function click() {\n _this4.onClickItem(index);\n }\n }\n };\n var childData = {\n class: 'van-ellipsis',\n domProps: (_domProps = {}, _domProps[_this4.allowHtml ? 'innerHTML' : 'textContent'] = text, _domProps)\n };\n return h(\"li\", _mergeJSXProps([{}, data]), [_this4.slots('option', option) || h(\"div\", _mergeJSXProps2([{}, childData]))]);\n });\n }\n },\n render: function render() {\n var h = arguments[0];\n var wrapperStyle = {\n transform: \"translate3d(0, \" + (this.offset + this.baseOffset) + \"px, 0)\",\n transitionDuration: this.duration + \"ms\",\n transitionProperty: this.duration ? 'all' : 'none'\n };\n return h(\"div\", {\n \"class\": [bem(), this.className]\n }, [h(\"ul\", {\n \"ref\": \"wrapper\",\n \"style\": wrapperStyle,\n \"class\": bem('wrapper'),\n \"on\": {\n \"transitionend\": this.onTransitionEnd\n }\n }, [this.genOptions()])]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { preventDefault } from '../utils/dom/event';\nimport { BORDER_UNSET_TOP_BOTTOM } from '../utils/constant';\nimport { pickerProps, DEFAULT_ITEM_HEIGHT } from './shared';\nimport { unitToPx } from '../utils/format/unit'; // Components\n\nimport Loading from '../loading';\nimport PickerColumn from './PickerColumn';\n\nvar _createNamespace = createNamespace('picker'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nexport default createComponent({\n props: _extends({}, pickerProps, {\n defaultIndex: {\n type: [Number, String],\n default: 0\n },\n columns: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n toolbarPosition: {\n type: String,\n default: 'top'\n },\n valueKey: {\n type: String,\n default: 'text'\n }\n }),\n data: function data() {\n return {\n children: [],\n formattedColumns: []\n };\n },\n computed: {\n itemPxHeight: function itemPxHeight() {\n return this.itemHeight ? unitToPx(this.itemHeight) : DEFAULT_ITEM_HEIGHT;\n },\n dataType: function dataType() {\n var columns = this.columns;\n var firstColumn = columns[0] || {};\n\n if (firstColumn.children) {\n return 'cascade';\n }\n\n if (firstColumn.values) {\n return 'object';\n }\n\n return 'text';\n }\n },\n watch: {\n columns: {\n handler: 'format',\n immediate: true\n }\n },\n methods: {\n format: function format() {\n var columns = this.columns,\n dataType = this.dataType;\n\n if (dataType === 'text') {\n this.formattedColumns = [{\n values: columns\n }];\n } else if (dataType === 'cascade') {\n this.formatCascade();\n } else {\n this.formattedColumns = columns;\n }\n },\n formatCascade: function formatCascade() {\n var formatted = [];\n var cursor = {\n children: this.columns\n };\n\n while (cursor && cursor.children) {\n var _cursor$defaultIndex;\n\n var _cursor = cursor,\n children = _cursor.children;\n var defaultIndex = (_cursor$defaultIndex = cursor.defaultIndex) != null ? _cursor$defaultIndex : +this.defaultIndex;\n\n while (children[defaultIndex] && children[defaultIndex].disabled) {\n if (defaultIndex < children.length - 1) {\n defaultIndex++;\n } else {\n defaultIndex = 0;\n break;\n }\n }\n\n formatted.push({\n values: cursor.children,\n className: cursor.className,\n defaultIndex: defaultIndex\n });\n cursor = children[defaultIndex];\n }\n\n this.formattedColumns = formatted;\n },\n emit: function emit(event) {\n var _this = this;\n\n if (this.dataType === 'text') {\n this.$emit(event, this.getColumnValue(0), this.getColumnIndex(0));\n } else {\n var values = this.getValues(); // compatible with old version of wrong parameters\n // should be removed in next major version\n // see: https://github.com/vant-ui/vant/issues/5905\n\n if (this.dataType === 'cascade') {\n values = values.map(function (item) {\n return item[_this.valueKey];\n });\n }\n\n this.$emit(event, values, this.getIndexes());\n }\n },\n onCascadeChange: function onCascadeChange(columnIndex) {\n var cursor = {\n children: this.columns\n };\n var indexes = this.getIndexes();\n\n for (var i = 0; i <= columnIndex; i++) {\n cursor = cursor.children[indexes[i]];\n }\n\n while (cursor && cursor.children) {\n columnIndex++;\n this.setColumnValues(columnIndex, cursor.children);\n cursor = cursor.children[cursor.defaultIndex || 0];\n }\n },\n onChange: function onChange(columnIndex) {\n var _this2 = this;\n\n if (this.dataType === 'cascade') {\n this.onCascadeChange(columnIndex);\n }\n\n if (this.dataType === 'text') {\n this.$emit('change', this, this.getColumnValue(0), this.getColumnIndex(0));\n } else {\n var values = this.getValues(); // compatible with old version of wrong parameters\n // should be removed in next major version\n // see: https://github.com/vant-ui/vant/issues/5905\n\n if (this.dataType === 'cascade') {\n values = values.map(function (item) {\n return item[_this2.valueKey];\n });\n }\n\n this.$emit('change', this, values, columnIndex);\n }\n },\n // get column instance by index\n getColumn: function getColumn(index) {\n return this.children[index];\n },\n // @exposed-api\n // get column value by index\n getColumnValue: function getColumnValue(index) {\n var column = this.getColumn(index);\n return column && column.getValue();\n },\n // @exposed-api\n // set column value by index\n setColumnValue: function setColumnValue(index, value) {\n var column = this.getColumn(index);\n\n if (column) {\n column.setValue(value);\n\n if (this.dataType === 'cascade') {\n this.onCascadeChange(index);\n }\n }\n },\n // @exposed-api\n // get column option index by column index\n getColumnIndex: function getColumnIndex(columnIndex) {\n return (this.getColumn(columnIndex) || {}).currentIndex;\n },\n // @exposed-api\n // set column option index by column index\n setColumnIndex: function setColumnIndex(columnIndex, optionIndex) {\n var column = this.getColumn(columnIndex);\n\n if (column) {\n column.setIndex(optionIndex);\n\n if (this.dataType === 'cascade') {\n this.onCascadeChange(columnIndex);\n }\n }\n },\n // @exposed-api\n // get options of column by index\n getColumnValues: function getColumnValues(index) {\n return (this.children[index] || {}).options;\n },\n // @exposed-api\n // set options of column by index\n setColumnValues: function setColumnValues(index, options) {\n var column = this.children[index];\n\n if (column) {\n column.setOptions(options);\n }\n },\n // @exposed-api\n // get values of all columns\n getValues: function getValues() {\n return this.children.map(function (child) {\n return child.getValue();\n });\n },\n // @exposed-api\n // set values of all columns\n setValues: function setValues(values) {\n var _this3 = this;\n\n values.forEach(function (value, index) {\n _this3.setColumnValue(index, value);\n });\n },\n // @exposed-api\n // get indexes of all columns\n getIndexes: function getIndexes() {\n return this.children.map(function (child) {\n return child.currentIndex;\n });\n },\n // @exposed-api\n // set indexes of all columns\n setIndexes: function setIndexes(indexes) {\n var _this4 = this;\n\n indexes.forEach(function (optionIndex, columnIndex) {\n _this4.setColumnIndex(columnIndex, optionIndex);\n });\n },\n // @exposed-api\n confirm: function confirm() {\n this.children.forEach(function (child) {\n return child.stopMomentum();\n });\n this.emit('confirm');\n },\n cancel: function cancel() {\n this.emit('cancel');\n },\n genTitle: function genTitle() {\n var h = this.$createElement;\n var titleSlot = this.slots('title');\n\n if (titleSlot) {\n return titleSlot;\n }\n\n if (this.title) {\n return h(\"div\", {\n \"class\": ['van-ellipsis', bem('title')]\n }, [this.title]);\n }\n },\n genCancel: function genCancel() {\n var h = this.$createElement;\n return h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": bem('cancel'),\n \"on\": {\n \"click\": this.cancel\n }\n }, [this.slots('cancel') || this.cancelButtonText || t('cancel')]);\n },\n genConfirm: function genConfirm() {\n var h = this.$createElement;\n return h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": bem('confirm'),\n \"on\": {\n \"click\": this.confirm\n }\n }, [this.slots('confirm') || this.confirmButtonText || t('confirm')]);\n },\n genToolbar: function genToolbar() {\n var h = this.$createElement;\n\n if (this.showToolbar) {\n return h(\"div\", {\n \"class\": bem('toolbar')\n }, [this.slots() || [this.genCancel(), this.genTitle(), this.genConfirm()]]);\n }\n },\n genColumns: function genColumns() {\n var h = this.$createElement;\n var itemPxHeight = this.itemPxHeight;\n var wrapHeight = itemPxHeight * this.visibleItemCount;\n var frameStyle = {\n height: itemPxHeight + \"px\"\n };\n var columnsStyle = {\n height: wrapHeight + \"px\"\n };\n var maskStyle = {\n backgroundSize: \"100% \" + (wrapHeight - itemPxHeight) / 2 + \"px\"\n };\n return h(\"div\", {\n \"class\": bem('columns'),\n \"style\": columnsStyle,\n \"on\": {\n \"touchmove\": preventDefault\n }\n }, [this.genColumnItems(), h(\"div\", {\n \"class\": bem('mask'),\n \"style\": maskStyle\n }), h(\"div\", {\n \"class\": [BORDER_UNSET_TOP_BOTTOM, bem('frame')],\n \"style\": frameStyle\n })]);\n },\n genColumnItems: function genColumnItems() {\n var _this5 = this;\n\n var h = this.$createElement;\n return this.formattedColumns.map(function (item, columnIndex) {\n var _item$defaultIndex;\n\n return h(PickerColumn, {\n \"attrs\": {\n \"readonly\": _this5.readonly,\n \"valueKey\": _this5.valueKey,\n \"allowHtml\": _this5.allowHtml,\n \"className\": item.className,\n \"itemHeight\": _this5.itemPxHeight,\n \"defaultIndex\": (_item$defaultIndex = item.defaultIndex) != null ? _item$defaultIndex : +_this5.defaultIndex,\n \"swipeDuration\": _this5.swipeDuration,\n \"visibleItemCount\": _this5.visibleItemCount,\n \"initialOptions\": item.values\n },\n \"scopedSlots\": {\n option: _this5.$scopedSlots.option\n },\n \"on\": {\n \"change\": function change() {\n _this5.onChange(columnIndex);\n }\n }\n });\n });\n }\n },\n render: function render(h) {\n return h(\"div\", {\n \"class\": bem()\n }, [this.toolbarPosition === 'top' ? this.genToolbar() : h(), this.loading ? h(Loading, {\n \"class\": bem('loading')\n }) : h(), this.slots('columns-top'), this.genColumns(), this.slots('columns-bottom'), this.toolbarPosition === 'bottom' ? this.genToolbar() : h()]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { times } from './utils';\nimport { padZero } from '../utils/format/string';\nimport { pickerProps } from '../picker/shared';\nimport Picker from '../picker';\nexport var sharedProps = _extends({}, pickerProps, {\n value: null,\n filter: Function,\n columnsOrder: Array,\n showToolbar: {\n type: Boolean,\n default: true\n },\n formatter: {\n type: Function,\n default: function _default(type, value) {\n return value;\n }\n }\n});\nexport var TimePickerMixin = {\n data: function data() {\n return {\n innerValue: this.formatValue(this.value)\n };\n },\n computed: {\n originColumns: function originColumns() {\n var _this = this;\n\n return this.ranges.map(function (_ref) {\n var type = _ref.type,\n rangeArr = _ref.range;\n var values = times(rangeArr[1] - rangeArr[0] + 1, function (index) {\n var value = padZero(rangeArr[0] + index);\n return value;\n });\n\n if (_this.filter) {\n values = _this.filter(type, values);\n }\n\n return {\n type: type,\n values: values\n };\n });\n },\n columns: function columns() {\n var _this2 = this;\n\n return this.originColumns.map(function (column) {\n return {\n values: column.values.map(function (value) {\n return _this2.formatter(column.type, value);\n })\n };\n });\n }\n },\n watch: {\n columns: 'updateColumnValue',\n innerValue: function innerValue(val, oldVal) {\n if (!oldVal) {\n this.$emit('input', null);\n } else {\n this.$emit('input', val);\n }\n }\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.updateColumnValue();\n this.$nextTick(function () {\n _this3.updateInnerValue();\n });\n },\n methods: {\n getPicker: function getPicker() {\n return this.$refs.picker;\n },\n // https://github.com/vant-ui/vant/issues/10013\n getProxiedPicker: function getProxiedPicker() {\n var _this4 = this;\n\n var picker = this.$refs.picker;\n\n if (picker) {\n var proxy = function proxy(fn) {\n return function () {\n picker[fn].apply(picker, arguments);\n\n _this4.updateInnerValue();\n };\n };\n\n return _extends({}, picker, {\n setValues: proxy('setValues'),\n setIndexes: proxy('setIndexes'),\n setColumnIndex: proxy('setColumnIndex'),\n setColumnValue: proxy('setColumnValue')\n });\n }\n },\n onConfirm: function onConfirm() {\n this.$emit('input', this.innerValue);\n this.$emit('confirm', this.innerValue);\n },\n onCancel: function onCancel() {\n this.$emit('cancel');\n }\n },\n render: function render() {\n var _this5 = this;\n\n var h = arguments[0];\n var props = {};\n Object.keys(pickerProps).forEach(function (key) {\n props[key] = _this5[key];\n });\n return h(Picker, {\n \"ref\": \"picker\",\n \"attrs\": {\n \"columns\": this.columns,\n \"readonly\": this.readonly\n },\n \"scopedSlots\": this.$scopedSlots,\n \"on\": {\n \"change\": this.onChange,\n \"confirm\": this.onConfirm,\n \"cancel\": this.onCancel\n },\n \"props\": _extends({}, props)\n });\n }\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { padZero } from '../utils/format/string';\nimport { range } from '../utils/format/number';\nimport { sharedProps, TimePickerMixin } from './shared';\n\nvar _createNamespace = createNamespace('time-picker'),\n createComponent = _createNamespace[0];\n\nexport default createComponent({\n mixins: [TimePickerMixin],\n props: _extends({}, sharedProps, {\n minHour: {\n type: [Number, String],\n default: 0\n },\n maxHour: {\n type: [Number, String],\n default: 23\n },\n minMinute: {\n type: [Number, String],\n default: 0\n },\n maxMinute: {\n type: [Number, String],\n default: 59\n }\n }),\n computed: {\n ranges: function ranges() {\n return [{\n type: 'hour',\n range: [+this.minHour, +this.maxHour]\n }, {\n type: 'minute',\n range: [+this.minMinute, +this.maxMinute]\n }];\n }\n },\n watch: {\n filter: 'updateInnerValue',\n minHour: function minHour() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.updateInnerValue();\n });\n },\n maxHour: function maxHour(value) {\n var _this$innerValue$spli = this.innerValue.split(':'),\n hour = _this$innerValue$spli[0],\n minute = _this$innerValue$spli[1];\n\n if (hour >= value) {\n this.innerValue = this.formatValue(value + \":\" + minute);\n this.updateColumnValue();\n } else {\n this.updateInnerValue();\n }\n },\n minMinute: 'updateInnerValue',\n maxMinute: function maxMinute(value) {\n var _this$innerValue$spli2 = this.innerValue.split(':'),\n hour = _this$innerValue$spli2[0],\n minute = _this$innerValue$spli2[1];\n\n if (minute >= value) {\n this.innerValue = this.formatValue(hour + \":\" + value);\n this.updateColumnValue();\n } else {\n this.updateInnerValue();\n }\n },\n value: function value(val) {\n val = this.formatValue(val);\n\n if (val !== this.innerValue) {\n this.innerValue = val;\n this.updateColumnValue();\n }\n }\n },\n methods: {\n formatValue: function formatValue(value) {\n if (!value) {\n value = padZero(this.minHour) + \":\" + padZero(this.minMinute);\n }\n\n var _value$split = value.split(':'),\n hour = _value$split[0],\n minute = _value$split[1];\n\n hour = padZero(range(hour, this.minHour, this.maxHour));\n minute = padZero(range(minute, this.minMinute, this.maxMinute));\n return hour + \":\" + minute;\n },\n updateInnerValue: function updateInnerValue() {\n var _this$getPicker$getIn = this.getPicker().getIndexes(),\n hourIndex = _this$getPicker$getIn[0],\n minuteIndex = _this$getPicker$getIn[1];\n\n var _this$originColumns = this.originColumns,\n hourColumn = _this$originColumns[0],\n minuteColumn = _this$originColumns[1];\n var hour = hourColumn.values[hourIndex] || hourColumn.values[0];\n var minute = minuteColumn.values[minuteIndex] || minuteColumn.values[0];\n this.innerValue = this.formatValue(hour + \":\" + minute);\n this.updateColumnValue();\n },\n onChange: function onChange(picker) {\n var _this2 = this;\n\n this.updateInnerValue();\n this.$nextTick(function () {\n _this2.$nextTick(function () {\n // https://github.com/vant-ui/vant/issues/9775\n _this2.updateInnerValue();\n\n _this2.$emit('change', picker);\n });\n });\n },\n updateColumnValue: function updateColumnValue() {\n var _this3 = this;\n\n var formatter = this.formatter;\n var pair = this.innerValue.split(':');\n var values = [formatter('hour', pair[0]), formatter('minute', pair[1])];\n this.$nextTick(function () {\n _this3.getPicker().setValues(values);\n });\n }\n }\n});","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","import { isNaN } from './number';\nexport function isDate(val) {\n return Object.prototype.toString.call(val) === '[object Date]' && !isNaN(val.getTime());\n}","import _construct from \"@babel/runtime/helpers/esm/construct\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { isDate } from '../utils/validate/date';\nimport { padZero } from '../utils/format/string';\nimport { getTrueValue, getMonthEndDay } from './utils';\nimport { sharedProps, TimePickerMixin } from './shared';\nvar currentYear = new Date().getFullYear();\n\nvar _createNamespace = createNamespace('date-picker'),\n createComponent = _createNamespace[0];\n\nexport default createComponent({\n mixins: [TimePickerMixin],\n props: _extends({}, sharedProps, {\n type: {\n type: String,\n default: 'datetime'\n },\n minDate: {\n type: Date,\n default: function _default() {\n return new Date(currentYear - 10, 0, 1);\n },\n validator: isDate\n },\n maxDate: {\n type: Date,\n default: function _default() {\n return new Date(currentYear + 10, 11, 31);\n },\n validator: isDate\n }\n }),\n watch: {\n filter: 'updateInnerValue',\n minDate: function minDate() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.updateInnerValue();\n });\n },\n maxDate: function maxDate(value) {\n if (this.innerValue.valueOf() >= value.valueOf()) {\n this.innerValue = value;\n } else {\n this.updateInnerValue();\n }\n },\n value: function value(val) {\n val = this.formatValue(val);\n\n if (val && val.valueOf() !== this.innerValue.valueOf()) {\n this.innerValue = val;\n }\n }\n },\n computed: {\n ranges: function ranges() {\n var _this$getBoundary = this.getBoundary('max', this.innerValue ? this.innerValue : this.minDate),\n maxYear = _this$getBoundary.maxYear,\n maxDate = _this$getBoundary.maxDate,\n maxMonth = _this$getBoundary.maxMonth,\n maxHour = _this$getBoundary.maxHour,\n maxMinute = _this$getBoundary.maxMinute;\n\n var _this$getBoundary2 = this.getBoundary('min', this.innerValue ? this.innerValue : this.minDate),\n minYear = _this$getBoundary2.minYear,\n minDate = _this$getBoundary2.minDate,\n minMonth = _this$getBoundary2.minMonth,\n minHour = _this$getBoundary2.minHour,\n minMinute = _this$getBoundary2.minMinute;\n\n var result = [{\n type: 'year',\n range: [minYear, maxYear]\n }, {\n type: 'month',\n range: [minMonth, maxMonth]\n }, {\n type: 'day',\n range: [minDate, maxDate]\n }, {\n type: 'hour',\n range: [minHour, maxHour]\n }, {\n type: 'minute',\n range: [minMinute, maxMinute]\n }];\n\n switch (this.type) {\n case 'date':\n result = result.slice(0, 3);\n break;\n\n case 'year-month':\n result = result.slice(0, 2);\n break;\n\n case 'month-day':\n result = result.slice(1, 3);\n break;\n\n case 'datehour':\n result = result.slice(0, 4);\n break;\n }\n\n if (this.columnsOrder) {\n var columnsOrder = this.columnsOrder.concat(result.map(function (column) {\n return column.type;\n }));\n result.sort(function (a, b) {\n return columnsOrder.indexOf(a.type) - columnsOrder.indexOf(b.type);\n });\n }\n\n return result;\n }\n },\n methods: {\n formatValue: function formatValue(value) {\n var _this2 = this;\n\n if (!isDate(value)) {\n return null;\n }\n\n var minDate = new Date(this.minDate);\n var maxDate = new Date(this.maxDate);\n var dateMethods = {\n year: 'getFullYear',\n month: 'getMonth',\n day: 'getDate',\n hour: 'getHours',\n minute: 'getMinutes'\n };\n\n if (this.originColumns) {\n var dateColumns = this.originColumns.map(function (_ref, index) {\n var type = _ref.type,\n values = _ref.values;\n var range = _this2.ranges[index].range;\n var minDateVal = minDate[dateMethods[type]]();\n var maxDateVal = maxDate[dateMethods[type]]();\n var min = type === 'month' ? +values[0] - 1 : +values[0];\n var max = type === 'month' ? +values[values.length - 1] - 1 : +values[values.length - 1];\n return {\n type: type,\n values: [minDateVal < range[0] ? Math.max(minDateVal, min) : min || minDateVal, maxDateVal > range[1] ? Math.min(maxDateVal, max) : max || maxDateVal]\n };\n });\n\n if (this.type === 'month-day') {\n var year = (this.innerValue || this.minDate).getFullYear();\n dateColumns.unshift({\n type: 'year',\n values: [year, year]\n });\n }\n\n var dates = Object.keys(dateMethods).map(function (type) {\n var _dateColumns$filter$;\n\n return (_dateColumns$filter$ = dateColumns.filter(function (item) {\n return item.type === type;\n })[0]) == null ? void 0 : _dateColumns$filter$.values;\n }).filter(function (item) {\n return item;\n });\n minDate = _construct(Date, dates.map(function (val) {\n return getTrueValue(val[0]);\n }));\n maxDate = _construct(Date, dates.map(function (val) {\n return getTrueValue(val[1]);\n }));\n }\n\n value = Math.max(value, minDate.getTime());\n value = Math.min(value, maxDate.getTime());\n return new Date(value);\n },\n getBoundary: function getBoundary(type, value) {\n var _ref2;\n\n var boundary = this[type + \"Date\"];\n var year = boundary.getFullYear();\n var month = 1;\n var date = 1;\n var hour = 0;\n var minute = 0;\n\n if (type === 'max') {\n month = 12;\n date = getMonthEndDay(value.getFullYear(), value.getMonth() + 1);\n hour = 23;\n minute = 59;\n }\n\n if (value.getFullYear() === year) {\n month = boundary.getMonth() + 1;\n\n if (value.getMonth() + 1 === month) {\n date = boundary.getDate();\n\n if (value.getDate() === date) {\n hour = boundary.getHours();\n\n if (value.getHours() === hour) {\n minute = boundary.getMinutes();\n }\n }\n }\n }\n\n return _ref2 = {}, _ref2[type + \"Year\"] = year, _ref2[type + \"Month\"] = month, _ref2[type + \"Date\"] = date, _ref2[type + \"Hour\"] = hour, _ref2[type + \"Minute\"] = minute, _ref2;\n },\n updateInnerValue: function updateInnerValue() {\n var _this3 = this;\n\n var type = this.type;\n var indexes = this.getPicker().getIndexes();\n\n var getValue = function getValue(type) {\n var index = 0;\n\n _this3.originColumns.forEach(function (column, columnIndex) {\n if (type === column.type) {\n index = columnIndex;\n }\n });\n\n var values = _this3.originColumns[index].values;\n return getTrueValue(values[indexes[index]]);\n };\n\n var year;\n var month;\n var day;\n\n if (type === 'month-day') {\n year = (this.innerValue || this.minDate).getFullYear();\n month = getValue('month');\n day = getValue('day');\n } else {\n year = getValue('year');\n month = getValue('month');\n day = type === 'year-month' ? 1 : getValue('day');\n }\n\n var maxDay = getMonthEndDay(year, month);\n day = day > maxDay ? maxDay : day;\n var hour = 0;\n var minute = 0;\n\n if (type === 'datehour') {\n hour = getValue('hour');\n }\n\n if (type === 'datetime') {\n hour = getValue('hour');\n minute = getValue('minute');\n }\n\n var value = new Date(year, month - 1, day, hour, minute);\n this.innerValue = this.formatValue(value);\n },\n onChange: function onChange(picker) {\n var _this4 = this;\n\n this.updateInnerValue();\n this.$nextTick(function () {\n _this4.$nextTick(function () {\n // https://github.com/vant-ui/vant/issues/9775\n _this4.updateInnerValue();\n\n _this4.$emit('change', picker);\n });\n });\n },\n updateColumnValue: function updateColumnValue() {\n var _this5 = this;\n\n var value = this.innerValue ? this.innerValue : this.minDate;\n var formatter = this.formatter;\n var values = this.originColumns.map(function (column) {\n switch (column.type) {\n case 'year':\n return formatter('year', \"\" + value.getFullYear());\n\n case 'month':\n return formatter('month', padZero(value.getMonth() + 1));\n\n case 'day':\n return formatter('day', padZero(value.getDate()));\n\n case 'hour':\n return formatter('hour', padZero(value.getHours()));\n\n case 'minute':\n return formatter('minute', padZero(value.getMinutes()));\n\n default:\n // no default\n return null;\n }\n });\n this.$nextTick(function () {\n _this5.getPicker().setValues(values);\n });\n }\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport TimePicker from './TimePicker';\nimport DatePicker from './DatePicker';\n\nvar _createNamespace = createNamespace('datetime-picker'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n props: _extends({}, TimePicker.props, DatePicker.props),\n methods: {\n // @exposed-api\n getPicker: function getPicker() {\n return this.$refs.root.getProxiedPicker();\n }\n },\n render: function render() {\n var h = arguments[0];\n var Component = this.type === 'time' ? TimePicker : DatePicker;\n return h(Component, {\n \"ref\": \"root\",\n \"class\": bem(),\n \"scopedSlots\": this.$scopedSlots,\n \"props\": _extends({}, this.$props),\n \"on\": _extends({}, this.$listeners)\n });\n }\n});","import { createNamespace } from '../utils';\n\nvar _createNamespace = createNamespace('calendar'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nexport { createComponent, bem, t };\nexport function formatMonthTitle(date) {\n return t('monthTitle', date.getFullYear(), date.getMonth() + 1);\n}\nexport function compareMonth(date1, date2) {\n var year1 = date1.getFullYear();\n var year2 = date2.getFullYear();\n var month1 = date1.getMonth();\n var month2 = date2.getMonth();\n\n if (year1 === year2) {\n return month1 === month2 ? 0 : month1 > month2 ? 1 : -1;\n }\n\n return year1 > year2 ? 1 : -1;\n}\nexport function compareDay(day1, day2) {\n var compareMonthResult = compareMonth(day1, day2);\n\n if (compareMonthResult === 0) {\n var date1 = day1.getDate();\n var date2 = day2.getDate();\n return date1 === date2 ? 0 : date1 > date2 ? 1 : -1;\n }\n\n return compareMonthResult;\n}\nexport function getDayByOffset(date, offset) {\n date = new Date(date);\n date.setDate(date.getDate() + offset);\n return date;\n}\nexport function getPrevDay(date) {\n return getDayByOffset(date, -1);\n}\nexport function getNextDay(date) {\n return getDayByOffset(date, 1);\n}\nexport function calcDateNum(date) {\n var day1 = date[0].getTime();\n var day2 = date[1].getTime();\n return (day2 - day1) / (1000 * 60 * 60 * 24) + 1;\n}\nexport function copyDate(dates) {\n return new Date(dates);\n}\nexport function copyDates(dates) {\n if (Array.isArray(dates)) {\n return dates.map(function (date) {\n if (date === null) {\n return date;\n }\n\n return copyDate(date);\n });\n }\n\n return copyDate(dates);\n}","var lockCount = 0;\nexport function lockClick(lock) {\n if (lock) {\n if (!lockCount) {\n document.body.classList.add('van-toast--unclickable');\n }\n\n lockCount++;\n } else {\n lockCount--;\n\n if (!lockCount) {\n document.body.classList.remove('van-toast--unclickable');\n }\n }\n}","// Utils\nimport { createNamespace, isDef } from '../utils';\nimport { lockClick } from './lock-click'; // Mixins\n\nimport { PopupMixin } from '../mixins/popup'; // Components\n\nimport Icon from '../icon';\nimport Loading from '../loading';\n\nvar _createNamespace = createNamespace('toast'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [PopupMixin()],\n props: {\n icon: String,\n className: null,\n iconPrefix: String,\n loadingType: String,\n forbidClick: Boolean,\n closeOnClick: Boolean,\n message: [Number, String],\n type: {\n type: String,\n default: 'text'\n },\n position: {\n type: String,\n default: 'middle'\n },\n transition: {\n type: String,\n default: 'van-fade'\n },\n lockScroll: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n clickable: false\n };\n },\n mounted: function mounted() {\n this.toggleClickable();\n },\n destroyed: function destroyed() {\n this.toggleClickable();\n },\n watch: {\n value: 'toggleClickable',\n forbidClick: 'toggleClickable'\n },\n methods: {\n onClick: function onClick() {\n if (this.closeOnClick) {\n this.close();\n }\n },\n toggleClickable: function toggleClickable() {\n var clickable = this.value && this.forbidClick;\n\n if (this.clickable !== clickable) {\n this.clickable = clickable;\n lockClick(clickable);\n }\n },\n\n /* istanbul ignore next */\n onAfterEnter: function onAfterEnter() {\n this.$emit('opened');\n\n if (this.onOpened) {\n this.onOpened();\n }\n },\n onAfterLeave: function onAfterLeave() {\n this.$emit('closed');\n },\n genIcon: function genIcon() {\n var h = this.$createElement;\n var icon = this.icon,\n type = this.type,\n iconPrefix = this.iconPrefix,\n loadingType = this.loadingType;\n var hasIcon = icon || type === 'success' || type === 'fail';\n\n if (hasIcon) {\n return h(Icon, {\n \"class\": bem('icon'),\n \"attrs\": {\n \"classPrefix\": iconPrefix,\n \"name\": icon || type\n }\n });\n }\n\n if (type === 'loading') {\n return h(Loading, {\n \"class\": bem('loading'),\n \"attrs\": {\n \"type\": loadingType\n }\n });\n }\n },\n genMessage: function genMessage() {\n var h = this.$createElement;\n var type = this.type,\n message = this.message;\n\n if (!isDef(message) || message === '') {\n return;\n }\n\n if (type === 'html') {\n return h(\"div\", {\n \"class\": bem('text'),\n \"domProps\": {\n \"innerHTML\": message\n }\n });\n }\n\n return h(\"div\", {\n \"class\": bem('text')\n }, [message]);\n }\n },\n render: function render() {\n var _ref;\n\n var h = arguments[0];\n return h(\"transition\", {\n \"attrs\": {\n \"name\": this.transition\n },\n \"on\": {\n \"afterEnter\": this.onAfterEnter,\n \"afterLeave\": this.onAfterLeave\n }\n }, [h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.value\n }],\n \"class\": [bem([this.position, (_ref = {}, _ref[this.type] = !this.icon, _ref)]), this.className],\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.genIcon(), this.genMessage()])]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport Vue from 'vue';\nimport VueToast from './Toast';\nimport { isObject, isServer } from '../utils';\nimport { removeNode } from '../utils/dom/node';\nvar defaultOptions = {\n icon: '',\n type: 'text',\n // @deprecated\n mask: false,\n value: true,\n message: '',\n className: '',\n overlay: false,\n onClose: null,\n onOpened: null,\n duration: 2000,\n iconPrefix: undefined,\n position: 'middle',\n transition: 'van-fade',\n forbidClick: false,\n loadingType: undefined,\n getContainer: 'body',\n overlayStyle: null,\n closeOnClick: false,\n closeOnClickOverlay: false\n}; // default options of specific type\n\nvar defaultOptionsMap = {};\nvar queue = [];\nvar multiple = false;\n\nvar currentOptions = _extends({}, defaultOptions);\n\nfunction parseOptions(message) {\n if (isObject(message)) {\n return message;\n }\n\n return {\n message: message\n };\n}\n\nfunction isInDocument(element) {\n return document.body.contains(element);\n}\n\nfunction createInstance() {\n /* istanbul ignore if */\n if (isServer) {\n return {};\n }\n\n queue = queue.filter(function (item) {\n return !item.$el.parentNode || isInDocument(item.$el);\n });\n\n if (!queue.length || multiple) {\n var toast = new (Vue.extend(VueToast))({\n el: document.createElement('div')\n });\n toast.$on('input', function (value) {\n toast.value = value;\n });\n queue.push(toast);\n }\n\n return queue[queue.length - 1];\n} // transform toast options to popup props\n\n\nfunction transformOptions(options) {\n return _extends({}, options, {\n overlay: options.mask || options.overlay,\n mask: undefined,\n duration: undefined\n });\n}\n\nfunction Toast(options) {\n if (options === void 0) {\n options = {};\n }\n\n var toast = createInstance(); // should add z-index if previous toast has not disappeared\n\n if (toast.value) {\n toast.updateZIndex();\n }\n\n options = parseOptions(options);\n options = _extends({}, currentOptions, defaultOptionsMap[options.type || currentOptions.type], options);\n\n if (process.env.NODE_ENV === 'development' && options.mask) {\n console.warn('[Vant] Toast: \"mask\" option is deprecated, use \"overlay\" option instead.');\n }\n\n options.clear = function () {\n toast.value = false;\n\n if (options.onClose) {\n options.onClose();\n options.onClose = null;\n }\n\n if (multiple && !isServer) {\n toast.$on('closed', function () {\n clearTimeout(toast.timer);\n queue = queue.filter(function (item) {\n return item !== toast;\n });\n removeNode(toast.$el);\n toast.$destroy();\n });\n }\n };\n\n _extends(toast, transformOptions(options));\n\n clearTimeout(toast.timer);\n\n if (options.duration > 0) {\n toast.timer = setTimeout(function () {\n toast.clear();\n }, options.duration);\n }\n\n return toast;\n}\n\nvar createMethod = function createMethod(type) {\n return function (options) {\n return Toast(_extends({\n type: type\n }, parseOptions(options)));\n };\n};\n\n['loading', 'success', 'fail'].forEach(function (method) {\n Toast[method] = createMethod(method);\n});\n\nToast.clear = function (all) {\n if (queue.length) {\n if (all) {\n queue.forEach(function (toast) {\n toast.clear();\n });\n queue = [];\n } else if (!multiple) {\n queue[0].clear();\n } else {\n queue.shift().clear();\n }\n }\n};\n\nToast.setDefaultOptions = function (type, options) {\n if (typeof type === 'string') {\n defaultOptionsMap[type] = options;\n } else {\n _extends(currentOptions, type);\n }\n};\n\nToast.resetDefaultOptions = function (type) {\n if (typeof type === 'string') {\n defaultOptionsMap[type] = null;\n } else {\n currentOptions = _extends({}, defaultOptions);\n defaultOptionsMap = {};\n }\n};\n\nToast.allowMultiple = function (value) {\n if (value === void 0) {\n value = true;\n }\n\n multiple = value;\n};\n\nToast.install = function () {\n Vue.use(VueToast);\n};\n\nVue.prototype.$toast = Toast;\nexport default Toast;","import { createNamespace, addUnit } from '../../utils';\nimport { setScrollTop } from '../../utils/dom/scroll';\nimport { t, bem, compareDay, getPrevDay, getNextDay, formatMonthTitle } from '../utils';\nimport { getMonthEndDay } from '../../datetime-picker/utils';\n\nvar _createNamespace = createNamespace('calendar-month'),\n createComponent = _createNamespace[0];\n\nexport default createComponent({\n props: {\n date: Date,\n type: String,\n color: String,\n minDate: Date,\n maxDate: Date,\n showMark: Boolean,\n rowHeight: [Number, String],\n formatter: Function,\n lazyRender: Boolean,\n currentDate: [Date, Array],\n allowSameDay: Boolean,\n showSubtitle: Boolean,\n showMonthTitle: Boolean,\n firstDayOfWeek: Number\n },\n data: function data() {\n return {\n visible: false\n };\n },\n computed: {\n title: function title() {\n return formatMonthTitle(this.date);\n },\n rowHeightWithUnit: function rowHeightWithUnit() {\n return addUnit(this.rowHeight);\n },\n offset: function offset() {\n var firstDayOfWeek = this.firstDayOfWeek;\n var realDay = this.date.getDay();\n\n if (!firstDayOfWeek) {\n return realDay;\n }\n\n return (realDay + 7 - this.firstDayOfWeek) % 7;\n },\n totalDay: function totalDay() {\n return getMonthEndDay(this.date.getFullYear(), this.date.getMonth() + 1);\n },\n shouldRender: function shouldRender() {\n return this.visible || !this.lazyRender;\n },\n placeholders: function placeholders() {\n var rows = [];\n var count = Math.ceil((this.totalDay + this.offset) / 7);\n\n for (var day = 1; day <= count; day++) {\n rows.push({\n type: 'placeholder'\n });\n }\n\n return rows;\n },\n days: function days() {\n var days = [];\n var year = this.date.getFullYear();\n var month = this.date.getMonth();\n\n for (var day = 1; day <= this.totalDay; day++) {\n var date = new Date(year, month, day);\n var type = this.getDayType(date);\n var config = {\n date: date,\n type: type,\n text: day,\n bottomInfo: this.getBottomInfo(type)\n };\n\n if (this.formatter) {\n config = this.formatter(config);\n }\n\n days.push(config);\n }\n\n return days;\n }\n },\n methods: {\n getHeight: function getHeight() {\n var _this$$el;\n\n return ((_this$$el = this.$el) == null ? void 0 : _this$$el.getBoundingClientRect().height) || 0;\n },\n scrollIntoView: function scrollIntoView(body) {\n var _this$$refs = this.$refs,\n days = _this$$refs.days,\n month = _this$$refs.month;\n var el = this.showSubtitle ? days : month;\n var scrollTop = el.getBoundingClientRect().top - body.getBoundingClientRect().top + body.scrollTop;\n setScrollTop(body, scrollTop);\n },\n getMultipleDayType: function getMultipleDayType(day) {\n var _this = this;\n\n var isSelected = function isSelected(date) {\n return _this.currentDate.some(function (item) {\n return compareDay(item, date) === 0;\n });\n };\n\n if (isSelected(day)) {\n var prevDay = getPrevDay(day);\n var nextDay = getNextDay(day);\n var prevSelected = isSelected(prevDay);\n var nextSelected = isSelected(nextDay);\n\n if (prevSelected && nextSelected) {\n return 'multiple-middle';\n }\n\n if (prevSelected) {\n return 'end';\n }\n\n return nextSelected ? 'start' : 'multiple-selected';\n }\n\n return '';\n },\n getRangeDayType: function getRangeDayType(day) {\n var _this$currentDate = this.currentDate,\n startDay = _this$currentDate[0],\n endDay = _this$currentDate[1];\n\n if (!startDay) {\n return '';\n }\n\n var compareToStart = compareDay(day, startDay);\n\n if (!endDay) {\n return compareToStart === 0 ? 'start' : '';\n }\n\n var compareToEnd = compareDay(day, endDay);\n\n if (compareToStart === 0 && compareToEnd === 0 && this.allowSameDay) {\n return 'start-end';\n }\n\n if (compareToStart === 0) {\n return 'start';\n }\n\n if (compareToEnd === 0) {\n return 'end';\n }\n\n if (compareToStart > 0 && compareToEnd < 0) {\n return 'middle';\n }\n },\n getDayType: function getDayType(day) {\n var type = this.type,\n minDate = this.minDate,\n maxDate = this.maxDate,\n currentDate = this.currentDate;\n\n if (compareDay(day, minDate) < 0 || compareDay(day, maxDate) > 0) {\n return 'disabled';\n }\n\n if (currentDate === null) {\n return;\n }\n\n if (type === 'single') {\n return compareDay(day, currentDate) === 0 ? 'selected' : '';\n }\n\n if (type === 'multiple') {\n return this.getMultipleDayType(day);\n }\n /* istanbul ignore else */\n\n\n if (type === 'range') {\n return this.getRangeDayType(day);\n }\n },\n getBottomInfo: function getBottomInfo(type) {\n if (this.type === 'range') {\n if (type === 'start' || type === 'end') {\n return t(type);\n }\n\n if (type === 'start-end') {\n return t('startEnd');\n }\n }\n },\n getDayStyle: function getDayStyle(type, index) {\n var style = {\n height: this.rowHeightWithUnit\n };\n\n if (type === 'placeholder') {\n style.width = '100%';\n return style;\n }\n\n if (index === 0) {\n style.marginLeft = 100 * this.offset / 7 + \"%\";\n }\n\n if (this.color) {\n if (type === 'start' || type === 'end' || type === 'start-end' || type === 'multiple-selected' || type === 'multiple-middle') {\n style.background = this.color;\n } else if (type === 'middle') {\n style.color = this.color;\n }\n }\n\n return style;\n },\n genTitle: function genTitle() {\n var h = this.$createElement;\n\n if (this.showMonthTitle) {\n return h(\"div\", {\n \"class\": bem('month-title')\n }, [this.title]);\n }\n },\n genMark: function genMark() {\n var h = this.$createElement;\n\n if (this.showMark && this.shouldRender) {\n return h(\"div\", {\n \"class\": bem('month-mark')\n }, [this.date.getMonth() + 1]);\n }\n },\n genDays: function genDays() {\n var h = this.$createElement;\n var days = this.shouldRender ? this.days : this.placeholders;\n return h(\"div\", {\n \"ref\": \"days\",\n \"attrs\": {\n \"role\": \"grid\"\n },\n \"class\": bem('days')\n }, [this.genMark(), days.map(this.genDay)]);\n },\n genTopInfo: function genTopInfo(item) {\n var h = this.$createElement;\n var slot = this.$scopedSlots['top-info'];\n\n if (item.topInfo || slot) {\n return h(\"div\", {\n \"class\": bem('top-info')\n }, [slot ? slot(item) : item.topInfo]);\n }\n },\n genBottomInfo: function genBottomInfo(item) {\n var h = this.$createElement;\n var slot = this.$scopedSlots['bottom-info'];\n\n if (item.bottomInfo || slot) {\n return h(\"div\", {\n \"class\": bem('bottom-info')\n }, [slot ? slot(item) : item.bottomInfo]);\n }\n },\n genDay: function genDay(item, index) {\n var _this2 = this;\n\n var h = this.$createElement;\n var type = item.type;\n var style = this.getDayStyle(type, index);\n var disabled = type === 'disabled';\n\n var onClick = function onClick() {\n if (!disabled) {\n _this2.$emit('click', item);\n }\n };\n\n if (type === 'selected') {\n return h(\"div\", {\n \"attrs\": {\n \"role\": \"gridcell\",\n \"tabindex\": -1\n },\n \"style\": style,\n \"class\": [bem('day'), item.className],\n \"on\": {\n \"click\": onClick\n }\n }, [h(\"div\", {\n \"class\": bem('selected-day'),\n \"style\": {\n width: this.rowHeightWithUnit,\n height: this.rowHeightWithUnit,\n background: this.color\n }\n }, [this.genTopInfo(item), item.text, this.genBottomInfo(item)])]);\n }\n\n return h(\"div\", {\n \"attrs\": {\n \"role\": \"gridcell\",\n \"tabindex\": disabled ? null : -1\n },\n \"style\": style,\n \"class\": [bem('day', type), item.className],\n \"on\": {\n \"click\": onClick\n }\n }, [this.genTopInfo(item), item.text, this.genBottomInfo(item)]);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem('month'),\n \"ref\": \"month\"\n }, [this.genTitle(), this.genDays()]);\n }\n});","import { createNamespace } from '../../utils';\nimport { t, bem } from '../utils';\n\nvar _createNamespace = createNamespace('calendar-header'),\n createComponent = _createNamespace[0];\n\nexport default createComponent({\n props: {\n title: String,\n subtitle: String,\n showTitle: Boolean,\n showSubtitle: Boolean,\n firstDayOfWeek: Number\n },\n methods: {\n genTitle: function genTitle() {\n var h = this.$createElement;\n\n if (this.showTitle) {\n var title = this.slots('title') || this.title || t('title');\n return h(\"div\", {\n \"class\": bem('header-title')\n }, [title]);\n }\n },\n genSubtitle: function genSubtitle() {\n var h = this.$createElement;\n\n if (this.showSubtitle) {\n return h(\"div\", {\n \"class\": bem('header-subtitle')\n }, [this.subtitle]);\n }\n },\n genWeekDays: function genWeekDays() {\n var h = this.$createElement;\n var weekdays = t('weekdays');\n var firstDayOfWeek = this.firstDayOfWeek;\n var renderWeekDays = [].concat(weekdays.slice(firstDayOfWeek, 7), weekdays.slice(0, firstDayOfWeek));\n return h(\"div\", {\n \"class\": bem('weekdays')\n }, [renderWeekDays.map(function (item) {\n return h(\"span\", {\n \"class\": bem('weekday')\n }, [item]);\n })]);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem('header')\n }, [this.genTitle(), this.genSubtitle(), this.genWeekDays()]);\n }\n});","// Utils\nimport { raf } from '../utils/dom/raf';\nimport { isDate } from '../utils/validate/date';\nimport { getScrollTop } from '../utils/dom/scroll';\nimport { t, bem, copyDate, copyDates, getNextDay, compareDay, calcDateNum, compareMonth, createComponent, getDayByOffset } from './utils'; // Components\n\nimport Popup from '../popup';\nimport Button from '../button';\nimport Toast from '../toast';\nimport Month from './components/Month';\nimport Header from './components/Header';\nexport default createComponent({\n props: {\n title: String,\n color: String,\n value: Boolean,\n readonly: Boolean,\n formatter: Function,\n rowHeight: [Number, String],\n confirmText: String,\n rangePrompt: String,\n defaultDate: [Date, Array],\n getContainer: [String, Function],\n allowSameDay: Boolean,\n confirmDisabledText: String,\n type: {\n type: String,\n default: 'single'\n },\n round: {\n type: Boolean,\n default: true\n },\n position: {\n type: String,\n default: 'bottom'\n },\n poppable: {\n type: Boolean,\n default: true\n },\n maxRange: {\n type: [Number, String],\n default: null\n },\n lazyRender: {\n type: Boolean,\n default: true\n },\n showMark: {\n type: Boolean,\n default: true\n },\n showTitle: {\n type: Boolean,\n default: true\n },\n showConfirm: {\n type: Boolean,\n default: true\n },\n showSubtitle: {\n type: Boolean,\n default: true\n },\n closeOnPopstate: {\n type: Boolean,\n default: true\n },\n closeOnClickOverlay: {\n type: Boolean,\n default: true\n },\n safeAreaInsetBottom: {\n type: Boolean,\n default: true\n },\n minDate: {\n type: Date,\n validator: isDate,\n default: function _default() {\n return new Date();\n }\n },\n maxDate: {\n type: Date,\n validator: isDate,\n default: function _default() {\n var now = new Date();\n return new Date(now.getFullYear(), now.getMonth() + 6, now.getDate());\n }\n },\n firstDayOfWeek: {\n type: [Number, String],\n default: 0,\n validator: function validator(val) {\n return val >= 0 && val <= 6;\n }\n }\n },\n inject: {\n vanPopup: {\n default: null\n }\n },\n data: function data() {\n return {\n subtitle: '',\n currentDate: this.getInitialDate()\n };\n },\n computed: {\n months: function months() {\n var months = [];\n var cursor = new Date(this.minDate);\n cursor.setDate(1);\n\n do {\n months.push(new Date(cursor));\n cursor.setMonth(cursor.getMonth() + 1);\n } while (compareMonth(cursor, this.maxDate) !== 1);\n\n return months;\n },\n buttonDisabled: function buttonDisabled() {\n var type = this.type,\n currentDate = this.currentDate;\n\n if (currentDate) {\n if (type === 'range') {\n return !currentDate[0] || !currentDate[1];\n }\n\n if (type === 'multiple') {\n return !currentDate.length;\n }\n }\n\n return !currentDate;\n },\n dayOffset: function dayOffset() {\n return this.firstDayOfWeek ? this.firstDayOfWeek % 7 : 0;\n }\n },\n watch: {\n value: 'init',\n type: function type() {\n this.reset();\n },\n defaultDate: function defaultDate(val) {\n this.currentDate = val;\n this.scrollIntoView();\n }\n },\n mounted: function mounted() {\n this.init(); // https://github.com/vant-ui/vant/issues/9845\n\n if (!this.poppable) {\n var _this$vanPopup;\n\n (_this$vanPopup = this.vanPopup) == null ? void 0 : _this$vanPopup.$on('opened', this.onScroll);\n }\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n this.init();\n },\n methods: {\n // @exposed-api\n reset: function reset(date) {\n if (date === void 0) {\n date = this.getInitialDate();\n }\n\n this.currentDate = date;\n this.scrollIntoView();\n },\n init: function init() {\n var _this = this;\n\n if (this.poppable && !this.value) {\n return;\n }\n\n this.$nextTick(function () {\n // add Math.floor to avoid decimal height issues\n // https://github.com/vant-ui/vant/issues/5640\n _this.bodyHeight = Math.floor(_this.$refs.body.getBoundingClientRect().height);\n\n _this.onScroll();\n\n _this.scrollIntoView();\n });\n },\n // @exposed-api\n scrollToDate: function scrollToDate(targetDate) {\n var _this2 = this;\n\n raf(function () {\n var displayed = _this2.value || !_this2.poppable;\n /* istanbul ignore if */\n\n if (!targetDate || !displayed) {\n return;\n }\n\n _this2.months.some(function (month, index) {\n if (compareMonth(month, targetDate) === 0) {\n var _this2$$refs = _this2.$refs,\n body = _this2$$refs.body,\n months = _this2$$refs.months;\n months[index].scrollIntoView(body);\n return true;\n }\n\n return false;\n });\n\n _this2.onScroll();\n });\n },\n // scroll to current month\n scrollIntoView: function scrollIntoView() {\n var currentDate = this.currentDate;\n\n if (currentDate) {\n var targetDate = this.type === 'single' ? currentDate : currentDate[0];\n this.scrollToDate(targetDate);\n }\n },\n getInitialDate: function getInitialDate() {\n var type = this.type,\n minDate = this.minDate,\n maxDate = this.maxDate,\n defaultDate = this.defaultDate;\n\n if (defaultDate === null) {\n return defaultDate;\n }\n\n var defaultVal = new Date();\n\n if (compareDay(defaultVal, minDate) === -1) {\n defaultVal = minDate;\n } else if (compareDay(defaultVal, maxDate) === 1) {\n defaultVal = maxDate;\n }\n\n if (type === 'range') {\n var _ref = defaultDate || [],\n startDay = _ref[0],\n endDay = _ref[1];\n\n return [startDay || defaultVal, endDay || getNextDay(defaultVal)];\n }\n\n if (type === 'multiple') {\n return defaultDate || [defaultVal];\n }\n\n return defaultDate || defaultVal;\n },\n // calculate the position of the elements\n // and find the elements that needs to be rendered\n onScroll: function onScroll() {\n var _this$$refs = this.$refs,\n body = _this$$refs.body,\n months = _this$$refs.months;\n var top = getScrollTop(body);\n var bottom = top + this.bodyHeight;\n var heights = months.map(function (item) {\n return item.getHeight();\n });\n var heightSum = heights.reduce(function (a, b) {\n return a + b;\n }, 0); // iOS scroll bounce may exceed the range\n\n if (bottom > heightSum && top > 0) {\n return;\n }\n\n var height = 0;\n var currentMonth;\n var visibleRange = [-1, -1];\n\n for (var i = 0; i < months.length; i++) {\n var visible = height <= bottom && height + heights[i] >= top;\n\n if (visible) {\n visibleRange[1] = i;\n\n if (!currentMonth) {\n currentMonth = months[i];\n visibleRange[0] = i;\n }\n\n if (!months[i].showed) {\n months[i].showed = true;\n this.$emit('month-show', {\n date: months[i].date,\n title: months[i].title\n });\n }\n }\n\n height += heights[i];\n }\n\n months.forEach(function (month, index) {\n month.visible = index >= visibleRange[0] - 1 && index <= visibleRange[1] + 1;\n });\n /* istanbul ignore else */\n\n if (currentMonth) {\n this.subtitle = currentMonth.title;\n }\n },\n onClickDay: function onClickDay(item) {\n if (this.readonly) {\n return;\n }\n\n var date = item.date;\n var type = this.type,\n currentDate = this.currentDate;\n\n if (type === 'range') {\n if (!currentDate) {\n this.select([date, null]);\n return;\n }\n\n var startDay = currentDate[0],\n endDay = currentDate[1];\n\n if (startDay && !endDay) {\n var compareToStart = compareDay(date, startDay);\n\n if (compareToStart === 1) {\n this.select([startDay, date], true);\n } else if (compareToStart === -1) {\n this.select([date, null]);\n } else if (this.allowSameDay) {\n this.select([date, date], true);\n }\n } else {\n this.select([date, null]);\n }\n } else if (type === 'multiple') {\n if (!currentDate) {\n this.select([date]);\n return;\n }\n\n var selectedIndex;\n var selected = this.currentDate.some(function (dateItem, index) {\n var equal = compareDay(dateItem, date) === 0;\n\n if (equal) {\n selectedIndex = index;\n }\n\n return equal;\n });\n\n if (selected) {\n var _currentDate$splice = currentDate.splice(selectedIndex, 1),\n unselectedDate = _currentDate$splice[0];\n\n this.$emit('unselect', copyDate(unselectedDate));\n } else if (this.maxRange && currentDate.length >= this.maxRange) {\n Toast(this.rangePrompt || t('rangePrompt', this.maxRange));\n } else {\n this.select([].concat(currentDate, [date]));\n }\n } else {\n this.select(date, true);\n }\n },\n togglePopup: function togglePopup(val) {\n this.$emit('input', val);\n },\n select: function select(date, complete) {\n var _this3 = this;\n\n var emit = function emit(date) {\n _this3.currentDate = date;\n\n _this3.$emit('select', copyDates(_this3.currentDate));\n };\n\n if (complete && this.type === 'range') {\n var valid = this.checkRange(date);\n\n if (!valid) {\n // auto selected to max range if showConfirm\n if (this.showConfirm) {\n emit([date[0], getDayByOffset(date[0], this.maxRange - 1)]);\n } else {\n emit(date);\n }\n\n return;\n }\n }\n\n emit(date);\n\n if (complete && !this.showConfirm) {\n this.onConfirm();\n }\n },\n checkRange: function checkRange(date) {\n var maxRange = this.maxRange,\n rangePrompt = this.rangePrompt;\n\n if (maxRange && calcDateNum(date) > maxRange) {\n Toast(rangePrompt || t('rangePrompt', maxRange));\n return false;\n }\n\n return true;\n },\n onConfirm: function onConfirm() {\n this.$emit('confirm', copyDates(this.currentDate));\n },\n genMonth: function genMonth(date, index) {\n var h = this.$createElement;\n var showMonthTitle = index !== 0 || !this.showSubtitle;\n return h(Month, {\n \"ref\": \"months\",\n \"refInFor\": true,\n \"attrs\": {\n \"date\": date,\n \"type\": this.type,\n \"color\": this.color,\n \"minDate\": this.minDate,\n \"maxDate\": this.maxDate,\n \"showMark\": this.showMark,\n \"formatter\": this.formatter,\n \"rowHeight\": this.rowHeight,\n \"lazyRender\": this.lazyRender,\n \"currentDate\": this.currentDate,\n \"showSubtitle\": this.showSubtitle,\n \"allowSameDay\": this.allowSameDay,\n \"showMonthTitle\": showMonthTitle,\n \"firstDayOfWeek\": this.dayOffset\n },\n \"scopedSlots\": {\n 'top-info': this.$scopedSlots['top-info'],\n 'bottom-info': this.$scopedSlots['bottom-info']\n },\n \"on\": {\n \"click\": this.onClickDay\n }\n });\n },\n genFooterContent: function genFooterContent() {\n var h = this.$createElement;\n var slot = this.slots('footer');\n\n if (slot) {\n return slot;\n }\n\n if (this.showConfirm) {\n var text = this.buttonDisabled ? this.confirmDisabledText : this.confirmText;\n return h(Button, {\n \"attrs\": {\n \"round\": true,\n \"block\": true,\n \"type\": \"danger\",\n \"color\": this.color,\n \"disabled\": this.buttonDisabled,\n \"nativeType\": \"button\"\n },\n \"class\": bem('confirm'),\n \"on\": {\n \"click\": this.onConfirm\n }\n }, [text || t('confirm')]);\n }\n },\n genFooter: function genFooter() {\n var h = this.$createElement;\n return h(\"div\", {\n \"class\": bem('footer', {\n unfit: !this.safeAreaInsetBottom\n })\n }, [this.genFooterContent()]);\n },\n genCalendar: function genCalendar() {\n var _this4 = this;\n\n var h = this.$createElement;\n return h(\"div\", {\n \"class\": bem()\n }, [h(Header, {\n \"attrs\": {\n \"title\": this.title,\n \"showTitle\": this.showTitle,\n \"subtitle\": this.subtitle,\n \"showSubtitle\": this.showSubtitle,\n \"firstDayOfWeek\": this.dayOffset\n },\n \"scopedSlots\": {\n title: function title() {\n return _this4.slots('title');\n }\n }\n }), h(\"div\", {\n \"ref\": \"body\",\n \"class\": bem('body'),\n \"on\": {\n \"scroll\": this.onScroll\n }\n }, [this.months.map(this.genMonth)]), this.genFooter()]);\n }\n },\n render: function render() {\n var _this5 = this;\n\n var h = arguments[0];\n\n if (this.poppable) {\n var _attrs;\n\n var createListener = function createListener(name) {\n return function () {\n return _this5.$emit(name);\n };\n };\n\n return h(Popup, {\n \"attrs\": (_attrs = {\n \"round\": true,\n \"value\": this.value\n }, _attrs[\"round\"] = this.round, _attrs[\"position\"] = this.position, _attrs[\"closeable\"] = this.showTitle || this.showSubtitle, _attrs[\"getContainer\"] = this.getContainer, _attrs[\"closeOnPopstate\"] = this.closeOnPopstate, _attrs[\"closeOnClickOverlay\"] = this.closeOnClickOverlay, _attrs),\n \"class\": bem('popup'),\n \"on\": {\n \"input\": this.togglePopup,\n \"open\": createListener('open'),\n \"opened\": createListener('opened'),\n \"close\": createListener('close'),\n \"closed\": createListener('closed')\n }\n }, [this.genCalendar()]);\n }\n\n return this.genCalendar();\n }\n});","/**\n * Common Switch Props\n */\nexport var switchProps = {\n size: [Number, String],\n value: null,\n loading: Boolean,\n disabled: Boolean,\n activeColor: String,\n inactiveColor: String,\n activeValue: {\n type: null,\n default: true\n },\n inactiveValue: {\n type: null,\n default: false\n }\n};","export var FieldMixin = {\n inject: {\n vanField: {\n default: null\n }\n },\n watch: {\n value: function value() {\n var field = this.vanField;\n\n if (field) {\n field.resetValidation();\n field.validateWithTrigger('onChange');\n }\n }\n },\n created: function created() {\n var field = this.vanField;\n\n if (field && !field.children) {\n field.children = this;\n }\n }\n};","// Utils\nimport { createNamespace, addUnit } from '../utils';\nimport { switchProps } from './shared'; // Mixins\n\nimport { FieldMixin } from '../mixins/field'; // Components\n\nimport Loading from '../loading';\n\nvar _createNamespace = createNamespace('switch'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [FieldMixin],\n props: switchProps,\n computed: {\n checked: function checked() {\n return this.value === this.activeValue;\n },\n style: function style() {\n return {\n fontSize: addUnit(this.size),\n backgroundColor: this.checked ? this.activeColor : this.inactiveColor\n };\n }\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event);\n\n if (!this.disabled && !this.loading) {\n var newValue = this.checked ? this.inactiveValue : this.activeValue;\n this.$emit('input', newValue);\n this.$emit('change', newValue);\n }\n },\n genLoading: function genLoading() {\n var h = this.$createElement;\n\n if (this.loading) {\n var color = this.checked ? this.activeColor : this.inactiveColor;\n return h(Loading, {\n \"class\": bem('loading'),\n \"attrs\": {\n \"color\": color\n }\n });\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n var checked = this.checked,\n loading = this.loading,\n disabled = this.disabled;\n return h(\"div\", {\n \"class\": bem({\n on: checked,\n loading: loading,\n disabled: disabled\n }),\n \"attrs\": {\n \"role\": \"switch\",\n \"aria-checked\": String(checked)\n },\n \"style\": this.style,\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"div\", {\n \"class\": bem('node')\n }, [this.genLoading()])]);\n }\n});","import { sortChildren } from '../utils/vnodes';\nexport function ChildrenMixin(_parent, options) {\n var _inject, _computed;\n\n if (options === void 0) {\n options = {};\n }\n\n var indexKey = options.indexKey || 'index';\n return {\n inject: (_inject = {}, _inject[_parent] = {\n default: null\n }, _inject),\n computed: (_computed = {\n parent: function parent() {\n if (this.disableBindRelation) {\n return null;\n }\n\n return this[_parent];\n }\n }, _computed[indexKey] = function () {\n this.bindRelation();\n\n if (this.parent) {\n return this.parent.children.indexOf(this);\n }\n\n return null;\n }, _computed),\n watch: {\n disableBindRelation: function disableBindRelation(val) {\n if (!val) {\n this.bindRelation();\n }\n }\n },\n mounted: function mounted() {\n this.bindRelation();\n },\n beforeDestroy: function beforeDestroy() {\n var _this = this;\n\n if (this.parent) {\n this.parent.children = this.parent.children.filter(function (item) {\n return item !== _this;\n });\n }\n },\n methods: {\n bindRelation: function bindRelation() {\n if (!this.parent || this.parent.children.indexOf(this) !== -1) {\n return;\n }\n\n var children = [].concat(this.parent.children, [this]);\n sortChildren(children, this.parent);\n this.parent.children = children;\n }\n }\n };\n}\nexport function ParentMixin(parent) {\n return {\n provide: function provide() {\n var _ref;\n\n return _ref = {}, _ref[parent] = this, _ref;\n },\n data: function data() {\n return {\n children: []\n };\n }\n };\n}","import { createNamespace } from '../utils';\nimport { ParentMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('goods-action'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanGoodsAction')],\n props: {\n safeAreaInsetBottom: {\n type: Boolean,\n default: true\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem({\n unfit: !this.safeAreaInsetBottom\n })\n }, [this.slots()]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport Vue from 'vue';\nimport VanDialog from './Dialog';\nimport { isServer } from '../utils';\nvar instance;\n\nfunction isInDocument(element) {\n return document.body.contains(element);\n}\n\nfunction initInstance() {\n if (instance) {\n instance.$destroy();\n }\n\n instance = new (Vue.extend(VanDialog))({\n el: document.createElement('div'),\n // avoid missing animation when first rendered\n propsData: {\n lazyRender: false\n }\n });\n instance.$on('input', function (value) {\n instance.value = value;\n });\n}\n\nfunction Dialog(options) {\n /* istanbul ignore if */\n if (isServer) {\n return Promise.resolve();\n }\n\n return new Promise(function (resolve, reject) {\n if (!instance || !isInDocument(instance.$el)) {\n initInstance();\n }\n\n _extends(instance, Dialog.currentOptions, options, {\n resolve: resolve,\n reject: reject\n });\n });\n}\n\nDialog.defaultOptions = {\n value: true,\n title: '',\n width: '',\n theme: null,\n message: '',\n overlay: true,\n className: '',\n allowHtml: true,\n lockScroll: true,\n transition: 'van-dialog-bounce',\n beforeClose: null,\n overlayClass: '',\n overlayStyle: null,\n messageAlign: '',\n getContainer: 'body',\n cancelButtonText: '',\n cancelButtonColor: null,\n confirmButtonText: '',\n confirmButtonColor: null,\n showConfirmButton: true,\n showCancelButton: false,\n closeOnPopstate: true,\n closeOnClickOverlay: false,\n callback: function callback(action) {\n instance[action === 'confirm' ? 'resolve' : 'reject'](action);\n }\n};\nDialog.alert = Dialog;\n\nDialog.confirm = function (options) {\n return Dialog(_extends({\n showCancelButton: true\n }, options));\n};\n\nDialog.close = function () {\n if (instance) {\n instance.value = false;\n }\n};\n\nDialog.setDefaultOptions = function (options) {\n _extends(Dialog.currentOptions, options);\n};\n\nDialog.resetDefaultOptions = function () {\n Dialog.currentOptions = _extends({}, Dialog.defaultOptions);\n};\n\nDialog.resetDefaultOptions();\n\nDialog.install = function () {\n Vue.use(VanDialog);\n};\n\nDialog.Component = VanDialog;\nVue.prototype.$dialog = Dialog;\nexport default Dialog;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { route, routeProps } from '../utils/router';\nimport { ChildrenMixin } from '../mixins/relation';\nimport Button from '../button';\n\nvar _createNamespace = createNamespace('goods-action-button'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanGoodsAction')],\n props: _extends({}, routeProps, {\n type: String,\n text: String,\n icon: String,\n color: String,\n loading: Boolean,\n disabled: Boolean\n }),\n computed: {\n isFirst: function isFirst() {\n var prev = this.parent && this.parent.children[this.index - 1];\n return !prev || prev.$options.name !== this.$options.name;\n },\n isLast: function isLast() {\n var next = this.parent && this.parent.children[this.index + 1];\n return !next || next.$options.name !== this.$options.name;\n }\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event);\n route(this.$router, this);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(Button, {\n \"class\": bem([{\n first: this.isFirst,\n last: this.isLast\n }, this.type]),\n \"attrs\": {\n \"size\": \"large\",\n \"type\": this.type,\n \"icon\": this.icon,\n \"color\": this.color,\n \"loading\": this.loading,\n \"disabled\": this.disabled\n },\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.slots() || this.text]);\n }\n});","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport { createNamespace, addUnit, noop } from '../utils';\nimport { BORDER_TOP, BORDER_LEFT } from '../utils/constant';\nimport { PopupMixin } from '../mixins/popup';\nimport Button from '../button';\nimport GoodsAction from '../goods-action';\nimport GoodsActionButton from '../goods-action-button';\n\nvar _createNamespace = createNamespace('dialog'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nexport default createComponent({\n mixins: [PopupMixin()],\n props: {\n title: String,\n theme: String,\n width: [Number, String],\n message: String,\n className: null,\n callback: Function,\n beforeClose: Function,\n messageAlign: String,\n cancelButtonText: String,\n cancelButtonColor: String,\n confirmButtonText: String,\n confirmButtonColor: String,\n showCancelButton: Boolean,\n overlay: {\n type: Boolean,\n default: true\n },\n allowHtml: {\n type: Boolean,\n default: true\n },\n transition: {\n type: String,\n default: 'van-dialog-bounce'\n },\n showConfirmButton: {\n type: Boolean,\n default: true\n },\n closeOnPopstate: {\n type: Boolean,\n default: true\n },\n closeOnClickOverlay: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n loading: {\n confirm: false,\n cancel: false\n }\n };\n },\n methods: {\n onClickOverlay: function onClickOverlay() {\n this.handleAction('overlay');\n },\n handleAction: function handleAction(action) {\n var _this = this;\n\n this.$emit(action); // show not trigger close event when hidden\n\n if (!this.value) {\n return;\n }\n\n if (this.beforeClose) {\n this.loading[action] = true;\n this.beforeClose(action, function (state) {\n if (state !== false && _this.loading[action]) {\n _this.onClose(action);\n }\n\n _this.loading.confirm = false;\n _this.loading.cancel = false;\n });\n } else {\n this.onClose(action);\n }\n },\n onClose: function onClose(action) {\n this.close();\n\n if (this.callback) {\n this.callback(action);\n }\n },\n onOpened: function onOpened() {\n var _this2 = this;\n\n this.$emit('opened');\n this.$nextTick(function () {\n var _this2$$refs$dialog;\n\n (_this2$$refs$dialog = _this2.$refs.dialog) == null ? void 0 : _this2$$refs$dialog.focus();\n });\n },\n onClosed: function onClosed() {\n this.$emit('closed');\n },\n onKeydown: function onKeydown(event) {\n var _this3 = this;\n\n if (event.key === 'Escape' || event.key === 'Enter') {\n // skip keyboard events of child elements\n if (event.target !== this.$refs.dialog) {\n return;\n }\n\n var onEventType = {\n Enter: this.showConfirmButton ? function () {\n return _this3.handleAction('confirm');\n } : noop,\n Escape: this.showCancelButton ? function () {\n return _this3.handleAction('cancel');\n } : noop\n };\n onEventType[event.key]();\n this.$emit('keydown', event);\n }\n },\n genRoundButtons: function genRoundButtons() {\n var _this4 = this;\n\n var h = this.$createElement;\n return h(GoodsAction, {\n \"class\": bem('footer')\n }, [this.showCancelButton && h(GoodsActionButton, {\n \"attrs\": {\n \"size\": \"large\",\n \"type\": \"warning\",\n \"text\": this.cancelButtonText || t('cancel'),\n \"color\": this.cancelButtonColor,\n \"loading\": this.loading.cancel\n },\n \"class\": bem('cancel'),\n \"on\": {\n \"click\": function click() {\n _this4.handleAction('cancel');\n }\n }\n }), this.showConfirmButton && h(GoodsActionButton, {\n \"attrs\": {\n \"size\": \"large\",\n \"type\": \"danger\",\n \"text\": this.confirmButtonText || t('confirm'),\n \"color\": this.confirmButtonColor,\n \"loading\": this.loading.confirm\n },\n \"class\": bem('confirm'),\n \"on\": {\n \"click\": function click() {\n _this4.handleAction('confirm');\n }\n }\n })]);\n },\n genButtons: function genButtons() {\n var _this5 = this,\n _ref;\n\n var h = this.$createElement;\n var multiple = this.showCancelButton && this.showConfirmButton;\n return h(\"div\", {\n \"class\": [BORDER_TOP, bem('footer')]\n }, [this.showCancelButton && h(Button, {\n \"attrs\": {\n \"size\": \"large\",\n \"loading\": this.loading.cancel,\n \"text\": this.cancelButtonText || t('cancel'),\n \"nativeType\": \"button\"\n },\n \"class\": bem('cancel'),\n \"style\": {\n color: this.cancelButtonColor\n },\n \"on\": {\n \"click\": function click() {\n _this5.handleAction('cancel');\n }\n }\n }), this.showConfirmButton && h(Button, {\n \"attrs\": {\n \"size\": \"large\",\n \"loading\": this.loading.confirm,\n \"text\": this.confirmButtonText || t('confirm'),\n \"nativeType\": \"button\"\n },\n \"class\": [bem('confirm'), (_ref = {}, _ref[BORDER_LEFT] = multiple, _ref)],\n \"style\": {\n color: this.confirmButtonColor\n },\n \"on\": {\n \"click\": function click() {\n _this5.handleAction('confirm');\n }\n }\n })]);\n },\n genContent: function genContent(hasTitle, messageSlot) {\n var h = this.$createElement;\n\n if (messageSlot) {\n return h(\"div\", {\n \"class\": bem('content')\n }, [messageSlot]);\n }\n\n var message = this.message,\n messageAlign = this.messageAlign;\n\n if (message) {\n var _bem, _domProps;\n\n var data = {\n class: bem('message', (_bem = {\n 'has-title': hasTitle\n }, _bem[messageAlign] = messageAlign, _bem)),\n domProps: (_domProps = {}, _domProps[this.allowHtml ? 'innerHTML' : 'textContent'] = message, _domProps)\n };\n return h(\"div\", {\n \"class\": bem('content', {\n isolated: !hasTitle\n })\n }, [h(\"div\", _mergeJSXProps([{}, data]))]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n\n if (!this.shouldRender) {\n return;\n }\n\n var message = this.message;\n var messageSlot = this.slots();\n var title = this.slots('title') || this.title;\n var Title = title && h(\"div\", {\n \"class\": bem('header', {\n isolated: !message && !messageSlot\n })\n }, [title]);\n return h(\"transition\", {\n \"attrs\": {\n \"name\": this.transition\n },\n \"on\": {\n \"afterEnter\": this.onOpened,\n \"afterLeave\": this.onClosed\n }\n }, [h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.value\n }],\n \"attrs\": {\n \"role\": \"dialog\",\n \"aria-labelledby\": this.title || message,\n \"tabIndex\": 0\n },\n \"class\": [bem([this.theme]), this.className],\n \"style\": {\n width: addUnit(this.width)\n },\n \"ref\": \"dialog\",\n \"on\": {\n \"keydown\": this.onKeydown\n }\n }, [Title, this.genContent(title, messageSlot), this.theme === 'round-button' ? this.genRoundButtons() : this.genButtons()])]);\n }\n});","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"jwb\"},[_c('div',{staticClass:\"free-busy\"},[_c('div',{ref:\"bf_table_jwb\",staticClass:\"bf-table\"},[_c('div',{staticClass:\"bf-body\"},_vm._l((_vm.hourHeader),function(hour){return _c('div',{key:hour,staticClass:\"header\"},[_vm._v(\"\\n \"+_vm._s(hour)+\"\\n \")])}),0),_c('div',{staticClass:\"bf-body\"},_vm._l((_vm.states),function(state,key){return _c('div',{key:key,staticClass:\"cell\",class:{'free':state==='空','busy':state!=='空','occupy':_vm.occupy(key)},on:{\"click\":function($event){return _vm.selectDate(key,state)}}},[_vm._v(\"\\n \"+_vm._s(_vm.newState(state, key))+\"\\n \")])}),0)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n \n {{ hour }}\n \n \n \n \n {{ newState(state, key) }}\n \n \n \n \n\n \n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Meeting-FreeBusy-jwb.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Meeting-FreeBusy-jwb.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Meeting-FreeBusy-jwb.vue?vue&type=template&id=6a07f420\"\nimport script from \"./Meeting-FreeBusy-jwb.vue?vue&type=script&lang=js\"\nexport * from \"./Meeting-FreeBusy-jwb.vue?vue&type=script&lang=js\"\nimport style0 from \"./Meeting-FreeBusy-jwb.vue?vue&type=style&index=0&id=6a07f420&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n \n \n \n \n \n \n onPickConfirm('group_id',v1)\"\n @cancel=\"show_picker.group_id = false\"\n />\n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 生成\n \n \n \n \n \n \n \n 提交申请\n 返回列表\n \n \n \n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./edit.vue?vue&type=template&id=7c98e377&scoped=true\"\nimport script from \"./edit.vue?vue&type=script&lang=js\"\nexport * from \"./edit.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7c98e377\",\n null\n \n)\n\nexport default component.exports","\"use strict\";function _extends(){return _extends=Object.assign?Object.assign.bind():function(a){for(var b,c=1;c maxlength) {\n if (this.value && this.value.length === +maxlength) {\n value = this.value;\n } else {\n value = value.slice(0, maxlength);\n }\n }\n\n if (this.type === 'number' || this.type === 'digit') {\n var isNumber = this.type === 'number';\n value = formatNumber(value, isNumber, isNumber);\n }\n\n if (this.formatter && trigger === this.formatTrigger) {\n value = this.formatter(value);\n }\n\n var input = this.$refs.input;\n\n if (input && value !== input.value) {\n input.value = value;\n }\n\n if (value !== this.value) {\n this.$emit('input', value);\n }\n },\n onInput: function onInput(event) {\n // not update v-model when composing\n if (event.target.composing) {\n return;\n }\n\n this.updateValue(event.target.value);\n },\n onFocus: function onFocus(event) {\n this.focused = true;\n this.$emit('focus', event); // https://github.com/vant-ui/vant/issues/9715\n\n this.$nextTick(this.adjustSize); // readonly not work in legacy mobile safari\n\n /* istanbul ignore if */\n\n if (this.getProp('readonly')) {\n this.blur();\n }\n },\n onBlur: function onBlur(event) {\n if (this.getProp('readonly')) {\n return;\n }\n\n this.focused = false;\n this.updateValue(this.value, 'onBlur');\n this.$emit('blur', event);\n this.validateWithTrigger('onBlur');\n this.$nextTick(this.adjustSize);\n resetScroll();\n },\n onClick: function onClick(event) {\n this.$emit('click', event);\n },\n onClickInput: function onClickInput(event) {\n this.$emit('click-input', event);\n },\n onClickLeftIcon: function onClickLeftIcon(event) {\n this.$emit('click-left-icon', event);\n },\n onClickRightIcon: function onClickRightIcon(event) {\n this.$emit('click-right-icon', event);\n },\n onClear: function onClear(event) {\n preventDefault(event);\n this.$emit('input', '');\n this.$emit('clear', event);\n },\n onKeypress: function onKeypress(event) {\n var ENTER_CODE = 13;\n\n if (event.keyCode === ENTER_CODE) {\n var submitOnEnter = this.getProp('submitOnEnter');\n\n if (!submitOnEnter && this.type !== 'textarea') {\n preventDefault(event);\n } // trigger blur after click keyboard search button\n\n\n if (this.type === 'search') {\n this.blur();\n }\n }\n\n this.$emit('keypress', event);\n },\n adjustSize: function adjustSize() {\n var input = this.$refs.input;\n\n if (!(this.type === 'textarea' && this.autosize) || !input) {\n return;\n }\n\n var scrollTop = getRootScrollTop();\n input.style.height = 'auto';\n var height = input.scrollHeight;\n\n if (isObject(this.autosize)) {\n var _this$autosize = this.autosize,\n maxHeight = _this$autosize.maxHeight,\n minHeight = _this$autosize.minHeight;\n\n if (maxHeight) {\n height = Math.min(height, maxHeight);\n }\n\n if (minHeight) {\n height = Math.max(height, minHeight);\n }\n }\n\n if (height) {\n input.style.height = height + 'px'; // https://github.com/vant-ui/vant/issues/9178\n\n setRootScrollTop(scrollTop);\n }\n },\n genInput: function genInput() {\n var h = this.$createElement;\n var type = this.type;\n var disabled = this.getProp('disabled');\n var readonly = this.getProp('readonly');\n var inputSlot = this.slots('input');\n var inputAlign = this.getProp('inputAlign');\n\n if (inputSlot) {\n return h(\"div\", {\n \"class\": bem('control', [inputAlign, 'custom']),\n \"on\": {\n \"click\": this.onClickInput\n }\n }, [inputSlot]);\n }\n\n var inputProps = {\n ref: 'input',\n class: bem('control', inputAlign),\n domProps: {\n value: this.value\n },\n attrs: _extends({}, this.$attrs, {\n name: this.name,\n disabled: disabled,\n readonly: readonly,\n placeholder: this.placeholder\n }),\n on: this.listeners,\n // add model directive to skip IME composition\n directives: [{\n name: 'model',\n value: this.value\n }]\n };\n\n if (type === 'textarea') {\n return h(\"textarea\", _mergeJSXProps([{}, inputProps]));\n }\n\n var inputType = type;\n var inputMode; // type=\"number\" is weird in iOS, and can't prevent dot in Android\n // so use inputmode to set keyboard in modern browsers\n\n if (type === 'number') {\n inputType = 'text';\n inputMode = 'decimal';\n }\n\n if (type === 'digit') {\n inputType = 'tel';\n inputMode = 'numeric';\n }\n\n return h(\"input\", _mergeJSXProps2([{\n \"attrs\": {\n \"type\": inputType,\n \"inputmode\": inputMode\n }\n }, inputProps]));\n },\n genLeftIcon: function genLeftIcon() {\n var h = this.$createElement;\n var showLeftIcon = this.slots('left-icon') || this.leftIcon;\n\n if (showLeftIcon) {\n return h(\"div\", {\n \"class\": bem('left-icon'),\n \"on\": {\n \"click\": this.onClickLeftIcon\n }\n }, [this.slots('left-icon') || h(Icon, {\n \"attrs\": {\n \"name\": this.leftIcon,\n \"classPrefix\": this.iconPrefix\n }\n })]);\n }\n },\n genRightIcon: function genRightIcon() {\n var h = this.$createElement;\n var slots = this.slots;\n var showRightIcon = slots('right-icon') || this.rightIcon;\n\n if (showRightIcon) {\n return h(\"div\", {\n \"class\": bem('right-icon'),\n \"on\": {\n \"click\": this.onClickRightIcon\n }\n }, [slots('right-icon') || h(Icon, {\n \"attrs\": {\n \"name\": this.rightIcon,\n \"classPrefix\": this.iconPrefix\n }\n })]);\n }\n },\n genWordLimit: function genWordLimit() {\n var h = this.$createElement;\n\n if (this.showWordLimit && this.maxlength) {\n var count = (this.value || '').length;\n return h(\"div\", {\n \"class\": bem('word-limit')\n }, [h(\"span\", {\n \"class\": bem('word-num')\n }, [count]), \"/\", this.maxlength]);\n }\n },\n genMessage: function genMessage() {\n var h = this.$createElement;\n\n if (this.vanForm && this.vanForm.showErrorMessage === false) {\n return;\n }\n\n var message = this.errorMessage || this.validateMessage;\n\n if (message) {\n var errorMessageAlign = this.getProp('errorMessageAlign');\n return h(\"div\", {\n \"class\": bem('error-message', errorMessageAlign)\n }, [message]);\n }\n },\n getProp: function getProp(key) {\n if (isDef(this[key])) {\n return this[key];\n }\n\n if (this.vanForm && isDef(this.vanForm[key])) {\n return this.vanForm[key];\n }\n },\n genLabel: function genLabel() {\n var h = this.$createElement;\n var colon = this.getProp('colon') ? ':' : '';\n\n if (this.slots('label')) {\n return [this.slots('label'), colon];\n }\n\n if (this.label) {\n return h(\"span\", [this.label + colon]);\n }\n }\n },\n render: function render() {\n var _bem;\n\n var h = arguments[0];\n var slots = this.slots;\n var disabled = this.getProp('disabled');\n var labelAlign = this.getProp('labelAlign');\n var scopedSlots = {\n icon: this.genLeftIcon\n };\n var Label = this.genLabel();\n\n if (Label) {\n scopedSlots.title = function () {\n return Label;\n };\n }\n\n var extra = this.slots('extra');\n\n if (extra) {\n scopedSlots.extra = function () {\n return extra;\n };\n }\n\n return h(Cell, {\n \"attrs\": {\n \"icon\": this.leftIcon,\n \"size\": this.size,\n \"center\": this.center,\n \"border\": this.border,\n \"isLink\": this.isLink,\n \"required\": this.required,\n \"clickable\": this.clickable,\n \"titleStyle\": this.labelStyle,\n \"valueClass\": bem('value'),\n \"titleClass\": [bem('label', labelAlign), this.labelClass],\n \"arrowDirection\": this.arrowDirection\n },\n \"scopedSlots\": scopedSlots,\n \"class\": bem((_bem = {\n error: this.showError,\n disabled: disabled\n }, _bem[\"label-\" + labelAlign] = labelAlign, _bem['min-height'] = this.type === 'textarea' && !this.autosize, _bem)),\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"div\", {\n \"class\": bem('body')\n }, [this.genInput(), this.showClear && h(Icon, {\n \"attrs\": {\n \"name\": \"clear\"\n },\n \"class\": bem('clear'),\n \"on\": {\n \"touchstart\": this.onClear\n }\n }), this.genRightIcon(), slots('button') && h(\"div\", {\n \"class\": bem('button')\n }, [slots('button')])]), this.genWordLimit(), this.genMessage()]);\n }\n});","var camelizeRE = /-(\\w)/g;\nexport function camelize(str) {\n return str.replace(camelizeRE, function (_, c) {\n return c.toUpperCase();\n });\n}\nexport function padZero(num, targetLength) {\n if (targetLength === void 0) {\n targetLength = 2;\n }\n\n var str = num + '';\n\n while (str.length < targetLength) {\n str = '0' + str;\n }\n\n return str;\n}","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace, isDef } from '../utils';\nimport { emit, inherit } from '../utils/functional';\nimport { routeProps, functionalRoute } from '../utils/router';\nimport { cellProps } from './shared'; // Components\n\nimport Icon from '../icon'; // Types\n\nvar _createNamespace = createNamespace('cell'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Cell(h, props, slots, ctx) {\n var _props$clickable;\n\n var icon = props.icon,\n size = props.size,\n title = props.title,\n label = props.label,\n value = props.value,\n isLink = props.isLink;\n var showTitle = slots.title || isDef(title);\n\n function Label() {\n var showLabel = slots.label || isDef(label);\n\n if (showLabel) {\n return h(\"div\", {\n \"class\": [bem('label'), props.labelClass]\n }, [slots.label ? slots.label() : label]);\n }\n }\n\n function Title() {\n if (showTitle) {\n return h(\"div\", {\n \"class\": [bem('title'), props.titleClass],\n \"style\": props.titleStyle\n }, [slots.title ? slots.title() : h(\"span\", [title]), Label()]);\n }\n }\n\n function Value() {\n var showValue = slots.default || isDef(value);\n\n if (showValue) {\n return h(\"div\", {\n \"class\": [bem('value', {\n alone: !showTitle\n }), props.valueClass]\n }, [slots.default ? slots.default() : h(\"span\", [value])]);\n }\n }\n\n function LeftIcon() {\n if (slots.icon) {\n return slots.icon();\n }\n\n if (icon) {\n return h(Icon, {\n \"class\": bem('left-icon'),\n \"attrs\": {\n \"name\": icon,\n \"classPrefix\": props.iconPrefix\n }\n });\n }\n }\n\n function RightIcon() {\n var rightIconSlot = slots['right-icon'];\n\n if (rightIconSlot) {\n return rightIconSlot();\n }\n\n if (isLink) {\n var arrowDirection = props.arrowDirection;\n return h(Icon, {\n \"class\": bem('right-icon'),\n \"attrs\": {\n \"name\": arrowDirection ? \"arrow-\" + arrowDirection : 'arrow'\n }\n });\n }\n }\n\n function onClick(event) {\n emit(ctx, 'click', event);\n functionalRoute(ctx);\n }\n\n var clickable = (_props$clickable = props.clickable) != null ? _props$clickable : isLink;\n var classes = {\n clickable: clickable,\n center: props.center,\n required: props.required,\n borderless: !props.border\n };\n\n if (size) {\n classes[size] = size;\n }\n\n return h(\"div\", _mergeJSXProps([{\n \"class\": bem(classes),\n \"attrs\": {\n \"role\": clickable ? 'button' : null,\n \"tabindex\": clickable ? 0 : null\n },\n \"on\": {\n \"click\": onClick\n }\n }, inherit(ctx)]), [LeftIcon(), Title(), Value(), RightIcon(), slots.extra == null ? void 0 : slots.extra()]);\n}\n\nCell.props = _extends({}, cellProps, routeProps);\nexport default createComponent(Cell);","export function isNumeric(val) {\n return /^\\d+(\\.\\d+)?$/.test(val);\n}\nexport function isNaN(val) {\n if (Number.isNaN) {\n return Number.isNaN(val);\n } // eslint-disable-next-line no-self-compare\n\n\n return val !== val;\n}","import CommonMixin from \"@/common/mixins/common-mixin\";\nimport FileSaver from 'file-saver';\nimport XLSX from 'xlsx';\n\nexport default {\n mixins: [CommonMixin],\n data() {\n return {\n is_loading: false,\n single: {\n duration: 30,\n meeting_date: new Date().Format(\"yyyy-MM-dd\"),\n meeting_time: '00:00',\n option_mute: '1',\n option_jbh: '1',\n option_h323: '0',\n group_id: null,\n usage: '办公',\n is_recurrent:0,\n recurrent_id:0,\n end_meeting_date: new Date().Format(\"yyyy-MM-dd\"),\n end_meeting_times:2,\n repeat_type:2,\n size: 100,\n auto_record: 0,\n assistant: '',\n option_enroll: '0',\n enroll_attendees: '',\n enroll_questions: [],\n enroll_selection:[],\n option_water_mark: '1',\n option_sso_only: '0',\n meeting_guests: \"\",\n label:[],\n },\n enroll_search:{\n search:'',\n },\n enroll_data: [],\n enroll_question_list: [\n {id: 2, question: '手机号'},\n {id: 3, question: '邮箱'},\n {id: 4, question: '姓名'},\n {id: 5, question: '公司名称'},\n ],\n fields: {},\n emails: [],\n address_book_visible: false,\n old_data: {\n date: null,\n time: null,\n duration: null,\n password: null,\n },\n page_ready: false,\n sizes: [100, 200, 300],\n repeat_options:[{name:'每日循环',value:1},{name:'每周循环',value:2},{name:'每月循环',value:3}],\n edit_tab: '1',\n }\n },\n filters:{\n enrollAnswer(enroll, question) {\n const answers = enroll.answer_list;\n if (answers && answers.length) {\n for (let i = 0; i < answers.length; i++) {\n if (answers[i].question_title === question) {\n return answers[i].answer_content.join(',');\n }\n }\n }\n return '';\n },\n },\n computed: {\n enrollDataFiltered(){\n if (this.enroll_data) {\n const search = this.enroll_search.search;\n if (search.length) {\n return this.enroll_data.filter(item => {\n console.log('item',search,item);\n if (item.nick_name && item.nick_name.indexOf(search) > -1) return true;\n if (item.userid && item.userid.indexOf(search) > -1) return true;\n const answers = item.answer_list;\n if (answers && answers.length) {\n for (let i = 0; i < answers.length; i++) {\n const x = answers[i].answer_content.join(',');\n if ( x.indexOf(search) > -1) return true;\n }\n }\n return false;\n });\n } else {\n return this.enroll_data;\n }\n }\n return [];\n },\n approveType() {\n if (this.single.approve_status == '批准') {\n return 'success';\n } else if (this.single.approve_status == '拒绝') {\n return 'danger';\n } else if (this.single.approve_status == '提交') {\n return 'primary';\n } else {\n return 'info';\n }\n },\n approveIcon() {\n if (this.single.approve_status == '批准') {\n return 'el-icon-check';\n } else if (this.single.approve_status == '拒绝') {\n return 'el-icon-close';\n } else if (this.single.approve_status == '提交') {\n return 'el-icon-s-promotion';\n } else {\n return 'el-icon-document-add';\n }\n },\n editRules() {\n let rules = {};\n for (let x in this.fields) {\n const field = this.fields[x];\n if (field.validation) {\n rules[x] = [];\n field.validation.forEach(item => {\n const trigger = ['text', 'textarea', 'number'].includes(item.type) ? 'blur' : 'change';\n if (item === 'required') {\n rules[x].push({\n required: true,\n message: this.english ? ((field.title_en || field.title) + \" is required!\") : ('请输入' + field.title),\n trigger: trigger\n });\n }\n if (item.indexOf('min:') === 0 || item.indexOf('max:') === 0) {\n let cmd = item.split(':');\n if (cmd.length > 1) {\n let v = {\n message: (cmd[0] === 'min' ? ('最小') : ('最大')) + cmd[1] + ('个字'),\n trigger: 'blur'\n };\n v[cmd[0]] = parseInt(cmd[1]);\n rules[x].push(v);\n }\n }\n if (item.indexOf('email') === 0) {\n rules[x].push({\n type: 'email',\n message: ('请输入正确的邮箱格式'),\n trigger: trigger\n });\n }\n });\n }\n }\n return rules;\n },\n canAdd() {\n let can = true;\n const level = parseInt(this.user.role_level);\n if (this.preset.app.create_meeting_forbidden) {\n if (level < 3) {\n can = false;\n }\n }\n return can;\n },\n join_meeting_at() {\n const meeting_start = this.single.meeting_date + ' ' + this.single.meeting_time;\n let d = this.$dateParse(meeting_start, true);\n d.setMinutes(d.getMinutes() - 20);\n return d.Format('yyyy-MM-dd hh:mm');\n },\n end_meeting_at() {\n const meeting_start = this.single.meeting_date + ' ' + this.single.meeting_time;\n let d = this.$dateParse(meeting_start, true);\n d.setMinutes(d.getMinutes() + 10 + this.single.duration);\n return d.Format('yyyy-MM-dd hh:mm');\n },\n meeting_start() {\n return this.single.meeting_date + ' ' + this.single.meeting_time;\n },\n need_approval() {\n return this.single.id === 0 || this.single.meeting_date !== this.old_data.meeting_date ||\n (this.single.meeting_time + ':00' !== this.old_data.meeting_time &&\n this.single.meeting_time !== this.old_data.meeting_time) ||\n this.single.duration !== this.old_data.duration || this.single.approve_status === '拒绝';\n },\n allRoomGroups() {\n const allow = this.user ? [...this.user.allow_room_group] : [];\n const all = this.preset.app ? this.preset.app.room_groups : [];\n if (!allow || !all) return [];\n if (this.single && !allow.includes(this.single.group_id)) {\n allow.push(this.single.group_id);\n }\n return all.filter((t) => {\n return allow.includes(t.id)\n });\n },\n duration_options() {\n const options = [];\n for (let i = 0.5; i <= this.preset.app.max_hours; i += 0.5) {\n options.push({label: i + '小时', value: i * 60})\n }\n return options;\n },\n isWelinkMeeting() {\n return this.roomGroupPlatform === 4;\n },\n isZoom() {\n return [0, 2, 3].includes(this.roomGroupPlatform);\n },\n isTencentMeeting() {\n return this.roomGroupPlatform === 1;\n },\n roomGroupPlatform() {\n let platform = 0;\n if (this.preset.app.room_groups) {\n this.preset.app.room_groups.forEach((x) => {\n if (x.id === this.single.group_id) platform = x.platform;\n })\n }\n return platform;\n },\n invisible() {\n return this.$organization.org === 'sjtu';\n },\n allow_recurrent_book() {\n return !!this.preset.app && this.preset.app.allow_recurrent_book;\n }\n },\n methods: {\n handleEnrollOptionChange() {\n if (this.single.option_enroll == 1) {\n this.old_data.password = this.single.password;\n this.single.password = '';\n } else {\n this.single.password = this.old_data.password;\n }\n },\n approveEnroll(action) {\n const data = this.enroll_selection.map(x => x.enroll_id);\n console.log(data)\n if (!data.length) {\n this.$notice.error('请至少选择一位报名者!');\n } else {\n this.$api('Meeting.Enroll.Approve',{id:this.single.id,action:action,enroll_ids:data}).then((res)=>{\n this.$notice.success('操作成功!');\n this.enroll_data = res.data.data;\n });\n }\n },\n tableFilterHandler(value, row, column) {\n console.log(value,row,column);\n const property = column['property'];\n return row[property] == value;\n },\n handleSelectionChange(val){\n this.enroll_selection = val;\n },\n handleSubmitEnroll(){\n if (this.single.id === 0) {\n this.$notice.error('需要先保存会议才能进行设置报名信息!');\n } else {\n this.$api('Meeting.Enroll.Update',this.single,true).then(()=>{\n this.$notice.success('更新完毕!');\n });\n }\n },\n loadEnrollData() {\n if (!this.single.id) {\n this.$notice.error('请先保存会议,才可以获取报名信息!');\n } else {\n this.$api('Meeting.Enroll.SearchParticipants', {id: this.single.id}, true).then(res => {\n this.enroll_data = res.data.data;\n })\n }\n },\n exportEnrollData() {\n if (this.enroll_data.length > 0) {\n this.exportExcel('报名信息');\n } else {\n this.$notice.error('没有报名信息,请先载入!');\n }\n },\n exportExcel(name) {\n /* generate workbook object from table */\n let wb = XLSX.utils.table_to_book(this.$refs['excel_table'], {raw: true});\n /* get binary string as output */\n let wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST: true, type: 'array'});\n let now = new Date().Format('yyyy-MM-dd');\n try {\n FileSaver.saveAs(new Blob([wbout], {type: 'application/octet-stream'}), `${name}-${now}.xlsx`)\n } catch (e) {\n console.log(e, wbout)\n }\n return wbout\n },\n handleSubmit() {\n let vm = this;\n this.$refs['MeetingForm'].validate(valid => {\n if (valid) {\n vm.is_loading = true;\n vm.single.attendees = JSON.stringify(vm.emails);\n vm.$api('Meeting.Edit', Object.assign({}, vm.single, {ask: 1}), true).then((res) => {\n vm.is_loading = false;\n if (res.data.data === 'CONFIRM') { // 确认后再次调用\n vm.$affirm('此次操作将会变更会议号码,请确定是否继续?').then(() => {\n vm.$api('Meeting.Edit', vm.single, true).then(() => {\n vm.is_loading = false;\n this.$alert('会议已经成功保存。返回我的会议查看', '成功', {\n confirmButtonText: '确定',\n type: 'success'\n });\n vm.$router.push(this.$organization.home_page);\n }).catch(() => {\n vm.is_loading = false;\n vm.$refs['meeting_busy'].queryBF();\n });\n });\n } else {\n this.$alert('会议已经成功保存。返回我的会议查看', '成功', {\n confirmButtonText: '确定',\n type: 'success'\n });\n vm.$router.push(this.$organization.home_page);\n }\n }).catch(() => {\n vm.is_loading = false;\n vm.$refs['meeting_busy'].queryBF();\n });\n } else {\n this.$notify({\n title: '错误',\n message: '请按照指示填写正确的信息',\n type: 'error'\n });\n return false;\n }\n });\n },\n handleFreeChange(item) {\n this.single.meeting_date = item.date;\n this.single.meeting_time = item.time;\n },\n handleAddressBook() {\n this.address_book_visible = true;\n },\n handleCancel() {\n this.address_book_visible = false;\n },\n handleSuccess(val) {\n this.address_book_visible = false;\n this.emails = val;\n },\n removeEmail(val) {\n const index = this.emails.indexOf(val);\n if (index >= 0) this.emails.splice(index, 1);\n },\n importEmails(import_text) {\n this.emails = [];\n try {\n let data = JSON.parse(import_text);\n if (Array.isArray(data)) {\n this.emails = data;\n }\n } catch (e) {\n console.log(e);\n }\n },\n makeRandomPassword() {\n this.$set(this.single, 'password', Math.round(900000 * Math.random() + 100000));\n },\n processData() {\n },\n checkCreateMeetingForbidden() {\n if (this.preset.app.create_meeting_forbidden && this.user.role_level < 3) {\n if (this.preset.app.create_meeting_forbidden_redirect) {\n window.location.href = this.preset.app.create_meeting_forbidden_redirect;\n } else {\n this.$notice.error(this.preset.app.create_meeting_forbidden_message);\n this.$router.go(-1);\n }\n } else {\n this.page_ready = true;\n }\n }\n },\n created() {\n const vm = this;\n if (!this.$route.params.id) {\n //判断是否可以建会\n if (this.preset.app.name) {\n this.checkCreateMeetingForbidden();\n } else {\n const timer = setInterval(() => {\n if (vm.preset.app.name) {\n clearInterval(timer);\n vm.checkCreateMeetingForbidden();\n }\n }, 500);\n }\n } else {\n this.page_ready = true;\n }\n },\n mounted() {\n let vm = this;\n let date;\n if (!this.$route.params.id) {\n const allow = this.user ? this.user.allow_room_group : [];\n let default_group = null;\n if (allow && allow.length) {\n default_group = allow[0];\n if (this.$organization.no_default_group) {\n default_group = null;\n }\n }\n const data = {\n duration: 30,\n option_mute: '1',\n option_jbh: '1',\n auto_record: this.$organization.auto_record,\n waiting_room: '0',\n id: 0,\n quite: true,\n group_id: default_group,\n usage: '办公',\n size: 100,\n option_enroll: '0',\n enroll_attendees: '',\n enroll_questions: [],\n };\n\n if (this.$route.params.start && this.$route.params.end) {\n date = this.$route.params.start;\n const min = date.getMinutes();\n let new_min = Math.floor((min + 15) / 30) * 30;\n date.setMinutes(new_min);\n data.duration = Math.floor((this.$route.params.end - this.$route.params.start) / 60000);\n console.log(data.duration);\n data.duration = Math.floor((data.duration) / 30) * 30;\n } else {\n date = new Date();\n const min = date.getMinutes();\n let new_min = Math.floor((min + 30) / 30) * 30;\n date.setMinutes(new_min);\n }\n\n data.meeting_date = date.Format('yyyy-MM-dd');\n data.meeting_time = date.Format('hh:mm');\n\n vm.single = Object.assign({}, vm.single, data);\n\n vm.old_data.meeting_date = '';\n vm.old_data.meeting_time = '';\n vm.old_data.duration = 0;\n // 新建 自动加密码\n this.makeRandomPassword();\n vm.old_data.password = this.single.password;\n if (this.single.option_enroll == 1) this.single.password = '';\n\n } else {\n this.$api('Meeting.Get', {id: this.$route.params.id}).then(res => {\n if (res.data.success) {\n const data = res.data.data.data;\n data.duration = parseInt(data.duration);\n data.auto_record = parseInt(data.auto_record);\n data.waiting_room = parseInt(data.waiting_room);\n data.quite = !!parseInt(data.quite);\n data.group_id = parseInt(data.group_id);\n\n vm.single = data;\n this.$set(this, 'fields', res.data.data.fields);\n this.processData();\n\n vm.old_data.meeting_date = data.meeting_date;\n vm.old_data.meeting_time = data.meeting_time;\n vm.old_data.duration = data.duration;\n vm.old_data.password = this.single.password;\n vm.importEmails(data.attendees);\n\n if (this.single.option_enroll == 1) this.single.password = '';\n\n } else {\n const text = res.data.text;\n vm.$alert(text, '错误', {\n confirmButtonText: '确定',\n type: 'error',\n callback: () => {\n vm.$router.replace(vm.$organization.home_page);\n }\n });\n }\n }).catch(() => {\n vm.$router.go(-1);\n });\n }\n },\n}\n","import Vue from 'vue';\nexport { createNamespace } from './create';\nexport { addUnit } from './format/unit';\nexport var inBrowser = typeof window !== 'undefined';\nexport var isServer = Vue.prototype.$isServer; // eslint-disable-next-line @typescript-eslint/no-empty-function\n\nexport function noop() {}\nexport function isDef(val) {\n return val !== undefined && val !== null;\n}\nexport function isFunction(val) {\n return typeof val === 'function';\n}\nexport function isObject(val) {\n return val !== null && typeof val === 'object';\n}\nexport function isPromise(val) {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n}\nexport function get(object, path) {\n var keys = path.split('.');\n var result = object;\n keys.forEach(function (key) {\n var _result$key;\n\n result = isObject(result) ? (_result$key = result[key]) != null ? _result$key : '' : '';\n });\n return result;\n}\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @function isEmpty\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\n\nexport function isEmpty(value) {\n if (value == null) {\n return true;\n }\n\n if (typeof value !== 'object') {\n return true;\n }\n\n return Object.keys(value).length === 0;\n}","function isWindow(val) {\n return val === window;\n} // get nearest scroll element\n// https://github.com/vant-ui/vant/issues/3823\n\n\nvar overflowScrollReg = /scroll|auto|overlay/i;\nexport function getScroller(el, root) {\n if (root === void 0) {\n root = window;\n }\n\n var node = el;\n\n while (node && node.tagName !== 'HTML' && node.tagName !== 'BODY' && node.nodeType === 1 && node !== root) {\n var _window$getComputedSt = window.getComputedStyle(node),\n overflowY = _window$getComputedSt.overflowY;\n\n if (overflowScrollReg.test(overflowY)) {\n return node;\n }\n\n node = node.parentNode;\n }\n\n return root;\n}\nexport function getScrollTop(el) {\n var top = 'scrollTop' in el ? el.scrollTop : el.pageYOffset; // iOS scroll bounce cause minus scrollTop\n\n return Math.max(top, 0);\n}\nexport function setScrollTop(el, value) {\n if ('scrollTop' in el) {\n el.scrollTop = value;\n } else {\n el.scrollTo(el.scrollX, value);\n }\n}\nexport function getRootScrollTop() {\n return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n}\nexport function setRootScrollTop(value) {\n setScrollTop(window, value);\n setScrollTop(document.body, value);\n} // get distance from element top to page top or scroller top\n\nexport function getElementTop(el, scroller) {\n if (isWindow(el)) {\n return 0;\n }\n\n var scrollTop = scroller ? getScrollTop(scroller) : getRootScrollTop();\n return el.getBoundingClientRect().top + scrollTop;\n}\nexport function getVisibleHeight(el) {\n if (isWindow(el)) {\n return el.innerHeight;\n }\n\n return el.getBoundingClientRect().height;\n}\nexport function getVisibleTop(el) {\n if (isWindow(el)) {\n return 0;\n }\n\n return el.getBoundingClientRect().top;\n}","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace, isDef } from '../utils';\nimport { inherit } from '../utils/functional'; // Types\n\nvar _createNamespace = createNamespace('info'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Info(h, props, slots, ctx) {\n var dot = props.dot,\n info = props.info;\n var showInfo = isDef(info) && info !== '';\n\n if (!dot && !showInfo) {\n return;\n }\n\n return h(\"div\", _mergeJSXProps([{\n \"class\": bem({\n dot: dot\n })\n }, inherit(ctx, true)]), [dot ? '' : props.info]);\n}\n\nInfo.props = {\n dot: Boolean,\n info: [Number, String]\n};\nexport default createComponent(Info);","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace, addUnit } from '../utils';\nimport { inherit } from '../utils/functional'; // Components\n\nimport Info from '../info'; // Types\n\nvar _createNamespace = createNamespace('icon'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction isImage(name) {\n return name ? name.indexOf('/') !== -1 : false;\n} // compatible with legacy usage, should be removed in next major version\n\n\nvar LEGACY_MAP = {\n medel: 'medal',\n 'medel-o': 'medal-o',\n 'calender-o': 'calendar-o'\n};\n\nfunction correctName(name) {\n return name && LEGACY_MAP[name] || name;\n}\n\nfunction Icon(h, props, slots, ctx) {\n var _props$badge;\n\n var name = correctName(props.name);\n var imageIcon = isImage(name);\n\n if (process.env.NODE_ENV === 'development' && props.info) {\n console.warn('[Vant] Icon: \"info\" prop is deprecated, use \"badge\" prop instead.');\n }\n\n return h(props.tag, _mergeJSXProps([{\n \"class\": [props.classPrefix, imageIcon ? '' : props.classPrefix + \"-\" + name],\n \"style\": {\n color: props.color,\n fontSize: addUnit(props.size)\n }\n }, inherit(ctx, true)]), [slots.default && slots.default(), imageIcon && h(\"img\", {\n \"class\": bem('image'),\n \"attrs\": {\n \"src\": name\n }\n }), h(Info, {\n \"attrs\": {\n \"dot\": props.dot,\n \"info\": (_props$badge = props.badge) != null ? _props$badge : props.info\n }\n })]);\n}\n\nIcon.props = {\n dot: Boolean,\n name: String,\n size: [Number, String],\n // @deprecated\n // should be removed in next major version\n info: [Number, String],\n badge: [Number, String],\n color: String,\n tag: {\n type: String,\n default: 'i'\n },\n classPrefix: {\n type: String,\n default: bem()\n }\n};\nexport default createComponent(Icon);","// color\nexport var RED = '#ee0a24'; // border\n\nexport var BORDER = 'van-hairline';\nexport var BORDER_TOP = BORDER + \"--top\";\nexport var BORDER_LEFT = BORDER + \"--left\";\nexport var BORDER_BOTTOM = BORDER + \"--bottom\";\nexport var BORDER_SURROUND = BORDER + \"--surround\";\nexport var BORDER_TOP_BOTTOM = BORDER + \"--top-bottom\";\nexport var BORDER_UNSET_TOP_BOTTOM = BORDER + \"-unset--top-bottom\";","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { emit, inherit } from '../utils/functional';\nimport { BORDER_SURROUND } from '../utils/constant';\nimport { routeProps, functionalRoute } from '../utils/router'; // Components\n\nimport Icon from '../icon';\nimport Loading from '../loading'; // Types\n\nvar _createNamespace = createNamespace('button'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Button(h, props, slots, ctx) {\n var _ref;\n\n var tag = props.tag,\n icon = props.icon,\n type = props.type,\n color = props.color,\n plain = props.plain,\n disabled = props.disabled,\n loading = props.loading,\n hairline = props.hairline,\n loadingText = props.loadingText,\n iconPosition = props.iconPosition;\n var style = {};\n\n if (color) {\n style.color = plain ? color : 'white';\n\n if (!plain) {\n // Use background instead of backgroundColor to make linear-gradient work\n style.background = color;\n } // hide border when color is linear-gradient\n\n\n if (color.indexOf('gradient') !== -1) {\n style.border = 0;\n } else {\n style.borderColor = color;\n }\n }\n\n function onClick(event) {\n if (props.loading) {\n event.preventDefault();\n }\n\n if (!loading && !disabled) {\n emit(ctx, 'click', event);\n functionalRoute(ctx);\n }\n }\n\n function onTouchstart(event) {\n emit(ctx, 'touchstart', event);\n }\n\n var classes = [bem([type, props.size, {\n plain: plain,\n loading: loading,\n disabled: disabled,\n hairline: hairline,\n block: props.block,\n round: props.round,\n square: props.square\n }]), (_ref = {}, _ref[BORDER_SURROUND] = hairline, _ref)];\n\n function renderIcon() {\n if (loading) {\n return slots.loading ? slots.loading() : h(Loading, {\n \"class\": bem('loading'),\n \"attrs\": {\n \"size\": props.loadingSize,\n \"type\": props.loadingType,\n \"color\": \"currentColor\"\n }\n });\n }\n\n if (slots.icon) {\n return h(\"div\", {\n \"class\": bem('icon')\n }, [slots.icon()]);\n }\n\n if (icon) {\n return h(Icon, {\n \"attrs\": {\n \"name\": icon,\n \"classPrefix\": props.iconPrefix\n },\n \"class\": bem('icon')\n });\n }\n }\n\n function renderContent() {\n var content = [];\n\n if (iconPosition === 'left') {\n content.push(renderIcon());\n }\n\n var text;\n\n if (loading) {\n text = loadingText;\n } else {\n text = slots.default ? slots.default() : props.text;\n }\n\n if (text) {\n content.push(h(\"span\", {\n \"class\": bem('text')\n }, [text]));\n }\n\n if (iconPosition === 'right') {\n content.push(renderIcon());\n }\n\n return content;\n }\n\n return h(tag, _mergeJSXProps([{\n \"style\": style,\n \"class\": classes,\n \"attrs\": {\n \"type\": props.nativeType,\n \"disabled\": disabled\n },\n \"on\": {\n \"click\": onClick,\n \"touchstart\": onTouchstart\n }\n }, inherit(ctx)]), [h(\"div\", {\n \"class\": bem('content')\n }, [renderContent()])]);\n}\n\nButton.props = _extends({}, routeProps, {\n text: String,\n icon: String,\n color: String,\n block: Boolean,\n plain: Boolean,\n round: Boolean,\n square: Boolean,\n loading: Boolean,\n hairline: Boolean,\n disabled: Boolean,\n iconPrefix: String,\n nativeType: String,\n loadingText: String,\n loadingType: String,\n tag: {\n type: String,\n default: 'button'\n },\n type: {\n type: String,\n default: 'default'\n },\n size: {\n type: String,\n default: 'normal'\n },\n loadingSize: {\n type: String,\n default: '20px'\n },\n iconPosition: {\n type: String,\n default: 'left'\n }\n});\nexport default createComponent(Button);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport Vue from 'vue';\nvar inheritKey = ['ref', 'key', 'style', 'class', 'attrs', 'refInFor', 'nativeOn', 'directives', 'staticClass', 'staticStyle'];\nvar mapInheritKey = {\n nativeOn: 'on'\n}; // inherit partial context, map nativeOn to on\n\nexport function inherit(context, inheritListeners) {\n var result = inheritKey.reduce(function (obj, key) {\n if (context.data[key]) {\n obj[mapInheritKey[key] || key] = context.data[key];\n }\n\n return obj;\n }, {});\n\n if (inheritListeners) {\n result.on = result.on || {};\n\n _extends(result.on, context.data.on);\n }\n\n return result;\n} // emit event\n\nexport function emit(context, eventName) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var listeners = context.listeners[eventName];\n\n if (listeners) {\n if (Array.isArray(listeners)) {\n listeners.forEach(function (listener) {\n listener.apply(void 0, args);\n });\n } else {\n listeners.apply(void 0, args);\n }\n }\n} // mount functional component\n\nexport function mount(Component, data) {\n var instance = new Vue({\n el: document.createElement('div'),\n props: Component.props,\n render: function render(h) {\n return h(Component, _extends({\n props: this.$props\n }, data));\n }\n });\n document.body.appendChild(instance.$el);\n return instance;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","/**\n * bem helper\n * b() // 'button'\n * b('text') // 'button__text'\n * b({ disabled }) // 'button button--disabled'\n * b('text', { disabled }) // 'button__text button__text--disabled'\n * b(['disabled', 'primary']) // 'button button--disabled button--primary'\n */\nfunction gen(name, mods) {\n if (!mods) {\n return '';\n }\n\n if (typeof mods === 'string') {\n return \" \" + name + \"--\" + mods;\n }\n\n if (Array.isArray(mods)) {\n return mods.reduce(function (ret, item) {\n return ret + gen(name, item);\n }, '');\n }\n\n return Object.keys(mods).reduce(function (ret, key) {\n return ret + (mods[key] ? gen(name, key) : '');\n }, '');\n}\n\nexport function createBEM(name) {\n return function (el, mods) {\n if (el && typeof el !== 'string') {\n mods = el;\n el = '';\n }\n\n el = el ? name + \"__\" + el : name;\n return \"\" + el + gen(el, mods);\n };\n}","/**\n * Use scopedSlots in Vue 2.6+\n * downgrade to slots in lower version\n */\nexport var SlotsMixin = {\n methods: {\n slots: function slots(name, props) {\n if (name === void 0) {\n name = 'default';\n }\n\n var $slots = this.$slots,\n $scopedSlots = this.$scopedSlots;\n var scopedSlot = $scopedSlots[name];\n\n if (scopedSlot) {\n return scopedSlot(props);\n }\n\n return $slots[name];\n }\n }\n};","/**\n * Create a basic component with common options\n */\nimport '../../locale';\nimport { isFunction } from '..';\nimport { camelize } from '../format/string';\nimport { SlotsMixin } from '../../mixins/slots';\nimport Vue from 'vue';\n\nfunction install(Vue) {\n var name = this.name;\n Vue.component(name, this);\n Vue.component(camelize(\"-\" + name), this);\n} // unify slots & scopedSlots\n\n\nexport function unifySlots(context) {\n // use data.scopedSlots in lower Vue version\n var scopedSlots = context.scopedSlots || context.data.scopedSlots || {};\n var slots = context.slots();\n Object.keys(slots).forEach(function (key) {\n if (!scopedSlots[key]) {\n scopedSlots[key] = function () {\n return slots[key];\n };\n }\n });\n return scopedSlots;\n} // should be removed after Vue 3\n\nfunction transformFunctionComponent(pure) {\n return {\n functional: true,\n props: pure.props,\n model: pure.model,\n render: function render(h, context) {\n return pure(h, context.props, unifySlots(context), context);\n }\n };\n}\n\nexport function createComponent(name) {\n return function (sfc) {\n if (isFunction(sfc)) {\n sfc = transformFunctionComponent(sfc);\n }\n\n if (!sfc.functional) {\n sfc.mixins = sfc.mixins || [];\n sfc.mixins.push(SlotsMixin);\n }\n\n sfc.name = name;\n sfc.install = install;\n return sfc;\n };\n}","import { isDef, isObject } from '.';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction assignKey(to, from, key) {\n var val = from[key];\n\n if (!isDef(val)) {\n return;\n }\n\n if (!hasOwnProperty.call(to, key) || !isObject(val)) {\n to[key] = val;\n } else {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n to[key] = deepAssign(Object(to[key]), from[key]);\n }\n}\n\nexport function deepAssign(to, from) {\n Object.keys(from).forEach(function (key) {\n assignKey(to, from, key);\n });\n return to;\n}","export default {\n name: '姓名',\n tel: '电话',\n save: '保存',\n confirm: '确认',\n cancel: '取消',\n delete: '删除',\n complete: '完成',\n loading: '加载中...',\n telEmpty: '请填写电话',\n nameEmpty: '请填写姓名',\n nameInvalid: '请输入正确的姓名',\n confirmDelete: '确定要删除吗',\n telInvalid: '请输入正确的手机号',\n vanCalendar: {\n end: '结束',\n start: '开始',\n title: '日期选择',\n confirm: '确定',\n startEnd: '开始/结束',\n weekdays: ['日', '一', '二', '三', '四', '五', '六'],\n monthTitle: function monthTitle(year, month) {\n return year + \"\\u5E74\" + month + \"\\u6708\";\n },\n rangePrompt: function rangePrompt(maxRange) {\n return \"\\u9009\\u62E9\\u5929\\u6570\\u4E0D\\u80FD\\u8D85\\u8FC7 \" + maxRange + \" \\u5929\";\n }\n },\n vanCascader: {\n select: '请选择'\n },\n vanContactCard: {\n addText: '添加联系人'\n },\n vanContactList: {\n addText: '新建联系人'\n },\n vanPagination: {\n prev: '上一页',\n next: '下一页'\n },\n vanPullRefresh: {\n pulling: '下拉即可刷新...',\n loosing: '释放即可刷新...'\n },\n vanSubmitBar: {\n label: '合计:'\n },\n vanCoupon: {\n unlimited: '无使用门槛',\n discount: function discount(_discount) {\n return _discount + \"\\u6298\";\n },\n condition: function condition(_condition) {\n return \"\\u6EE1\" + _condition + \"\\u5143\\u53EF\\u7528\";\n }\n },\n vanCouponCell: {\n title: '优惠券',\n tips: '暂无可用',\n count: function count(_count) {\n return _count + \"\\u5F20\\u53EF\\u7528\";\n }\n },\n vanCouponList: {\n empty: '暂无优惠券',\n exchange: '兑换',\n close: '不使用优惠券',\n enable: '可用',\n disabled: '不可用',\n placeholder: '请输入优惠码'\n },\n vanAddressEdit: {\n area: '地区',\n postal: '邮政编码',\n areaEmpty: '请选择地区',\n addressEmpty: '请填写详细地址',\n postalEmpty: '邮政编码格式不正确',\n defaultAddress: '设为默认收货地址',\n telPlaceholder: '收货人手机号',\n namePlaceholder: '收货人姓名',\n areaPlaceholder: '选择省 / 市 / 区'\n },\n vanAddressEditDetail: {\n label: '详细地址',\n placeholder: '街道门牌、楼层房间号等信息'\n },\n vanAddressList: {\n add: '新增地址'\n }\n};","import Vue from 'vue';\nimport { deepAssign } from '../utils/deep-assign';\nimport defaultMessages from './lang/zh-CN';\nvar proto = Vue.prototype;\nvar defineReactive = Vue.util.defineReactive;\ndefineReactive(proto, '$vantLang', 'zh-CN');\ndefineReactive(proto, '$vantMessages', {\n 'zh-CN': defaultMessages\n});\nexport default {\n messages: function messages() {\n return proto.$vantMessages[proto.$vantLang];\n },\n use: function use(lang, messages) {\n var _this$add;\n\n proto.$vantLang = lang;\n this.add((_this$add = {}, _this$add[lang] = messages, _this$add));\n },\n add: function add(messages) {\n if (messages === void 0) {\n messages = {};\n }\n\n deepAssign(proto.$vantMessages, messages);\n }\n};","import { get, isFunction } from '..';\nimport { camelize } from '../format/string';\nimport locale from '../../locale';\nexport function createI18N(name) {\n var prefix = camelize(name) + '.';\n return function (path) {\n var messages = locale.messages();\n var message = get(messages, prefix + path) || get(messages, path);\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return isFunction(message) ? message.apply(void 0, args) : message;\n };\n}","import { createBEM } from './bem';\nimport { createComponent } from './component';\nimport { createI18N } from './i18n';\nexport function createNamespace(name) {\n name = 'van-' + name;\n return [createComponent(name), createBEM(name), createI18N(name)];\n}","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Meeting-FreeBusy-jwb.vue?vue&type=style&index=0&id=6a07f420&prod&lang=scss\"","export var cellProps = {\n icon: String,\n size: String,\n center: Boolean,\n isLink: Boolean,\n required: Boolean,\n iconPrefix: String,\n titleStyle: null,\n titleClass: null,\n valueClass: null,\n labelClass: null,\n title: [Number, String],\n value: [Number, String],\n label: [Number, String],\n arrowDirection: String,\n border: {\n type: Boolean,\n default: true\n },\n clickable: {\n type: Boolean,\n default: null\n }\n};","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","import { isDef, inBrowser } from '..';\nimport { isNumeric } from '../validate/number';\nexport function addUnit(value) {\n if (!isDef(value)) {\n return undefined;\n }\n\n value = String(value);\n return isNumeric(value) ? value + \"px\" : value;\n} // cache\n\nvar rootFontSize;\n\nfunction getRootFontSize() {\n if (!rootFontSize) {\n var doc = document.documentElement;\n var fontSize = doc.style.fontSize || window.getComputedStyle(doc).fontSize;\n rootFontSize = parseFloat(fontSize);\n }\n\n return rootFontSize;\n}\n\nfunction convertRem(value) {\n value = value.replace(/rem/g, '');\n return +value * getRootFontSize();\n}\n\nfunction convertVw(value) {\n value = value.replace(/vw/g, '');\n return +value * window.innerWidth / 100;\n}\n\nfunction convertVh(value) {\n value = value.replace(/vh/g, '');\n return +value * window.innerHeight / 100;\n}\n\nexport function unitToPx(value) {\n if (typeof value === 'number') {\n return value;\n }\n\n if (inBrowser) {\n if (value.indexOf('rem') !== -1) {\n return convertRem(value);\n }\n\n if (value.indexOf('vw') !== -1) {\n return convertVw(value);\n }\n\n if (value.indexOf('vh') !== -1) {\n return convertVh(value);\n }\n }\n\n return parseFloat(value);\n}"],"sourceRoot":""}