Gi*RpvoLgU$1qFs>>Oe(ItCs(cm^%P<}8ydviMdW8ipZ4DTAg+Sj!=2eNNU4cD
zQ!60+C@rI~nJecaZ-4VOTd|c$#^m)h0#p|MVaN$z$5x>9@oSsXd}?oy3!h6BsD~%j
zIId~F8F`uzhZqRRthyBt&fVjXu#Gaw;q@6!f~ir}2E2`vK0{qzt@cRqJUFqN*;Ig-
zN8a3e=_8%m~k0iW=DaNWOIolw5D&0+(yuLL!wSG%=u2O>9zc{
zv$sPv+6M(`pwG3|-}vY^-b-tuK2UqFJhz(d%iKYl2Lo%{k
zT-3@=hjE;UAovK}b7vajW@(&zEChvim)uj!SaA`f7WJ&1MeiEA4+R9z6Qo&v#US`t
zM-^q(zFKVjZu5|V@L`6^CW~;!O#Rh4L?Q78L`mjO?nsNGS^C`}FwMA6v*8MIda}S|
zhk`|4M>S6&VTq1Z^P!?yns1qs0k&gEm}WU*+8s5kuhW>U&WsF}%fA6>Ky3`!R|tv4
zvj}GV`+*l+z{I%J&-^IWdan>u=E&
zK0j%_%QT*=i6yjQ6E+zC5
z%J%>}dq0!E!)I>d#)$6DaW@aUi?Wb_d_u525PtO}#4J|*-kGEafoUlJv>~~3h<83W
z2Xt3pNO1(^*D!B2fuUysLy!m$3HV~`M2d;ZbtAL$ggVq&fM^dwt&g*i||+$UDfugP)Fjs+Mj7p)*wc``eiaU>rl~jzpLvC{L&n
zT5y&(7D6lJ2&XTML?`u)w@y7<*~)cwn%QA1d%HAvT`sB4I!cas1-CmS8LBG?GpCq(
z{+HtZ2{^nyR+oR4yHA>}b9cDKP0yCZ~j|g$(M99I(t1Kpa
z!sy`!-&$4M=I?O4Yh=VG97@RTn^20<)A^8FWmEpPW@M9B2HV42Gl>26^AT|o-9+@%
zqhfDeT2cZz+6X|
z+qcI%$#IG#iQh9$+;FE(JU6!JnuVPczrHJOl$5z#oPBvSCuEyZ_hCttuvQZnR=fv~
zvr$Q1G?>x$hg-U2Z`C^t$Q)=I65mU~KaAXgr%y5#gVpV9MpCrm?i<3&rJfo%F@Kis
zf1=kl#ZR&4k&&uJd49#vRbWR$(C*vD4_7uNDxb*#7pgoFS1Q4mUnyp#3}$W~#MSGj
zSkcJN4x_+6cR$;a_dOZ-1sTY_65H$}n-Dv(VUuCVQm)7x$G)S_QcgLtba2%yt?|CW
zmRmxa1WM0$iQhv7Sp1+5nQ
z_g;h~3>94%=11C9%80&=m7=2a;P2jvJ0^WOC6ux2q3oip#V^-RqW^(Pz=u*ZD8<4_N2F
ocmE^)JLVrI{dZjM^*31G5}}=&SjaT`o4NtRTle&9bsb~>2c?f|y#N3J
literal 0
HcmV?d00001
diff --git a/assets/images/logo.png b/assets/images/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..b7371a5070ace402cedefb81b7a1a1164e314895
GIT binary patch
literal 49551
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⁡aP|>b
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
+
+
+
+ 选择地址
+
+
+
+
+
+
+
+ {{ item.realName }}
+ {{ item.phone }}
+
+
+ {{ item.province }}{{ item.city }}{{ item.district
+ }}{{ item.detail }}
+
+
+
+
+
+
+
+
+
新加地址
+
+
+
+
+
diff --git a/components/CountDown.vue b/components/CountDown.vue
new file mode 100644
index 0000000..02584c5
--- /dev/null
+++ b/components/CountDown.vue
@@ -0,0 +1,106 @@
+
+
+ {{ tipText }}
+ {{ day }}
+ {{ dayText }}
+ {{ hour }}
+ {{ hourText }}
+ {{ minute }}
+ {{ minuteText }}
+ {{ second }}
+ {{ secondText }}
+
+
+
diff --git a/components/CouponListWindow.vue b/components/CouponListWindow.vue
new file mode 100644
index 0000000..b3cd2db
--- /dev/null
+++ b/components/CouponListWindow.vue
@@ -0,0 +1,117 @@
+
+
+
+
+ 优惠券
+
+
+
+
+
+
+ ¥
+ {{ coupon.couponPrice }}
+
+
+
{{ coupon.couponTitle }}
+
+
+
+
+
不使用优惠券
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/CouponPop.vue b/components/CouponPop.vue
new file mode 100644
index 0000000..9132b78
--- /dev/null
+++ b/components/CouponPop.vue
@@ -0,0 +1,78 @@
+
+
+
+
+ 优惠券
+
+
+
+
+ ¥{{ item.coupon_price }}
+
+
+
+ 购物满{{ item.use_min_price }}元可用
+
+
+
不限时
+
{{ item.start_time }}-{{ item.end_time }}
+
+ {{ !item.is_use ? "立即领取" : "已领取" }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/CouponWindow.vue b/components/CouponWindow.vue
new file mode 100644
index 0000000..98346cb
--- /dev/null
+++ b/components/CouponWindow.vue
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+ ¥{{ item.coupon_price }}
+
+
+
+ 购物买{{ item.use_min_price }}减{{ item.coupon_price }}
+
+
+ {{ item.start_time }}-{{ item.end_time }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/DataFormat.vue b/components/DataFormat.vue
new file mode 100644
index 0000000..369fc4e
--- /dev/null
+++ b/components/DataFormat.vue
@@ -0,0 +1,24 @@
+
+ {{time}}
+
+
diff --git a/components/DataFormatT.vue b/components/DataFormatT.vue
new file mode 100644
index 0000000..dfa5ced
--- /dev/null
+++ b/components/DataFormatT.vue
@@ -0,0 +1,24 @@
+
+ {{time}}
+
+
diff --git a/components/Footer.vue b/components/Footer.vue
new file mode 100644
index 0000000..21e75f1
--- /dev/null
+++ b/components/Footer.vue
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
diff --git a/components/GoodList.vue b/components/GoodList.vue
new file mode 100644
index 0000000..ba0d11e
--- /dev/null
+++ b/components/GoodList.vue
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
{{ item.storeName }}
+
+ ¥
+ {{ item.price }}
+
+
+
+ ¥{{ item.otPrice || 0
+ }}
+
+
已售{{ item.sales }}{{ item.unitName }}
+
+
+
+
+
+
+
+
diff --git a/components/Home.vue b/components/Home.vue
new file mode 100644
index 0000000..4eec7ae
--- /dev/null
+++ b/components/Home.vue
@@ -0,0 +1,69 @@
+
+
+
+
+
diff --git a/components/Loading.vue b/components/Loading.vue
new file mode 100644
index 0000000..7fcd104
--- /dev/null
+++ b/components/Loading.vue
@@ -0,0 +1,27 @@
+
+
+
+
+ 正在加载中
+
+
+ 上拉加载更多
+
+
+
+
+
diff --git a/components/OrderGoods.vue b/components/OrderGoods.vue
new file mode 100644
index 0000000..e4f9bdc
--- /dev/null
+++ b/components/OrderGoods.vue
@@ -0,0 +1,45 @@
+
+
+
共{{ cartInfo.length }}件商品
+
+
+
+
+
+
+
+
{{ cart.productInfo.storeName }}
+
x {{ cart.cartNum }}
+
+
{{ cart.productInfo.attrInfo.suk }}
+
¥{{ cart.truePrice }}
+
评价
+
+
+
+
+
+
diff --git a/components/Payment.vue b/components/Payment.vue
new file mode 100644
index 0000000..8f5f087
--- /dev/null
+++ b/components/Payment.vue
@@ -0,0 +1,202 @@
+
+
+
+
+ 选择付款方式
+
+
+
+
+
+
+
+
余额支付
+
+ 当前可用余额:{{ balance }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/PriceChange.vue b/components/PriceChange.vue
new file mode 100644
index 0000000..0ac5079
--- /dev/null
+++ b/components/PriceChange.vue
@@ -0,0 +1,133 @@
+
+
+
+
+
+ 立即退款
+ 一键改价
+
+ 订单备注
+
+
+
+
+
商品总价(¥)
+
+ {{ orderInfo.totalPrice }}
+
+
+
+
+
原始邮费(¥)
+
+ {{ orderInfo.payPostage }}
+
+
+
+
+
+
实际支付(¥)
+
+ {{ orderInfo.payPrice }}
+
+
+
+
+
+
+
+
+
{{ orderInfo.refundStatus === 0 ? "立即修改" : "确认退款" }}
+
拒绝退款
+
+
+
+
+
+
diff --git a/components/ProductConSwiper.vue b/components/ProductConSwiper.vue
new file mode 100644
index 0000000..91dcab9
--- /dev/null
+++ b/components/ProductConSwiper.vue
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
{{ currents || 1 }}/{{ imgUrls.length || 1 }}
+
+
+
diff --git a/components/ProductWindow.vue b/components/ProductWindow.vue
new file mode 100644
index 0000000..33c0957
--- /dev/null
+++ b/components/ProductWindow.vue
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
{{ attr.productSelect.store_name }}
+
+ ¥
+ {{ attr.productSelect.price }}
+ 库存: {{ attr.productSelect.stock }}
+
+
+
+
+
+
+
{{ item.attrName }}
+
+
+
+
+
数量
+
+
-
+
{{ cartNum }}
+
+
+
+
+
+
+
+
+
diff --git a/components/PromotionGood.vue b/components/PromotionGood.vue
new file mode 100644
index 0000000..7e443d2
--- /dev/null
+++ b/components/PromotionGood.vue
@@ -0,0 +1,41 @@
+
+
+
+
diff --git a/components/Recommend.vue b/components/Recommend.vue
new file mode 100644
index 0000000..fd49b68
--- /dev/null
+++ b/components/Recommend.vue
@@ -0,0 +1,69 @@
+
+
+
+
+ 为你推荐
+
+
+
+
+
+
+
+
{{ item.storeName }}
+
+ ¥
+ {{ item.price }}
+
+
+
+
+
+
+
diff --git a/components/ShareInfo.vue b/components/ShareInfo.vue
new file mode 100644
index 0000000..1c330a7
--- /dev/null
+++ b/components/ShareInfo.vue
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
diff --git a/components/ShareRedPackets.vue b/components/ShareRedPackets.vue
new file mode 100644
index 0000000..3c25ed8
--- /dev/null
+++ b/components/ShareRedPackets.vue
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
会员分享返
+
¥{{ priceName }}
+
下单即返佣金
+
立即分享
+
+
+
+
+
diff --git a/components/StorePoster.vue b/components/StorePoster.vue
new file mode 100644
index 0000000..b42e2a7
--- /dev/null
+++ b/components/StorePoster.vue
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+
+
长按图片可以保存到手机
+
+
+
+
+
+
diff --git a/components/SwitchWindow.vue b/components/SwitchWindow.vue
new file mode 100644
index 0000000..41ec059
--- /dev/null
+++ b/components/SwitchWindow.vue
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+
+
+
+
+ 是否选择切换到微信账号
+ 手机用户?
+
+
切换
+
取消
+
+
+
+
+
+
diff --git a/components/UserEvaluation.vue b/components/UserEvaluation.vue
new file mode 100644
index 0000000..bdca25a
--- /dev/null
+++ b/components/UserEvaluation.vue
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
{{ item.nickname }}
+
+
+
+
{{ item.add_time }} {{ item.suk }}
+
{{ item.comment }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/WriteOff.vue b/components/WriteOff.vue
new file mode 100644
index 0000000..cd8eb0c
--- /dev/null
+++ b/components/WriteOff.vue
@@ -0,0 +1,128 @@
+
+
+
+
+
+ {{ orderInfo.order_id }}
+
+
确定要核销此订单吗?
+
确定核销
+
取消
+
+
+
+
+
+
diff --git a/config/index.js b/config/index.js
new file mode 100644
index 0000000..f799d81
--- /dev/null
+++ b/config/index.js
@@ -0,0 +1,3 @@
+
+export const VUE_APP_API_URL = 'https://h5api.dayouqiantu.cn/api';
+export const VUE_APP_RESOURCES_URL = 'https://h5.dayouqiantu.cn/static';
diff --git a/libs/chat.js b/libs/chat.js
new file mode 100644
index 0000000..c2ec6bc
--- /dev/null
+++ b/libs/chat.js
@@ -0,0 +1,51 @@
+import $store from "@//store";
+import { VUE_APP_WS_URL } from "@/utils";
+
+const Socket = function() {
+ this.ws = new WebSocket(VUE_APP_WS_URL);
+ this.ws.onopen = this.onOpen.bind(this);
+ this.ws.onerror = this.onError.bind(this);
+ this.ws.onmessage = this.onMessage.bind(this);
+ this.ws.onclose = this.onClose.bind(this);
+};
+
+Socket.prototype = {
+ vm(vm) {
+ this.vm = vm;
+ },
+ close() {
+ clearInterval(this.timer);
+ this.ws.close();
+ },
+ onOpen: function() {
+ this.init();
+ this.send({
+ type: "login",
+ data: $store.state.token
+ });
+ this.vm.$emit("socket_open");
+ },
+ init: function() {
+ var that = this;
+ this.timer = setInterval(function() {
+ that.send({ type: "ping" });
+ }, 10000);
+ },
+ send: function(data) {
+ return this.ws.send(JSON.stringify(data));
+ },
+ onMessage: function(res) {
+ const { type, data = {} } = JSON.parse(res.data);
+ this.vm.$emit(type, data);
+ },
+ onClose: function() {
+ clearInterval(this.timer);
+ },
+ onError: function(e) {
+ this.vm.$emit("socket_error", e);
+ }
+};
+
+Socket.prototype.constructor = Socket;
+
+export default Socket;
diff --git a/libs/login.js b/libs/login.js
new file mode 100644
index 0000000..176773f
--- /dev/null
+++ b/libs/login.js
@@ -0,0 +1,32 @@
+// import router from "../router";
+import store from "../store";
+import cookie from "@/utils/store/cookie";
+import { isWeixin, login, getCurrentPageUrl, getCurrentPageUrlWithArgs, parseQuery, replace, handleQrCode } from "@/utils";
+
+export default function toLogin(push, backUrl) {
+ store.commit("LOGOUT");
+ if (store.getters.isAuthorization) {
+ login()
+ return
+ }
+ if (store.getters.isAuthorizationPage || getCurrentPageUrl() == '/pages/user/Login/index') {
+ return
+ }
+
+ // 判断是不是扫描的砍价海报进来的
+ if (getCurrentPageUrl() == 'pages/activity/DargainDetails/index' && handleQrCode()) {
+ let url = handleQrCode();
+ if (url) {
+ console.log(222222222)
+ replace({ path: '/pages/user/Login/index', query: { redirect: `/${getCurrentPageUrl()}`, id: url.bargainId, partake: url.uid } })
+ } else {
+ replace({ path: '/pages/user/Login/index', query: { redirect: `/${getCurrentPageUrl()}`, ...parseQuery() } })
+ }
+ } else {
+ console.log(222222222)
+ replace({ path: '/pages/user/Login/index', query: { redirect: `/${getCurrentPageUrl()}`, ...parseQuery() } })
+ }
+ store.commit("UPDATE_AUTHORIZATION", false);
+ store.commit("UPDATE_AUTHORIZATIONPAGE", true);
+}
+
diff --git a/libs/order.js b/libs/order.js
new file mode 100644
index 0000000..c9484a5
--- /dev/null
+++ b/libs/order.js
@@ -0,0 +1,107 @@
+import { cancelOrder, takeOrder, delOrder, payOrder } from "@/api/order";
+import dialog from "@/utils/dialog";
+import { weappPay } from "@/libs/wechat";
+
+export function cancelOrderHandle(orderId) {
+ return new Promise((resolve, reject) => {
+ wx.showModal({
+ title: '提示',
+ content: '确认取消该订单?',
+ success(res) {
+ if (res.confirm) {
+ cancelOrder(orderId)
+ .then(res => {
+ wx.showToast({
+ title: '取消成功', icon: 'success', duration: 2000
+ });
+ resolve(res);
+ })
+ .catch(err => {
+ wx.showToast({
+ title: '取消失败', icon: 'none', duration: 2000
+ });
+ reject(err);
+ });
+ } else if (res.cancel) {
+ }
+ }
+ })
+ });
+}
+
+export function takeOrderHandle(orderId) {
+ return new Promise((resolve, reject) => {
+ takeOrder(orderId)
+ .then(res => {
+ wx.showToast({
+ title: '收货成功', icon: 'success', duration: 2000
+ });
+ resolve(res);
+ })
+ .catch(err => {
+ wx.showToast({
+ title: '收货失败', icon: 'none', duration: 2000
+ });
+ reject(err);
+ });
+ });
+}
+
+export function delOrderHandle(orderId) {
+ return new Promise((resolve, reject) => {
+ dialog.confirm({
+ mes: "确认删除该订单?",
+ opts() {
+ delOrder(orderId)
+ .then(res => {
+ wx.showToast({
+ title: '删除成功', icon: 'success', duration: 2000
+ });
+ resolve(res);
+ })
+ .catch(err => {
+ wx.showToast({
+ title: '删除失败', icon: 'none', duration: 2000
+ });
+ reject(err);
+ });
+ }
+ });
+ });
+}
+
+export function payOrderHandle(orderId, type, from) {
+ return new Promise((resolve, reject) => {
+ wx.showLoading({ title: '加载中' })
+ payOrder(orderId, type, from)
+ .then(res => {
+ const data = res.data;
+ wx.hideLoading()
+ switch (data.status) {
+ case "WECHAT_H5_PAY":
+ location.replace(data.result.jsConfig.mweb_url);
+ reject(data);
+ break;
+ case "ORDER_EXIST":
+ case "EXTEND_ORDER":
+ case "PAY_ERROR":
+ case "PAY_DEFICIENCY":
+ dialog.toast({ mes: res.msg });
+ reject(data);
+ break;
+ case "SUCCESS":
+ wx.showToast({ title: res.msg, icon: 'none', duration: 2000 });
+ resolve(data);
+ break;
+ case "WECHAT_PAY":
+ weappPay(data.result.jsConfig).then(res => {
+ resolve(data);
+ });
+ }
+ })
+ .catch(err => {
+ wx.hideLoading()
+ dialog.toast({ mes: "订单支付失败" });
+ });
+ });
+}
diff --git a/libs/wechat.js b/libs/wechat.js
new file mode 100644
index 0000000..7a38315
--- /dev/null
+++ b/libs/wechat.js
@@ -0,0 +1,20 @@
+// 支付模块
+export const weappPay = (option) => {
+ return new Promise((resolve, reject) => {
+ // 吊起微信支付
+ wx.requestPayment({
+ ...option,
+ timeStamp: option.timeStamp + '',
+ success: (success) => {
+ wx.showToast({
+ title: '支付成功', icon: 'success', duration: 2000
+ });
+ resolve(success)
+ },
+ fail: (error) => {
+ wx.showToast({ title: '支付失败', icon: 'none', duration: 2000 });
+ reject(error)
+ }
+ })
+ })
+}
diff --git a/main.js b/main.js
new file mode 100644
index 0000000..102e876
--- /dev/null
+++ b/main.js
@@ -0,0 +1,92 @@
+import Vue from 'vue'
+import App from './App'
+
+// import router from "./router";
+import store from "./store";
+import animate from "animate.css";
+import schema from "async-validator";
+import dialog from "./utils/dialog";
+import cookie from "@/utils/store/cookie";
+
+// import "@/assets/iconfont/iconfont";
+import "@/assets/iconfont/iconfont.css";
+// import "@/assets/js/media_750";
+// import "vue-ydui/dist/ydui.base.css";
+import "@/assets/css/base.css";
+import "@/assets/css/reset.css";
+import "@/assets/css/style.css";
+
+import {
+ parseRoute,
+ _router
+} from "@/utils";
+import {
+ VUE_APP_RESOURCES_URL,
+ VUE_APP_API_URL
+} from "@/config";
+
+Vue.use(animate);
+Vue.config.productionTip = false;
+Vue.config.devtools = process.env.NODE_ENV !== "production";
+
+Vue.prototype.$validator = function(rule) {
+ return new schema(rule);
+};
+
+Vue.prototype.$dialog = dialog;
+
+const CACHE_KEY = "clear_0.0.1";
+
+if (!cookie.has(CACHE_KEY)) {
+ cookie.clearAll();
+ cookie.set(CACHE_KEY, 1);
+}
+
+
+Vue.config.productionTip = false
+App.mpType = 'app'
+Vue.prototype.$store = store
+
+const app = new Vue(App)
+
+Vue.mixin({
+ onLoad() {
+ const {
+ $mp
+ } = this.$root
+ this._route = parseRoute($mp)
+ // this.$VUE_APP_RESOURCES_URL = VUE_APP_RESOURCES_URL;
+ this._data.$VUE_APP_RESOURCES_URL = VUE_APP_RESOURCES_URL;
+ },
+ onShow() {
+ _router.app = this
+ _router.currentRoute = this._route
+ }
+})
+
+Object.defineProperty(Vue.prototype, '$yrouter', {
+ get() {
+ return _router
+ }
+})
+
+Object.defineProperty(Vue.prototype, '$yroute', {
+ get() {
+ return this._route
+ }
+})
+
+Object.defineProperty(Vue.prototype, '$VUE_APP_RESOURCES_URL', {
+ get() {
+ return VUE_APP_RESOURCES_URL
+ }
+})
+
+Object.defineProperty(Vue.prototype, '$VUE_APP_API_URL', {
+ get() {
+ return VUE_APP_API_URL
+ }
+})
+
+
+app.$mount()
diff --git a/manifest.json b/manifest.json
new file mode 100644
index 0000000..7b7be65
--- /dev/null
+++ b/manifest.json
@@ -0,0 +1,75 @@
+{
+ "name" : "yshopmall_uni",
+ "appid" : "",
+ "description" : "",
+ "versionName" : "1.0.0",
+ "versionCode" : "100",
+ "transformPx" : false,
+ /* 5+App特有相关 */
+ "app-plus" : {
+ "usingComponents" : true,
+ "nvueCompiler" : "uni-app",
+ "compilerVersion" : 3,
+ "splashscreen" : {
+ "alwaysShowBeforeRender" : true,
+ "waiting" : true,
+ "autoclose" : true,
+ "delay" : 0
+ },
+ /* 模块配置 */
+ "modules" : {},
+ /* 应用发布信息 */
+ "distribute" : {
+ /* android打包配置 */
+ "android" : {
+ "permissions" : [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ /* ios打包配置 */
+ "ios" : {},
+ /* SDK配置 */
+ "sdkConfigs" : {}
+ }
+ },
+ /* 快应用特有相关 */
+ "quickapp" : {},
+ /* 小程序特有相关 */
+ "mp-weixin" : {
+ "appid" : "",
+ "setting" : {
+ "urlCheck" : false
+ },
+ "usingComponents" : true
+ },
+ "mp-alipay" : {
+ "usingComponents" : true
+ },
+ "mp-baidu" : {
+ "usingComponents" : true
+ },
+ "mp-toutiao" : {
+ "usingComponents" : true
+ }
+}
diff --git a/mixins/SendVerifyCode.js b/mixins/SendVerifyCode.js
new file mode 100644
index 0000000..46b8a30
--- /dev/null
+++ b/mixins/SendVerifyCode.js
@@ -0,0 +1,27 @@
+export default {
+ data() {
+ return {
+ disabled: false,
+ text: "获取验证码"
+ };
+ },
+ methods: {
+ sendCode() {
+ if (this.disabled) return;
+ this.disabled = true;
+ let n = 60;
+ this.text = "剩余 " + n + "s";
+ const run = setInterval(() => {
+ n = n - 1;
+ if (n < 0) {
+ clearInterval(run);
+ }
+ this.text = "剩余 " + n + "s";
+ if (this.text < "剩余 " + 0 + "s") {
+ this.disabled = false;
+ this.text = "重新获取";
+ }
+ }, 1000);
+ }
+ }
+};
diff --git a/node_modules/animate.css/.editorconfig b/node_modules/animate.css/.editorconfig
new file mode 100644
index 0000000..c4afe1e
--- /dev/null
+++ b/node_modules/animate.css/.editorconfig
@@ -0,0 +1,12 @@
+# editorconfig.org
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+indent_size = 2
+indent_style = space
+insert_final_newline = true
+max_line_length = 100
+tab_width = 2
+trim_trailing_whitespace = true
diff --git a/node_modules/animate.css/.prettierignore b/node_modules/animate.css/.prettierignore
new file mode 100644
index 0000000..b69cb96
--- /dev/null
+++ b/node_modules/animate.css/.prettierignore
@@ -0,0 +1 @@
+animate.min.css
diff --git a/node_modules/animate.css/.travis.yml b/node_modules/animate.css/.travis.yml
new file mode 100644
index 0000000..984a270
--- /dev/null
+++ b/node_modules/animate.css/.travis.yml
@@ -0,0 +1,6 @@
+language: node_js
+node_js:
+- "10"
+before_script:
+ - npm install -g gulp
+script: gulp
\ No newline at end of file
diff --git a/node_modules/animate.css/CODE_OF_CONDUCT.md b/node_modules/animate.css/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..5e942db
--- /dev/null
+++ b/node_modules/animate.css/CODE_OF_CONDUCT.md
@@ -0,0 +1,76 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as
+contributors and maintainers pledge to making participation in our project and
+our community a harassment-free experience for everyone, regardless of age, body
+size, disability, ethnicity, sex characteristics, gender identity and expression,
+level of experience, education, socio-economic status, nationality, personal
+appearance, race, religion, or sexual identity and orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment
+include:
+
+* Using welcoming and inclusive language
+* Being respectful of differing viewpoints and experiences
+* Gracefully accepting constructive criticism
+* Focusing on what is best for the community
+* Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery and unwelcome sexual attention or
+ advances
+* Trolling, insulting/derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or electronic
+ address, without explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Our Responsibilities
+
+Project maintainers are responsible for clarifying the standards of acceptable
+behavior and are expected to take appropriate and fair corrective action in
+response to any instances of unacceptable behavior.
+
+Project maintainers have the right and responsibility to remove, edit, or
+reject comments, commits, code, wiki edits, issues, and other contributions
+that are not aligned to this Code of Conduct, or to ban temporarily or
+permanently any contributor for other behaviors that they deem inappropriate,
+threatening, offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces
+when an individual is representing the project or its community. Examples of
+representing a project or community include using an official project e-mail
+address, posting via an official social media account, or acting as an appointed
+representative at an online or offline event. Representation of a project may be
+further defined and clarified by project maintainers.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported by contacting the project team at callmeelton@gmail.com. All
+complaints will be reviewed and investigated and will result in a response that
+is deemed necessary and appropriate to the circumstances. The project team is
+obligated to maintain confidentiality with regard to the reporter of an incident.
+Further details of specific enforcement policies may be posted separately.
+
+Project maintainers who do not follow or enforce the Code of Conduct in good
+faith may face temporary or permanent repercussions as determined by other
+members of the project's leadership.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
+available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
+
+[homepage]: https://www.contributor-covenant.org
+
+For answers to common questions about this code of conduct, see
+https://www.contributor-covenant.org/faq
diff --git a/node_modules/animate.css/LICENSE b/node_modules/animate.css/LICENSE
new file mode 100644
index 0000000..2666f80
--- /dev/null
+++ b/node_modules/animate.css/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2019 Daniel Eden
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/animate.css/README.md b/node_modules/animate.css/README.md
new file mode 100644
index 0000000..9e1f30e
--- /dev/null
+++ b/node_modules/animate.css/README.md
@@ -0,0 +1,211 @@
+# Animate.css [![GitHub release](https://img.shields.io/github/release/daneden/animate.css.svg)](https://github.com/daneden/animate.css/releases) [![CDNJS](https://img.shields.io/cdnjs/v/animate.css.svg)](https://cdnjs.com/libraries/animate.css) [![Build Status](https://travis-ci.com/daneden/animate.css.svg?branch=master)](https://travis-ci.com/daneden/animate.css) [![devDependencies Status](https://david-dm.org/daneden/animate.css/dev-status.svg)](https://david-dm.org/daneden/animate.css?type=dev) [![chat](https://img.shields.io/badge/chat-gitter-green.svg)](https://gitter.im/animate-css/Lobby) [![npm version](https://badge.fury.io/js/animate.css.svg)](https://www.npmjs.com/package/animate.css)
+
+_Just-add-water CSS animation_
+
+`animate.css` is a bunch of cool, fun, and cross-browser animations for you to use in your projects. Great for emphasis, home pages, sliders, and general just-add-water-awesomeness.
+
+
+## Installation
+
+Install via npm:
+
+```bash
+$ npm install animate.css --save
+```
+
+or yarn:
+
+```bash
+$ yarn add animate.css
+```
+
+
+## Usage
+
+To use animate.css in your website, simply drop the stylesheet into your document's ``, and add the class `animated` to an element, along with any of the animation names. That's it! You've got a CSS animated element. Super!
+
+```html
+
+
+
+```
+
+or use a CDN hosted version by [CDNJS](https://cdnjs.com/libraries/animate.css)
+
+```html
+
+
+
+```
+
+
+### Animations
+
+To animate an element, add the class `animated` to an element. You can include the class `infinite` for an infinite loop. Finally you need to add one of the following classes to the element:
+
+| Class Name | | | |
+| ----------------- | ------------------ | ------------------- | -------------------- |
+| `bounce` | `flash` | `pulse` | `rubberBand` |
+| `shake` | `headShake` | `swing` | `tada` |
+| `wobble` | `jello` | `bounceIn` | `bounceInDown` |
+| `bounceInLeft` | `bounceInRight` | `bounceInUp` | `bounceOut` |
+| `bounceOutDown` | `bounceOutLeft` | `bounceOutRight` | `bounceOutUp` |
+| `fadeIn` | `fadeInDown` | `fadeInDownBig` | `fadeInLeft` |
+| `fadeInLeftBig` | `fadeInRight` | `fadeInRightBig` | `fadeInUp` |
+| `fadeInUpBig` | `fadeOut` | `fadeOutDown` | `fadeOutDownBig` |
+| `fadeOutLeft` | `fadeOutLeftBig` | `fadeOutRight` | `fadeOutRightBig` |
+| `fadeOutUp` | `fadeOutUpBig` | `flipInX` | `flipInY` |
+| `flipOutX` | `flipOutY` | `lightSpeedIn` | `lightSpeedOut` |
+| `rotateIn` | `rotateInDownLeft` | `rotateInDownRight` | `rotateInUpLeft` |
+| `rotateInUpRight` | `rotateOut` | `rotateOutDownLeft` | `rotateOutDownRight` |
+| `rotateOutUpLeft` | `rotateOutUpRight` | `hinge` | `jackInTheBox` |
+| `rollIn` | `rollOut` | `zoomIn` | `zoomInDown` |
+| `zoomInLeft` | `zoomInRight` | `zoomInUp` | `zoomOut` |
+| `zoomOutDown` | `zoomOutLeft` | `zoomOutRight` | `zoomOutUp` |
+| `slideInDown` | `slideInLeft` | `slideInRight` | `slideInUp` |
+| `slideOutDown` | `slideOutLeft` | `slideOutRight` | `slideOutUp` |
+| `heartBeat` |
+
+Full example:
+
+```html
+Example
+```
+
+[Check out all the animations here!](https://daneden.github.io/animate.css/)
+
+It's possible to change the duration of your animations, add a delay or change the number of times that it plays:
+
+```css
+.yourElement {
+ animation-duration: 3s;
+ animation-delay: 2s;
+ animation-iteration-count: infinite;
+}
+```
+
+## Usage with Javascript
+
+You can do a whole bunch of other stuff with animate.css when you combine it with Javascript. A simple example:
+
+```javascript
+const element = document.querySelector('.my-element')
+element.classList.add('animated', 'bounceOutLeft')
+```
+
+You can also detect when an animation ends:
+
+```javascript
+const element = document.querySelector('.my-element')
+element.classList.add('animated', 'bounceOutLeft')
+
+element.addEventListener('animationend', function() { doSomething() })
+```
+
+You can use this simple function to add and remove the animations:
+
+```javascript
+function animateCSS(element, animationName, callback) {
+ const node = document.querySelector(element)
+ node.classList.add('animated', animationName)
+
+ function handleAnimationEnd() {
+ node.classList.remove('animated', animationName)
+ node.removeEventListener('animationend', handleAnimationEnd)
+
+ if (typeof callback === 'function') callback()
+ }
+
+ node.addEventListener('animationend', handleAnimationEnd)
+}
+```
+
+And use it like this:
+
+```javascript
+animateCSS('.my-element', 'bounce')
+
+// or
+animateCSS('.my-element', 'bounce', function() {
+ // Do something after animation
+})
+```
+
+Notice that the examples are using ES6's `const` declaration, dropping support for IE10 and some aging browsers. If you prefer, switch the `const` to `var` declarations and IE10 and some old browsers will get support (they still have to provide [classList](https://developer.mozilla.org/en-US/docs/Web/API/Element/classList) support, so do your [research](https://caniuse.com/#feat=classlist)).
+
+## Setting _Delay_ and _Speed_
+
+### Delay Class
+
+It's possible to add delays directly on the element's class attribute, just like this:
+
+```html
+Example
+```
+
+| Class Name | Delay Time |
+| ---------- | ---------- |
+| `delay-2s` | `2s` |
+| `delay-3s` | `3s` |
+| `delay-4s` | `4s` |
+| `delay-5s` | `5s` |
+
+> _**Note**: The default delays are from 1 second to 5 seconds only. If you need custom delays, add it directly to your own CSS code._
+
+### Slow, Slower, Fast, and Faster Class
+
+It's possible to control the speed of the animation by adding these classes, as a sample below:
+
+```html
+Example
+```
+
+| Class Name | Speed Time |
+| ---------- | ---------- |
+| `slow` | `2s` |
+| `slower` | `3s` |
+| `fast` | `800ms` |
+| `faster` | `500ms` |
+
+> _**Note**: The `animated` class has a default speed of `1s`. If you need custom duration, add it directly to your own CSS code._
+
+## Custom Builds
+
+Animate.css is powered by [gulp.js](http://gulpjs.com/), which means you can create custom builds pretty easily. First of all, you’ll need Gulp and all other dependencies:
+
+```sh
+$ cd path/to/animate.css/
+$ sudo npm install
+```
+
+Next, run `gulp` to compile your custom builds. For example, if you want only some of the “attention seekers”, simply edit the `animate-config.json` file to select only the animations you want to use.
+
+```javascript
+"attention_seekers": {
+ "bounce": true,
+ "flash": false,
+ "pulse": false,
+ "shake": true,
+ "headShake": true,
+ "swing": true,
+ "tada": true,
+ "wobble": true,
+ "jello":true
+}
+```
+
+## Accessibility
+
+Animate.css supports the [`prefers-reduced-motion` media query](https://webkit.org/blog/7551/responsive-design-for-motion/) so that users with motion sensitivity can opt out of animations. On supported platforms (currently Firefox, OSX Safari and iOS Safari), users can select "reduce motion" on their operating system preferences and it will turn off CSS transitions for them without any further work required.
+
+## License
+
+Animate.css is licensed under the MIT license. (http://opensource.org/licenses/MIT)
+
+## Code of Conduct
+
+This project and everyone participating in it is governed by the [Contributor Covenant Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to [callmeelton@gmail.com](mailto:callmeelton@gmail.com).
+
+## Contributing
+
+Pull requests are the way to go here. We only have two rules for submitting a pull request: match the naming convention (camelCase, categorised [fades, bounces, etc]) and let us see a demo of submitted animations in a [pen](http://codepen.io). That **last one is important**.
diff --git a/node_modules/animate.css/animate-config.json b/node_modules/animate.css/animate-config.json
new file mode 100644
index 0000000..d7f8849
--- /dev/null
+++ b/node_modules/animate.css/animate-config.json
@@ -0,0 +1,121 @@
+{
+ "attention_seekers": {
+ "bounce": true,
+ "flash": true,
+ "pulse": true,
+ "rubberBand": true,
+ "shake": true,
+ "headShake": true,
+ "swing": true,
+ "tada": true,
+ "wobble": true,
+ "jello": true,
+ "heartBeat": true
+ },
+
+ "bouncing_entrances": {
+ "bounceIn": true,
+ "bounceInDown": true,
+ "bounceInLeft": true,
+ "bounceInRight": true,
+ "bounceInUp": true
+ },
+
+ "bouncing_exits": {
+ "bounceOut": true,
+ "bounceOutDown": true,
+ "bounceOutLeft": true,
+ "bounceOutRight": true,
+ "bounceOutUp": true
+ },
+
+ "fading_entrances": {
+ "fadeIn": true,
+ "fadeInDown": true,
+ "fadeInDownBig": true,
+ "fadeInLeft": true,
+ "fadeInLeftBig": true,
+ "fadeInRight": true,
+ "fadeInRightBig": true,
+ "fadeInUp": true,
+ "fadeInUpBig": true
+ },
+
+ "fading_exits": {
+ "fadeOut": true,
+ "fadeOutDown": true,
+ "fadeOutDownBig": true,
+ "fadeOutLeft": true,
+ "fadeOutLeftBig": true,
+ "fadeOutRight": true,
+ "fadeOutRightBig": true,
+ "fadeOutUp": true,
+ "fadeOutUpBig": true
+ },
+
+ "flippers": {
+ "flip": true,
+ "flipInX": true,
+ "flipInY": true,
+ "flipOutX": true,
+ "flipOutY": true
+ },
+
+ "lightspeed": {
+ "lightSpeedIn": true,
+ "lightSpeedOut": true
+ },
+
+ "rotating_entrances": {
+ "rotateIn": true,
+ "rotateInDownLeft": true,
+ "rotateInDownRight": true,
+ "rotateInUpLeft": true,
+ "rotateInUpRight": true
+ },
+
+ "rotating_exits": {
+ "rotateOut": true,
+ "rotateOutDownLeft": true,
+ "rotateOutDownRight": true,
+ "rotateOutUpLeft": true,
+ "rotateOutUpRight": true
+ },
+
+ "specials": {
+ "hinge": true,
+ "jackInTheBox": true,
+ "rollIn": true,
+ "rollOut": true
+ },
+
+ "zooming_entrances": {
+ "zoomIn": true,
+ "zoomInDown": true,
+ "zoomInLeft": true,
+ "zoomInRight": true,
+ "zoomInUp": true
+ },
+
+ "zooming_exits": {
+ "zoomOut": true,
+ "zoomOutDown": true,
+ "zoomOutLeft": true,
+ "zoomOutRight": true,
+ "zoomOutUp": true
+ },
+
+ "sliding_entrances": {
+ "slideInDown": true,
+ "slideInLeft": true,
+ "slideInRight": true,
+ "slideInUp": true
+ },
+
+ "sliding_exits": {
+ "slideOutDown": true,
+ "slideOutLeft": true,
+ "slideOutRight": true,
+ "slideOutUp": true
+ }
+}
diff --git a/node_modules/animate.css/animate.css b/node_modules/animate.css/animate.css
new file mode 100644
index 0000000..d26682f
--- /dev/null
+++ b/node_modules/animate.css/animate.css
@@ -0,0 +1,3625 @@
+@charset "UTF-8";
+
+/*!
+ * animate.css -https://daneden.github.io/animate.css/
+ * Version - 3.7.2
+ * Licensed under the MIT license - http://opensource.org/licenses/MIT
+ *
+ * Copyright (c) 2019 Daniel Eden
+ */
+
+@-webkit-keyframes bounce {
+ from,
+ 20%,
+ 53%,
+ 80%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ 40%,
+ 43% {
+ -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ -webkit-transform: translate3d(0, -30px, 0);
+ transform: translate3d(0, -30px, 0);
+ }
+
+ 70% {
+ -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ -webkit-transform: translate3d(0, -15px, 0);
+ transform: translate3d(0, -15px, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(0, -4px, 0);
+ transform: translate3d(0, -4px, 0);
+ }
+}
+
+@keyframes bounce {
+ from,
+ 20%,
+ 53%,
+ 80%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ 40%,
+ 43% {
+ -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ -webkit-transform: translate3d(0, -30px, 0);
+ transform: translate3d(0, -30px, 0);
+ }
+
+ 70% {
+ -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ -webkit-transform: translate3d(0, -15px, 0);
+ transform: translate3d(0, -15px, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(0, -4px, 0);
+ transform: translate3d(0, -4px, 0);
+ }
+}
+
+.bounce {
+ -webkit-animation-name: bounce;
+ animation-name: bounce;
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom;
+}
+
+@-webkit-keyframes flash {
+ from,
+ 50%,
+ to {
+ opacity: 1;
+ }
+
+ 25%,
+ 75% {
+ opacity: 0;
+ }
+}
+
+@keyframes flash {
+ from,
+ 50%,
+ to {
+ opacity: 1;
+ }
+
+ 25%,
+ 75% {
+ opacity: 0;
+ }
+}
+
+.flash {
+ -webkit-animation-name: flash;
+ animation-name: flash;
+}
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@-webkit-keyframes pulse {
+ from {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+
+ 50% {
+ -webkit-transform: scale3d(1.05, 1.05, 1.05);
+ transform: scale3d(1.05, 1.05, 1.05);
+ }
+
+ to {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+@keyframes pulse {
+ from {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+
+ 50% {
+ -webkit-transform: scale3d(1.05, 1.05, 1.05);
+ transform: scale3d(1.05, 1.05, 1.05);
+ }
+
+ to {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+.pulse {
+ -webkit-animation-name: pulse;
+ animation-name: pulse;
+}
+
+@-webkit-keyframes rubberBand {
+ from {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+
+ 30% {
+ -webkit-transform: scale3d(1.25, 0.75, 1);
+ transform: scale3d(1.25, 0.75, 1);
+ }
+
+ 40% {
+ -webkit-transform: scale3d(0.75, 1.25, 1);
+ transform: scale3d(0.75, 1.25, 1);
+ }
+
+ 50% {
+ -webkit-transform: scale3d(1.15, 0.85, 1);
+ transform: scale3d(1.15, 0.85, 1);
+ }
+
+ 65% {
+ -webkit-transform: scale3d(0.95, 1.05, 1);
+ transform: scale3d(0.95, 1.05, 1);
+ }
+
+ 75% {
+ -webkit-transform: scale3d(1.05, 0.95, 1);
+ transform: scale3d(1.05, 0.95, 1);
+ }
+
+ to {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+@keyframes rubberBand {
+ from {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+
+ 30% {
+ -webkit-transform: scale3d(1.25, 0.75, 1);
+ transform: scale3d(1.25, 0.75, 1);
+ }
+
+ 40% {
+ -webkit-transform: scale3d(0.75, 1.25, 1);
+ transform: scale3d(0.75, 1.25, 1);
+ }
+
+ 50% {
+ -webkit-transform: scale3d(1.15, 0.85, 1);
+ transform: scale3d(1.15, 0.85, 1);
+ }
+
+ 65% {
+ -webkit-transform: scale3d(0.95, 1.05, 1);
+ transform: scale3d(0.95, 1.05, 1);
+ }
+
+ 75% {
+ -webkit-transform: scale3d(1.05, 0.95, 1);
+ transform: scale3d(1.05, 0.95, 1);
+ }
+
+ to {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+.rubberBand {
+ -webkit-animation-name: rubberBand;
+ animation-name: rubberBand;
+}
+
+@-webkit-keyframes shake {
+ from,
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ 10%,
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ -webkit-transform: translate3d(-10px, 0, 0);
+ transform: translate3d(-10px, 0, 0);
+ }
+
+ 20%,
+ 40%,
+ 60%,
+ 80% {
+ -webkit-transform: translate3d(10px, 0, 0);
+ transform: translate3d(10px, 0, 0);
+ }
+}
+
+@keyframes shake {
+ from,
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ 10%,
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ -webkit-transform: translate3d(-10px, 0, 0);
+ transform: translate3d(-10px, 0, 0);
+ }
+
+ 20%,
+ 40%,
+ 60%,
+ 80% {
+ -webkit-transform: translate3d(10px, 0, 0);
+ transform: translate3d(10px, 0, 0);
+ }
+}
+
+.shake {
+ -webkit-animation-name: shake;
+ animation-name: shake;
+}
+
+@-webkit-keyframes headShake {
+ 0% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+ }
+
+ 6.5% {
+ -webkit-transform: translateX(-6px) rotateY(-9deg);
+ transform: translateX(-6px) rotateY(-9deg);
+ }
+
+ 18.5% {
+ -webkit-transform: translateX(5px) rotateY(7deg);
+ transform: translateX(5px) rotateY(7deg);
+ }
+
+ 31.5% {
+ -webkit-transform: translateX(-3px) rotateY(-5deg);
+ transform: translateX(-3px) rotateY(-5deg);
+ }
+
+ 43.5% {
+ -webkit-transform: translateX(2px) rotateY(3deg);
+ transform: translateX(2px) rotateY(3deg);
+ }
+
+ 50% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+ }
+}
+
+@keyframes headShake {
+ 0% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+ }
+
+ 6.5% {
+ -webkit-transform: translateX(-6px) rotateY(-9deg);
+ transform: translateX(-6px) rotateY(-9deg);
+ }
+
+ 18.5% {
+ -webkit-transform: translateX(5px) rotateY(7deg);
+ transform: translateX(5px) rotateY(7deg);
+ }
+
+ 31.5% {
+ -webkit-transform: translateX(-3px) rotateY(-5deg);
+ transform: translateX(-3px) rotateY(-5deg);
+ }
+
+ 43.5% {
+ -webkit-transform: translateX(2px) rotateY(3deg);
+ transform: translateX(2px) rotateY(3deg);
+ }
+
+ 50% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+ }
+}
+
+.headShake {
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ -webkit-animation-name: headShake;
+ animation-name: headShake;
+}
+
+@-webkit-keyframes swing {
+ 20% {
+ -webkit-transform: rotate3d(0, 0, 1, 15deg);
+ transform: rotate3d(0, 0, 1, 15deg);
+ }
+
+ 40% {
+ -webkit-transform: rotate3d(0, 0, 1, -10deg);
+ transform: rotate3d(0, 0, 1, -10deg);
+ }
+
+ 60% {
+ -webkit-transform: rotate3d(0, 0, 1, 5deg);
+ transform: rotate3d(0, 0, 1, 5deg);
+ }
+
+ 80% {
+ -webkit-transform: rotate3d(0, 0, 1, -5deg);
+ transform: rotate3d(0, 0, 1, -5deg);
+ }
+
+ to {
+ -webkit-transform: rotate3d(0, 0, 1, 0deg);
+ transform: rotate3d(0, 0, 1, 0deg);
+ }
+}
+
+@keyframes swing {
+ 20% {
+ -webkit-transform: rotate3d(0, 0, 1, 15deg);
+ transform: rotate3d(0, 0, 1, 15deg);
+ }
+
+ 40% {
+ -webkit-transform: rotate3d(0, 0, 1, -10deg);
+ transform: rotate3d(0, 0, 1, -10deg);
+ }
+
+ 60% {
+ -webkit-transform: rotate3d(0, 0, 1, 5deg);
+ transform: rotate3d(0, 0, 1, 5deg);
+ }
+
+ 80% {
+ -webkit-transform: rotate3d(0, 0, 1, -5deg);
+ transform: rotate3d(0, 0, 1, -5deg);
+ }
+
+ to {
+ -webkit-transform: rotate3d(0, 0, 1, 0deg);
+ transform: rotate3d(0, 0, 1, 0deg);
+ }
+}
+
+.swing {
+ -webkit-transform-origin: top center;
+ transform-origin: top center;
+ -webkit-animation-name: swing;
+ animation-name: swing;
+}
+
+@-webkit-keyframes tada {
+ from {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+
+ 10%,
+ 20% {
+ -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
+ transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
+ }
+
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
+ }
+
+ 40%,
+ 60%,
+ 80% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
+ }
+
+ to {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+@keyframes tada {
+ from {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+
+ 10%,
+ 20% {
+ -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
+ transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
+ }
+
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
+ }
+
+ 40%,
+ 60%,
+ 80% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
+ }
+
+ to {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+.tada {
+ -webkit-animation-name: tada;
+ animation-name: tada;
+}
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@-webkit-keyframes wobble {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ 15% {
+ -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
+ transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
+ }
+
+ 30% {
+ -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
+ transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
+ }
+
+ 45% {
+ -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
+ transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
+ }
+
+ 60% {
+ -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
+ transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
+ }
+
+ 75% {
+ -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
+ transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes wobble {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ 15% {
+ -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
+ transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
+ }
+
+ 30% {
+ -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
+ transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
+ }
+
+ 45% {
+ -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
+ transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
+ }
+
+ 60% {
+ -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
+ transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
+ }
+
+ 75% {
+ -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
+ transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.wobble {
+ -webkit-animation-name: wobble;
+ animation-name: wobble;
+}
+
+@-webkit-keyframes jello {
+ from,
+ 11.1%,
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ 22.2% {
+ -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
+ transform: skewX(-12.5deg) skewY(-12.5deg);
+ }
+
+ 33.3% {
+ -webkit-transform: skewX(6.25deg) skewY(6.25deg);
+ transform: skewX(6.25deg) skewY(6.25deg);
+ }
+
+ 44.4% {
+ -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
+ transform: skewX(-3.125deg) skewY(-3.125deg);
+ }
+
+ 55.5% {
+ -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
+ transform: skewX(1.5625deg) skewY(1.5625deg);
+ }
+
+ 66.6% {
+ -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
+ transform: skewX(-0.78125deg) skewY(-0.78125deg);
+ }
+
+ 77.7% {
+ -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
+ transform: skewX(0.390625deg) skewY(0.390625deg);
+ }
+
+ 88.8% {
+ -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
+ transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
+ }
+}
+
+@keyframes jello {
+ from,
+ 11.1%,
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ 22.2% {
+ -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
+ transform: skewX(-12.5deg) skewY(-12.5deg);
+ }
+
+ 33.3% {
+ -webkit-transform: skewX(6.25deg) skewY(6.25deg);
+ transform: skewX(6.25deg) skewY(6.25deg);
+ }
+
+ 44.4% {
+ -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
+ transform: skewX(-3.125deg) skewY(-3.125deg);
+ }
+
+ 55.5% {
+ -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
+ transform: skewX(1.5625deg) skewY(1.5625deg);
+ }
+
+ 66.6% {
+ -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
+ transform: skewX(-0.78125deg) skewY(-0.78125deg);
+ }
+
+ 77.7% {
+ -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
+ transform: skewX(0.390625deg) skewY(0.390625deg);
+ }
+
+ 88.8% {
+ -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
+ transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
+ }
+}
+
+.jello {
+ -webkit-animation-name: jello;
+ animation-name: jello;
+ -webkit-transform-origin: center;
+ transform-origin: center;
+}
+
+@-webkit-keyframes heartBeat {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+
+ 14% {
+ -webkit-transform: scale(1.3);
+ transform: scale(1.3);
+ }
+
+ 28% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+
+ 42% {
+ -webkit-transform: scale(1.3);
+ transform: scale(1.3);
+ }
+
+ 70% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+}
+
+@keyframes heartBeat {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+
+ 14% {
+ -webkit-transform: scale(1.3);
+ transform: scale(1.3);
+ }
+
+ 28% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+
+ 42% {
+ -webkit-transform: scale(1.3);
+ transform: scale(1.3);
+ }
+
+ 70% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+}
+
+.heartBeat {
+ -webkit-animation-name: heartBeat;
+ animation-name: heartBeat;
+ -webkit-animation-duration: 1.3s;
+ animation-duration: 1.3s;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+}
+
+@-webkit-keyframes bounceIn {
+ from,
+ 20%,
+ 40%,
+ 60%,
+ 80%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
+
+ 20% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
+ transform: scale3d(1.1, 1.1, 1.1);
+ }
+
+ 40% {
+ -webkit-transform: scale3d(0.9, 0.9, 0.9);
+ transform: scale3d(0.9, 0.9, 0.9);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(1.03, 1.03, 1.03);
+ transform: scale3d(1.03, 1.03, 1.03);
+ }
+
+ 80% {
+ -webkit-transform: scale3d(0.97, 0.97, 0.97);
+ transform: scale3d(0.97, 0.97, 0.97);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+@keyframes bounceIn {
+ from,
+ 20%,
+ 40%,
+ 60%,
+ 80%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
+
+ 20% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
+ transform: scale3d(1.1, 1.1, 1.1);
+ }
+
+ 40% {
+ -webkit-transform: scale3d(0.9, 0.9, 0.9);
+ transform: scale3d(0.9, 0.9, 0.9);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(1.03, 1.03, 1.03);
+ transform: scale3d(1.03, 1.03, 1.03);
+ }
+
+ 80% {
+ -webkit-transform: scale3d(0.97, 0.97, 0.97);
+ transform: scale3d(0.97, 0.97, 0.97);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+.bounceIn {
+ -webkit-animation-duration: 0.75s;
+ animation-duration: 0.75s;
+ -webkit-animation-name: bounceIn;
+ animation-name: bounceIn;
+}
+
+@-webkit-keyframes bounceInDown {
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -3000px, 0);
+ transform: translate3d(0, -3000px, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 25px, 0);
+ transform: translate3d(0, 25px, 0);
+ }
+
+ 75% {
+ -webkit-transform: translate3d(0, -10px, 0);
+ transform: translate3d(0, -10px, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(0, 5px, 0);
+ transform: translate3d(0, 5px, 0);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes bounceInDown {
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -3000px, 0);
+ transform: translate3d(0, -3000px, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 25px, 0);
+ transform: translate3d(0, 25px, 0);
+ }
+
+ 75% {
+ -webkit-transform: translate3d(0, -10px, 0);
+ transform: translate3d(0, -10px, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(0, 5px, 0);
+ transform: translate3d(0, 5px, 0);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.bounceInDown {
+ -webkit-animation-name: bounceInDown;
+ animation-name: bounceInDown;
+}
+
+@-webkit-keyframes bounceInLeft {
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-3000px, 0, 0);
+ transform: translate3d(-3000px, 0, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(25px, 0, 0);
+ transform: translate3d(25px, 0, 0);
+ }
+
+ 75% {
+ -webkit-transform: translate3d(-10px, 0, 0);
+ transform: translate3d(-10px, 0, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(5px, 0, 0);
+ transform: translate3d(5px, 0, 0);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes bounceInLeft {
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-3000px, 0, 0);
+ transform: translate3d(-3000px, 0, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(25px, 0, 0);
+ transform: translate3d(25px, 0, 0);
+ }
+
+ 75% {
+ -webkit-transform: translate3d(-10px, 0, 0);
+ transform: translate3d(-10px, 0, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(5px, 0, 0);
+ transform: translate3d(5px, 0, 0);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.bounceInLeft {
+ -webkit-animation-name: bounceInLeft;
+ animation-name: bounceInLeft;
+}
+
+@-webkit-keyframes bounceInRight {
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(3000px, 0, 0);
+ transform: translate3d(3000px, 0, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(-25px, 0, 0);
+ transform: translate3d(-25px, 0, 0);
+ }
+
+ 75% {
+ -webkit-transform: translate3d(10px, 0, 0);
+ transform: translate3d(10px, 0, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(-5px, 0, 0);
+ transform: translate3d(-5px, 0, 0);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes bounceInRight {
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(3000px, 0, 0);
+ transform: translate3d(3000px, 0, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(-25px, 0, 0);
+ transform: translate3d(-25px, 0, 0);
+ }
+
+ 75% {
+ -webkit-transform: translate3d(10px, 0, 0);
+ transform: translate3d(10px, 0, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(-5px, 0, 0);
+ transform: translate3d(-5px, 0, 0);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.bounceInRight {
+ -webkit-animation-name: bounceInRight;
+ animation-name: bounceInRight;
+}
+
+@-webkit-keyframes bounceInUp {
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 3000px, 0);
+ transform: translate3d(0, 3000px, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, -20px, 0);
+ transform: translate3d(0, -20px, 0);
+ }
+
+ 75% {
+ -webkit-transform: translate3d(0, 10px, 0);
+ transform: translate3d(0, 10px, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(0, -5px, 0);
+ transform: translate3d(0, -5px, 0);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes bounceInUp {
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 3000px, 0);
+ transform: translate3d(0, 3000px, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, -20px, 0);
+ transform: translate3d(0, -20px, 0);
+ }
+
+ 75% {
+ -webkit-transform: translate3d(0, 10px, 0);
+ transform: translate3d(0, 10px, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(0, -5px, 0);
+ transform: translate3d(0, -5px, 0);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.bounceInUp {
+ -webkit-animation-name: bounceInUp;
+ animation-name: bounceInUp;
+}
+
+@-webkit-keyframes bounceOut {
+ 20% {
+ -webkit-transform: scale3d(0.9, 0.9, 0.9);
+ transform: scale3d(0.9, 0.9, 0.9);
+ }
+
+ 50%,
+ 55% {
+ opacity: 1;
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
+ transform: scale3d(1.1, 1.1, 1.1);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
+}
+
+@keyframes bounceOut {
+ 20% {
+ -webkit-transform: scale3d(0.9, 0.9, 0.9);
+ transform: scale3d(0.9, 0.9, 0.9);
+ }
+
+ 50%,
+ 55% {
+ opacity: 1;
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
+ transform: scale3d(1.1, 1.1, 1.1);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
+}
+
+.bounceOut {
+ -webkit-animation-duration: 0.75s;
+ animation-duration: 0.75s;
+ -webkit-animation-name: bounceOut;
+ animation-name: bounceOut;
+}
+
+@-webkit-keyframes bounceOutDown {
+ 20% {
+ -webkit-transform: translate3d(0, 10px, 0);
+ transform: translate3d(0, 10px, 0);
+ }
+
+ 40%,
+ 45% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, -20px, 0);
+ transform: translate3d(0, -20px, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0);
+ }
+}
+
+@keyframes bounceOutDown {
+ 20% {
+ -webkit-transform: translate3d(0, 10px, 0);
+ transform: translate3d(0, 10px, 0);
+ }
+
+ 40%,
+ 45% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, -20px, 0);
+ transform: translate3d(0, -20px, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0);
+ }
+}
+
+.bounceOutDown {
+ -webkit-animation-name: bounceOutDown;
+ animation-name: bounceOutDown;
+}
+
+@-webkit-keyframes bounceOutLeft {
+ 20% {
+ opacity: 1;
+ -webkit-transform: translate3d(20px, 0, 0);
+ transform: translate3d(20px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0);
+ }
+}
+
+@keyframes bounceOutLeft {
+ 20% {
+ opacity: 1;
+ -webkit-transform: translate3d(20px, 0, 0);
+ transform: translate3d(20px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0);
+ }
+}
+
+.bounceOutLeft {
+ -webkit-animation-name: bounceOutLeft;
+ animation-name: bounceOutLeft;
+}
+
+@-webkit-keyframes bounceOutRight {
+ 20% {
+ opacity: 1;
+ -webkit-transform: translate3d(-20px, 0, 0);
+ transform: translate3d(-20px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0);
+ }
+}
+
+@keyframes bounceOutRight {
+ 20% {
+ opacity: 1;
+ -webkit-transform: translate3d(-20px, 0, 0);
+ transform: translate3d(-20px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0);
+ }
+}
+
+.bounceOutRight {
+ -webkit-animation-name: bounceOutRight;
+ animation-name: bounceOutRight;
+}
+
+@-webkit-keyframes bounceOutUp {
+ 20% {
+ -webkit-transform: translate3d(0, -10px, 0);
+ transform: translate3d(0, -10px, 0);
+ }
+
+ 40%,
+ 45% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 20px, 0);
+ transform: translate3d(0, 20px, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0);
+ }
+}
+
+@keyframes bounceOutUp {
+ 20% {
+ -webkit-transform: translate3d(0, -10px, 0);
+ transform: translate3d(0, -10px, 0);
+ }
+
+ 40%,
+ 45% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 20px, 0);
+ transform: translate3d(0, 20px, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0);
+ }
+}
+
+.bounceOutUp {
+ -webkit-animation-name: bounceOutUp;
+ animation-name: bounceOutUp;
+}
+
+@-webkit-keyframes fadeIn {
+ from {
+ opacity: 0;
+ }
+
+ to {
+ opacity: 1;
+ }
+}
+
+@keyframes fadeIn {
+ from {
+ opacity: 0;
+ }
+
+ to {
+ opacity: 1;
+ }
+}
+
+.fadeIn {
+ -webkit-animation-name: fadeIn;
+ animation-name: fadeIn;
+}
+
+@-webkit-keyframes fadeInDown {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes fadeInDown {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInDown {
+ -webkit-animation-name: fadeInDown;
+ animation-name: fadeInDown;
+}
+
+@-webkit-keyframes fadeInDownBig {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes fadeInDownBig {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInDownBig {
+ -webkit-animation-name: fadeInDownBig;
+ animation-name: fadeInDownBig;
+}
+
+@-webkit-keyframes fadeInLeft {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes fadeInLeft {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInLeft {
+ -webkit-animation-name: fadeInLeft;
+ animation-name: fadeInLeft;
+}
+
+@-webkit-keyframes fadeInLeftBig {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes fadeInLeftBig {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInLeftBig {
+ -webkit-animation-name: fadeInLeftBig;
+ animation-name: fadeInLeftBig;
+}
+
+@-webkit-keyframes fadeInRight {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes fadeInRight {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInRight {
+ -webkit-animation-name: fadeInRight;
+ animation-name: fadeInRight;
+}
+
+@-webkit-keyframes fadeInRightBig {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes fadeInRightBig {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInRightBig {
+ -webkit-animation-name: fadeInRightBig;
+ animation-name: fadeInRightBig;
+}
+
+@-webkit-keyframes fadeInUp {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes fadeInUp {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInUp {
+ -webkit-animation-name: fadeInUp;
+ animation-name: fadeInUp;
+}
+
+@-webkit-keyframes fadeInUpBig {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes fadeInUpBig {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInUpBig {
+ -webkit-animation-name: fadeInUpBig;
+ animation-name: fadeInUpBig;
+}
+
+@-webkit-keyframes fadeOut {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ }
+}
+
+@keyframes fadeOut {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ }
+}
+
+.fadeOut {
+ -webkit-animation-name: fadeOut;
+ animation-name: fadeOut;
+}
+
+@-webkit-keyframes fadeOutDown {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+ }
+}
+
+@keyframes fadeOutDown {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+ }
+}
+
+.fadeOutDown {
+ -webkit-animation-name: fadeOutDown;
+ animation-name: fadeOutDown;
+}
+
+@-webkit-keyframes fadeOutDownBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0);
+ }
+}
+
+@keyframes fadeOutDownBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0);
+ }
+}
+
+.fadeOutDownBig {
+ -webkit-animation-name: fadeOutDownBig;
+ animation-name: fadeOutDownBig;
+}
+
+@-webkit-keyframes fadeOutLeft {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ }
+}
+
+@keyframes fadeOutLeft {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ }
+}
+
+.fadeOutLeft {
+ -webkit-animation-name: fadeOutLeft;
+ animation-name: fadeOutLeft;
+}
+
+@-webkit-keyframes fadeOutLeftBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0);
+ }
+}
+
+@keyframes fadeOutLeftBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0);
+ }
+}
+
+.fadeOutLeftBig {
+ -webkit-animation-name: fadeOutLeftBig;
+ animation-name: fadeOutLeftBig;
+}
+
+@-webkit-keyframes fadeOutRight {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
+}
+
+@keyframes fadeOutRight {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
+}
+
+.fadeOutRight {
+ -webkit-animation-name: fadeOutRight;
+ animation-name: fadeOutRight;
+}
+
+@-webkit-keyframes fadeOutRightBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0);
+ }
+}
+
+@keyframes fadeOutRightBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0);
+ }
+}
+
+.fadeOutRightBig {
+ -webkit-animation-name: fadeOutRightBig;
+ animation-name: fadeOutRightBig;
+}
+
+@-webkit-keyframes fadeOutUp {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0);
+ }
+}
+
+@keyframes fadeOutUp {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0);
+ }
+}
+
+.fadeOutUp {
+ -webkit-animation-name: fadeOutUp;
+ animation-name: fadeOutUp;
+}
+
+@-webkit-keyframes fadeOutUpBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0);
+ }
+}
+
+@keyframes fadeOutUpBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0);
+ }
+}
+
+.fadeOutUpBig {
+ -webkit-animation-name: fadeOutUpBig;
+ animation-name: fadeOutUpBig;
+}
+
+@-webkit-keyframes flip {
+ from {
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
+ rotate3d(0, 1, 0, -360deg);
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+
+ 40% {
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
+ rotate3d(0, 1, 0, -190deg);
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
+ rotate3d(0, 1, 0, -190deg);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+
+ 50% {
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
+ rotate3d(0, 1, 0, -170deg);
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
+ rotate3d(0, 1, 0, -170deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+
+ 80% {
+ -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
+ rotate3d(0, 1, 0, 0deg);
+ transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
+ rotate3d(0, 1, 0, 0deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+
+ to {
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
+ rotate3d(0, 1, 0, 0deg);
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+}
+
+@keyframes flip {
+ from {
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
+ rotate3d(0, 1, 0, -360deg);
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+
+ 40% {
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
+ rotate3d(0, 1, 0, -190deg);
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
+ rotate3d(0, 1, 0, -190deg);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+
+ 50% {
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
+ rotate3d(0, 1, 0, -170deg);
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
+ rotate3d(0, 1, 0, -170deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+
+ 80% {
+ -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
+ rotate3d(0, 1, 0, 0deg);
+ transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
+ rotate3d(0, 1, 0, 0deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+
+ to {
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
+ rotate3d(0, 1, 0, 0deg);
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+}
+
+.animated.flip {
+ -webkit-backface-visibility: visible;
+ backface-visibility: visible;
+ -webkit-animation-name: flip;
+ animation-name: flip;
+}
+
+@-webkit-keyframes flipInX {
+ from {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ opacity: 0;
+ }
+
+ 40% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+
+ 60% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
+ opacity: 1;
+ }
+
+ 80% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
+ }
+
+ to {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px);
+ }
+}
+
+@keyframes flipInX {
+ from {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ opacity: 0;
+ }
+
+ 40% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+
+ 60% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
+ opacity: 1;
+ }
+
+ 80% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
+ }
+
+ to {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px);
+ }
+}
+
+.flipInX {
+ -webkit-backface-visibility: visible !important;
+ backface-visibility: visible !important;
+ -webkit-animation-name: flipInX;
+ animation-name: flipInX;
+}
+
+@-webkit-keyframes flipInY {
+ from {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ opacity: 0;
+ }
+
+ 40% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+
+ 60% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
+ opacity: 1;
+ }
+
+ 80% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
+ }
+
+ to {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px);
+ }
+}
+
+@keyframes flipInY {
+ from {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ opacity: 0;
+ }
+
+ 40% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+
+ 60% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
+ opacity: 1;
+ }
+
+ 80% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
+ }
+
+ to {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px);
+ }
+}
+
+.flipInY {
+ -webkit-backface-visibility: visible !important;
+ backface-visibility: visible !important;
+ -webkit-animation-name: flipInY;
+ animation-name: flipInY;
+}
+
+@-webkit-keyframes flipOutX {
+ from {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px);
+ }
+
+ 30% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ opacity: 0;
+ }
+}
+
+@keyframes flipOutX {
+ from {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px);
+ }
+
+ 30% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ opacity: 0;
+ }
+}
+
+.flipOutX {
+ -webkit-animation-duration: 0.75s;
+ animation-duration: 0.75s;
+ -webkit-animation-name: flipOutX;
+ animation-name: flipOutX;
+ -webkit-backface-visibility: visible !important;
+ backface-visibility: visible !important;
+}
+
+@-webkit-keyframes flipOutY {
+ from {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px);
+ }
+
+ 30% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ opacity: 0;
+ }
+}
+
+@keyframes flipOutY {
+ from {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px);
+ }
+
+ 30% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ opacity: 0;
+ }
+}
+
+.flipOutY {
+ -webkit-animation-duration: 0.75s;
+ animation-duration: 0.75s;
+ -webkit-backface-visibility: visible !important;
+ backface-visibility: visible !important;
+ -webkit-animation-name: flipOutY;
+ animation-name: flipOutY;
+}
+
+@-webkit-keyframes lightSpeedIn {
+ from {
+ -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
+ transform: translate3d(100%, 0, 0) skewX(-30deg);
+ opacity: 0;
+ }
+
+ 60% {
+ -webkit-transform: skewX(20deg);
+ transform: skewX(20deg);
+ opacity: 1;
+ }
+
+ 80% {
+ -webkit-transform: skewX(-5deg);
+ transform: skewX(-5deg);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes lightSpeedIn {
+ from {
+ -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
+ transform: translate3d(100%, 0, 0) skewX(-30deg);
+ opacity: 0;
+ }
+
+ 60% {
+ -webkit-transform: skewX(20deg);
+ transform: skewX(20deg);
+ opacity: 1;
+ }
+
+ 80% {
+ -webkit-transform: skewX(-5deg);
+ transform: skewX(-5deg);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.lightSpeedIn {
+ -webkit-animation-name: lightSpeedIn;
+ animation-name: lightSpeedIn;
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+}
+
+@-webkit-keyframes lightSpeedOut {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
+ transform: translate3d(100%, 0, 0) skewX(30deg);
+ opacity: 0;
+ }
+}
+
+@keyframes lightSpeedOut {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
+ transform: translate3d(100%, 0, 0) skewX(30deg);
+ opacity: 0;
+ }
+}
+
+.lightSpeedOut {
+ -webkit-animation-name: lightSpeedOut;
+ animation-name: lightSpeedOut;
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+}
+
+@-webkit-keyframes rotateIn {
+ from {
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ -webkit-transform: rotate3d(0, 0, 1, -200deg);
+ transform: rotate3d(0, 0, 1, -200deg);
+ opacity: 0;
+ }
+
+ to {
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+@keyframes rotateIn {
+ from {
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ -webkit-transform: rotate3d(0, 0, 1, -200deg);
+ transform: rotate3d(0, 0, 1, -200deg);
+ opacity: 0;
+ }
+
+ to {
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+.rotateIn {
+ -webkit-animation-name: rotateIn;
+ animation-name: rotateIn;
+}
+
+@-webkit-keyframes rotateInDownLeft {
+ from {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0;
+ }
+
+ to {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+@keyframes rotateInDownLeft {
+ from {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0;
+ }
+
+ to {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+.rotateInDownLeft {
+ -webkit-animation-name: rotateInDownLeft;
+ animation-name: rotateInDownLeft;
+}
+
+@-webkit-keyframes rotateInDownRight {
+ from {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0;
+ }
+
+ to {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+@keyframes rotateInDownRight {
+ from {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0;
+ }
+
+ to {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+.rotateInDownRight {
+ -webkit-animation-name: rotateInDownRight;
+ animation-name: rotateInDownRight;
+}
+
+@-webkit-keyframes rotateInUpLeft {
+ from {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0;
+ }
+
+ to {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+@keyframes rotateInUpLeft {
+ from {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0;
+ }
+
+ to {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+.rotateInUpLeft {
+ -webkit-animation-name: rotateInUpLeft;
+ animation-name: rotateInUpLeft;
+}
+
+@-webkit-keyframes rotateInUpRight {
+ from {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -90deg);
+ transform: rotate3d(0, 0, 1, -90deg);
+ opacity: 0;
+ }
+
+ to {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+@keyframes rotateInUpRight {
+ from {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -90deg);
+ transform: rotate3d(0, 0, 1, -90deg);
+ opacity: 0;
+ }
+
+ to {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+.rotateInUpRight {
+ -webkit-animation-name: rotateInUpRight;
+ animation-name: rotateInUpRight;
+}
+
+@-webkit-keyframes rotateOut {
+ from {
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ -webkit-transform: rotate3d(0, 0, 1, 200deg);
+ transform: rotate3d(0, 0, 1, 200deg);
+ opacity: 0;
+ }
+}
+
+@keyframes rotateOut {
+ from {
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ -webkit-transform: rotate3d(0, 0, 1, 200deg);
+ transform: rotate3d(0, 0, 1, 200deg);
+ opacity: 0;
+ }
+}
+
+.rotateOut {
+ -webkit-animation-name: rotateOut;
+ animation-name: rotateOut;
+}
+
+@-webkit-keyframes rotateOutDownLeft {
+ from {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0;
+ }
+}
+
+@keyframes rotateOutDownLeft {
+ from {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0;
+ }
+}
+
+.rotateOutDownLeft {
+ -webkit-animation-name: rotateOutDownLeft;
+ animation-name: rotateOutDownLeft;
+}
+
+@-webkit-keyframes rotateOutDownRight {
+ from {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0;
+ }
+}
+
+@keyframes rotateOutDownRight {
+ from {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0;
+ }
+}
+
+.rotateOutDownRight {
+ -webkit-animation-name: rotateOutDownRight;
+ animation-name: rotateOutDownRight;
+}
+
+@-webkit-keyframes rotateOutUpLeft {
+ from {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0;
+ }
+}
+
+@keyframes rotateOutUpLeft {
+ from {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0;
+ }
+}
+
+.rotateOutUpLeft {
+ -webkit-animation-name: rotateOutUpLeft;
+ animation-name: rotateOutUpLeft;
+}
+
+@-webkit-keyframes rotateOutUpRight {
+ from {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 90deg);
+ transform: rotate3d(0, 0, 1, 90deg);
+ opacity: 0;
+ }
+}
+
+@keyframes rotateOutUpRight {
+ from {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 90deg);
+ transform: rotate3d(0, 0, 1, 90deg);
+ opacity: 0;
+ }
+}
+
+.rotateOutUpRight {
+ -webkit-animation-name: rotateOutUpRight;
+ animation-name: rotateOutUpRight;
+}
+
+@-webkit-keyframes hinge {
+ 0% {
+ -webkit-transform-origin: top left;
+ transform-origin: top left;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ }
+
+ 20%,
+ 60% {
+ -webkit-transform: rotate3d(0, 0, 1, 80deg);
+ transform: rotate3d(0, 0, 1, 80deg);
+ -webkit-transform-origin: top left;
+ transform-origin: top left;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ }
+
+ 40%,
+ 80% {
+ -webkit-transform: rotate3d(0, 0, 1, 60deg);
+ transform: rotate3d(0, 0, 1, 60deg);
+ -webkit-transform-origin: top left;
+ transform-origin: top left;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 700px, 0);
+ transform: translate3d(0, 700px, 0);
+ opacity: 0;
+ }
+}
+
+@keyframes hinge {
+ 0% {
+ -webkit-transform-origin: top left;
+ transform-origin: top left;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ }
+
+ 20%,
+ 60% {
+ -webkit-transform: rotate3d(0, 0, 1, 80deg);
+ transform: rotate3d(0, 0, 1, 80deg);
+ -webkit-transform-origin: top left;
+ transform-origin: top left;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ }
+
+ 40%,
+ 80% {
+ -webkit-transform: rotate3d(0, 0, 1, 60deg);
+ transform: rotate3d(0, 0, 1, 60deg);
+ -webkit-transform-origin: top left;
+ transform-origin: top left;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 700px, 0);
+ transform: translate3d(0, 700px, 0);
+ opacity: 0;
+ }
+}
+
+.hinge {
+ -webkit-animation-duration: 2s;
+ animation-duration: 2s;
+ -webkit-animation-name: hinge;
+ animation-name: hinge;
+}
+
+@-webkit-keyframes jackInTheBox {
+ from {
+ opacity: 0;
+ -webkit-transform: scale(0.1) rotate(30deg);
+ transform: scale(0.1) rotate(30deg);
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom;
+ }
+
+ 50% {
+ -webkit-transform: rotate(-10deg);
+ transform: rotate(-10deg);
+ }
+
+ 70% {
+ -webkit-transform: rotate(3deg);
+ transform: rotate(3deg);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+}
+
+@keyframes jackInTheBox {
+ from {
+ opacity: 0;
+ -webkit-transform: scale(0.1) rotate(30deg);
+ transform: scale(0.1) rotate(30deg);
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom;
+ }
+
+ 50% {
+ -webkit-transform: rotate(-10deg);
+ transform: rotate(-10deg);
+ }
+
+ 70% {
+ -webkit-transform: rotate(3deg);
+ transform: rotate(3deg);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+}
+
+.jackInTheBox {
+ -webkit-animation-name: jackInTheBox;
+ animation-name: jackInTheBox;
+}
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@-webkit-keyframes rollIn {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
+ transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes rollIn {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
+ transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.rollIn {
+ -webkit-animation-name: rollIn;
+ animation-name: rollIn;
+}
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@-webkit-keyframes rollOut {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
+ transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
+ }
+}
+
+@keyframes rollOut {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
+ transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
+ }
+}
+
+.rollOut {
+ -webkit-animation-name: rollOut;
+ animation-name: rollOut;
+}
+
+@-webkit-keyframes zoomIn {
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
+
+ 50% {
+ opacity: 1;
+ }
+}
+
+@keyframes zoomIn {
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
+
+ 50% {
+ opacity: 1;
+ }
+}
+
+.zoomIn {
+ -webkit-animation-name: zoomIn;
+ animation-name: zoomIn;
+}
+
+@-webkit-keyframes zoomInDown {
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+@keyframes zoomInDown {
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+.zoomInDown {
+ -webkit-animation-name: zoomInDown;
+ animation-name: zoomInDown;
+}
+
+@-webkit-keyframes zoomInLeft {
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+@keyframes zoomInLeft {
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+.zoomInLeft {
+ -webkit-animation-name: zoomInLeft;
+ animation-name: zoomInLeft;
+}
+
+@-webkit-keyframes zoomInRight {
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+@keyframes zoomInRight {
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+.zoomInRight {
+ -webkit-animation-name: zoomInRight;
+ animation-name: zoomInRight;
+}
+
+@-webkit-keyframes zoomInUp {
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+@keyframes zoomInUp {
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+.zoomInUp {
+ -webkit-animation-name: zoomInUp;
+ animation-name: zoomInUp;
+}
+
+@-webkit-keyframes zoomOut {
+ from {
+ opacity: 1;
+ }
+
+ 50% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
+
+ to {
+ opacity: 0;
+ }
+}
+
+@keyframes zoomOut {
+ from {
+ opacity: 1;
+ }
+
+ 50% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
+
+ to {
+ opacity: 0;
+ }
+}
+
+.zoomOut {
+ -webkit-animation-name: zoomOut;
+ animation-name: zoomOut;
+}
+
+@-webkit-keyframes zoomOutDown {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom;
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+@keyframes zoomOutDown {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom;
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+.zoomOutDown {
+ -webkit-animation-name: zoomOutDown;
+ animation-name: zoomOutDown;
+}
+
+@-webkit-keyframes zoomOutLeft {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
+ transform: scale(0.1) translate3d(-2000px, 0, 0);
+ -webkit-transform-origin: left center;
+ transform-origin: left center;
+ }
+}
+
+@keyframes zoomOutLeft {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
+ transform: scale(0.1) translate3d(-2000px, 0, 0);
+ -webkit-transform-origin: left center;
+ transform-origin: left center;
+ }
+}
+
+.zoomOutLeft {
+ -webkit-animation-name: zoomOutLeft;
+ animation-name: zoomOutLeft;
+}
+
+@-webkit-keyframes zoomOutRight {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
+ transform: scale(0.1) translate3d(2000px, 0, 0);
+ -webkit-transform-origin: right center;
+ transform-origin: right center;
+ }
+}
+
+@keyframes zoomOutRight {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
+ transform: scale(0.1) translate3d(2000px, 0, 0);
+ -webkit-transform-origin: right center;
+ transform-origin: right center;
+ }
+}
+
+.zoomOutRight {
+ -webkit-animation-name: zoomOutRight;
+ animation-name: zoomOutRight;
+}
+
+@-webkit-keyframes zoomOutUp {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom;
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+@keyframes zoomOutUp {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom;
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+.zoomOutUp {
+ -webkit-animation-name: zoomOutUp;
+ animation-name: zoomOutUp;
+}
+
+@-webkit-keyframes slideInDown {
+ from {
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0);
+ visibility: visible;
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes slideInDown {
+ from {
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0);
+ visibility: visible;
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.slideInDown {
+ -webkit-animation-name: slideInDown;
+ animation-name: slideInDown;
+}
+
+@-webkit-keyframes slideInLeft {
+ from {
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ visibility: visible;
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes slideInLeft {
+ from {
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ visibility: visible;
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.slideInLeft {
+ -webkit-animation-name: slideInLeft;
+ animation-name: slideInLeft;
+}
+
+@-webkit-keyframes slideInRight {
+ from {
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ visibility: visible;
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes slideInRight {
+ from {
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ visibility: visible;
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.slideInRight {
+ -webkit-animation-name: slideInRight;
+ animation-name: slideInRight;
+}
+
+@-webkit-keyframes slideInUp {
+ from {
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+ visibility: visible;
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes slideInUp {
+ from {
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+ visibility: visible;
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.slideInUp {
+ -webkit-animation-name: slideInUp;
+ animation-name: slideInUp;
+}
+
+@-webkit-keyframes slideOutDown {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+ }
+}
+
+@keyframes slideOutDown {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+ }
+}
+
+.slideOutDown {
+ -webkit-animation-name: slideOutDown;
+ animation-name: slideOutDown;
+}
+
+@-webkit-keyframes slideOutLeft {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ }
+}
+
+@keyframes slideOutLeft {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ }
+}
+
+.slideOutLeft {
+ -webkit-animation-name: slideOutLeft;
+ animation-name: slideOutLeft;
+}
+
+@-webkit-keyframes slideOutRight {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
+}
+
+@keyframes slideOutRight {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
+}
+
+.slideOutRight {
+ -webkit-animation-name: slideOutRight;
+ animation-name: slideOutRight;
+}
+
+@-webkit-keyframes slideOutUp {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0);
+ }
+}
+
+@keyframes slideOutUp {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0);
+ }
+}
+
+.slideOutUp {
+ -webkit-animation-name: slideOutUp;
+ animation-name: slideOutUp;
+}
+
+.animated {
+ -webkit-animation-duration: 1s;
+ animation-duration: 1s;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+}
+
+.animated.infinite {
+ -webkit-animation-iteration-count: infinite;
+ animation-iteration-count: infinite;
+}
+
+.animated.delay-1s {
+ -webkit-animation-delay: 1s;
+ animation-delay: 1s;
+}
+
+.animated.delay-2s {
+ -webkit-animation-delay: 2s;
+ animation-delay: 2s;
+}
+
+.animated.delay-3s {
+ -webkit-animation-delay: 3s;
+ animation-delay: 3s;
+}
+
+.animated.delay-4s {
+ -webkit-animation-delay: 4s;
+ animation-delay: 4s;
+}
+
+.animated.delay-5s {
+ -webkit-animation-delay: 5s;
+ animation-delay: 5s;
+}
+
+.animated.fast {
+ -webkit-animation-duration: 800ms;
+ animation-duration: 800ms;
+}
+
+.animated.faster {
+ -webkit-animation-duration: 500ms;
+ animation-duration: 500ms;
+}
+
+.animated.slow {
+ -webkit-animation-duration: 2s;
+ animation-duration: 2s;
+}
+
+.animated.slower {
+ -webkit-animation-duration: 3s;
+ animation-duration: 3s;
+}
+
+@media (print), (prefers-reduced-motion: reduce) {
+ .animated {
+ -webkit-animation-duration: 1ms !important;
+ animation-duration: 1ms !important;
+ -webkit-transition-duration: 1ms !important;
+ transition-duration: 1ms !important;
+ -webkit-animation-iteration-count: 1 !important;
+ animation-iteration-count: 1 !important;
+ }
+}
diff --git a/node_modules/animate.css/animate.min.css b/node_modules/animate.css/animate.min.css
new file mode 100644
index 0000000..f3f1068
--- /dev/null
+++ b/node_modules/animate.css/animate.min.css
@@ -0,0 +1,11 @@
+@charset "UTF-8";
+
+/*!
+ * animate.css -https://daneden.github.io/animate.css/
+ * Version - 3.7.2
+ * Licensed under the MIT license - http://opensource.org/licenses/MIT
+ *
+ * Copyright (c) 2019 Daniel Eden
+ */
+
+@-webkit-keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.heartBeat{-webkit-animation-name:heartBeat;animation-name:heartBeat;-webkit-animation-duration:1.3s;animation-duration:1.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.bounceIn{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.delay-1s{-webkit-animation-delay:1s;animation-delay:1s}.animated.delay-2s{-webkit-animation-delay:2s;animation-delay:2s}.animated.delay-3s{-webkit-animation-delay:3s;animation-delay:3s}.animated.delay-4s{-webkit-animation-delay:4s;animation-delay:4s}.animated.delay-5s{-webkit-animation-delay:5s;animation-delay:5s}.animated.fast{-webkit-animation-duration:.8s;animation-duration:.8s}.animated.faster{-webkit-animation-duration:.5s;animation-duration:.5s}.animated.slow{-webkit-animation-duration:2s;animation-duration:2s}.animated.slower{-webkit-animation-duration:3s;animation-duration:3s}@media (prefers-reduced-motion:reduce),(print){.animated{-webkit-animation-duration:1ms!important;animation-duration:1ms!important;-webkit-transition-duration:1ms!important;transition-duration:1ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important}}
\ No newline at end of file
diff --git a/node_modules/animate.css/bower.json b/node_modules/animate.css/bower.json
new file mode 100644
index 0000000..6c40e8c
--- /dev/null
+++ b/node_modules/animate.css/bower.json
@@ -0,0 +1,5 @@
+{
+ "name": "animate.css",
+ "main": "./animate.css",
+ "ignore": [".*", "*.yml", "Gemfile", "Gemfile.lock", "*.md"]
+}
diff --git a/node_modules/animate.css/gulpfile.js b/node_modules/animate.css/gulpfile.js
new file mode 100644
index 0000000..b81ee2c
--- /dev/null
+++ b/node_modules/animate.css/gulpfile.js
@@ -0,0 +1,107 @@
+// Utilities
+var autoprefixer = require('autoprefixer');
+var cssnano = require('cssnano');
+var fs = require('fs');
+
+// Gulp
+var gulp = require('gulp');
+
+// Gulp plugins
+var concat = require('gulp-concat');
+var gutil = require('gulp-util');
+var header = require('gulp-header');
+var postcss = require('gulp-postcss');
+var rename = require('gulp-rename');
+var runSequence = require('run-sequence');
+
+// Misc/global vars
+var pkg = JSON.parse(fs.readFileSync('package.json'));
+var activatedAnimations = activateAnimations();
+
+// Task options
+var opts = {
+ destPath: './',
+ concatName: 'animate.css',
+
+ autoprefixer: {
+ browsers: ['> 1%', 'last 2 versions', 'Firefox ESR'],
+ cascade: false,
+ },
+
+ minRename: {
+ suffix: '.min',
+ },
+
+ banner: [
+ '@charset "UTF-8";\n',
+ '/*!',
+ ' * <%= name %> -<%= homepage %>',
+ ' * Version - <%= version %>',
+ ' * Licensed under the MIT license - http://opensource.org/licenses/MIT',
+ ' *',
+ ' * Copyright (c) <%= new Date().getFullYear() %> <%= author.name %>',
+ ' */\n\n',
+ ].join('\n'),
+};
+
+// ----------------------------
+// Gulp task definitions
+// ----------------------------
+
+gulp.task('createCSS', function() {
+ return gulp
+ .src(activatedAnimations)
+ .pipe(concat(opts.concatName))
+ .pipe(postcss([autoprefixer(opts.autoprefixer)]))
+ .pipe(gulp.dest(opts.destPath))
+ .pipe(postcss([cssnano({reduceIdents: {keyframes: false}})]))
+ .pipe(rename(opts.minRename))
+ .pipe(gulp.dest(opts.destPath));
+});
+
+gulp.task('addHeader', function() {
+ return gulp
+ .src('*.css')
+ .pipe(header(opts.banner, pkg))
+ .pipe(gulp.dest(opts.destPath));
+});
+
+gulp.task('default', gulp.series('createCSS', 'addHeader'));
+
+// ----------------------------
+// Helpers/functions
+// ----------------------------
+
+// Read the config file and return an array of the animations to be activated
+function activateAnimations() {
+ var categories = JSON.parse(fs.readFileSync('animate-config.json')),
+ category,
+ files,
+ file,
+ target = [],
+ count = 0;
+
+ for (category in categories) {
+ if (categories.hasOwnProperty(category)) {
+ files = categories[category];
+
+ for (file in files) {
+ if (files[file]) {
+ // marked as true
+ target.push('source/' + category + '/' + file + '.css');
+ count += 1;
+ }
+ }
+ }
+ }
+ // prepend base CSS
+ target.push('source/_base.css');
+
+ if (!count) {
+ gutil.log('No animations activated.');
+ } else {
+ gutil.log(count + (count > 1 ? ' animations' : ' animation') + ' activated.');
+ }
+
+ return target;
+}
diff --git a/node_modules/animate.css/package.json b/node_modules/animate.css/package.json
new file mode 100644
index 0000000..1a397aa
--- /dev/null
+++ b/node_modules/animate.css/package.json
@@ -0,0 +1,88 @@
+{
+ "_from": "animate.css",
+ "_id": "animate.css@3.7.2",
+ "_inBundle": false,
+ "_integrity": "sha1-5z4NUOkssc/vFZfZs4qUgQIOCOo=",
+ "_location": "/animate.css",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "tag",
+ "registry": true,
+ "raw": "animate.css",
+ "name": "animate.css",
+ "escapedName": "animate.css",
+ "rawSpec": "",
+ "saveSpec": null,
+ "fetchSpec": "latest"
+ },
+ "_requiredBy": [
+ "#USER",
+ "/"
+ ],
+ "_resolved": "https://registry.npm.taobao.org/animate.css/download/animate.css-3.7.2.tgz",
+ "_shasum": "e73e0d50e92cb1cfef1597d9b38a9481020e08ea",
+ "_spec": "animate.css",
+ "_where": "/Users/piao/Documents/Project/yshopmall_uni",
+ "author": {
+ "name": "Daniel Eden"
+ },
+ "bugs": {
+ "url": "https://github.com/daneden/animate.css/issues"
+ },
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "_Just-add-water CSS animation_",
+ "devDependencies": {
+ "autoprefixer": "^9.0.1",
+ "cssnano": "^4.0.3",
+ "eslint": "^5.2.0",
+ "gulp": "^4.0.0",
+ "gulp-concat": "^2.6.1",
+ "gulp-header": "^2.0.1",
+ "gulp-postcss": "^8.0.0",
+ "gulp-rename": "^1.2.2",
+ "gulp-util": "^3.0.8",
+ "husky": "^1.2.0",
+ "lint-staged": "^8.1.0",
+ "prettier": "^1.10.2",
+ "run-sequence": "^2.2.1"
+ },
+ "homepage": "https://daneden.github.io/animate.css/",
+ "jspm": {
+ "main": "animate.css!",
+ "format": "global",
+ "directories": {
+ "lib": "./"
+ }
+ },
+ "license": "MIT",
+ "lint-staged": {
+ "*.{js,json,md,css}": [
+ "prettier --write",
+ "git add"
+ ]
+ },
+ "main": "animate.css",
+ "name": "animate.css",
+ "prettier": {
+ "bracketSpacing": false,
+ "proseWrap": "never",
+ "singleQuote": true,
+ "trailingComma": "all"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/daneden/animate.css.git"
+ },
+ "scripts": {
+ "gulp": "./node_modules/gulp/bin/gulp.js",
+ "precommit": "lint-staged",
+ "prettier": "prettier --write \"**/*.{js,json,md,css}\"",
+ "start": "gulp"
+ },
+ "spm": {
+ "main": "./animate.css"
+ },
+ "style": "./animate.css",
+ "version": "3.7.2"
+}
diff --git a/node_modules/animate.css/source/_base.css b/node_modules/animate.css/source/_base.css
new file mode 100644
index 0000000..4e90757
--- /dev/null
+++ b/node_modules/animate.css/source/_base.css
@@ -0,0 +1,52 @@
+.animated {
+ animation-duration: 1s;
+ animation-fill-mode: both;
+}
+
+.animated.infinite {
+ animation-iteration-count: infinite;
+}
+
+.animated.delay-1s {
+ animation-delay: 1s;
+}
+
+.animated.delay-2s {
+ animation-delay: 2s;
+}
+
+.animated.delay-3s {
+ animation-delay: 3s;
+}
+
+.animated.delay-4s {
+ animation-delay: 4s;
+}
+
+.animated.delay-5s {
+ animation-delay: 5s;
+}
+
+.animated.fast {
+ animation-duration: 800ms;
+}
+
+.animated.faster {
+ animation-duration: 500ms;
+}
+
+.animated.slow {
+ animation-duration: 2s;
+}
+
+.animated.slower {
+ animation-duration: 3s;
+}
+
+@media (print), (prefers-reduced-motion: reduce) {
+ .animated {
+ animation-duration: 1ms !important;
+ transition-duration: 1ms !important;
+ animation-iteration-count: 1 !important;
+ }
+}
diff --git a/node_modules/animate.css/source/_vars.css b/node_modules/animate.css/source/_vars.css
new file mode 100644
index 0000000..689cffb
--- /dev/null
+++ b/node_modules/animate.css/source/_vars.css
@@ -0,0 +1,4 @@
+.animated {
+ --animate-duration: 1s;
+ --animate-delay: 1s;
+}
diff --git a/node_modules/animate.css/source/attention_seekers/bounce.css b/node_modules/animate.css/source/attention_seekers/bounce.css
new file mode 100644
index 0000000..a249507
--- /dev/null
+++ b/node_modules/animate.css/source/attention_seekers/bounce.css
@@ -0,0 +1,30 @@
+@keyframes bounce {
+ from,
+ 20%,
+ 53%,
+ 80%,
+ to {
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ transform: translate3d(0, 0, 0);
+ }
+
+ 40%,
+ 43% {
+ animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ transform: translate3d(0, -30px, 0);
+ }
+
+ 70% {
+ animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ transform: translate3d(0, -15px, 0);
+ }
+
+ 90% {
+ transform: translate3d(0, -4px, 0);
+ }
+}
+
+.bounce {
+ animation-name: bounce;
+ transform-origin: center bottom;
+}
diff --git a/node_modules/animate.css/source/attention_seekers/flash.css b/node_modules/animate.css/source/attention_seekers/flash.css
new file mode 100644
index 0000000..844bba8
--- /dev/null
+++ b/node_modules/animate.css/source/attention_seekers/flash.css
@@ -0,0 +1,16 @@
+@keyframes flash {
+ from,
+ 50%,
+ to {
+ opacity: 1;
+ }
+
+ 25%,
+ 75% {
+ opacity: 0;
+ }
+}
+
+.flash {
+ animation-name: flash;
+}
diff --git a/node_modules/animate.css/source/attention_seekers/headShake.css b/node_modules/animate.css/source/attention_seekers/headShake.css
new file mode 100644
index 0000000..b599ec7
--- /dev/null
+++ b/node_modules/animate.css/source/attention_seekers/headShake.css
@@ -0,0 +1,30 @@
+@keyframes headShake {
+ 0% {
+ transform: translateX(0);
+ }
+
+ 6.5% {
+ transform: translateX(-6px) rotateY(-9deg);
+ }
+
+ 18.5% {
+ transform: translateX(5px) rotateY(7deg);
+ }
+
+ 31.5% {
+ transform: translateX(-3px) rotateY(-5deg);
+ }
+
+ 43.5% {
+ transform: translateX(2px) rotateY(3deg);
+ }
+
+ 50% {
+ transform: translateX(0);
+ }
+}
+
+.headShake {
+ animation-timing-function: ease-in-out;
+ animation-name: headShake;
+}
diff --git a/node_modules/animate.css/source/attention_seekers/heartBeat.css b/node_modules/animate.css/source/attention_seekers/heartBeat.css
new file mode 100644
index 0000000..5e369e7
--- /dev/null
+++ b/node_modules/animate.css/source/attention_seekers/heartBeat.css
@@ -0,0 +1,27 @@
+@keyframes heartBeat {
+ 0% {
+ transform: scale(1);
+ }
+
+ 14% {
+ transform: scale(1.3);
+ }
+
+ 28% {
+ transform: scale(1);
+ }
+
+ 42% {
+ transform: scale(1.3);
+ }
+
+ 70% {
+ transform: scale(1);
+ }
+}
+
+.heartBeat {
+ animation-name: heartBeat;
+ animation-duration: 1.3s;
+ animation-timing-function: ease-in-out;
+}
diff --git a/node_modules/animate.css/source/attention_seekers/jello.css b/node_modules/animate.css/source/attention_seekers/jello.css
new file mode 100644
index 0000000..dd7ef41
--- /dev/null
+++ b/node_modules/animate.css/source/attention_seekers/jello.css
@@ -0,0 +1,40 @@
+@keyframes jello {
+ from,
+ 11.1%,
+ to {
+ transform: translate3d(0, 0, 0);
+ }
+
+ 22.2% {
+ transform: skewX(-12.5deg) skewY(-12.5deg);
+ }
+
+ 33.3% {
+ transform: skewX(6.25deg) skewY(6.25deg);
+ }
+
+ 44.4% {
+ transform: skewX(-3.125deg) skewY(-3.125deg);
+ }
+
+ 55.5% {
+ transform: skewX(1.5625deg) skewY(1.5625deg);
+ }
+
+ 66.6% {
+ transform: skewX(-0.78125deg) skewY(-0.78125deg);
+ }
+
+ 77.7% {
+ transform: skewX(0.390625deg) skewY(0.390625deg);
+ }
+
+ 88.8% {
+ transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
+ }
+}
+
+.jello {
+ animation-name: jello;
+ transform-origin: center;
+}
diff --git a/node_modules/animate.css/source/attention_seekers/pulse.css b/node_modules/animate.css/source/attention_seekers/pulse.css
new file mode 100644
index 0000000..a03c622
--- /dev/null
+++ b/node_modules/animate.css/source/attention_seekers/pulse.css
@@ -0,0 +1,19 @@
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@keyframes pulse {
+ from {
+ transform: scale3d(1, 1, 1);
+ }
+
+ 50% {
+ transform: scale3d(1.05, 1.05, 1.05);
+ }
+
+ to {
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+.pulse {
+ animation-name: pulse;
+}
diff --git a/node_modules/animate.css/source/attention_seekers/rubberBand.css b/node_modules/animate.css/source/attention_seekers/rubberBand.css
new file mode 100644
index 0000000..cc6d986
--- /dev/null
+++ b/node_modules/animate.css/source/attention_seekers/rubberBand.css
@@ -0,0 +1,33 @@
+@keyframes rubberBand {
+ from {
+ transform: scale3d(1, 1, 1);
+ }
+
+ 30% {
+ transform: scale3d(1.25, 0.75, 1);
+ }
+
+ 40% {
+ transform: scale3d(0.75, 1.25, 1);
+ }
+
+ 50% {
+ transform: scale3d(1.15, 0.85, 1);
+ }
+
+ 65% {
+ transform: scale3d(0.95, 1.05, 1);
+ }
+
+ 75% {
+ transform: scale3d(1.05, 0.95, 1);
+ }
+
+ to {
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+.rubberBand {
+ animation-name: rubberBand;
+}
diff --git a/node_modules/animate.css/source/attention_seekers/shake.css b/node_modules/animate.css/source/attention_seekers/shake.css
new file mode 100644
index 0000000..9cfcc79
--- /dev/null
+++ b/node_modules/animate.css/source/attention_seekers/shake.css
@@ -0,0 +1,25 @@
+@keyframes shake {
+ from,
+ to {
+ transform: translate3d(0, 0, 0);
+ }
+
+ 10%,
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ transform: translate3d(-10px, 0, 0);
+ }
+
+ 20%,
+ 40%,
+ 60%,
+ 80% {
+ transform: translate3d(10px, 0, 0);
+ }
+}
+
+.shake {
+ animation-name: shake;
+}
diff --git a/node_modules/animate.css/source/attention_seekers/swing.css b/node_modules/animate.css/source/attention_seekers/swing.css
new file mode 100644
index 0000000..e5d8742
--- /dev/null
+++ b/node_modules/animate.css/source/attention_seekers/swing.css
@@ -0,0 +1,26 @@
+@keyframes swing {
+ 20% {
+ transform: rotate3d(0, 0, 1, 15deg);
+ }
+
+ 40% {
+ transform: rotate3d(0, 0, 1, -10deg);
+ }
+
+ 60% {
+ transform: rotate3d(0, 0, 1, 5deg);
+ }
+
+ 80% {
+ transform: rotate3d(0, 0, 1, -5deg);
+ }
+
+ to {
+ transform: rotate3d(0, 0, 1, 0deg);
+ }
+}
+
+.swing {
+ transform-origin: top center;
+ animation-name: swing;
+}
diff --git a/node_modules/animate.css/source/attention_seekers/tada.css b/node_modules/animate.css/source/attention_seekers/tada.css
new file mode 100644
index 0000000..7c33b5d
--- /dev/null
+++ b/node_modules/animate.css/source/attention_seekers/tada.css
@@ -0,0 +1,31 @@
+@keyframes tada {
+ from {
+ transform: scale3d(1, 1, 1);
+ }
+
+ 10%,
+ 20% {
+ transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
+ }
+
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
+ }
+
+ 40%,
+ 60%,
+ 80% {
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
+ }
+
+ to {
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+.tada {
+ animation-name: tada;
+}
diff --git a/node_modules/animate.css/source/attention_seekers/wobble.css b/node_modules/animate.css/source/attention_seekers/wobble.css
new file mode 100644
index 0000000..6290322
--- /dev/null
+++ b/node_modules/animate.css/source/attention_seekers/wobble.css
@@ -0,0 +1,35 @@
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@keyframes wobble {
+ from {
+ transform: translate3d(0, 0, 0);
+ }
+
+ 15% {
+ transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
+ }
+
+ 30% {
+ transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
+ }
+
+ 45% {
+ transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
+ }
+
+ 60% {
+ transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
+ }
+
+ 75% {
+ transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
+ }
+
+ to {
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.wobble {
+ animation-name: wobble;
+}
diff --git a/node_modules/animate.css/source/bouncing_entrances/bounceIn.css b/node_modules/animate.css/source/bouncing_entrances/bounceIn.css
new file mode 100644
index 0000000..644e8dd
--- /dev/null
+++ b/node_modules/animate.css/source/bouncing_entrances/bounceIn.css
@@ -0,0 +1,42 @@
+@keyframes bounceIn {
+ from,
+ 20%,
+ 40%,
+ 60%,
+ 80%,
+ to {
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ 0% {
+ opacity: 0;
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
+
+ 20% {
+ transform: scale3d(1.1, 1.1, 1.1);
+ }
+
+ 40% {
+ transform: scale3d(0.9, 0.9, 0.9);
+ }
+
+ 60% {
+ opacity: 1;
+ transform: scale3d(1.03, 1.03, 1.03);
+ }
+
+ 80% {
+ transform: scale3d(0.97, 0.97, 0.97);
+ }
+
+ to {
+ opacity: 1;
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+.bounceIn {
+ animation-duration: 0.75s;
+ animation-name: bounceIn;
+}
diff --git a/node_modules/animate.css/source/bouncing_entrances/bounceInDown.css b/node_modules/animate.css/source/bouncing_entrances/bounceInDown.css
new file mode 100644
index 0000000..5cfed3d
--- /dev/null
+++ b/node_modules/animate.css/source/bouncing_entrances/bounceInDown.css
@@ -0,0 +1,35 @@
+@keyframes bounceInDown {
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ 0% {
+ opacity: 0;
+ transform: translate3d(0, -3000px, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ transform: translate3d(0, 25px, 0);
+ }
+
+ 75% {
+ transform: translate3d(0, -10px, 0);
+ }
+
+ 90% {
+ transform: translate3d(0, 5px, 0);
+ }
+
+ to {
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.bounceInDown {
+ animation-name: bounceInDown;
+}
diff --git a/node_modules/animate.css/source/bouncing_entrances/bounceInLeft.css b/node_modules/animate.css/source/bouncing_entrances/bounceInLeft.css
new file mode 100644
index 0000000..6b811d3
--- /dev/null
+++ b/node_modules/animate.css/source/bouncing_entrances/bounceInLeft.css
@@ -0,0 +1,35 @@
+@keyframes bounceInLeft {
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ 0% {
+ opacity: 0;
+ transform: translate3d(-3000px, 0, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ transform: translate3d(25px, 0, 0);
+ }
+
+ 75% {
+ transform: translate3d(-10px, 0, 0);
+ }
+
+ 90% {
+ transform: translate3d(5px, 0, 0);
+ }
+
+ to {
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.bounceInLeft {
+ animation-name: bounceInLeft;
+}
diff --git a/node_modules/animate.css/source/bouncing_entrances/bounceInRight.css b/node_modules/animate.css/source/bouncing_entrances/bounceInRight.css
new file mode 100644
index 0000000..ca09286
--- /dev/null
+++ b/node_modules/animate.css/source/bouncing_entrances/bounceInRight.css
@@ -0,0 +1,35 @@
+@keyframes bounceInRight {
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ from {
+ opacity: 0;
+ transform: translate3d(3000px, 0, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ transform: translate3d(-25px, 0, 0);
+ }
+
+ 75% {
+ transform: translate3d(10px, 0, 0);
+ }
+
+ 90% {
+ transform: translate3d(-5px, 0, 0);
+ }
+
+ to {
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.bounceInRight {
+ animation-name: bounceInRight;
+}
diff --git a/node_modules/animate.css/source/bouncing_entrances/bounceInUp.css b/node_modules/animate.css/source/bouncing_entrances/bounceInUp.css
new file mode 100644
index 0000000..6100c00
--- /dev/null
+++ b/node_modules/animate.css/source/bouncing_entrances/bounceInUp.css
@@ -0,0 +1,35 @@
+@keyframes bounceInUp {
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ from {
+ opacity: 0;
+ transform: translate3d(0, 3000px, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ transform: translate3d(0, -20px, 0);
+ }
+
+ 75% {
+ transform: translate3d(0, 10px, 0);
+ }
+
+ 90% {
+ transform: translate3d(0, -5px, 0);
+ }
+
+ to {
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.bounceInUp {
+ animation-name: bounceInUp;
+}
diff --git a/node_modules/animate.css/source/bouncing_exits/bounceOut.css b/node_modules/animate.css/source/bouncing_exits/bounceOut.css
new file mode 100644
index 0000000..dc3eab5
--- /dev/null
+++ b/node_modules/animate.css/source/bouncing_exits/bounceOut.css
@@ -0,0 +1,21 @@
+@keyframes bounceOut {
+ 20% {
+ transform: scale3d(0.9, 0.9, 0.9);
+ }
+
+ 50%,
+ 55% {
+ opacity: 1;
+ transform: scale3d(1.1, 1.1, 1.1);
+ }
+
+ to {
+ opacity: 0;
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
+}
+
+.bounceOut {
+ animation-duration: 0.75s;
+ animation-name: bounceOut;
+}
diff --git a/node_modules/animate.css/source/bouncing_exits/bounceOutDown.css b/node_modules/animate.css/source/bouncing_exits/bounceOutDown.css
new file mode 100644
index 0000000..0fd65cf
--- /dev/null
+++ b/node_modules/animate.css/source/bouncing_exits/bounceOutDown.css
@@ -0,0 +1,20 @@
+@keyframes bounceOutDown {
+ 20% {
+ transform: translate3d(0, 10px, 0);
+ }
+
+ 40%,
+ 45% {
+ opacity: 1;
+ transform: translate3d(0, -20px, 0);
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(0, 2000px, 0);
+ }
+}
+
+.bounceOutDown {
+ animation-name: bounceOutDown;
+}
diff --git a/node_modules/animate.css/source/bouncing_exits/bounceOutLeft.css b/node_modules/animate.css/source/bouncing_exits/bounceOutLeft.css
new file mode 100644
index 0000000..591d2a5
--- /dev/null
+++ b/node_modules/animate.css/source/bouncing_exits/bounceOutLeft.css
@@ -0,0 +1,15 @@
+@keyframes bounceOutLeft {
+ 20% {
+ opacity: 1;
+ transform: translate3d(20px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(-2000px, 0, 0);
+ }
+}
+
+.bounceOutLeft {
+ animation-name: bounceOutLeft;
+}
diff --git a/node_modules/animate.css/source/bouncing_exits/bounceOutRight.css b/node_modules/animate.css/source/bouncing_exits/bounceOutRight.css
new file mode 100644
index 0000000..355b50e
--- /dev/null
+++ b/node_modules/animate.css/source/bouncing_exits/bounceOutRight.css
@@ -0,0 +1,15 @@
+@keyframes bounceOutRight {
+ 20% {
+ opacity: 1;
+ transform: translate3d(-20px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(2000px, 0, 0);
+ }
+}
+
+.bounceOutRight {
+ animation-name: bounceOutRight;
+}
diff --git a/node_modules/animate.css/source/bouncing_exits/bounceOutUp.css b/node_modules/animate.css/source/bouncing_exits/bounceOutUp.css
new file mode 100644
index 0000000..0a6b286
--- /dev/null
+++ b/node_modules/animate.css/source/bouncing_exits/bounceOutUp.css
@@ -0,0 +1,20 @@
+@keyframes bounceOutUp {
+ 20% {
+ transform: translate3d(0, -10px, 0);
+ }
+
+ 40%,
+ 45% {
+ opacity: 1;
+ transform: translate3d(0, 20px, 0);
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(0, -2000px, 0);
+ }
+}
+
+.bounceOutUp {
+ animation-name: bounceOutUp;
+}
diff --git a/node_modules/animate.css/source/fading_entrances/fadeIn.css b/node_modules/animate.css/source/fading_entrances/fadeIn.css
new file mode 100644
index 0000000..f0fa0cc
--- /dev/null
+++ b/node_modules/animate.css/source/fading_entrances/fadeIn.css
@@ -0,0 +1,13 @@
+@keyframes fadeIn {
+ from {
+ opacity: 0;
+ }
+
+ to {
+ opacity: 1;
+ }
+}
+
+.fadeIn {
+ animation-name: fadeIn;
+}
diff --git a/node_modules/animate.css/source/fading_entrances/fadeInDown.css b/node_modules/animate.css/source/fading_entrances/fadeInDown.css
new file mode 100644
index 0000000..e180b52
--- /dev/null
+++ b/node_modules/animate.css/source/fading_entrances/fadeInDown.css
@@ -0,0 +1,15 @@
+@keyframes fadeInDown {
+ from {
+ opacity: 0;
+ transform: translate3d(0, -100%, 0);
+ }
+
+ to {
+ opacity: 1;
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInDown {
+ animation-name: fadeInDown;
+}
diff --git a/node_modules/animate.css/source/fading_entrances/fadeInDownBig.css b/node_modules/animate.css/source/fading_entrances/fadeInDownBig.css
new file mode 100644
index 0000000..c2da977
--- /dev/null
+++ b/node_modules/animate.css/source/fading_entrances/fadeInDownBig.css
@@ -0,0 +1,15 @@
+@keyframes fadeInDownBig {
+ from {
+ opacity: 0;
+ transform: translate3d(0, -2000px, 0);
+ }
+
+ to {
+ opacity: 1;
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInDownBig {
+ animation-name: fadeInDownBig;
+}
diff --git a/node_modules/animate.css/source/fading_entrances/fadeInLeft.css b/node_modules/animate.css/source/fading_entrances/fadeInLeft.css
new file mode 100644
index 0000000..47acc42
--- /dev/null
+++ b/node_modules/animate.css/source/fading_entrances/fadeInLeft.css
@@ -0,0 +1,15 @@
+@keyframes fadeInLeft {
+ from {
+ opacity: 0;
+ transform: translate3d(-100%, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInLeft {
+ animation-name: fadeInLeft;
+}
diff --git a/node_modules/animate.css/source/fading_entrances/fadeInLeftBig.css b/node_modules/animate.css/source/fading_entrances/fadeInLeftBig.css
new file mode 100644
index 0000000..39b5ed2
--- /dev/null
+++ b/node_modules/animate.css/source/fading_entrances/fadeInLeftBig.css
@@ -0,0 +1,15 @@
+@keyframes fadeInLeftBig {
+ from {
+ opacity: 0;
+ transform: translate3d(-2000px, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInLeftBig {
+ animation-name: fadeInLeftBig;
+}
diff --git a/node_modules/animate.css/source/fading_entrances/fadeInRight.css b/node_modules/animate.css/source/fading_entrances/fadeInRight.css
new file mode 100644
index 0000000..856fef3
--- /dev/null
+++ b/node_modules/animate.css/source/fading_entrances/fadeInRight.css
@@ -0,0 +1,15 @@
+@keyframes fadeInRight {
+ from {
+ opacity: 0;
+ transform: translate3d(100%, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInRight {
+ animation-name: fadeInRight;
+}
diff --git a/node_modules/animate.css/source/fading_entrances/fadeInRightBig.css b/node_modules/animate.css/source/fading_entrances/fadeInRightBig.css
new file mode 100644
index 0000000..d9cbc64
--- /dev/null
+++ b/node_modules/animate.css/source/fading_entrances/fadeInRightBig.css
@@ -0,0 +1,15 @@
+@keyframes fadeInRightBig {
+ from {
+ opacity: 0;
+ transform: translate3d(2000px, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInRightBig {
+ animation-name: fadeInRightBig;
+}
diff --git a/node_modules/animate.css/source/fading_entrances/fadeInUp.css b/node_modules/animate.css/source/fading_entrances/fadeInUp.css
new file mode 100644
index 0000000..c66c840
--- /dev/null
+++ b/node_modules/animate.css/source/fading_entrances/fadeInUp.css
@@ -0,0 +1,15 @@
+@keyframes fadeInUp {
+ from {
+ opacity: 0;
+ transform: translate3d(0, 100%, 0);
+ }
+
+ to {
+ opacity: 1;
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInUp {
+ animation-name: fadeInUp;
+}
diff --git a/node_modules/animate.css/source/fading_entrances/fadeInUpBig.css b/node_modules/animate.css/source/fading_entrances/fadeInUpBig.css
new file mode 100644
index 0000000..11adc5c
--- /dev/null
+++ b/node_modules/animate.css/source/fading_entrances/fadeInUpBig.css
@@ -0,0 +1,15 @@
+@keyframes fadeInUpBig {
+ from {
+ opacity: 0;
+ transform: translate3d(0, 2000px, 0);
+ }
+
+ to {
+ opacity: 1;
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInUpBig {
+ animation-name: fadeInUpBig;
+}
diff --git a/node_modules/animate.css/source/fading_exits/fadeOut.css b/node_modules/animate.css/source/fading_exits/fadeOut.css
new file mode 100644
index 0000000..635b639
--- /dev/null
+++ b/node_modules/animate.css/source/fading_exits/fadeOut.css
@@ -0,0 +1,13 @@
+@keyframes fadeOut {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ }
+}
+
+.fadeOut {
+ animation-name: fadeOut;
+}
diff --git a/node_modules/animate.css/source/fading_exits/fadeOutDown.css b/node_modules/animate.css/source/fading_exits/fadeOutDown.css
new file mode 100644
index 0000000..e8b4446
--- /dev/null
+++ b/node_modules/animate.css/source/fading_exits/fadeOutDown.css
@@ -0,0 +1,14 @@
+@keyframes fadeOutDown {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(0, 100%, 0);
+ }
+}
+
+.fadeOutDown {
+ animation-name: fadeOutDown;
+}
diff --git a/node_modules/animate.css/source/fading_exits/fadeOutDownBig.css b/node_modules/animate.css/source/fading_exits/fadeOutDownBig.css
new file mode 100644
index 0000000..a728101
--- /dev/null
+++ b/node_modules/animate.css/source/fading_exits/fadeOutDownBig.css
@@ -0,0 +1,14 @@
+@keyframes fadeOutDownBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(0, 2000px, 0);
+ }
+}
+
+.fadeOutDownBig {
+ animation-name: fadeOutDownBig;
+}
diff --git a/node_modules/animate.css/source/fading_exits/fadeOutLeft.css b/node_modules/animate.css/source/fading_exits/fadeOutLeft.css
new file mode 100644
index 0000000..320e02a
--- /dev/null
+++ b/node_modules/animate.css/source/fading_exits/fadeOutLeft.css
@@ -0,0 +1,14 @@
+@keyframes fadeOutLeft {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(-100%, 0, 0);
+ }
+}
+
+.fadeOutLeft {
+ animation-name: fadeOutLeft;
+}
diff --git a/node_modules/animate.css/source/fading_exits/fadeOutLeftBig.css b/node_modules/animate.css/source/fading_exits/fadeOutLeftBig.css
new file mode 100644
index 0000000..0a4bbb6
--- /dev/null
+++ b/node_modules/animate.css/source/fading_exits/fadeOutLeftBig.css
@@ -0,0 +1,14 @@
+@keyframes fadeOutLeftBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(-2000px, 0, 0);
+ }
+}
+
+.fadeOutLeftBig {
+ animation-name: fadeOutLeftBig;
+}
diff --git a/node_modules/animate.css/source/fading_exits/fadeOutRight.css b/node_modules/animate.css/source/fading_exits/fadeOutRight.css
new file mode 100644
index 0000000..b83e9f2
--- /dev/null
+++ b/node_modules/animate.css/source/fading_exits/fadeOutRight.css
@@ -0,0 +1,14 @@
+@keyframes fadeOutRight {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(100%, 0, 0);
+ }
+}
+
+.fadeOutRight {
+ animation-name: fadeOutRight;
+}
diff --git a/node_modules/animate.css/source/fading_exits/fadeOutRightBig.css b/node_modules/animate.css/source/fading_exits/fadeOutRightBig.css
new file mode 100644
index 0000000..47ce4d3
--- /dev/null
+++ b/node_modules/animate.css/source/fading_exits/fadeOutRightBig.css
@@ -0,0 +1,14 @@
+@keyframes fadeOutRightBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(2000px, 0, 0);
+ }
+}
+
+.fadeOutRightBig {
+ animation-name: fadeOutRightBig;
+}
diff --git a/node_modules/animate.css/source/fading_exits/fadeOutUp.css b/node_modules/animate.css/source/fading_exits/fadeOutUp.css
new file mode 100644
index 0000000..687f3a9
--- /dev/null
+++ b/node_modules/animate.css/source/fading_exits/fadeOutUp.css
@@ -0,0 +1,14 @@
+@keyframes fadeOutUp {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(0, -100%, 0);
+ }
+}
+
+.fadeOutUp {
+ animation-name: fadeOutUp;
+}
diff --git a/node_modules/animate.css/source/fading_exits/fadeOutUpBig.css b/node_modules/animate.css/source/fading_exits/fadeOutUpBig.css
new file mode 100644
index 0000000..e246173
--- /dev/null
+++ b/node_modules/animate.css/source/fading_exits/fadeOutUpBig.css
@@ -0,0 +1,14 @@
+@keyframes fadeOutUpBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(0, -2000px, 0);
+ }
+}
+
+.fadeOutUpBig {
+ animation-name: fadeOutUpBig;
+}
diff --git a/node_modules/animate.css/source/flippers/flip.css b/node_modules/animate.css/source/flippers/flip.css
new file mode 100644
index 0000000..821b4bc
--- /dev/null
+++ b/node_modules/animate.css/source/flippers/flip.css
@@ -0,0 +1,34 @@
+@keyframes flip {
+ from {
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
+ animation-timing-function: ease-out;
+ }
+
+ 40% {
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
+ rotate3d(0, 1, 0, -190deg);
+ animation-timing-function: ease-out;
+ }
+
+ 50% {
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
+ rotate3d(0, 1, 0, -170deg);
+ animation-timing-function: ease-in;
+ }
+
+ 80% {
+ transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
+ rotate3d(0, 1, 0, 0deg);
+ animation-timing-function: ease-in;
+ }
+
+ to {
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
+ animation-timing-function: ease-in;
+ }
+}
+
+.animated.flip {
+ backface-visibility: visible;
+ animation-name: flip;
+}
diff --git a/node_modules/animate.css/source/flippers/flipInX.css b/node_modules/animate.css/source/flippers/flipInX.css
new file mode 100644
index 0000000..58bdd3b
--- /dev/null
+++ b/node_modules/animate.css/source/flippers/flipInX.css
@@ -0,0 +1,30 @@
+@keyframes flipInX {
+ from {
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ animation-timing-function: ease-in;
+ opacity: 0;
+ }
+
+ 40% {
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ animation-timing-function: ease-in;
+ }
+
+ 60% {
+ transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
+ opacity: 1;
+ }
+
+ 80% {
+ transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
+ }
+
+ to {
+ transform: perspective(400px);
+ }
+}
+
+.flipInX {
+ backface-visibility: visible !important;
+ animation-name: flipInX;
+}
diff --git a/node_modules/animate.css/source/flippers/flipInY.css b/node_modules/animate.css/source/flippers/flipInY.css
new file mode 100644
index 0000000..b1df818
--- /dev/null
+++ b/node_modules/animate.css/source/flippers/flipInY.css
@@ -0,0 +1,30 @@
+@keyframes flipInY {
+ from {
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ animation-timing-function: ease-in;
+ opacity: 0;
+ }
+
+ 40% {
+ transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
+ animation-timing-function: ease-in;
+ }
+
+ 60% {
+ transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
+ opacity: 1;
+ }
+
+ 80% {
+ transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
+ }
+
+ to {
+ transform: perspective(400px);
+ }
+}
+
+.flipInY {
+ backface-visibility: visible !important;
+ animation-name: flipInY;
+}
diff --git a/node_modules/animate.css/source/flippers/flipOutX.css b/node_modules/animate.css/source/flippers/flipOutX.css
new file mode 100644
index 0000000..59dc8a1
--- /dev/null
+++ b/node_modules/animate.css/source/flippers/flipOutX.css
@@ -0,0 +1,21 @@
+@keyframes flipOutX {
+ from {
+ transform: perspective(400px);
+ }
+
+ 30% {
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ opacity: 1;
+ }
+
+ to {
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ opacity: 0;
+ }
+}
+
+.flipOutX {
+ animation-duration: 0.75s;
+ animation-name: flipOutX;
+ backface-visibility: visible !important;
+}
diff --git a/node_modules/animate.css/source/flippers/flipOutY.css b/node_modules/animate.css/source/flippers/flipOutY.css
new file mode 100644
index 0000000..02ac8e8
--- /dev/null
+++ b/node_modules/animate.css/source/flippers/flipOutY.css
@@ -0,0 +1,21 @@
+@keyframes flipOutY {
+ from {
+ transform: perspective(400px);
+ }
+
+ 30% {
+ transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
+ opacity: 1;
+ }
+
+ to {
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ opacity: 0;
+ }
+}
+
+.flipOutY {
+ animation-duration: 0.75s;
+ backface-visibility: visible !important;
+ animation-name: flipOutY;
+}
diff --git a/node_modules/animate.css/source/lightspeed/lightSpeedIn.css b/node_modules/animate.css/source/lightspeed/lightSpeedIn.css
new file mode 100644
index 0000000..daf1a8a
--- /dev/null
+++ b/node_modules/animate.css/source/lightspeed/lightSpeedIn.css
@@ -0,0 +1,24 @@
+@keyframes lightSpeedIn {
+ from {
+ transform: translate3d(100%, 0, 0) skewX(-30deg);
+ opacity: 0;
+ }
+
+ 60% {
+ transform: skewX(20deg);
+ opacity: 1;
+ }
+
+ 80% {
+ transform: skewX(-5deg);
+ }
+
+ to {
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.lightSpeedIn {
+ animation-name: lightSpeedIn;
+ animation-timing-function: ease-out;
+}
diff --git a/node_modules/animate.css/source/lightspeed/lightSpeedOut.css b/node_modules/animate.css/source/lightspeed/lightSpeedOut.css
new file mode 100644
index 0000000..2606e74
--- /dev/null
+++ b/node_modules/animate.css/source/lightspeed/lightSpeedOut.css
@@ -0,0 +1,15 @@
+@keyframes lightSpeedOut {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ transform: translate3d(100%, 0, 0) skewX(30deg);
+ opacity: 0;
+ }
+}
+
+.lightSpeedOut {
+ animation-name: lightSpeedOut;
+ animation-timing-function: ease-in;
+}
diff --git a/node_modules/animate.css/source/rotating_entrances/rotateIn.css b/node_modules/animate.css/source/rotating_entrances/rotateIn.css
new file mode 100644
index 0000000..06e61f1
--- /dev/null
+++ b/node_modules/animate.css/source/rotating_entrances/rotateIn.css
@@ -0,0 +1,17 @@
+@keyframes rotateIn {
+ from {
+ transform-origin: center;
+ transform: rotate3d(0, 0, 1, -200deg);
+ opacity: 0;
+ }
+
+ to {
+ transform-origin: center;
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+.rotateIn {
+ animation-name: rotateIn;
+}
diff --git a/node_modules/animate.css/source/rotating_entrances/rotateInDownLeft.css b/node_modules/animate.css/source/rotating_entrances/rotateInDownLeft.css
new file mode 100644
index 0000000..2aaf361
--- /dev/null
+++ b/node_modules/animate.css/source/rotating_entrances/rotateInDownLeft.css
@@ -0,0 +1,17 @@
+@keyframes rotateInDownLeft {
+ from {
+ transform-origin: left bottom;
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0;
+ }
+
+ to {
+ transform-origin: left bottom;
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+.rotateInDownLeft {
+ animation-name: rotateInDownLeft;
+}
diff --git a/node_modules/animate.css/source/rotating_entrances/rotateInDownRight.css b/node_modules/animate.css/source/rotating_entrances/rotateInDownRight.css
new file mode 100644
index 0000000..1471504
--- /dev/null
+++ b/node_modules/animate.css/source/rotating_entrances/rotateInDownRight.css
@@ -0,0 +1,17 @@
+@keyframes rotateInDownRight {
+ from {
+ transform-origin: right bottom;
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0;
+ }
+
+ to {
+ transform-origin: right bottom;
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+.rotateInDownRight {
+ animation-name: rotateInDownRight;
+}
diff --git a/node_modules/animate.css/source/rotating_entrances/rotateInUpLeft.css b/node_modules/animate.css/source/rotating_entrances/rotateInUpLeft.css
new file mode 100644
index 0000000..9cb1451
--- /dev/null
+++ b/node_modules/animate.css/source/rotating_entrances/rotateInUpLeft.css
@@ -0,0 +1,17 @@
+@keyframes rotateInUpLeft {
+ from {
+ transform-origin: left bottom;
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0;
+ }
+
+ to {
+ transform-origin: left bottom;
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+.rotateInUpLeft {
+ animation-name: rotateInUpLeft;
+}
diff --git a/node_modules/animate.css/source/rotating_entrances/rotateInUpRight.css b/node_modules/animate.css/source/rotating_entrances/rotateInUpRight.css
new file mode 100644
index 0000000..6fad935
--- /dev/null
+++ b/node_modules/animate.css/source/rotating_entrances/rotateInUpRight.css
@@ -0,0 +1,17 @@
+@keyframes rotateInUpRight {
+ from {
+ transform-origin: right bottom;
+ transform: rotate3d(0, 0, 1, -90deg);
+ opacity: 0;
+ }
+
+ to {
+ transform-origin: right bottom;
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+.rotateInUpRight {
+ animation-name: rotateInUpRight;
+}
diff --git a/node_modules/animate.css/source/rotating_exits/rotateOut.css b/node_modules/animate.css/source/rotating_exits/rotateOut.css
new file mode 100644
index 0000000..ff580f7
--- /dev/null
+++ b/node_modules/animate.css/source/rotating_exits/rotateOut.css
@@ -0,0 +1,16 @@
+@keyframes rotateOut {
+ from {
+ transform-origin: center;
+ opacity: 1;
+ }
+
+ to {
+ transform-origin: center;
+ transform: rotate3d(0, 0, 1, 200deg);
+ opacity: 0;
+ }
+}
+
+.rotateOut {
+ animation-name: rotateOut;
+}
diff --git a/node_modules/animate.css/source/rotating_exits/rotateOutDownLeft.css b/node_modules/animate.css/source/rotating_exits/rotateOutDownLeft.css
new file mode 100644
index 0000000..bb2111e
--- /dev/null
+++ b/node_modules/animate.css/source/rotating_exits/rotateOutDownLeft.css
@@ -0,0 +1,16 @@
+@keyframes rotateOutDownLeft {
+ from {
+ transform-origin: left bottom;
+ opacity: 1;
+ }
+
+ to {
+ transform-origin: left bottom;
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0;
+ }
+}
+
+.rotateOutDownLeft {
+ animation-name: rotateOutDownLeft;
+}
diff --git a/node_modules/animate.css/source/rotating_exits/rotateOutDownRight.css b/node_modules/animate.css/source/rotating_exits/rotateOutDownRight.css
new file mode 100644
index 0000000..88a46ec
--- /dev/null
+++ b/node_modules/animate.css/source/rotating_exits/rotateOutDownRight.css
@@ -0,0 +1,16 @@
+@keyframes rotateOutDownRight {
+ from {
+ transform-origin: right bottom;
+ opacity: 1;
+ }
+
+ to {
+ transform-origin: right bottom;
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0;
+ }
+}
+
+.rotateOutDownRight {
+ animation-name: rotateOutDownRight;
+}
diff --git a/node_modules/animate.css/source/rotating_exits/rotateOutUpLeft.css b/node_modules/animate.css/source/rotating_exits/rotateOutUpLeft.css
new file mode 100644
index 0000000..a95f61b
--- /dev/null
+++ b/node_modules/animate.css/source/rotating_exits/rotateOutUpLeft.css
@@ -0,0 +1,16 @@
+@keyframes rotateOutUpLeft {
+ from {
+ transform-origin: left bottom;
+ opacity: 1;
+ }
+
+ to {
+ transform-origin: left bottom;
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0;
+ }
+}
+
+.rotateOutUpLeft {
+ animation-name: rotateOutUpLeft;
+}
diff --git a/node_modules/animate.css/source/rotating_exits/rotateOutUpRight.css b/node_modules/animate.css/source/rotating_exits/rotateOutUpRight.css
new file mode 100644
index 0000000..baf0e3a
--- /dev/null
+++ b/node_modules/animate.css/source/rotating_exits/rotateOutUpRight.css
@@ -0,0 +1,16 @@
+@keyframes rotateOutUpRight {
+ from {
+ transform-origin: right bottom;
+ opacity: 1;
+ }
+
+ to {
+ transform-origin: right bottom;
+ transform: rotate3d(0, 0, 1, 90deg);
+ opacity: 0;
+ }
+}
+
+.rotateOutUpRight {
+ animation-name: rotateOutUpRight;
+}
diff --git a/node_modules/animate.css/source/sliding_entrances/slideInDown.css b/node_modules/animate.css/source/sliding_entrances/slideInDown.css
new file mode 100644
index 0000000..1e133a1
--- /dev/null
+++ b/node_modules/animate.css/source/sliding_entrances/slideInDown.css
@@ -0,0 +1,14 @@
+@keyframes slideInDown {
+ from {
+ transform: translate3d(0, -100%, 0);
+ visibility: visible;
+ }
+
+ to {
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.slideInDown {
+ animation-name: slideInDown;
+}
diff --git a/node_modules/animate.css/source/sliding_entrances/slideInLeft.css b/node_modules/animate.css/source/sliding_entrances/slideInLeft.css
new file mode 100644
index 0000000..3f94f8f
--- /dev/null
+++ b/node_modules/animate.css/source/sliding_entrances/slideInLeft.css
@@ -0,0 +1,14 @@
+@keyframes slideInLeft {
+ from {
+ transform: translate3d(-100%, 0, 0);
+ visibility: visible;
+ }
+
+ to {
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.slideInLeft {
+ animation-name: slideInLeft;
+}
diff --git a/node_modules/animate.css/source/sliding_entrances/slideInRight.css b/node_modules/animate.css/source/sliding_entrances/slideInRight.css
new file mode 100644
index 0000000..254ce21
--- /dev/null
+++ b/node_modules/animate.css/source/sliding_entrances/slideInRight.css
@@ -0,0 +1,14 @@
+@keyframes slideInRight {
+ from {
+ transform: translate3d(100%, 0, 0);
+ visibility: visible;
+ }
+
+ to {
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.slideInRight {
+ animation-name: slideInRight;
+}
diff --git a/node_modules/animate.css/source/sliding_entrances/slideInUp.css b/node_modules/animate.css/source/sliding_entrances/slideInUp.css
new file mode 100644
index 0000000..689777c
--- /dev/null
+++ b/node_modules/animate.css/source/sliding_entrances/slideInUp.css
@@ -0,0 +1,14 @@
+@keyframes slideInUp {
+ from {
+ transform: translate3d(0, 100%, 0);
+ visibility: visible;
+ }
+
+ to {
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.slideInUp {
+ animation-name: slideInUp;
+}
diff --git a/node_modules/animate.css/source/sliding_exits/slideOutDown.css b/node_modules/animate.css/source/sliding_exits/slideOutDown.css
new file mode 100644
index 0000000..7295a8f
--- /dev/null
+++ b/node_modules/animate.css/source/sliding_exits/slideOutDown.css
@@ -0,0 +1,14 @@
+@keyframes slideOutDown {
+ from {
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ transform: translate3d(0, 100%, 0);
+ }
+}
+
+.slideOutDown {
+ animation-name: slideOutDown;
+}
diff --git a/node_modules/animate.css/source/sliding_exits/slideOutLeft.css b/node_modules/animate.css/source/sliding_exits/slideOutLeft.css
new file mode 100644
index 0000000..5b64d06
--- /dev/null
+++ b/node_modules/animate.css/source/sliding_exits/slideOutLeft.css
@@ -0,0 +1,14 @@
+@keyframes slideOutLeft {
+ from {
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ transform: translate3d(-100%, 0, 0);
+ }
+}
+
+.slideOutLeft {
+ animation-name: slideOutLeft;
+}
diff --git a/node_modules/animate.css/source/sliding_exits/slideOutRight.css b/node_modules/animate.css/source/sliding_exits/slideOutRight.css
new file mode 100644
index 0000000..ed1e263
--- /dev/null
+++ b/node_modules/animate.css/source/sliding_exits/slideOutRight.css
@@ -0,0 +1,14 @@
+@keyframes slideOutRight {
+ from {
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ transform: translate3d(100%, 0, 0);
+ }
+}
+
+.slideOutRight {
+ animation-name: slideOutRight;
+}
diff --git a/node_modules/animate.css/source/sliding_exits/slideOutUp.css b/node_modules/animate.css/source/sliding_exits/slideOutUp.css
new file mode 100644
index 0000000..dd57f96
--- /dev/null
+++ b/node_modules/animate.css/source/sliding_exits/slideOutUp.css
@@ -0,0 +1,14 @@
+@keyframes slideOutUp {
+ from {
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ transform: translate3d(0, -100%, 0);
+ }
+}
+
+.slideOutUp {
+ animation-name: slideOutUp;
+}
diff --git a/node_modules/animate.css/source/specials/hinge.css b/node_modules/animate.css/source/specials/hinge.css
new file mode 100644
index 0000000..226b5b4
--- /dev/null
+++ b/node_modules/animate.css/source/specials/hinge.css
@@ -0,0 +1,31 @@
+@keyframes hinge {
+ 0% {
+ transform-origin: top left;
+ animation-timing-function: ease-in-out;
+ }
+
+ 20%,
+ 60% {
+ transform: rotate3d(0, 0, 1, 80deg);
+ transform-origin: top left;
+ animation-timing-function: ease-in-out;
+ }
+
+ 40%,
+ 80% {
+ transform: rotate3d(0, 0, 1, 60deg);
+ transform-origin: top left;
+ animation-timing-function: ease-in-out;
+ opacity: 1;
+ }
+
+ to {
+ transform: translate3d(0, 700px, 0);
+ opacity: 0;
+ }
+}
+
+.hinge {
+ animation-duration: 2s;
+ animation-name: hinge;
+}
diff --git a/node_modules/animate.css/source/specials/jackInTheBox.css b/node_modules/animate.css/source/specials/jackInTheBox.css
new file mode 100644
index 0000000..1a07c68
--- /dev/null
+++ b/node_modules/animate.css/source/specials/jackInTheBox.css
@@ -0,0 +1,24 @@
+@keyframes jackInTheBox {
+ from {
+ opacity: 0;
+ transform: scale(0.1) rotate(30deg);
+ transform-origin: center bottom;
+ }
+
+ 50% {
+ transform: rotate(-10deg);
+ }
+
+ 70% {
+ transform: rotate(3deg);
+ }
+
+ to {
+ opacity: 1;
+ transform: scale(1);
+ }
+}
+
+.jackInTheBox {
+ animation-name: jackInTheBox;
+}
diff --git a/node_modules/animate.css/source/specials/rollIn.css b/node_modules/animate.css/source/specials/rollIn.css
new file mode 100644
index 0000000..293138f
--- /dev/null
+++ b/node_modules/animate.css/source/specials/rollIn.css
@@ -0,0 +1,17 @@
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@keyframes rollIn {
+ from {
+ opacity: 0;
+ transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
+ }
+
+ to {
+ opacity: 1;
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.rollIn {
+ animation-name: rollIn;
+}
diff --git a/node_modules/animate.css/source/specials/rollOut.css b/node_modules/animate.css/source/specials/rollOut.css
new file mode 100644
index 0000000..f54d562
--- /dev/null
+++ b/node_modules/animate.css/source/specials/rollOut.css
@@ -0,0 +1,16 @@
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@keyframes rollOut {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
+ }
+}
+
+.rollOut {
+ animation-name: rollOut;
+}
diff --git a/node_modules/animate.css/source/zooming_entrances/zoomIn.css b/node_modules/animate.css/source/zooming_entrances/zoomIn.css
new file mode 100644
index 0000000..08e7af9
--- /dev/null
+++ b/node_modules/animate.css/source/zooming_entrances/zoomIn.css
@@ -0,0 +1,14 @@
+@keyframes zoomIn {
+ from {
+ opacity: 0;
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
+
+ 50% {
+ opacity: 1;
+ }
+}
+
+.zoomIn {
+ animation-name: zoomIn;
+}
diff --git a/node_modules/animate.css/source/zooming_entrances/zoomInDown.css b/node_modules/animate.css/source/zooming_entrances/zoomInDown.css
new file mode 100644
index 0000000..35ec0f8
--- /dev/null
+++ b/node_modules/animate.css/source/zooming_entrances/zoomInDown.css
@@ -0,0 +1,17 @@
+@keyframes zoomInDown {
+ from {
+ opacity: 0;
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ 60% {
+ opacity: 1;
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+.zoomInDown {
+ animation-name: zoomInDown;
+}
diff --git a/node_modules/animate.css/source/zooming_entrances/zoomInLeft.css b/node_modules/animate.css/source/zooming_entrances/zoomInLeft.css
new file mode 100644
index 0000000..869109a
--- /dev/null
+++ b/node_modules/animate.css/source/zooming_entrances/zoomInLeft.css
@@ -0,0 +1,17 @@
+@keyframes zoomInLeft {
+ from {
+ opacity: 0;
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ 60% {
+ opacity: 1;
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+.zoomInLeft {
+ animation-name: zoomInLeft;
+}
diff --git a/node_modules/animate.css/source/zooming_entrances/zoomInRight.css b/node_modules/animate.css/source/zooming_entrances/zoomInRight.css
new file mode 100644
index 0000000..dc113b9
--- /dev/null
+++ b/node_modules/animate.css/source/zooming_entrances/zoomInRight.css
@@ -0,0 +1,17 @@
+@keyframes zoomInRight {
+ from {
+ opacity: 0;
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ 60% {
+ opacity: 1;
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+.zoomInRight {
+ animation-name: zoomInRight;
+}
diff --git a/node_modules/animate.css/source/zooming_entrances/zoomInUp.css b/node_modules/animate.css/source/zooming_entrances/zoomInUp.css
new file mode 100644
index 0000000..de550a5
--- /dev/null
+++ b/node_modules/animate.css/source/zooming_entrances/zoomInUp.css
@@ -0,0 +1,17 @@
+@keyframes zoomInUp {
+ from {
+ opacity: 0;
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ 60% {
+ opacity: 1;
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+.zoomInUp {
+ animation-name: zoomInUp;
+}
diff --git a/node_modules/animate.css/source/zooming_exits/zoomOut.css b/node_modules/animate.css/source/zooming_exits/zoomOut.css
new file mode 100644
index 0000000..bb3c3b1
--- /dev/null
+++ b/node_modules/animate.css/source/zooming_exits/zoomOut.css
@@ -0,0 +1,18 @@
+@keyframes zoomOut {
+ from {
+ opacity: 1;
+ }
+
+ 50% {
+ opacity: 0;
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
+
+ to {
+ opacity: 0;
+ }
+}
+
+.zoomOut {
+ animation-name: zoomOut;
+}
diff --git a/node_modules/animate.css/source/zooming_exits/zoomOutDown.css b/node_modules/animate.css/source/zooming_exits/zoomOutDown.css
new file mode 100644
index 0000000..761e283
--- /dev/null
+++ b/node_modules/animate.css/source/zooming_exits/zoomOutDown.css
@@ -0,0 +1,18 @@
+@keyframes zoomOutDown {
+ 40% {
+ opacity: 1;
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ to {
+ opacity: 0;
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
+ transform-origin: center bottom;
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+.zoomOutDown {
+ animation-name: zoomOutDown;
+}
diff --git a/node_modules/animate.css/source/zooming_exits/zoomOutLeft.css b/node_modules/animate.css/source/zooming_exits/zoomOutLeft.css
new file mode 100644
index 0000000..825783d
--- /dev/null
+++ b/node_modules/animate.css/source/zooming_exits/zoomOutLeft.css
@@ -0,0 +1,16 @@
+@keyframes zoomOutLeft {
+ 40% {
+ opacity: 1;
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ transform: scale(0.1) translate3d(-2000px, 0, 0);
+ transform-origin: left center;
+ }
+}
+
+.zoomOutLeft {
+ animation-name: zoomOutLeft;
+}
diff --git a/node_modules/animate.css/source/zooming_exits/zoomOutRight.css b/node_modules/animate.css/source/zooming_exits/zoomOutRight.css
new file mode 100644
index 0000000..6013e4c
--- /dev/null
+++ b/node_modules/animate.css/source/zooming_exits/zoomOutRight.css
@@ -0,0 +1,16 @@
+@keyframes zoomOutRight {
+ 40% {
+ opacity: 1;
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ transform: scale(0.1) translate3d(2000px, 0, 0);
+ transform-origin: right center;
+ }
+}
+
+.zoomOutRight {
+ animation-name: zoomOutRight;
+}
diff --git a/node_modules/animate.css/source/zooming_exits/zoomOutUp.css b/node_modules/animate.css/source/zooming_exits/zoomOutUp.css
new file mode 100644
index 0000000..e48b8cb
--- /dev/null
+++ b/node_modules/animate.css/source/zooming_exits/zoomOutUp.css
@@ -0,0 +1,18 @@
+@keyframes zoomOutUp {
+ 40% {
+ opacity: 1;
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ to {
+ opacity: 0;
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
+ transform-origin: center bottom;
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+.zoomOutUp {
+ animation-name: zoomOutUp;
+}
diff --git a/node_modules/async-validator/LICENSE.md b/node_modules/async-validator/LICENSE.md
new file mode 100644
index 0000000..1f5a0d9
--- /dev/null
+++ b/node_modules/async-validator/LICENSE.md
@@ -0,0 +1,9 @@
+The MIT License (MIT)
+
+Copyright (c) 2014-present yiminghe
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/async-validator/README.md b/node_modules/async-validator/README.md
new file mode 100644
index 0000000..6e06a42
--- /dev/null
+++ b/node_modules/async-validator/README.md
@@ -0,0 +1,456 @@
+# async-validator
+---
+
+Validate form asynchronous. A variation of https://github.com/freeformsystems/async-validate
+
+[![NPM version][npm-image]][npm-url]
+[![build status][travis-image]][travis-url]
+[![Test coverage][coveralls-image]][coveralls-url]
+[![node version][node-image]][node-url]
+[![npm download][download-image]][download-url]
+[![npm bundle size (minified + gzip)][bundlesize-image]][bundlesize-url]
+
+[npm-image]: https://img.shields.io/npm/v/async-validator.svg?style=flat-square
+[npm-url]: https://npmjs.org/package/async-validator
+[travis-image]: https://img.shields.io/travis/yiminghe/async-validator.svg?style=flat-square
+[travis-url]: https://travis-ci.org/yiminghe/async-validator
+[coveralls-image]: https://img.shields.io/coveralls/yiminghe/async-validator.svg?style=flat-square
+[coveralls-url]: https://coveralls.io/r/yiminghe/async-validator?branch=master
+[node-image]: https://img.shields.io/badge/node.js-%3E=4.0.0-green.svg?style=flat-square
+[node-url]: https://nodejs.org/download/
+[download-image]: https://img.shields.io/npm/dm/async-validator.svg?style=flat-square
+[download-url]: https://npmjs.org/package/async-validator
+[bundlesize-image]: https://img.shields.io/bundlephobia/minzip/async-validator.svg?label=gzip%20size
+[bundlesize-url]: https://bundlephobia.com/result?p=async-validator
+
+## Install
+
+```
+npm i async-validator
+```
+
+## Usage
+
+Basic usage involves defining a descriptor, assigning it to a schema and passing the object to be validated and a callback function to the `validate` method of the schema:
+
+```javascript
+import schema from 'async-validator';
+var descriptor = {
+ name: {
+ type: "string",
+ required: true,
+ validator: (rule, value) => value === 'muji',
+ },
+ age: {
+ type: "number",
+ asyncValidator: (rule, value) => {
+ return new Promise((resolve, reject) => {
+ if (value < 18) {
+ reject("too young"); // reject with error message
+ } else {
+ resolve();
+ }
+ });
+ }
+ }
+};
+var validator = new schema(descriptor);
+validator.validate({name: "muji"}, (errors, fields) => {
+ if(errors) {
+ // validation failed, errors is an array of all errors
+ // fields is an object keyed by field name with an array of
+ // errors per field
+ return handleErrors(errors, fields);
+ }
+ // validation passed
+});
+
+// PROMISE USAGE
+validator.validate({ name: "muji", age: 16 }).then(() => {
+ // validation passed or without error message
+}).catch(({ errors, fields }) => {
+ return handleErrors(errors, fields);
+})
+```
+
+## API
+
+### Validate
+
+```javascript
+function(source, [options], callback): Promise
+```
+
+* `source`: The object to validate (required).
+* `options`: An object describing processing options for the validation (optional).
+* `callback`: A callback function to invoke when validation completes (required).
+
+The method will return a Promise object like:
+* `then()`,validation passed
+* `catch({ errors, fields })`,validation failed, errors is an array of all errors, fields is an object keyed by field name with an array of
+
+### Options
+
+* `suppressWarning`: Boolean, whether to suppress internal warning about invalid value.
+
+* `first`: Boolean, Invoke `callback` when the first validation rule generates an error,
+no more validation rules are processed.
+If your validation involves multiple asynchronous calls (for example, database queries) and you only need the first error use this option.
+
+* `firstFields`: Boolean|String[], Invoke `callback` when the first validation rule of the specified field generates an error,
+no more validation rules of the same field are processed. `true` means all fields.
+
+### Rules
+
+Rules may be functions that perform validation.
+
+```javascript
+function(rule, value, callback, source, options)
+```
+
+* `rule`: The validation rule in the source descriptor that corresponds to the field name being validated. It is always assigned a `field` property with the name of the field being validated.
+* `value`: The value of the source object property being validated.
+* `callback`: A callback function to invoke once validation is complete. It expects to be passed an array of `Error` instances to indicate validation failure. If the check is synchronous, you can directly return a ` false ` or ` Error ` or ` Error Array `.
+* `source`: The source object that was passed to the `validate` method.
+* `options`: Additional options.
+* `options.messages`: The object containing validation error messages, will be deep merged with defaultMessages.
+
+The options passed to `validate` or `asyncValidate` are passed on to the validation functions so that you may reference transient data (such as model references) in validation functions. However, some option names are reserved; if you use these properties of the options object they are overwritten. The reserved properties are `messages`, `exception` and `error`.
+
+```javascript
+import schema from 'async-validator';
+var descriptor = {
+ name(rule, value, callback, source, options) {
+ var errors = [];
+ if(!/^[a-z0-9]+$/.test(value)) {
+ errors.push(
+ new Error(
+ util.format("%s must be lowercase alphanumeric characters",
+ rule.field)));
+ }
+ return errors;
+ }
+}
+var validator = new schema(descriptor);
+validator.validate({name: "Firstname"}, (errors, fields) => {
+ if(errors) {
+ return handleErrors(errors, fields);
+ }
+ // validation passed
+});
+```
+
+It is often useful to test against multiple validation rules for a single field, to do so make the rule an array of objects, for example:
+
+```javascript
+var descriptor = {
+ email: [
+ {type: "string", required: true, pattern: schema.pattern.email},
+ {validator(rule, value, callback, source, options) {
+ var errors = [];
+ // test if email address already exists in a database
+ // and add a validation error to the errors array if it does
+ return errors;
+ }}
+ ]
+}
+```
+
+#### Type
+
+Indicates the `type` of validator to use. Recognised type values are:
+
+* `string`: Must be of type `string`. `This is the default type.`
+* `number`: Must be of type `number`.
+* `boolean`: Must be of type `boolean`.
+* `method`: Must be of type `function`.
+* `regexp`: Must be an instance of `RegExp` or a string that does not generate an exception when creating a new `RegExp`.
+* `integer`: Must be of type `number` and an integer.
+* `float`: Must be of type `number` and a floating point number.
+* `array`: Must be an array as determined by `Array.isArray`.
+* `object`: Must be of type `object` and not `Array.isArray`.
+* `enum`: Value must exist in the `enum`.
+* `date`: Value must be valid as determined by `Date`
+* `url`: Must be of type `url`.
+* `hex`: Must be of type `hex`.
+* `email`: Must be of type `email`.
+* `any`: Can be any type.
+
+#### Required
+
+The `required` rule property indicates that the field must exist on the source object being validated.
+
+#### Pattern
+
+The `pattern` rule property indicates a regular expression that the value must match to pass validation.
+
+#### Range
+
+A range is defined using the `min` and `max` properties. For `string` and `array` types comparison is performed against the `length`, for `number` types the number must not be less than `min` nor greater than `max`.
+
+#### Length
+
+To validate an exact length of a field specify the `len` property. For `string` and `array` types comparison is performed on the `length` property, for the `number` type this property indicates an exact match for the `number`, ie, it may only be strictly equal to `len`.
+
+If the `len` property is combined with the `min` and `max` range properties, `len` takes precedence.
+
+#### Enumerable
+
+> Since version 3.0.0 if you want to validate the values `0` or `false` inside `enum` types, you have to include them explicitly.
+
+To validate a value from a list of possible values use the `enum` type with a `enum` property listing the valid values for the field, for example:
+
+```javascript
+var descriptor = {
+ role: {type: "enum", enum: ['admin', 'user', 'guest']}
+}
+```
+
+#### Whitespace
+
+It is typical to treat required fields that only contain whitespace as errors. To add an additional test for a string that consists solely of whitespace add a `whitespace` property to a rule with a value of `true`. The rule must be a `string` type.
+
+You may wish to sanitize user input instead of testing for whitespace, see [transform](#transform) for an example that would allow you to strip whitespace.
+
+
+#### Deep Rules
+
+If you need to validate deep object properties you may do so for validation rules that are of the `object` or `array` type by assigning nested rules to a `fields` property of the rule.
+
+```javascript
+var descriptor = {
+ address: {
+ type: "object", required: true,
+ fields: {
+ street: {type: "string", required: true},
+ city: {type: "string", required: true},
+ zip: {type: "string", required: true, len: 8, message: "invalid zip"}
+ }
+ },
+ name: {type: "string", required: true}
+}
+var validator = new schema(descriptor);
+validator.validate({ address: {} }, (errors, fields) => {
+ // errors for address.street, address.city, address.zip
+});
+```
+
+Note that if you do not specify the `required` property on the parent rule it is perfectly valid for the field not to be declared on the source object and the deep validation rules will not be executed as there is nothing to validate against.
+
+Deep rule validation creates a schema for the nested rules so you can also specify the `options` passed to the `schema.validate()` method.
+
+```javascript
+var descriptor = {
+ address: {
+ type: "object", required: true, options: {first: true},
+ fields: {
+ street: {type: "string", required: true},
+ city: {type: "string", required: true},
+ zip: {type: "string", required: true, len: 8, message: "invalid zip"}
+ }
+ },
+ name: {type: "string", required: true}
+}
+var validator = new schema(descriptor);
+
+validator.validate({ address: {} })
+ .catch(({ errors, fields }) => {
+ // now only errors for street and name
+ });
+```
+
+The parent rule is also validated so if you have a set of rules such as:
+
+```javascript
+var descriptor = {
+ roles: {
+ type: "array", required: true, len: 3,
+ fields: {
+ 0: {type: "string", required: true},
+ 1: {type: "string", required: true},
+ 2: {type: "string", required: true}
+ }
+ }
+}
+```
+
+And supply a source object of `{roles: ["admin", "user"]}` then two errors will be created. One for the array length mismatch and one for the missing required array entry at index 2.
+
+#### defaultField
+
+The `defaultField` property can be used with the `array` or `object` type for validating all values of the container.
+It may be an `object` or `array` containing validation rules. For example:
+
+```javascript
+var descriptor = {
+ urls: {
+ type: "array", required: true,
+ defaultField: {type: "url"}
+ }
+}
+```
+
+Note that `defaultField` is expanded to `fields`, see [deep rules](#deep-rules).
+
+#### Transform
+
+Sometimes it is necessary to transform a value before validation, possibly to coerce the value or to sanitize it in some way. To do this add a `transform` function to the validation rule. The property is transformed prior to validation and re-assigned to the source object to mutate the value of the property in place.
+
+```javascript
+import schema from 'async-validator';
+var descriptor = {
+ name: {
+ type: "string",
+ required: true, pattern: /^[a-z]+$/,
+ transform(value) {
+ return value.trim();
+ }
+ }
+}
+var validator = new schema(descriptor);
+var source = {name: " user "};
+validator.validate(source)
+ .then(() => assert.equal(source.name, "user"));
+```
+
+Without the `transform` function validation would fail due to the pattern not matching as the input contains leading and trailing whitespace, but by adding the transform function validation passes and the field value is sanitized at the same time.
+
+
+#### Messages
+
+Depending upon your application requirements, you may need i18n support or you may prefer different validation error messages.
+
+The easiest way to achieve this is to assign a `message` to a rule:
+
+```javascript
+{name:{type: "string", required: true, message: "Name is required"}}
+```
+
+Message can be any type, such as jsx format.
+
+```javascript
+{name:{type: "string", required: true, message: "Name is required"}}
+```
+
+Message can also be a function, e.g. if you use vue-i18n:
+```javascript
+{name:{type: "string", required: true, message: () => this.$t( 'name is required' )}}
+```
+
+Potentially you may require the same schema validation rules for different languages, in which case duplicating the schema rules for each language does not make sense.
+
+In this scenario you could just provide your own messages for the language and assign it to the schema:
+
+```javascript
+import schema from 'async-validator';
+var cn = {
+ required: '%s 必填',
+};
+var descriptor = {name:{type: "string", required: true}};
+var validator = new schema(descriptor);
+// deep merge with defaultMessages
+validator.messages(cn);
+...
+```
+
+If you are defining your own validation functions it is better practice to assign the message strings to a messages object and then access the messages via the `options.messages` property within the validation function.
+
+#### asyncValidator
+
+You can customize the asynchronous validation function for the specified field:
+
+```js
+const fields = {
+ asyncField: {
+ asyncValidator(rule, value, callback) {
+ ajax({
+ url: 'xx',
+ value: value
+ }).then(function(data) {
+ callback();
+ }, function(error) {
+ callback(new Error(error))
+ });
+ }
+ },
+
+ promiseField: {
+ asyncValidator(rule, value) {
+ return ajax({
+ url: 'xx',
+ value: value
+ });
+ }
+ }
+};
+```
+
+#### validator
+
+you can custom validate function for specified field:
+
+```js
+const fields = {
+ field: {
+ validator(rule, value, callback) {
+ return value === 'test';
+ },
+ message: 'Value is not equal to "test".',
+ },
+
+ field2: {
+ validator(rule, value, callback) {
+ return new Error(`'${value} is not equal to "test".'`);
+ },
+ },
+
+ arrField: {
+ validator(rule, value) {
+ return [
+ new Error('Message 1'),
+ new Error('Message 2'),
+ ];
+ }
+ },
+};
+```
+
+## FAQ
+
+### How to avoid warning
+
+```js
+import Schema from 'async-validator';
+Schema.warning = function(){};
+```
+
+### How to check if it is `true`
+
+Use `enum` type passing `true` as option.
+
+```js
+{
+ type: 'enum',
+ enum: [true],
+ message: '',
+}
+```
+
+## Test Case
+
+```
+npm test
+npm run chrome-test
+```
+
+## Coverage
+
+```
+npm run coverage
+```
+
+open coverage/ dir
+
+## License
+
+Everything is [MIT](https://en.wikipedia.org/wiki/MIT_License).
diff --git a/node_modules/async-validator/dist-node/index.js b/node_modules/async-validator/dist-node/index.js
new file mode 100644
index 0000000..d6f2fd0
--- /dev/null
+++ b/node_modules/async-validator/dist-node/index.js
@@ -0,0 +1,1352 @@
+'use strict';
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+function _extends() {
+ _extends = Object.assign || function (target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i];
+
+ for (var key in source) {
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
+ target[key] = source[key];
+ }
+ }
+ }
+
+ return target;
+ };
+
+ return _extends.apply(this, arguments);
+}
+
+/* eslint no-console:0 */
+var formatRegExp = /%[sdj%]/g;
+var warning = function warning() {}; // don't print warning message when in production env or node runtime
+
+if (typeof process !== 'undefined' && process.env && process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {
+ warning = function warning(type, errors) {
+ if (typeof console !== 'undefined' && console.warn) {
+ if (errors.every(function (e) {
+ return typeof e === 'string';
+ })) {
+ console.warn(type, errors);
+ }
+ }
+ };
+}
+
+function convertFieldsError(errors) {
+ if (!errors || !errors.length) return null;
+ var fields = {};
+ errors.forEach(function (error) {
+ var field = error.field;
+ fields[field] = fields[field] || [];
+ fields[field].push(error);
+ });
+ return fields;
+}
+function format() {
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ var i = 1;
+ var f = args[0];
+ var len = args.length;
+
+ if (typeof f === 'function') {
+ return f.apply(null, args.slice(1));
+ }
+
+ if (typeof f === 'string') {
+ var str = String(f).replace(formatRegExp, function (x) {
+ if (x === '%%') {
+ return '%';
+ }
+
+ if (i >= len) {
+ return x;
+ }
+
+ switch (x) {
+ case '%s':
+ return String(args[i++]);
+
+ case '%d':
+ return Number(args[i++]);
+
+ case '%j':
+ try {
+ return JSON.stringify(args[i++]);
+ } catch (_) {
+ return '[Circular]';
+ }
+
+ break;
+
+ default:
+ return x;
+ }
+ });
+
+ for (var arg = args[i]; i < len; arg = args[++i]) {
+ str += " " + arg;
+ }
+
+ return str;
+ }
+
+ return f;
+}
+
+function isNativeStringType(type) {
+ return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'pattern';
+}
+
+function isEmptyValue(value, type) {
+ if (value === undefined || value === null) {
+ return true;
+ }
+
+ if (type === 'array' && Array.isArray(value) && !value.length) {
+ return true;
+ }
+
+ if (isNativeStringType(type) && typeof value === 'string' && !value) {
+ return true;
+ }
+
+ return false;
+}
+
+function asyncParallelArray(arr, func, callback) {
+ var results = [];
+ var total = 0;
+ var arrLength = arr.length;
+
+ function count(errors) {
+ results.push.apply(results, errors);
+ total++;
+
+ if (total === arrLength) {
+ callback(results);
+ }
+ }
+
+ arr.forEach(function (a) {
+ func(a, count);
+ });
+}
+
+function asyncSerialArray(arr, func, callback) {
+ var index = 0;
+ var arrLength = arr.length;
+
+ function next(errors) {
+ if (errors && errors.length) {
+ callback(errors);
+ return;
+ }
+
+ var original = index;
+ index = index + 1;
+
+ if (original < arrLength) {
+ func(arr[original], next);
+ } else {
+ callback([]);
+ }
+ }
+
+ next([]);
+}
+
+function flattenObjArr(objArr) {
+ var ret = [];
+ Object.keys(objArr).forEach(function (k) {
+ ret.push.apply(ret, objArr[k]);
+ });
+ return ret;
+}
+
+function asyncMap(objArr, option, func, callback) {
+ if (option.first) {
+ var _pending = new Promise(function (resolve, reject) {
+ var next = function next(errors) {
+ callback(errors);
+ return errors.length ? reject({
+ errors: errors,
+ fields: convertFieldsError(errors)
+ }) : resolve();
+ };
+
+ var flattenArr = flattenObjArr(objArr);
+ asyncSerialArray(flattenArr, func, next);
+ });
+
+ _pending["catch"](function (e) {
+ return e;
+ });
+
+ return _pending;
+ }
+
+ var firstFields = option.firstFields || [];
+
+ if (firstFields === true) {
+ firstFields = Object.keys(objArr);
+ }
+
+ var objArrKeys = Object.keys(objArr);
+ var objArrLength = objArrKeys.length;
+ var total = 0;
+ var results = [];
+ var pending = new Promise(function (resolve, reject) {
+ var next = function next(errors) {
+ results.push.apply(results, errors);
+ total++;
+
+ if (total === objArrLength) {
+ callback(results);
+ return results.length ? reject({
+ errors: results,
+ fields: convertFieldsError(results)
+ }) : resolve();
+ }
+ };
+
+ if (!objArrKeys.length) {
+ callback(results);
+ resolve();
+ }
+
+ objArrKeys.forEach(function (key) {
+ var arr = objArr[key];
+
+ if (firstFields.indexOf(key) !== -1) {
+ asyncSerialArray(arr, func, next);
+ } else {
+ asyncParallelArray(arr, func, next);
+ }
+ });
+ });
+ pending["catch"](function (e) {
+ return e;
+ });
+ return pending;
+}
+function complementError(rule) {
+ return function (oe) {
+ if (oe && oe.message) {
+ oe.field = oe.field || rule.fullField;
+ return oe;
+ }
+
+ return {
+ message: typeof oe === 'function' ? oe() : oe,
+ field: oe.field || rule.fullField
+ };
+ };
+}
+function deepMerge(target, source) {
+ if (source) {
+ for (var s in source) {
+ if (source.hasOwnProperty(s)) {
+ var value = source[s];
+
+ if (typeof value === 'object' && typeof target[s] === 'object') {
+ target[s] = _extends({}, target[s], {}, value);
+ } else {
+ target[s] = value;
+ }
+ }
+ }
+ }
+
+ return target;
+}
+
+/**
+ * Rule for validating required fields.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param source The source object being validated.
+ * @param errors An array of errors that this rule may add
+ * validation errors to.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function required(rule, value, source, errors, options, type) {
+ if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type || rule.type))) {
+ errors.push(format(options.messages.required, rule.fullField));
+ }
+}
+
+/**
+ * Rule for validating whitespace.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param source The source object being validated.
+ * @param errors An array of errors that this rule may add
+ * validation errors to.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function whitespace(rule, value, source, errors, options) {
+ if (/^\s+$/.test(value) || value === '') {
+ errors.push(format(options.messages.whitespace, rule.fullField));
+ }
+}
+
+/* eslint max-len:0 */
+
+var pattern = {
+ // http://emailregex.com/
+ email: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
+ url: new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$", 'i'),
+ hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i
+};
+var types = {
+ integer: function integer(value) {
+ return types.number(value) && parseInt(value, 10) === value;
+ },
+ "float": function float(value) {
+ return types.number(value) && !types.integer(value);
+ },
+ array: function array(value) {
+ return Array.isArray(value);
+ },
+ regexp: function regexp(value) {
+ if (value instanceof RegExp) {
+ return true;
+ }
+
+ try {
+ return !!new RegExp(value);
+ } catch (e) {
+ return false;
+ }
+ },
+ date: function date(value) {
+ return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function';
+ },
+ number: function number(value) {
+ if (isNaN(value)) {
+ return false;
+ }
+
+ return typeof value === 'number';
+ },
+ object: function object(value) {
+ return typeof value === 'object' && !types.array(value);
+ },
+ method: function method(value) {
+ return typeof value === 'function';
+ },
+ email: function email(value) {
+ return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;
+ },
+ url: function url(value) {
+ return typeof value === 'string' && !!value.match(pattern.url);
+ },
+ hex: function hex(value) {
+ return typeof value === 'string' && !!value.match(pattern.hex);
+ }
+};
+/**
+ * Rule for validating the type of a value.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param source The source object being validated.
+ * @param errors An array of errors that this rule may add
+ * validation errors to.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function type(rule, value, source, errors, options) {
+ if (rule.required && value === undefined) {
+ required(rule, value, source, errors, options);
+ return;
+ }
+
+ var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];
+ var ruleType = rule.type;
+
+ if (custom.indexOf(ruleType) > -1) {
+ if (!types[ruleType](value)) {
+ errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));
+ } // straight typeof check
+
+ } else if (ruleType && typeof value !== rule.type) {
+ errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));
+ }
+}
+
+/**
+ * Rule for validating minimum and maximum allowed values.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param source The source object being validated.
+ * @param errors An array of errors that this rule may add
+ * validation errors to.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function range(rule, value, source, errors, options) {
+ var len = typeof rule.len === 'number';
+ var min = typeof rule.min === 'number';
+ var max = typeof rule.max === 'number'; // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)
+
+ var spRegexp = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
+ var val = value;
+ var key = null;
+ var num = typeof value === 'number';
+ var str = typeof value === 'string';
+ var arr = Array.isArray(value);
+
+ if (num) {
+ key = 'number';
+ } else if (str) {
+ key = 'string';
+ } else if (arr) {
+ key = 'array';
+ } // if the value is not of a supported type for range validation
+ // the validation rule rule should use the
+ // type property to also test for a particular type
+
+
+ if (!key) {
+ return false;
+ }
+
+ if (arr) {
+ val = value.length;
+ }
+
+ if (str) {
+ // 处理码点大于U+010000的文字length属性不准确的bug,如"𠮷𠮷𠮷".lenght !== 3
+ val = value.replace(spRegexp, '_').length;
+ }
+
+ if (len) {
+ if (val !== rule.len) {
+ errors.push(format(options.messages[key].len, rule.fullField, rule.len));
+ }
+ } else if (min && !max && val < rule.min) {
+ errors.push(format(options.messages[key].min, rule.fullField, rule.min));
+ } else if (max && !min && val > rule.max) {
+ errors.push(format(options.messages[key].max, rule.fullField, rule.max));
+ } else if (min && max && (val < rule.min || val > rule.max)) {
+ errors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max));
+ }
+}
+
+var ENUM = 'enum';
+/**
+ * Rule for validating a value exists in an enumerable list.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param source The source object being validated.
+ * @param errors An array of errors that this rule may add
+ * validation errors to.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function enumerable(rule, value, source, errors, options) {
+ rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];
+
+ if (rule[ENUM].indexOf(value) === -1) {
+ errors.push(format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));
+ }
+}
+
+/**
+ * Rule for validating a regular expression pattern.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param source The source object being validated.
+ * @param errors An array of errors that this rule may add
+ * validation errors to.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function pattern$1(rule, value, source, errors, options) {
+ if (rule.pattern) {
+ if (rule.pattern instanceof RegExp) {
+ // if a RegExp instance is passed, reset `lastIndex` in case its `global`
+ // flag is accidentally set to `true`, which in a validation scenario
+ // is not necessary and the result might be misleading
+ rule.pattern.lastIndex = 0;
+
+ if (!rule.pattern.test(value)) {
+ errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));
+ }
+ } else if (typeof rule.pattern === 'string') {
+ var _pattern = new RegExp(rule.pattern);
+
+ if (!_pattern.test(value)) {
+ errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));
+ }
+ }
+ }
+}
+
+var rules = {
+ required: required,
+ whitespace: whitespace,
+ type: type,
+ range: range,
+ "enum": enumerable,
+ pattern: pattern$1
+};
+
+/**
+ * Performs validation for string types.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function string(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value, 'string') && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options, 'string');
+
+ if (!isEmptyValue(value, 'string')) {
+ rules.type(rule, value, source, errors, options);
+ rules.range(rule, value, source, errors, options);
+ rules.pattern(rule, value, source, errors, options);
+
+ if (rule.whitespace === true) {
+ rules.whitespace(rule, value, source, errors, options);
+ }
+ }
+ }
+
+ callback(errors);
+}
+
+/**
+ * Validates a function.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function method(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+
+ if (value !== undefined) {
+ rules.type(rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+/**
+ * Validates a number.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function number(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (value === '') {
+ value = undefined;
+ }
+
+ if (isEmptyValue(value) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+
+ if (value !== undefined) {
+ rules.type(rule, value, source, errors, options);
+ rules.range(rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+/**
+ * Validates a boolean.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function _boolean(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+
+ if (value !== undefined) {
+ rules.type(rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+/**
+ * Validates the regular expression type.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function regexp(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+
+ if (!isEmptyValue(value)) {
+ rules.type(rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+/**
+ * Validates a number is an integer.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function integer(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+
+ if (value !== undefined) {
+ rules.type(rule, value, source, errors, options);
+ rules.range(rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+/**
+ * Validates a number is a floating point number.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function floatFn(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+
+ if (value !== undefined) {
+ rules.type(rule, value, source, errors, options);
+ rules.range(rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+/**
+ * Validates an array.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function array(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value, 'array') && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options, 'array');
+
+ if (!isEmptyValue(value, 'array')) {
+ rules.type(rule, value, source, errors, options);
+ rules.range(rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+/**
+ * Validates an object.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function object(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+
+ if (value !== undefined) {
+ rules.type(rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+var ENUM$1 = 'enum';
+/**
+ * Validates an enumerable list.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function enumerable$1(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+
+ if (value !== undefined) {
+ rules[ENUM$1](rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+/**
+ * Validates a regular expression pattern.
+ *
+ * Performs validation when a rule only contains
+ * a pattern property but is not declared as a string type.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function pattern$2(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value, 'string') && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+
+ if (!isEmptyValue(value, 'string')) {
+ rules.pattern(rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+function date(rule, value, callback, source, options) {
+ // console.log('integer rule called %j', rule);
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); // console.log('validate on %s value', value);
+
+ if (validate) {
+ if (isEmptyValue(value) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+
+ if (!isEmptyValue(value)) {
+ var dateObject;
+
+ if (typeof value === 'number') {
+ dateObject = new Date(value);
+ } else {
+ dateObject = value;
+ }
+
+ rules.type(rule, dateObject, source, errors, options);
+
+ if (dateObject) {
+ rules.range(rule, dateObject.getTime(), source, errors, options);
+ }
+ }
+ }
+
+ callback(errors);
+}
+
+function required$1(rule, value, callback, source, options) {
+ var errors = [];
+ var type = Array.isArray(value) ? 'array' : typeof value;
+ rules.required(rule, value, source, errors, options, type);
+ callback(errors);
+}
+
+function type$1(rule, value, callback, source, options) {
+ var ruleType = rule.type;
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value, ruleType) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options, ruleType);
+
+ if (!isEmptyValue(value, ruleType)) {
+ rules.type(rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+/**
+ * Performs validation for any type.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function any(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+ }
+
+ callback(errors);
+}
+
+var validators = {
+ string: string,
+ method: method,
+ number: number,
+ "boolean": _boolean,
+ regexp: regexp,
+ integer: integer,
+ "float": floatFn,
+ array: array,
+ object: object,
+ "enum": enumerable$1,
+ pattern: pattern$2,
+ date: date,
+ url: type$1,
+ hex: type$1,
+ email: type$1,
+ required: required$1,
+ any: any
+};
+
+function newMessages() {
+ return {
+ "default": 'Validation error on field %s',
+ required: '%s is required',
+ "enum": '%s must be one of %s',
+ whitespace: '%s cannot be empty',
+ date: {
+ format: '%s date %s is invalid for format %s',
+ parse: '%s date could not be parsed, %s is invalid ',
+ invalid: '%s date %s is invalid'
+ },
+ types: {
+ string: '%s is not a %s',
+ method: '%s is not a %s (function)',
+ array: '%s is not an %s',
+ object: '%s is not an %s',
+ number: '%s is not a %s',
+ date: '%s is not a %s',
+ "boolean": '%s is not a %s',
+ integer: '%s is not an %s',
+ "float": '%s is not a %s',
+ regexp: '%s is not a valid %s',
+ email: '%s is not a valid %s',
+ url: '%s is not a valid %s',
+ hex: '%s is not a valid %s'
+ },
+ string: {
+ len: '%s must be exactly %s characters',
+ min: '%s must be at least %s characters',
+ max: '%s cannot be longer than %s characters',
+ range: '%s must be between %s and %s characters'
+ },
+ number: {
+ len: '%s must equal %s',
+ min: '%s cannot be less than %s',
+ max: '%s cannot be greater than %s',
+ range: '%s must be between %s and %s'
+ },
+ array: {
+ len: '%s must be exactly %s in length',
+ min: '%s cannot be less than %s in length',
+ max: '%s cannot be greater than %s in length',
+ range: '%s must be between %s and %s in length'
+ },
+ pattern: {
+ mismatch: '%s value %s does not match pattern %s'
+ },
+ clone: function clone() {
+ var cloned = JSON.parse(JSON.stringify(this));
+ cloned.clone = this.clone;
+ return cloned;
+ }
+ };
+}
+var messages = newMessages();
+
+/**
+ * Encapsulates a validation schema.
+ *
+ * @param descriptor An object declaring validation rules
+ * for this schema.
+ */
+
+function Schema(descriptor) {
+ this.rules = null;
+ this._messages = messages;
+ this.define(descriptor);
+}
+
+Schema.prototype = {
+ messages: function messages(_messages) {
+ if (_messages) {
+ this._messages = deepMerge(newMessages(), _messages);
+ }
+
+ return this._messages;
+ },
+ define: function define(rules) {
+ if (!rules) {
+ throw new Error('Cannot configure a schema with no rules');
+ }
+
+ if (typeof rules !== 'object' || Array.isArray(rules)) {
+ throw new Error('Rules must be an object');
+ }
+
+ this.rules = {};
+ var z;
+ var item;
+
+ for (z in rules) {
+ if (rules.hasOwnProperty(z)) {
+ item = rules[z];
+ this.rules[z] = Array.isArray(item) ? item : [item];
+ }
+ }
+ },
+ validate: function validate(source_, o, oc) {
+ var _this = this;
+
+ if (o === void 0) {
+ o = {};
+ }
+
+ if (oc === void 0) {
+ oc = function oc() {};
+ }
+
+ var source = source_;
+ var options = o;
+ var callback = oc;
+
+ if (typeof options === 'function') {
+ callback = options;
+ options = {};
+ }
+
+ if (!this.rules || Object.keys(this.rules).length === 0) {
+ if (callback) {
+ callback();
+ }
+
+ return Promise.resolve();
+ }
+
+ function complete(results) {
+ var i;
+ var errors = [];
+ var fields = {};
+
+ function add(e) {
+ if (Array.isArray(e)) {
+ var _errors;
+
+ errors = (_errors = errors).concat.apply(_errors, e);
+ } else {
+ errors.push(e);
+ }
+ }
+
+ for (i = 0; i < results.length; i++) {
+ add(results[i]);
+ }
+
+ if (!errors.length) {
+ errors = null;
+ fields = null;
+ } else {
+ fields = convertFieldsError(errors);
+ }
+
+ callback(errors, fields);
+ }
+
+ if (options.messages) {
+ var messages$1 = this.messages();
+
+ if (messages$1 === messages) {
+ messages$1 = newMessages();
+ }
+
+ deepMerge(messages$1, options.messages);
+ options.messages = messages$1;
+ } else {
+ options.messages = this.messages();
+ }
+
+ var arr;
+ var value;
+ var series = {};
+ var keys = options.keys || Object.keys(this.rules);
+ keys.forEach(function (z) {
+ arr = _this.rules[z];
+ value = source[z];
+ arr.forEach(function (r) {
+ var rule = r;
+
+ if (typeof rule.transform === 'function') {
+ if (source === source_) {
+ source = _extends({}, source);
+ }
+
+ value = source[z] = rule.transform(value);
+ }
+
+ if (typeof rule === 'function') {
+ rule = {
+ validator: rule
+ };
+ } else {
+ rule = _extends({}, rule);
+ }
+
+ rule.validator = _this.getValidationMethod(rule);
+ rule.field = z;
+ rule.fullField = rule.fullField || z;
+ rule.type = _this.getType(rule);
+
+ if (!rule.validator) {
+ return;
+ }
+
+ series[z] = series[z] || [];
+ series[z].push({
+ rule: rule,
+ value: value,
+ source: source,
+ field: z
+ });
+ });
+ });
+ var errorFields = {};
+ return asyncMap(series, options, function (data, doIt) {
+ var rule = data.rule;
+ var deep = (rule.type === 'object' || rule.type === 'array') && (typeof rule.fields === 'object' || typeof rule.defaultField === 'object');
+ deep = deep && (rule.required || !rule.required && data.value);
+ rule.field = data.field;
+
+ function addFullfield(key, schema) {
+ return _extends({}, schema, {
+ fullField: rule.fullField + "." + key
+ });
+ }
+
+ function cb(e) {
+ if (e === void 0) {
+ e = [];
+ }
+
+ var errors = e;
+
+ if (!Array.isArray(errors)) {
+ errors = [errors];
+ }
+
+ if (!options.suppressWarning && errors.length) {
+ Schema.warning('async-validator:', errors);
+ }
+
+ if (errors.length && rule.message) {
+ errors = [].concat(rule.message);
+ }
+
+ errors = errors.map(complementError(rule));
+
+ if (options.first && errors.length) {
+ errorFields[rule.field] = 1;
+ return doIt(errors);
+ }
+
+ if (!deep) {
+ doIt(errors);
+ } else {
+ // if rule is required but the target object
+ // does not exist fail at the rule level and don't
+ // go deeper
+ if (rule.required && !data.value) {
+ if (rule.message) {
+ errors = [].concat(rule.message).map(complementError(rule));
+ } else if (options.error) {
+ errors = [options.error(rule, format(options.messages.required, rule.field))];
+ } else {
+ errors = [];
+ }
+
+ return doIt(errors);
+ }
+
+ var fieldsSchema = {};
+
+ if (rule.defaultField) {
+ for (var k in data.value) {
+ if (data.value.hasOwnProperty(k)) {
+ fieldsSchema[k] = rule.defaultField;
+ }
+ }
+ }
+
+ fieldsSchema = _extends({}, fieldsSchema, {}, data.rule.fields);
+
+ for (var f in fieldsSchema) {
+ if (fieldsSchema.hasOwnProperty(f)) {
+ var fieldSchema = Array.isArray(fieldsSchema[f]) ? fieldsSchema[f] : [fieldsSchema[f]];
+ fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));
+ }
+ }
+
+ var schema = new Schema(fieldsSchema);
+ schema.messages(options.messages);
+
+ if (data.rule.options) {
+ data.rule.options.messages = options.messages;
+ data.rule.options.error = options.error;
+ }
+
+ schema.validate(data.value, data.rule.options || options, function (errs) {
+ var finalErrors = [];
+
+ if (errors && errors.length) {
+ finalErrors.push.apply(finalErrors, errors);
+ }
+
+ if (errs && errs.length) {
+ finalErrors.push.apply(finalErrors, errs);
+ }
+
+ doIt(finalErrors.length ? finalErrors : null);
+ });
+ }
+ }
+
+ var res;
+
+ if (rule.asyncValidator) {
+ res = rule.asyncValidator(rule, data.value, cb, data.source, options);
+ } else if (rule.validator) {
+ res = rule.validator(rule, data.value, cb, data.source, options);
+
+ if (res === true) {
+ cb();
+ } else if (res === false) {
+ cb(rule.message || rule.field + " fails");
+ } else if (res instanceof Array) {
+ cb(res);
+ } else if (res instanceof Error) {
+ cb(res.message);
+ }
+ }
+
+ if (res && res.then) {
+ res.then(function () {
+ return cb();
+ }, function (e) {
+ return cb(e);
+ });
+ }
+ }, function (results) {
+ complete(results);
+ });
+ },
+ getType: function getType(rule) {
+ if (rule.type === undefined && rule.pattern instanceof RegExp) {
+ rule.type = 'pattern';
+ }
+
+ if (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) {
+ throw new Error(format('Unknown rule type %s', rule.type));
+ }
+
+ return rule.type || 'string';
+ },
+ getValidationMethod: function getValidationMethod(rule) {
+ if (typeof rule.validator === 'function') {
+ return rule.validator;
+ }
+
+ var keys = Object.keys(rule);
+ var messageIndex = keys.indexOf('message');
+
+ if (messageIndex !== -1) {
+ keys.splice(messageIndex, 1);
+ }
+
+ if (keys.length === 1 && keys[0] === 'required') {
+ return validators.required;
+ }
+
+ return validators[this.getType(rule)] || false;
+ }
+};
+
+Schema.register = function register(type, validator) {
+ if (typeof validator !== 'function') {
+ throw new Error('Cannot register a validator by type, validator is not a function');
+ }
+
+ validators[type] = validator;
+};
+
+Schema.warning = warning;
+Schema.messages = messages;
+
+exports.default = Schema;
+//# sourceMappingURL=index.js.map
diff --git a/node_modules/async-validator/dist-node/index.js.map b/node_modules/async-validator/dist-node/index.js.map
new file mode 100644
index 0000000..ffebaf4
--- /dev/null
+++ b/node_modules/async-validator/dist-node/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sources":["../../src/util.js","../../src/rule/required.js","../../src/rule/whitespace.js","../../src/rule/type.js","../../src/rule/range.js","../../src/rule/enum.js","../../src/rule/pattern.js","../../src/rule/index.js","../../src/validator/string.js","../../src/validator/method.js","../../src/validator/number.js","../../src/validator/boolean.js","../../src/validator/regexp.js","../../src/validator/integer.js","../../src/validator/float.js","../../src/validator/array.js","../../src/validator/object.js","../../src/validator/enum.js","../../src/validator/pattern.js","../../src/validator/date.js","../../src/validator/required.js","../../src/validator/type.js","../../src/validator/any.js","../../src/validator/index.js","../../src/messages.js","../../src/index.js"],"sourcesContent":["/* eslint no-console:0 */\n\nconst formatRegExp = /%[sdj%]/g;\n\nexport let warning = () => {\n};\n\n// don't print warning message when in production env or node runtime\nif (\n typeof process !== 'undefined' &&\n process.env &&\n process.env.NODE_ENV !== 'production' &&\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n) {\n warning = (type, errors) => {\n if (typeof console !== 'undefined' && console.warn) {\n if (errors.every(e => typeof e === 'string')) {\n console.warn(type, errors);\n }\n }\n };\n}\n\nexport function convertFieldsError(errors) {\n if (!errors || !errors.length) return null;\n const fields = {};\n errors.forEach(error => {\n const field = error.field;\n fields[field] = fields[field] || [];\n fields[field].push(error);\n });\n return fields;\n}\n\nexport function format(...args) {\n let i = 1;\n const f = args[0];\n const len = args.length;\n if (typeof f === 'function') {\n return f.apply(null, args.slice(1));\n }\n if (typeof f === 'string') {\n let str = String(f).replace(formatRegExp, x => {\n if (x === '%%') {\n return '%';\n }\n if (i >= len) {\n return x;\n }\n switch (x) {\n case '%s':\n return String(args[i++]);\n case '%d':\n return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n break;\n default:\n return x;\n }\n });\n for (let arg = args[i]; i < len; arg = args[++i]) {\n str += ` ${arg}`;\n }\n return str;\n }\n return f;\n}\n\nfunction isNativeStringType(type) {\n return (\n type === 'string' ||\n type === 'url' ||\n type === 'hex' ||\n type === 'email' ||\n type === 'pattern'\n );\n}\n\nexport function isEmptyValue(value, type) {\n if (value === undefined || value === null) {\n return true;\n }\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n return false;\n}\n\nexport function isEmptyObject(obj) {\n return Object.keys(obj).length === 0;\n}\n\nfunction asyncParallelArray(arr, func, callback) {\n const results = [];\n let total = 0;\n const arrLength = arr.length;\n\n function count(errors) {\n results.push.apply(results, errors);\n total++;\n if (total === arrLength) {\n callback(results);\n }\n }\n\n arr.forEach(a => {\n func(a, count);\n });\n}\n\nfunction asyncSerialArray(arr, func, callback) {\n let index = 0;\n const arrLength = arr.length;\n\n function next(errors) {\n if (errors && errors.length) {\n callback(errors);\n return;\n }\n const original = index;\n index = index + 1;\n if (original < arrLength) {\n func(arr[original], next);\n } else {\n callback([]);\n }\n }\n\n next([]);\n}\n\nfunction flattenObjArr(objArr) {\n const ret = [];\n Object.keys(objArr).forEach(k => {\n ret.push.apply(ret, objArr[k]);\n });\n return ret;\n}\n\nexport function asyncMap(objArr, option, func, callback) {\n if (option.first) {\n const pending = new Promise((resolve, reject) => {\n const next = errors => {\n callback(errors);\n return errors.length\n ? reject({ errors, fields: convertFieldsError(errors) })\n : resolve();\n };\n const flattenArr = flattenObjArr(objArr);\n asyncSerialArray(flattenArr, func, next);\n });\n pending.catch(e => e);\n return pending;\n }\n let firstFields = option.firstFields || [];\n if (firstFields === true) {\n firstFields = Object.keys(objArr);\n }\n const objArrKeys = Object.keys(objArr);\n const objArrLength = objArrKeys.length;\n let total = 0;\n const results = [];\n const pending = new Promise((resolve, reject) => {\n const next = errors => {\n results.push.apply(results, errors);\n total++;\n if (total === objArrLength) {\n callback(results);\n return results.length\n ? reject({ errors: results, fields: convertFieldsError(results) })\n : resolve();\n }\n };\n if (!objArrKeys.length) {\n callback(results)\n resolve()\n }\n objArrKeys.forEach(key => {\n const arr = objArr[key];\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n });\n pending.catch(e => e);\n return pending;\n}\n\nexport function complementError(rule) {\n return oe => {\n if (oe && oe.message) {\n oe.field = oe.field || rule.fullField;\n return oe;\n }\n return {\n message: typeof oe === 'function' ? oe() : oe,\n field: oe.field || rule.fullField,\n };\n };\n}\n\nexport function deepMerge(target, source) {\n if (source) {\n for (const s in source) {\n if (source.hasOwnProperty(s)) {\n const value = source[s];\n if (typeof value === 'object' && typeof target[s] === 'object') {\n target[s] = {\n ...target[s],\n ...value,\n };\n } else {\n target[s] = value;\n }\n }\n }\n }\n return target;\n}\n","import * as util from '../util';\n\n/**\n * Rule for validating required fields.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction required(rule, value, source, errors, options, type) {\n if (\n rule.required &&\n (!source.hasOwnProperty(rule.field) ||\n util.isEmptyValue(value, type || rule.type))\n ) {\n errors.push(util.format(options.messages.required, rule.fullField));\n }\n}\n\nexport default required;\n","import * as util from '../util';\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction whitespace(rule, value, source, errors, options) {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(util.format(options.messages.whitespace, rule.fullField));\n }\n}\n\nexport default whitespace;\n","import * as util from '../util';\nimport required from './required';\n\n/* eslint max-len:0 */\n\nconst pattern = {\n // http://emailregex.com/\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n url: new RegExp(\n '^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$',\n 'i',\n ),\n hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,\n};\n\nconst types = {\n integer(value) {\n return types.number(value) && parseInt(value, 10) === value;\n },\n float(value) {\n return types.number(value) && !types.integer(value);\n },\n array(value) {\n return Array.isArray(value);\n },\n regexp(value) {\n if (value instanceof RegExp) {\n return true;\n }\n try {\n return !!new RegExp(value);\n } catch (e) {\n return false;\n }\n },\n date(value) {\n return (\n typeof value.getTime === 'function' &&\n typeof value.getMonth === 'function' &&\n typeof value.getYear === 'function'\n );\n },\n number(value) {\n if (isNaN(value)) {\n return false;\n }\n return typeof value === 'number';\n },\n object(value) {\n return typeof value === 'object' && !types.array(value);\n },\n method(value) {\n return typeof value === 'function';\n },\n email(value) {\n return (\n typeof value === 'string' &&\n !!value.match(pattern.email) &&\n value.length < 255\n );\n },\n url(value) {\n return typeof value === 'string' && !!value.match(pattern.url);\n },\n hex(value) {\n return typeof value === 'string' && !!value.match(pattern.hex);\n },\n};\n\n/**\n * Rule for validating the type of a value.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction type(rule, value, source, errors, options) {\n if (rule.required && value === undefined) {\n required(rule, value, source, errors, options);\n return;\n }\n const custom = [\n 'integer',\n 'float',\n 'array',\n 'regexp',\n 'object',\n 'method',\n 'email',\n 'number',\n 'date',\n 'url',\n 'hex',\n ];\n const ruleType = rule.type;\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(\n util.format(\n options.messages.types[ruleType],\n rule.fullField,\n rule.type,\n ),\n );\n }\n // straight typeof check\n } else if (ruleType && typeof value !== rule.type) {\n errors.push(\n util.format(options.messages.types[ruleType], rule.fullField, rule.type),\n );\n }\n}\n\nexport default type;\n","import * as util from '../util';\n\n/**\n * Rule for validating minimum and maximum allowed values.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction range(rule, value, source, errors, options) {\n const len = typeof rule.len === 'number';\n const min = typeof rule.min === 'number';\n const max = typeof rule.max === 'number';\n // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n const spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n let val = value;\n let key = null;\n const num = typeof value === 'number';\n const str = typeof value === 'string';\n const arr = Array.isArray(value);\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\n }\n // if the value is not of a supported type for range validation\n // the validation rule rule should use the\n // type property to also test for a particular type\n if (!key) {\n return false;\n }\n if (arr) {\n val = value.length;\n }\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n if (len) {\n if (val !== rule.len) {\n errors.push(\n util.format(options.messages[key].len, rule.fullField, rule.len),\n );\n }\n } else if (min && !max && val < rule.min) {\n errors.push(\n util.format(options.messages[key].min, rule.fullField, rule.min),\n );\n } else if (max && !min && val > rule.max) {\n errors.push(\n util.format(options.messages[key].max, rule.fullField, rule.max),\n );\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(\n util.format(\n options.messages[key].range,\n rule.fullField,\n rule.min,\n rule.max,\n ),\n );\n }\n}\n\nexport default range;\n","import * as util from '../util';\n\nconst ENUM = 'enum';\n\n/**\n * Rule for validating a value exists in an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction enumerable(rule, value, source, errors, options) {\n rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n if (rule[ENUM].indexOf(value) === -1) {\n errors.push(\n util.format(\n options.messages[ENUM],\n rule.fullField,\n rule[ENUM].join(', '),\n ),\n );\n }\n}\n\nexport default enumerable;\n","import * as util from '../util';\n\n/**\n * Rule for validating a regular expression pattern.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction pattern(rule, value, source, errors, options) {\n if (rule.pattern) {\n if (rule.pattern instanceof RegExp) {\n // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n // flag is accidentally set to `true`, which in a validation scenario\n // is not necessary and the result might be misleading\n rule.pattern.lastIndex = 0;\n if (!rule.pattern.test(value)) {\n errors.push(\n util.format(\n options.messages.pattern.mismatch,\n rule.fullField,\n value,\n rule.pattern,\n ),\n );\n }\n } else if (typeof rule.pattern === 'string') {\n const _pattern = new RegExp(rule.pattern);\n if (!_pattern.test(value)) {\n errors.push(\n util.format(\n options.messages.pattern.mismatch,\n rule.fullField,\n value,\n rule.pattern,\n ),\n );\n }\n }\n }\n}\n\nexport default pattern;\n","import required from './required';\nimport whitespace from './whitespace';\nimport type from './type';\nimport range from './range';\nimport enumRule from './enum';\nimport pattern from './pattern';\n\nexport default {\n required,\n whitespace,\n type,\n range,\n enum: enumRule,\n pattern,\n};\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Performs validation for string types.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction string(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, 'string');\n if (!isEmptyValue(value, 'string')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n rules.pattern(rule, value, source, errors, options);\n if (rule.whitespace === true) {\n rules.whitespace(rule, value, source, errors, options);\n }\n }\n }\n callback(errors);\n}\n\nexport default string;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a function.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction method(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default method;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction number(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (value === '') {\n value = undefined;\n }\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default number;\n","import { isEmptyValue } from '../util';\nimport rules from '../rule/index.js';\n\n/**\n * Validates a boolean.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction boolean(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default boolean;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates the regular expression type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction regexp(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default regexp;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a number is an integer.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction integer(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default integer;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a number is a floating point number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction floatFn(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default floatFn;\n","import rules from '../rule/index';\nimport { isEmptyValue } from '../util';\n/**\n * Validates an array.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction array(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, 'array') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, 'array');\n if (!isEmptyValue(value, 'array')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default array;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates an object.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction object(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default object;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\nconst ENUM = 'enum';\n\n/**\n * Validates an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction enumerable(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules[ENUM](rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default enumerable;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a regular expression pattern.\n *\n * Performs validation when a rule only contains\n * a pattern property but is not declared as a string type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction pattern(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value, 'string')) {\n rules.pattern(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default pattern;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\nfunction date(rule, value, callback, source, options) {\n // console.log('integer rule called %j', rule);\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n // console.log('validate on %s value', value);\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value)) {\n let dateObject;\n\n if (typeof value === 'number') {\n dateObject = new Date(value);\n } else {\n dateObject = value;\n }\n\n rules.type(rule, dateObject, source, errors, options);\n if (dateObject) {\n rules.range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n callback(errors);\n}\n\nexport default date;\n","import rules from '../rule/index.js';\n\nfunction required(rule, value, callback, source, options) {\n const errors = [];\n const type = Array.isArray(value) ? 'array' : typeof value;\n rules.required(rule, value, source, errors, options, type);\n callback(errors);\n}\n\nexport default required;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\nfunction type(rule, value, callback, source, options) {\n const ruleType = rule.type;\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, ruleType) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, ruleType);\n if (!isEmptyValue(value, ruleType)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default type;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Performs validation for any type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction any(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n }\n callback(errors);\n}\n\nexport default any;\n","import string from './string';\nimport method from './method';\nimport number from './number';\nimport boolean from './boolean';\nimport regexp from './regexp';\nimport integer from './integer';\nimport float from './float';\nimport array from './array';\nimport object from './object';\nimport enumValidator from './enum';\nimport pattern from './pattern';\nimport date from './date';\nimport required from './required';\nimport type from './type';\nimport any from './any';\n\nexport default {\n string,\n method,\n number,\n boolean,\n regexp,\n integer,\n float,\n array,\n object,\n enum: enumValidator,\n pattern,\n date,\n url: type,\n hex: type,\n email: type,\n required,\n any,\n};\n","export function newMessages() {\n return {\n default: 'Validation error on field %s',\n required: '%s is required',\n enum: '%s must be one of %s',\n whitespace: '%s cannot be empty',\n date: {\n format: '%s date %s is invalid for format %s',\n parse: '%s date could not be parsed, %s is invalid ',\n invalid: '%s date %s is invalid',\n },\n types: {\n string: '%s is not a %s',\n method: '%s is not a %s (function)',\n array: '%s is not an %s',\n object: '%s is not an %s',\n number: '%s is not a %s',\n date: '%s is not a %s',\n boolean: '%s is not a %s',\n integer: '%s is not an %s',\n float: '%s is not a %s',\n regexp: '%s is not a valid %s',\n email: '%s is not a valid %s',\n url: '%s is not a valid %s',\n hex: '%s is not a valid %s',\n },\n string: {\n len: '%s must be exactly %s characters',\n min: '%s must be at least %s characters',\n max: '%s cannot be longer than %s characters',\n range: '%s must be between %s and %s characters',\n },\n number: {\n len: '%s must equal %s',\n min: '%s cannot be less than %s',\n max: '%s cannot be greater than %s',\n range: '%s must be between %s and %s',\n },\n array: {\n len: '%s must be exactly %s in length',\n min: '%s cannot be less than %s in length',\n max: '%s cannot be greater than %s in length',\n range: '%s must be between %s and %s in length',\n },\n pattern: {\n mismatch: '%s value %s does not match pattern %s',\n },\n clone() {\n const cloned = JSON.parse(JSON.stringify(this));\n cloned.clone = this.clone;\n return cloned;\n },\n };\n}\n\nexport const messages = newMessages();\n","import {\n format,\n complementError,\n asyncMap,\n warning,\n deepMerge,\n convertFieldsError,\n} from './util';\nimport validators from './validator/index';\nimport { messages as defaultMessages, newMessages } from './messages';\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\nfunction Schema(descriptor) {\n this.rules = null;\n this._messages = defaultMessages;\n this.define(descriptor);\n}\n\nSchema.prototype = {\n messages(messages) {\n if (messages) {\n this._messages = deepMerge(newMessages(), messages);\n }\n return this._messages;\n },\n define(rules) {\n if (!rules) {\n throw new Error('Cannot configure a schema with no rules');\n }\n if (typeof rules !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n this.rules = {};\n let z;\n let item;\n for (z in rules) {\n if (rules.hasOwnProperty(z)) {\n item = rules[z];\n this.rules[z] = Array.isArray(item) ? item : [item];\n }\n }\n },\n validate(source_, o = {}, oc = () => {}) {\n let source = source_;\n let options = o;\n let callback = oc;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback();\n }\n return Promise.resolve();\n }\n\n function complete(results) {\n let i;\n let errors = [];\n let fields = {};\n\n function add(e) {\n if (Array.isArray(e)) {\n errors = errors.concat(...e);\n } else {\n errors.push(e);\n }\n }\n\n for (i = 0; i < results.length; i++) {\n add(results[i]);\n }\n if (!errors.length) {\n errors = null;\n fields = null;\n } else {\n fields = convertFieldsError(errors);\n }\n callback(errors, fields);\n }\n\n if (options.messages) {\n let messages = this.messages();\n if (messages === defaultMessages) {\n messages = newMessages();\n }\n deepMerge(messages, options.messages);\n options.messages = messages;\n } else {\n options.messages = this.messages();\n }\n let arr;\n let value;\n const series = {};\n const keys = options.keys || Object.keys(this.rules);\n keys.forEach(z => {\n arr = this.rules[z];\n value = source[z];\n arr.forEach(r => {\n let rule = r;\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = { ...source };\n }\n value = source[z] = rule.transform(value);\n }\n if (typeof rule === 'function') {\n rule = {\n validator: rule,\n };\n } else {\n rule = { ...rule };\n }\n rule.validator = this.getValidationMethod(rule);\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = this.getType(rule);\n if (!rule.validator) {\n return;\n }\n series[z] = series[z] || [];\n series[z].push({\n rule,\n value,\n source,\n field: z,\n });\n });\n });\n const errorFields = {};\n return asyncMap(\n series,\n options,\n (data, doIt) => {\n const rule = data.rule;\n let deep =\n (rule.type === 'object' || rule.type === 'array') &&\n (typeof rule.fields === 'object' ||\n typeof rule.defaultField === 'object');\n deep = deep && (rule.required || (!rule.required && data.value));\n rule.field = data.field;\n\n function addFullfield(key, schema) {\n return {\n ...schema,\n fullField: `${rule.fullField}.${key}`,\n };\n }\n\n function cb(e = []) {\n let errors = e;\n if (!Array.isArray(errors)) {\n errors = [errors];\n }\n if (!options.suppressWarning && errors.length) {\n Schema.warning('async-validator:', errors);\n }\n if (errors.length && rule.message) {\n errors = [].concat(rule.message);\n }\n\n errors = errors.map(complementError(rule));\n\n if (options.first && errors.length) {\n errorFields[rule.field] = 1;\n return doIt(errors);\n }\n if (!deep) {\n doIt(errors);\n } else {\n // if rule is required but the target object\n // does not exist fail at the rule level and don't\n // go deeper\n if (rule.required && !data.value) {\n if (rule.message) {\n errors = [].concat(rule.message).map(complementError(rule));\n } else if (options.error) {\n errors = [\n options.error(\n rule,\n format(options.messages.required, rule.field),\n ),\n ];\n } else {\n errors = [];\n }\n return doIt(errors);\n }\n\n let fieldsSchema = {};\n if (rule.defaultField) {\n for (const k in data.value) {\n if (data.value.hasOwnProperty(k)) {\n fieldsSchema[k] = rule.defaultField;\n }\n }\n }\n fieldsSchema = {\n ...fieldsSchema,\n ...data.rule.fields,\n };\n for (const f in fieldsSchema) {\n if (fieldsSchema.hasOwnProperty(f)) {\n const fieldSchema = Array.isArray(fieldsSchema[f])\n ? fieldsSchema[f]\n : [fieldsSchema[f]];\n fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));\n }\n }\n const schema = new Schema(fieldsSchema);\n schema.messages(options.messages);\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n schema.validate(data.value, data.rule.options || options, errs => {\n const finalErrors = [];\n if (errors && errors.length) {\n finalErrors.push(...errors);\n }\n if (errs && errs.length) {\n finalErrors.push(...errs);\n }\n doIt(finalErrors.length ? finalErrors : null);\n });\n }\n }\n\n let res;\n if (rule.asyncValidator) {\n res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n } else if (rule.validator) {\n res = rule.validator(rule, data.value, cb, data.source, options);\n if (res === true) {\n cb();\n } else if (res === false) {\n cb(rule.message || `${rule.field} fails`);\n } else if (res instanceof Array) {\n cb(res);\n } else if (res instanceof Error) {\n cb(res.message);\n }\n }\n if (res && res.then) {\n res.then(() => cb(), e => cb(e));\n }\n },\n results => {\n complete(results);\n },\n );\n },\n getType(rule) {\n if (rule.type === undefined && rule.pattern instanceof RegExp) {\n rule.type = 'pattern';\n }\n if (\n typeof rule.validator !== 'function' &&\n (rule.type && !validators.hasOwnProperty(rule.type))\n ) {\n throw new Error(format('Unknown rule type %s', rule.type));\n }\n return rule.type || 'string';\n },\n getValidationMethod(rule) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n const keys = Object.keys(rule);\n const messageIndex = keys.indexOf('message');\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n if (keys.length === 1 && keys[0] === 'required') {\n return validators.required;\n }\n return validators[this.getType(rule)] || false;\n },\n};\n\nSchema.register = function register(type, validator) {\n if (typeof validator !== 'function') {\n throw new Error(\n 'Cannot register a validator by type, validator is not a function',\n );\n }\n validators[type] = validator;\n};\n\nSchema.warning = warning;\n\nSchema.messages = defaultMessages;\n\nexport default Schema;\n"],"names":["formatRegExp","warning","process","env","NODE_ENV","window","document","type","errors","console","warn","every","e","convertFieldsError","length","fields","forEach","error","field","push","format","args","i","f","len","apply","slice","str","String","replace","x","Number","JSON","stringify","_","arg","isNativeStringType","isEmptyValue","value","undefined","Array","isArray","asyncParallelArray","arr","func","callback","results","total","arrLength","count","a","asyncSerialArray","index","next","original","flattenObjArr","objArr","ret","Object","keys","k","asyncMap","option","first","pending","Promise","resolve","reject","flattenArr","firstFields","objArrKeys","objArrLength","key","indexOf","complementError","rule","oe","message","fullField","deepMerge","target","source","s","hasOwnProperty","required","options","util","messages","whitespace","test","pattern","email","url","RegExp","hex","types","integer","number","parseInt","array","regexp","date","getTime","getMonth","getYear","isNaN","object","method","match","custom","ruleType","range","min","max","spRegexp","val","num","ENUM","enumerable","join","lastIndex","mismatch","_pattern","enumRule","string","validate","rules","boolean","floatFn","dateObject","Date","any","float","enumValidator","newMessages","parse","invalid","clone","cloned","Schema","descriptor","_messages","defaultMessages","define","prototype","Error","z","item","source_","o","oc","complete","add","concat","series","r","transform","validator","getValidationMethod","getType","errorFields","data","doIt","deep","defaultField","addFullfield","schema","cb","suppressWarning","map","fieldsSchema","fieldSchema","bind","errs","finalErrors","res","asyncValidator","then","validators","messageIndex","splice","register"],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/async-validator/dist-types/index.d.ts b/node_modules/async-validator/dist-types/index.d.ts
new file mode 100644
index 0000000..5b37032
--- /dev/null
+++ b/node_modules/async-validator/dist-types/index.d.ts
@@ -0,0 +1,97 @@
+// Type definitions for async-validator 3.0.4
+// Project: http://github.com/yiminghe/async-validator
+// Definitions by: iamdhj
+// TypeScript Version: 3.6.2
+
+export default class {
+ constructor(rule: Rules);
+
+ /**
+ * Validate source
+ * @param source The object to validate (required)
+ * @param options An object describing processing options for the validation
+ * @param callback A callback function to invoke when validation completes
+ * @returns Promise
+ */
+ validate(
+ source: ValidateSource,
+ options?: ValidateOption,
+ callback?: (errors: ErrorList, fields: FieldErrorList) => void,
+ ): Promise;
+}
+
+export type RuleType =
+ | 'string'
+ | 'number'
+ | 'boolean'
+ | 'method'
+ | 'regexp'
+ | 'integer'
+ | 'float'
+ | 'array'
+ | 'object'
+ | 'enum'
+ | 'date'
+ | 'url'
+ | 'hex'
+ | 'email'
+ | 'any';
+
+export interface RuleItem {
+ type?: RuleType; // default type is 'string'
+ required?: boolean;
+ pattern?: RegExp | string;
+ min?: number; // Range of type 'string' and 'array'
+ max?: number; // Range of type 'string' and 'array'
+ len?: number; // Length of type 'string' and 'array'
+ enum?: Array; // possible values of type 'enum'
+ whitespace?: boolean;
+ fields?: Rules; // ignore when without required
+ options?: ValidateOption;
+ defaultField?: { type: RuleType }; // 'object' or 'array' containing validation rules
+ transform?: (value: any) => any;
+ message?: string;
+ asyncValidator?: (
+ rule: Rules,
+ value: any,
+ callback: (error: string | string[] | void) => void,
+ source: ValidateSource,
+ options: ValidateOption,
+ ) => void | Promise;
+ validator?: (
+ rule: Rules,
+ value: any,
+ callback: (error: string | string[] | void) => void,
+ source: ValidateSource,
+ options: ValidateOption,
+ ) => void;
+}
+
+export interface Rules {
+ [field: string]: RuleItem | RuleItem[];
+}
+
+export interface ValidateSource {
+ [field: string]: any;
+}
+
+export interface ValidateOption {
+ // whether to suppress internal warning
+ suppressWarning?: boolean;
+
+ // when the first validation rule generates an error stop processed
+ first?: boolean;
+
+ // when the first validation rule of the specified field generates an error stop the field processed, 'true' means all fields.
+ firstFields?: boolean | string[];
+}
+
+export interface ValidateError {
+ message: string;
+ field: string;
+}
+
+export type ErrorList = ValidateError[];
+export interface FieldErrorList {
+ [field: string]: ValidateError[];
+}
diff --git a/node_modules/async-validator/dist-web/index.js b/node_modules/async-validator/dist-web/index.js
new file mode 100644
index 0000000..f0f0f9b
--- /dev/null
+++ b/node_modules/async-validator/dist-web/index.js
@@ -0,0 +1,1348 @@
+function _extends() {
+ _extends = Object.assign || function (target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i];
+
+ for (var key in source) {
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
+ target[key] = source[key];
+ }
+ }
+ }
+
+ return target;
+ };
+
+ return _extends.apply(this, arguments);
+}
+
+/* eslint no-console:0 */
+var formatRegExp = /%[sdj%]/g;
+var warning = function warning() {}; // don't print warning message when in production env or node runtime
+
+if (typeof process !== 'undefined' && process.env && process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {
+ warning = function warning(type, errors) {
+ if (typeof console !== 'undefined' && console.warn) {
+ if (errors.every(function (e) {
+ return typeof e === 'string';
+ })) {
+ console.warn(type, errors);
+ }
+ }
+ };
+}
+
+function convertFieldsError(errors) {
+ if (!errors || !errors.length) return null;
+ var fields = {};
+ errors.forEach(function (error) {
+ var field = error.field;
+ fields[field] = fields[field] || [];
+ fields[field].push(error);
+ });
+ return fields;
+}
+function format() {
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ var i = 1;
+ var f = args[0];
+ var len = args.length;
+
+ if (typeof f === 'function') {
+ return f.apply(null, args.slice(1));
+ }
+
+ if (typeof f === 'string') {
+ var str = String(f).replace(formatRegExp, function (x) {
+ if (x === '%%') {
+ return '%';
+ }
+
+ if (i >= len) {
+ return x;
+ }
+
+ switch (x) {
+ case '%s':
+ return String(args[i++]);
+
+ case '%d':
+ return Number(args[i++]);
+
+ case '%j':
+ try {
+ return JSON.stringify(args[i++]);
+ } catch (_) {
+ return '[Circular]';
+ }
+
+ break;
+
+ default:
+ return x;
+ }
+ });
+
+ for (var arg = args[i]; i < len; arg = args[++i]) {
+ str += " " + arg;
+ }
+
+ return str;
+ }
+
+ return f;
+}
+
+function isNativeStringType(type) {
+ return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'pattern';
+}
+
+function isEmptyValue(value, type) {
+ if (value === undefined || value === null) {
+ return true;
+ }
+
+ if (type === 'array' && Array.isArray(value) && !value.length) {
+ return true;
+ }
+
+ if (isNativeStringType(type) && typeof value === 'string' && !value) {
+ return true;
+ }
+
+ return false;
+}
+
+function asyncParallelArray(arr, func, callback) {
+ var results = [];
+ var total = 0;
+ var arrLength = arr.length;
+
+ function count(errors) {
+ results.push.apply(results, errors);
+ total++;
+
+ if (total === arrLength) {
+ callback(results);
+ }
+ }
+
+ arr.forEach(function (a) {
+ func(a, count);
+ });
+}
+
+function asyncSerialArray(arr, func, callback) {
+ var index = 0;
+ var arrLength = arr.length;
+
+ function next(errors) {
+ if (errors && errors.length) {
+ callback(errors);
+ return;
+ }
+
+ var original = index;
+ index = index + 1;
+
+ if (original < arrLength) {
+ func(arr[original], next);
+ } else {
+ callback([]);
+ }
+ }
+
+ next([]);
+}
+
+function flattenObjArr(objArr) {
+ var ret = [];
+ Object.keys(objArr).forEach(function (k) {
+ ret.push.apply(ret, objArr[k]);
+ });
+ return ret;
+}
+
+function asyncMap(objArr, option, func, callback) {
+ if (option.first) {
+ var _pending = new Promise(function (resolve, reject) {
+ var next = function next(errors) {
+ callback(errors);
+ return errors.length ? reject({
+ errors: errors,
+ fields: convertFieldsError(errors)
+ }) : resolve();
+ };
+
+ var flattenArr = flattenObjArr(objArr);
+ asyncSerialArray(flattenArr, func, next);
+ });
+
+ _pending["catch"](function (e) {
+ return e;
+ });
+
+ return _pending;
+ }
+
+ var firstFields = option.firstFields || [];
+
+ if (firstFields === true) {
+ firstFields = Object.keys(objArr);
+ }
+
+ var objArrKeys = Object.keys(objArr);
+ var objArrLength = objArrKeys.length;
+ var total = 0;
+ var results = [];
+ var pending = new Promise(function (resolve, reject) {
+ var next = function next(errors) {
+ results.push.apply(results, errors);
+ total++;
+
+ if (total === objArrLength) {
+ callback(results);
+ return results.length ? reject({
+ errors: results,
+ fields: convertFieldsError(results)
+ }) : resolve();
+ }
+ };
+
+ if (!objArrKeys.length) {
+ callback(results);
+ resolve();
+ }
+
+ objArrKeys.forEach(function (key) {
+ var arr = objArr[key];
+
+ if (firstFields.indexOf(key) !== -1) {
+ asyncSerialArray(arr, func, next);
+ } else {
+ asyncParallelArray(arr, func, next);
+ }
+ });
+ });
+ pending["catch"](function (e) {
+ return e;
+ });
+ return pending;
+}
+function complementError(rule) {
+ return function (oe) {
+ if (oe && oe.message) {
+ oe.field = oe.field || rule.fullField;
+ return oe;
+ }
+
+ return {
+ message: typeof oe === 'function' ? oe() : oe,
+ field: oe.field || rule.fullField
+ };
+ };
+}
+function deepMerge(target, source) {
+ if (source) {
+ for (var s in source) {
+ if (source.hasOwnProperty(s)) {
+ var value = source[s];
+
+ if (typeof value === 'object' && typeof target[s] === 'object') {
+ target[s] = _extends({}, target[s], {}, value);
+ } else {
+ target[s] = value;
+ }
+ }
+ }
+ }
+
+ return target;
+}
+
+/**
+ * Rule for validating required fields.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param source The source object being validated.
+ * @param errors An array of errors that this rule may add
+ * validation errors to.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function required(rule, value, source, errors, options, type) {
+ if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type || rule.type))) {
+ errors.push(format(options.messages.required, rule.fullField));
+ }
+}
+
+/**
+ * Rule for validating whitespace.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param source The source object being validated.
+ * @param errors An array of errors that this rule may add
+ * validation errors to.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function whitespace(rule, value, source, errors, options) {
+ if (/^\s+$/.test(value) || value === '') {
+ errors.push(format(options.messages.whitespace, rule.fullField));
+ }
+}
+
+/* eslint max-len:0 */
+
+var pattern = {
+ // http://emailregex.com/
+ email: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
+ url: new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$", 'i'),
+ hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i
+};
+var types = {
+ integer: function integer(value) {
+ return types.number(value) && parseInt(value, 10) === value;
+ },
+ "float": function float(value) {
+ return types.number(value) && !types.integer(value);
+ },
+ array: function array(value) {
+ return Array.isArray(value);
+ },
+ regexp: function regexp(value) {
+ if (value instanceof RegExp) {
+ return true;
+ }
+
+ try {
+ return !!new RegExp(value);
+ } catch (e) {
+ return false;
+ }
+ },
+ date: function date(value) {
+ return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function';
+ },
+ number: function number(value) {
+ if (isNaN(value)) {
+ return false;
+ }
+
+ return typeof value === 'number';
+ },
+ object: function object(value) {
+ return typeof value === 'object' && !types.array(value);
+ },
+ method: function method(value) {
+ return typeof value === 'function';
+ },
+ email: function email(value) {
+ return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;
+ },
+ url: function url(value) {
+ return typeof value === 'string' && !!value.match(pattern.url);
+ },
+ hex: function hex(value) {
+ return typeof value === 'string' && !!value.match(pattern.hex);
+ }
+};
+/**
+ * Rule for validating the type of a value.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param source The source object being validated.
+ * @param errors An array of errors that this rule may add
+ * validation errors to.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function type(rule, value, source, errors, options) {
+ if (rule.required && value === undefined) {
+ required(rule, value, source, errors, options);
+ return;
+ }
+
+ var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];
+ var ruleType = rule.type;
+
+ if (custom.indexOf(ruleType) > -1) {
+ if (!types[ruleType](value)) {
+ errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));
+ } // straight typeof check
+
+ } else if (ruleType && typeof value !== rule.type) {
+ errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));
+ }
+}
+
+/**
+ * Rule for validating minimum and maximum allowed values.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param source The source object being validated.
+ * @param errors An array of errors that this rule may add
+ * validation errors to.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function range(rule, value, source, errors, options) {
+ var len = typeof rule.len === 'number';
+ var min = typeof rule.min === 'number';
+ var max = typeof rule.max === 'number'; // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)
+
+ var spRegexp = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
+ var val = value;
+ var key = null;
+ var num = typeof value === 'number';
+ var str = typeof value === 'string';
+ var arr = Array.isArray(value);
+
+ if (num) {
+ key = 'number';
+ } else if (str) {
+ key = 'string';
+ } else if (arr) {
+ key = 'array';
+ } // if the value is not of a supported type for range validation
+ // the validation rule rule should use the
+ // type property to also test for a particular type
+
+
+ if (!key) {
+ return false;
+ }
+
+ if (arr) {
+ val = value.length;
+ }
+
+ if (str) {
+ // 处理码点大于U+010000的文字length属性不准确的bug,如"𠮷𠮷𠮷".lenght !== 3
+ val = value.replace(spRegexp, '_').length;
+ }
+
+ if (len) {
+ if (val !== rule.len) {
+ errors.push(format(options.messages[key].len, rule.fullField, rule.len));
+ }
+ } else if (min && !max && val < rule.min) {
+ errors.push(format(options.messages[key].min, rule.fullField, rule.min));
+ } else if (max && !min && val > rule.max) {
+ errors.push(format(options.messages[key].max, rule.fullField, rule.max));
+ } else if (min && max && (val < rule.min || val > rule.max)) {
+ errors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max));
+ }
+}
+
+var ENUM = 'enum';
+/**
+ * Rule for validating a value exists in an enumerable list.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param source The source object being validated.
+ * @param errors An array of errors that this rule may add
+ * validation errors to.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function enumerable(rule, value, source, errors, options) {
+ rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];
+
+ if (rule[ENUM].indexOf(value) === -1) {
+ errors.push(format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));
+ }
+}
+
+/**
+ * Rule for validating a regular expression pattern.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param source The source object being validated.
+ * @param errors An array of errors that this rule may add
+ * validation errors to.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function pattern$1(rule, value, source, errors, options) {
+ if (rule.pattern) {
+ if (rule.pattern instanceof RegExp) {
+ // if a RegExp instance is passed, reset `lastIndex` in case its `global`
+ // flag is accidentally set to `true`, which in a validation scenario
+ // is not necessary and the result might be misleading
+ rule.pattern.lastIndex = 0;
+
+ if (!rule.pattern.test(value)) {
+ errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));
+ }
+ } else if (typeof rule.pattern === 'string') {
+ var _pattern = new RegExp(rule.pattern);
+
+ if (!_pattern.test(value)) {
+ errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));
+ }
+ }
+ }
+}
+
+var rules = {
+ required: required,
+ whitespace: whitespace,
+ type: type,
+ range: range,
+ "enum": enumerable,
+ pattern: pattern$1
+};
+
+/**
+ * Performs validation for string types.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function string(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value, 'string') && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options, 'string');
+
+ if (!isEmptyValue(value, 'string')) {
+ rules.type(rule, value, source, errors, options);
+ rules.range(rule, value, source, errors, options);
+ rules.pattern(rule, value, source, errors, options);
+
+ if (rule.whitespace === true) {
+ rules.whitespace(rule, value, source, errors, options);
+ }
+ }
+ }
+
+ callback(errors);
+}
+
+/**
+ * Validates a function.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function method(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+
+ if (value !== undefined) {
+ rules.type(rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+/**
+ * Validates a number.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function number(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (value === '') {
+ value = undefined;
+ }
+
+ if (isEmptyValue(value) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+
+ if (value !== undefined) {
+ rules.type(rule, value, source, errors, options);
+ rules.range(rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+/**
+ * Validates a boolean.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function _boolean(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+
+ if (value !== undefined) {
+ rules.type(rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+/**
+ * Validates the regular expression type.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function regexp(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+
+ if (!isEmptyValue(value)) {
+ rules.type(rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+/**
+ * Validates a number is an integer.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function integer(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+
+ if (value !== undefined) {
+ rules.type(rule, value, source, errors, options);
+ rules.range(rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+/**
+ * Validates a number is a floating point number.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function floatFn(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+
+ if (value !== undefined) {
+ rules.type(rule, value, source, errors, options);
+ rules.range(rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+/**
+ * Validates an array.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function array(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value, 'array') && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options, 'array');
+
+ if (!isEmptyValue(value, 'array')) {
+ rules.type(rule, value, source, errors, options);
+ rules.range(rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+/**
+ * Validates an object.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function object(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+
+ if (value !== undefined) {
+ rules.type(rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+var ENUM$1 = 'enum';
+/**
+ * Validates an enumerable list.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function enumerable$1(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+
+ if (value !== undefined) {
+ rules[ENUM$1](rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+/**
+ * Validates a regular expression pattern.
+ *
+ * Performs validation when a rule only contains
+ * a pattern property but is not declared as a string type.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function pattern$2(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value, 'string') && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+
+ if (!isEmptyValue(value, 'string')) {
+ rules.pattern(rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+function date(rule, value, callback, source, options) {
+ // console.log('integer rule called %j', rule);
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); // console.log('validate on %s value', value);
+
+ if (validate) {
+ if (isEmptyValue(value) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+
+ if (!isEmptyValue(value)) {
+ var dateObject;
+
+ if (typeof value === 'number') {
+ dateObject = new Date(value);
+ } else {
+ dateObject = value;
+ }
+
+ rules.type(rule, dateObject, source, errors, options);
+
+ if (dateObject) {
+ rules.range(rule, dateObject.getTime(), source, errors, options);
+ }
+ }
+ }
+
+ callback(errors);
+}
+
+function required$1(rule, value, callback, source, options) {
+ var errors = [];
+ var type = Array.isArray(value) ? 'array' : typeof value;
+ rules.required(rule, value, source, errors, options, type);
+ callback(errors);
+}
+
+function type$1(rule, value, callback, source, options) {
+ var ruleType = rule.type;
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value, ruleType) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options, ruleType);
+
+ if (!isEmptyValue(value, ruleType)) {
+ rules.type(rule, value, source, errors, options);
+ }
+ }
+
+ callback(errors);
+}
+
+/**
+ * Performs validation for any type.
+ *
+ * @param rule The validation rule.
+ * @param value The value of the field on the source object.
+ * @param callback The callback function.
+ * @param source The source object being validated.
+ * @param options The validation options.
+ * @param options.messages The validation messages.
+ */
+
+function any(rule, value, callback, source, options) {
+ var errors = [];
+ var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
+
+ if (validate) {
+ if (isEmptyValue(value) && !rule.required) {
+ return callback();
+ }
+
+ rules.required(rule, value, source, errors, options);
+ }
+
+ callback(errors);
+}
+
+var validators = {
+ string: string,
+ method: method,
+ number: number,
+ "boolean": _boolean,
+ regexp: regexp,
+ integer: integer,
+ "float": floatFn,
+ array: array,
+ object: object,
+ "enum": enumerable$1,
+ pattern: pattern$2,
+ date: date,
+ url: type$1,
+ hex: type$1,
+ email: type$1,
+ required: required$1,
+ any: any
+};
+
+function newMessages() {
+ return {
+ "default": 'Validation error on field %s',
+ required: '%s is required',
+ "enum": '%s must be one of %s',
+ whitespace: '%s cannot be empty',
+ date: {
+ format: '%s date %s is invalid for format %s',
+ parse: '%s date could not be parsed, %s is invalid ',
+ invalid: '%s date %s is invalid'
+ },
+ types: {
+ string: '%s is not a %s',
+ method: '%s is not a %s (function)',
+ array: '%s is not an %s',
+ object: '%s is not an %s',
+ number: '%s is not a %s',
+ date: '%s is not a %s',
+ "boolean": '%s is not a %s',
+ integer: '%s is not an %s',
+ "float": '%s is not a %s',
+ regexp: '%s is not a valid %s',
+ email: '%s is not a valid %s',
+ url: '%s is not a valid %s',
+ hex: '%s is not a valid %s'
+ },
+ string: {
+ len: '%s must be exactly %s characters',
+ min: '%s must be at least %s characters',
+ max: '%s cannot be longer than %s characters',
+ range: '%s must be between %s and %s characters'
+ },
+ number: {
+ len: '%s must equal %s',
+ min: '%s cannot be less than %s',
+ max: '%s cannot be greater than %s',
+ range: '%s must be between %s and %s'
+ },
+ array: {
+ len: '%s must be exactly %s in length',
+ min: '%s cannot be less than %s in length',
+ max: '%s cannot be greater than %s in length',
+ range: '%s must be between %s and %s in length'
+ },
+ pattern: {
+ mismatch: '%s value %s does not match pattern %s'
+ },
+ clone: function clone() {
+ var cloned = JSON.parse(JSON.stringify(this));
+ cloned.clone = this.clone;
+ return cloned;
+ }
+ };
+}
+var messages = newMessages();
+
+/**
+ * Encapsulates a validation schema.
+ *
+ * @param descriptor An object declaring validation rules
+ * for this schema.
+ */
+
+function Schema(descriptor) {
+ this.rules = null;
+ this._messages = messages;
+ this.define(descriptor);
+}
+
+Schema.prototype = {
+ messages: function messages(_messages) {
+ if (_messages) {
+ this._messages = deepMerge(newMessages(), _messages);
+ }
+
+ return this._messages;
+ },
+ define: function define(rules) {
+ if (!rules) {
+ throw new Error('Cannot configure a schema with no rules');
+ }
+
+ if (typeof rules !== 'object' || Array.isArray(rules)) {
+ throw new Error('Rules must be an object');
+ }
+
+ this.rules = {};
+ var z;
+ var item;
+
+ for (z in rules) {
+ if (rules.hasOwnProperty(z)) {
+ item = rules[z];
+ this.rules[z] = Array.isArray(item) ? item : [item];
+ }
+ }
+ },
+ validate: function validate(source_, o, oc) {
+ var _this = this;
+
+ if (o === void 0) {
+ o = {};
+ }
+
+ if (oc === void 0) {
+ oc = function oc() {};
+ }
+
+ var source = source_;
+ var options = o;
+ var callback = oc;
+
+ if (typeof options === 'function') {
+ callback = options;
+ options = {};
+ }
+
+ if (!this.rules || Object.keys(this.rules).length === 0) {
+ if (callback) {
+ callback();
+ }
+
+ return Promise.resolve();
+ }
+
+ function complete(results) {
+ var i;
+ var errors = [];
+ var fields = {};
+
+ function add(e) {
+ if (Array.isArray(e)) {
+ var _errors;
+
+ errors = (_errors = errors).concat.apply(_errors, e);
+ } else {
+ errors.push(e);
+ }
+ }
+
+ for (i = 0; i < results.length; i++) {
+ add(results[i]);
+ }
+
+ if (!errors.length) {
+ errors = null;
+ fields = null;
+ } else {
+ fields = convertFieldsError(errors);
+ }
+
+ callback(errors, fields);
+ }
+
+ if (options.messages) {
+ var messages$1 = this.messages();
+
+ if (messages$1 === messages) {
+ messages$1 = newMessages();
+ }
+
+ deepMerge(messages$1, options.messages);
+ options.messages = messages$1;
+ } else {
+ options.messages = this.messages();
+ }
+
+ var arr;
+ var value;
+ var series = {};
+ var keys = options.keys || Object.keys(this.rules);
+ keys.forEach(function (z) {
+ arr = _this.rules[z];
+ value = source[z];
+ arr.forEach(function (r) {
+ var rule = r;
+
+ if (typeof rule.transform === 'function') {
+ if (source === source_) {
+ source = _extends({}, source);
+ }
+
+ value = source[z] = rule.transform(value);
+ }
+
+ if (typeof rule === 'function') {
+ rule = {
+ validator: rule
+ };
+ } else {
+ rule = _extends({}, rule);
+ }
+
+ rule.validator = _this.getValidationMethod(rule);
+ rule.field = z;
+ rule.fullField = rule.fullField || z;
+ rule.type = _this.getType(rule);
+
+ if (!rule.validator) {
+ return;
+ }
+
+ series[z] = series[z] || [];
+ series[z].push({
+ rule: rule,
+ value: value,
+ source: source,
+ field: z
+ });
+ });
+ });
+ var errorFields = {};
+ return asyncMap(series, options, function (data, doIt) {
+ var rule = data.rule;
+ var deep = (rule.type === 'object' || rule.type === 'array') && (typeof rule.fields === 'object' || typeof rule.defaultField === 'object');
+ deep = deep && (rule.required || !rule.required && data.value);
+ rule.field = data.field;
+
+ function addFullfield(key, schema) {
+ return _extends({}, schema, {
+ fullField: rule.fullField + "." + key
+ });
+ }
+
+ function cb(e) {
+ if (e === void 0) {
+ e = [];
+ }
+
+ var errors = e;
+
+ if (!Array.isArray(errors)) {
+ errors = [errors];
+ }
+
+ if (!options.suppressWarning && errors.length) {
+ Schema.warning('async-validator:', errors);
+ }
+
+ if (errors.length && rule.message) {
+ errors = [].concat(rule.message);
+ }
+
+ errors = errors.map(complementError(rule));
+
+ if (options.first && errors.length) {
+ errorFields[rule.field] = 1;
+ return doIt(errors);
+ }
+
+ if (!deep) {
+ doIt(errors);
+ } else {
+ // if rule is required but the target object
+ // does not exist fail at the rule level and don't
+ // go deeper
+ if (rule.required && !data.value) {
+ if (rule.message) {
+ errors = [].concat(rule.message).map(complementError(rule));
+ } else if (options.error) {
+ errors = [options.error(rule, format(options.messages.required, rule.field))];
+ } else {
+ errors = [];
+ }
+
+ return doIt(errors);
+ }
+
+ var fieldsSchema = {};
+
+ if (rule.defaultField) {
+ for (var k in data.value) {
+ if (data.value.hasOwnProperty(k)) {
+ fieldsSchema[k] = rule.defaultField;
+ }
+ }
+ }
+
+ fieldsSchema = _extends({}, fieldsSchema, {}, data.rule.fields);
+
+ for (var f in fieldsSchema) {
+ if (fieldsSchema.hasOwnProperty(f)) {
+ var fieldSchema = Array.isArray(fieldsSchema[f]) ? fieldsSchema[f] : [fieldsSchema[f]];
+ fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));
+ }
+ }
+
+ var schema = new Schema(fieldsSchema);
+ schema.messages(options.messages);
+
+ if (data.rule.options) {
+ data.rule.options.messages = options.messages;
+ data.rule.options.error = options.error;
+ }
+
+ schema.validate(data.value, data.rule.options || options, function (errs) {
+ var finalErrors = [];
+
+ if (errors && errors.length) {
+ finalErrors.push.apply(finalErrors, errors);
+ }
+
+ if (errs && errs.length) {
+ finalErrors.push.apply(finalErrors, errs);
+ }
+
+ doIt(finalErrors.length ? finalErrors : null);
+ });
+ }
+ }
+
+ var res;
+
+ if (rule.asyncValidator) {
+ res = rule.asyncValidator(rule, data.value, cb, data.source, options);
+ } else if (rule.validator) {
+ res = rule.validator(rule, data.value, cb, data.source, options);
+
+ if (res === true) {
+ cb();
+ } else if (res === false) {
+ cb(rule.message || rule.field + " fails");
+ } else if (res instanceof Array) {
+ cb(res);
+ } else if (res instanceof Error) {
+ cb(res.message);
+ }
+ }
+
+ if (res && res.then) {
+ res.then(function () {
+ return cb();
+ }, function (e) {
+ return cb(e);
+ });
+ }
+ }, function (results) {
+ complete(results);
+ });
+ },
+ getType: function getType(rule) {
+ if (rule.type === undefined && rule.pattern instanceof RegExp) {
+ rule.type = 'pattern';
+ }
+
+ if (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) {
+ throw new Error(format('Unknown rule type %s', rule.type));
+ }
+
+ return rule.type || 'string';
+ },
+ getValidationMethod: function getValidationMethod(rule) {
+ if (typeof rule.validator === 'function') {
+ return rule.validator;
+ }
+
+ var keys = Object.keys(rule);
+ var messageIndex = keys.indexOf('message');
+
+ if (messageIndex !== -1) {
+ keys.splice(messageIndex, 1);
+ }
+
+ if (keys.length === 1 && keys[0] === 'required') {
+ return validators.required;
+ }
+
+ return validators[this.getType(rule)] || false;
+ }
+};
+
+Schema.register = function register(type, validator) {
+ if (typeof validator !== 'function') {
+ throw new Error('Cannot register a validator by type, validator is not a function');
+ }
+
+ validators[type] = validator;
+};
+
+Schema.warning = warning;
+Schema.messages = messages;
+
+export default Schema;
+//# sourceMappingURL=index.js.map
diff --git a/node_modules/async-validator/dist-web/index.js.map b/node_modules/async-validator/dist-web/index.js.map
new file mode 100644
index 0000000..59d99e7
--- /dev/null
+++ b/node_modules/async-validator/dist-web/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sources":["../../src/util.js","../../src/rule/required.js","../../src/rule/whitespace.js","../../src/rule/type.js","../../src/rule/range.js","../../src/rule/enum.js","../../src/rule/pattern.js","../../src/rule/index.js","../../src/validator/string.js","../../src/validator/method.js","../../src/validator/number.js","../../src/validator/boolean.js","../../src/validator/regexp.js","../../src/validator/integer.js","../../src/validator/float.js","../../src/validator/array.js","../../src/validator/object.js","../../src/validator/enum.js","../../src/validator/pattern.js","../../src/validator/date.js","../../src/validator/required.js","../../src/validator/type.js","../../src/validator/any.js","../../src/validator/index.js","../../src/messages.js","../../src/index.js"],"sourcesContent":["/* eslint no-console:0 */\n\nconst formatRegExp = /%[sdj%]/g;\n\nexport let warning = () => {\n};\n\n// don't print warning message when in production env or node runtime\nif (\n typeof process !== 'undefined' &&\n process.env &&\n process.env.NODE_ENV !== 'production' &&\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n) {\n warning = (type, errors) => {\n if (typeof console !== 'undefined' && console.warn) {\n if (errors.every(e => typeof e === 'string')) {\n console.warn(type, errors);\n }\n }\n };\n}\n\nexport function convertFieldsError(errors) {\n if (!errors || !errors.length) return null;\n const fields = {};\n errors.forEach(error => {\n const field = error.field;\n fields[field] = fields[field] || [];\n fields[field].push(error);\n });\n return fields;\n}\n\nexport function format(...args) {\n let i = 1;\n const f = args[0];\n const len = args.length;\n if (typeof f === 'function') {\n return f.apply(null, args.slice(1));\n }\n if (typeof f === 'string') {\n let str = String(f).replace(formatRegExp, x => {\n if (x === '%%') {\n return '%';\n }\n if (i >= len) {\n return x;\n }\n switch (x) {\n case '%s':\n return String(args[i++]);\n case '%d':\n return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n break;\n default:\n return x;\n }\n });\n for (let arg = args[i]; i < len; arg = args[++i]) {\n str += ` ${arg}`;\n }\n return str;\n }\n return f;\n}\n\nfunction isNativeStringType(type) {\n return (\n type === 'string' ||\n type === 'url' ||\n type === 'hex' ||\n type === 'email' ||\n type === 'pattern'\n );\n}\n\nexport function isEmptyValue(value, type) {\n if (value === undefined || value === null) {\n return true;\n }\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n return false;\n}\n\nexport function isEmptyObject(obj) {\n return Object.keys(obj).length === 0;\n}\n\nfunction asyncParallelArray(arr, func, callback) {\n const results = [];\n let total = 0;\n const arrLength = arr.length;\n\n function count(errors) {\n results.push.apply(results, errors);\n total++;\n if (total === arrLength) {\n callback(results);\n }\n }\n\n arr.forEach(a => {\n func(a, count);\n });\n}\n\nfunction asyncSerialArray(arr, func, callback) {\n let index = 0;\n const arrLength = arr.length;\n\n function next(errors) {\n if (errors && errors.length) {\n callback(errors);\n return;\n }\n const original = index;\n index = index + 1;\n if (original < arrLength) {\n func(arr[original], next);\n } else {\n callback([]);\n }\n }\n\n next([]);\n}\n\nfunction flattenObjArr(objArr) {\n const ret = [];\n Object.keys(objArr).forEach(k => {\n ret.push.apply(ret, objArr[k]);\n });\n return ret;\n}\n\nexport function asyncMap(objArr, option, func, callback) {\n if (option.first) {\n const pending = new Promise((resolve, reject) => {\n const next = errors => {\n callback(errors);\n return errors.length\n ? reject({ errors, fields: convertFieldsError(errors) })\n : resolve();\n };\n const flattenArr = flattenObjArr(objArr);\n asyncSerialArray(flattenArr, func, next);\n });\n pending.catch(e => e);\n return pending;\n }\n let firstFields = option.firstFields || [];\n if (firstFields === true) {\n firstFields = Object.keys(objArr);\n }\n const objArrKeys = Object.keys(objArr);\n const objArrLength = objArrKeys.length;\n let total = 0;\n const results = [];\n const pending = new Promise((resolve, reject) => {\n const next = errors => {\n results.push.apply(results, errors);\n total++;\n if (total === objArrLength) {\n callback(results);\n return results.length\n ? reject({ errors: results, fields: convertFieldsError(results) })\n : resolve();\n }\n };\n if (!objArrKeys.length) {\n callback(results)\n resolve()\n }\n objArrKeys.forEach(key => {\n const arr = objArr[key];\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n });\n pending.catch(e => e);\n return pending;\n}\n\nexport function complementError(rule) {\n return oe => {\n if (oe && oe.message) {\n oe.field = oe.field || rule.fullField;\n return oe;\n }\n return {\n message: typeof oe === 'function' ? oe() : oe,\n field: oe.field || rule.fullField,\n };\n };\n}\n\nexport function deepMerge(target, source) {\n if (source) {\n for (const s in source) {\n if (source.hasOwnProperty(s)) {\n const value = source[s];\n if (typeof value === 'object' && typeof target[s] === 'object') {\n target[s] = {\n ...target[s],\n ...value,\n };\n } else {\n target[s] = value;\n }\n }\n }\n }\n return target;\n}\n","import * as util from '../util';\n\n/**\n * Rule for validating required fields.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction required(rule, value, source, errors, options, type) {\n if (\n rule.required &&\n (!source.hasOwnProperty(rule.field) ||\n util.isEmptyValue(value, type || rule.type))\n ) {\n errors.push(util.format(options.messages.required, rule.fullField));\n }\n}\n\nexport default required;\n","import * as util from '../util';\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction whitespace(rule, value, source, errors, options) {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(util.format(options.messages.whitespace, rule.fullField));\n }\n}\n\nexport default whitespace;\n","import * as util from '../util';\nimport required from './required';\n\n/* eslint max-len:0 */\n\nconst pattern = {\n // http://emailregex.com/\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n url: new RegExp(\n '^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$',\n 'i',\n ),\n hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,\n};\n\nconst types = {\n integer(value) {\n return types.number(value) && parseInt(value, 10) === value;\n },\n float(value) {\n return types.number(value) && !types.integer(value);\n },\n array(value) {\n return Array.isArray(value);\n },\n regexp(value) {\n if (value instanceof RegExp) {\n return true;\n }\n try {\n return !!new RegExp(value);\n } catch (e) {\n return false;\n }\n },\n date(value) {\n return (\n typeof value.getTime === 'function' &&\n typeof value.getMonth === 'function' &&\n typeof value.getYear === 'function'\n );\n },\n number(value) {\n if (isNaN(value)) {\n return false;\n }\n return typeof value === 'number';\n },\n object(value) {\n return typeof value === 'object' && !types.array(value);\n },\n method(value) {\n return typeof value === 'function';\n },\n email(value) {\n return (\n typeof value === 'string' &&\n !!value.match(pattern.email) &&\n value.length < 255\n );\n },\n url(value) {\n return typeof value === 'string' && !!value.match(pattern.url);\n },\n hex(value) {\n return typeof value === 'string' && !!value.match(pattern.hex);\n },\n};\n\n/**\n * Rule for validating the type of a value.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction type(rule, value, source, errors, options) {\n if (rule.required && value === undefined) {\n required(rule, value, source, errors, options);\n return;\n }\n const custom = [\n 'integer',\n 'float',\n 'array',\n 'regexp',\n 'object',\n 'method',\n 'email',\n 'number',\n 'date',\n 'url',\n 'hex',\n ];\n const ruleType = rule.type;\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(\n util.format(\n options.messages.types[ruleType],\n rule.fullField,\n rule.type,\n ),\n );\n }\n // straight typeof check\n } else if (ruleType && typeof value !== rule.type) {\n errors.push(\n util.format(options.messages.types[ruleType], rule.fullField, rule.type),\n );\n }\n}\n\nexport default type;\n","import * as util from '../util';\n\n/**\n * Rule for validating minimum and maximum allowed values.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction range(rule, value, source, errors, options) {\n const len = typeof rule.len === 'number';\n const min = typeof rule.min === 'number';\n const max = typeof rule.max === 'number';\n // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n const spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n let val = value;\n let key = null;\n const num = typeof value === 'number';\n const str = typeof value === 'string';\n const arr = Array.isArray(value);\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\n }\n // if the value is not of a supported type for range validation\n // the validation rule rule should use the\n // type property to also test for a particular type\n if (!key) {\n return false;\n }\n if (arr) {\n val = value.length;\n }\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n if (len) {\n if (val !== rule.len) {\n errors.push(\n util.format(options.messages[key].len, rule.fullField, rule.len),\n );\n }\n } else if (min && !max && val < rule.min) {\n errors.push(\n util.format(options.messages[key].min, rule.fullField, rule.min),\n );\n } else if (max && !min && val > rule.max) {\n errors.push(\n util.format(options.messages[key].max, rule.fullField, rule.max),\n );\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(\n util.format(\n options.messages[key].range,\n rule.fullField,\n rule.min,\n rule.max,\n ),\n );\n }\n}\n\nexport default range;\n","import * as util from '../util';\n\nconst ENUM = 'enum';\n\n/**\n * Rule for validating a value exists in an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction enumerable(rule, value, source, errors, options) {\n rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n if (rule[ENUM].indexOf(value) === -1) {\n errors.push(\n util.format(\n options.messages[ENUM],\n rule.fullField,\n rule[ENUM].join(', '),\n ),\n );\n }\n}\n\nexport default enumerable;\n","import * as util from '../util';\n\n/**\n * Rule for validating a regular expression pattern.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction pattern(rule, value, source, errors, options) {\n if (rule.pattern) {\n if (rule.pattern instanceof RegExp) {\n // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n // flag is accidentally set to `true`, which in a validation scenario\n // is not necessary and the result might be misleading\n rule.pattern.lastIndex = 0;\n if (!rule.pattern.test(value)) {\n errors.push(\n util.format(\n options.messages.pattern.mismatch,\n rule.fullField,\n value,\n rule.pattern,\n ),\n );\n }\n } else if (typeof rule.pattern === 'string') {\n const _pattern = new RegExp(rule.pattern);\n if (!_pattern.test(value)) {\n errors.push(\n util.format(\n options.messages.pattern.mismatch,\n rule.fullField,\n value,\n rule.pattern,\n ),\n );\n }\n }\n }\n}\n\nexport default pattern;\n","import required from './required';\nimport whitespace from './whitespace';\nimport type from './type';\nimport range from './range';\nimport enumRule from './enum';\nimport pattern from './pattern';\n\nexport default {\n required,\n whitespace,\n type,\n range,\n enum: enumRule,\n pattern,\n};\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Performs validation for string types.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction string(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, 'string');\n if (!isEmptyValue(value, 'string')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n rules.pattern(rule, value, source, errors, options);\n if (rule.whitespace === true) {\n rules.whitespace(rule, value, source, errors, options);\n }\n }\n }\n callback(errors);\n}\n\nexport default string;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a function.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction method(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default method;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction number(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (value === '') {\n value = undefined;\n }\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default number;\n","import { isEmptyValue } from '../util';\nimport rules from '../rule/index.js';\n\n/**\n * Validates a boolean.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction boolean(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default boolean;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates the regular expression type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction regexp(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default regexp;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a number is an integer.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction integer(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default integer;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a number is a floating point number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction floatFn(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default floatFn;\n","import rules from '../rule/index';\nimport { isEmptyValue } from '../util';\n/**\n * Validates an array.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction array(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, 'array') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, 'array');\n if (!isEmptyValue(value, 'array')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default array;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates an object.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction object(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default object;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\nconst ENUM = 'enum';\n\n/**\n * Validates an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction enumerable(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules[ENUM](rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default enumerable;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a regular expression pattern.\n *\n * Performs validation when a rule only contains\n * a pattern property but is not declared as a string type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction pattern(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value, 'string')) {\n rules.pattern(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default pattern;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\nfunction date(rule, value, callback, source, options) {\n // console.log('integer rule called %j', rule);\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n // console.log('validate on %s value', value);\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value)) {\n let dateObject;\n\n if (typeof value === 'number') {\n dateObject = new Date(value);\n } else {\n dateObject = value;\n }\n\n rules.type(rule, dateObject, source, errors, options);\n if (dateObject) {\n rules.range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n callback(errors);\n}\n\nexport default date;\n","import rules from '../rule/index.js';\n\nfunction required(rule, value, callback, source, options) {\n const errors = [];\n const type = Array.isArray(value) ? 'array' : typeof value;\n rules.required(rule, value, source, errors, options, type);\n callback(errors);\n}\n\nexport default required;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\nfunction type(rule, value, callback, source, options) {\n const ruleType = rule.type;\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, ruleType) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, ruleType);\n if (!isEmptyValue(value, ruleType)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default type;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Performs validation for any type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction any(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n }\n callback(errors);\n}\n\nexport default any;\n","import string from './string';\nimport method from './method';\nimport number from './number';\nimport boolean from './boolean';\nimport regexp from './regexp';\nimport integer from './integer';\nimport float from './float';\nimport array from './array';\nimport object from './object';\nimport enumValidator from './enum';\nimport pattern from './pattern';\nimport date from './date';\nimport required from './required';\nimport type from './type';\nimport any from './any';\n\nexport default {\n string,\n method,\n number,\n boolean,\n regexp,\n integer,\n float,\n array,\n object,\n enum: enumValidator,\n pattern,\n date,\n url: type,\n hex: type,\n email: type,\n required,\n any,\n};\n","export function newMessages() {\n return {\n default: 'Validation error on field %s',\n required: '%s is required',\n enum: '%s must be one of %s',\n whitespace: '%s cannot be empty',\n date: {\n format: '%s date %s is invalid for format %s',\n parse: '%s date could not be parsed, %s is invalid ',\n invalid: '%s date %s is invalid',\n },\n types: {\n string: '%s is not a %s',\n method: '%s is not a %s (function)',\n array: '%s is not an %s',\n object: '%s is not an %s',\n number: '%s is not a %s',\n date: '%s is not a %s',\n boolean: '%s is not a %s',\n integer: '%s is not an %s',\n float: '%s is not a %s',\n regexp: '%s is not a valid %s',\n email: '%s is not a valid %s',\n url: '%s is not a valid %s',\n hex: '%s is not a valid %s',\n },\n string: {\n len: '%s must be exactly %s characters',\n min: '%s must be at least %s characters',\n max: '%s cannot be longer than %s characters',\n range: '%s must be between %s and %s characters',\n },\n number: {\n len: '%s must equal %s',\n min: '%s cannot be less than %s',\n max: '%s cannot be greater than %s',\n range: '%s must be between %s and %s',\n },\n array: {\n len: '%s must be exactly %s in length',\n min: '%s cannot be less than %s in length',\n max: '%s cannot be greater than %s in length',\n range: '%s must be between %s and %s in length',\n },\n pattern: {\n mismatch: '%s value %s does not match pattern %s',\n },\n clone() {\n const cloned = JSON.parse(JSON.stringify(this));\n cloned.clone = this.clone;\n return cloned;\n },\n };\n}\n\nexport const messages = newMessages();\n","import {\n format,\n complementError,\n asyncMap,\n warning,\n deepMerge,\n convertFieldsError,\n} from './util';\nimport validators from './validator/index';\nimport { messages as defaultMessages, newMessages } from './messages';\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\nfunction Schema(descriptor) {\n this.rules = null;\n this._messages = defaultMessages;\n this.define(descriptor);\n}\n\nSchema.prototype = {\n messages(messages) {\n if (messages) {\n this._messages = deepMerge(newMessages(), messages);\n }\n return this._messages;\n },\n define(rules) {\n if (!rules) {\n throw new Error('Cannot configure a schema with no rules');\n }\n if (typeof rules !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n this.rules = {};\n let z;\n let item;\n for (z in rules) {\n if (rules.hasOwnProperty(z)) {\n item = rules[z];\n this.rules[z] = Array.isArray(item) ? item : [item];\n }\n }\n },\n validate(source_, o = {}, oc = () => {}) {\n let source = source_;\n let options = o;\n let callback = oc;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback();\n }\n return Promise.resolve();\n }\n\n function complete(results) {\n let i;\n let errors = [];\n let fields = {};\n\n function add(e) {\n if (Array.isArray(e)) {\n errors = errors.concat(...e);\n } else {\n errors.push(e);\n }\n }\n\n for (i = 0; i < results.length; i++) {\n add(results[i]);\n }\n if (!errors.length) {\n errors = null;\n fields = null;\n } else {\n fields = convertFieldsError(errors);\n }\n callback(errors, fields);\n }\n\n if (options.messages) {\n let messages = this.messages();\n if (messages === defaultMessages) {\n messages = newMessages();\n }\n deepMerge(messages, options.messages);\n options.messages = messages;\n } else {\n options.messages = this.messages();\n }\n let arr;\n let value;\n const series = {};\n const keys = options.keys || Object.keys(this.rules);\n keys.forEach(z => {\n arr = this.rules[z];\n value = source[z];\n arr.forEach(r => {\n let rule = r;\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = { ...source };\n }\n value = source[z] = rule.transform(value);\n }\n if (typeof rule === 'function') {\n rule = {\n validator: rule,\n };\n } else {\n rule = { ...rule };\n }\n rule.validator = this.getValidationMethod(rule);\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = this.getType(rule);\n if (!rule.validator) {\n return;\n }\n series[z] = series[z] || [];\n series[z].push({\n rule,\n value,\n source,\n field: z,\n });\n });\n });\n const errorFields = {};\n return asyncMap(\n series,\n options,\n (data, doIt) => {\n const rule = data.rule;\n let deep =\n (rule.type === 'object' || rule.type === 'array') &&\n (typeof rule.fields === 'object' ||\n typeof rule.defaultField === 'object');\n deep = deep && (rule.required || (!rule.required && data.value));\n rule.field = data.field;\n\n function addFullfield(key, schema) {\n return {\n ...schema,\n fullField: `${rule.fullField}.${key}`,\n };\n }\n\n function cb(e = []) {\n let errors = e;\n if (!Array.isArray(errors)) {\n errors = [errors];\n }\n if (!options.suppressWarning && errors.length) {\n Schema.warning('async-validator:', errors);\n }\n if (errors.length && rule.message) {\n errors = [].concat(rule.message);\n }\n\n errors = errors.map(complementError(rule));\n\n if (options.first && errors.length) {\n errorFields[rule.field] = 1;\n return doIt(errors);\n }\n if (!deep) {\n doIt(errors);\n } else {\n // if rule is required but the target object\n // does not exist fail at the rule level and don't\n // go deeper\n if (rule.required && !data.value) {\n if (rule.message) {\n errors = [].concat(rule.message).map(complementError(rule));\n } else if (options.error) {\n errors = [\n options.error(\n rule,\n format(options.messages.required, rule.field),\n ),\n ];\n } else {\n errors = [];\n }\n return doIt(errors);\n }\n\n let fieldsSchema = {};\n if (rule.defaultField) {\n for (const k in data.value) {\n if (data.value.hasOwnProperty(k)) {\n fieldsSchema[k] = rule.defaultField;\n }\n }\n }\n fieldsSchema = {\n ...fieldsSchema,\n ...data.rule.fields,\n };\n for (const f in fieldsSchema) {\n if (fieldsSchema.hasOwnProperty(f)) {\n const fieldSchema = Array.isArray(fieldsSchema[f])\n ? fieldsSchema[f]\n : [fieldsSchema[f]];\n fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));\n }\n }\n const schema = new Schema(fieldsSchema);\n schema.messages(options.messages);\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n schema.validate(data.value, data.rule.options || options, errs => {\n const finalErrors = [];\n if (errors && errors.length) {\n finalErrors.push(...errors);\n }\n if (errs && errs.length) {\n finalErrors.push(...errs);\n }\n doIt(finalErrors.length ? finalErrors : null);\n });\n }\n }\n\n let res;\n if (rule.asyncValidator) {\n res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n } else if (rule.validator) {\n res = rule.validator(rule, data.value, cb, data.source, options);\n if (res === true) {\n cb();\n } else if (res === false) {\n cb(rule.message || `${rule.field} fails`);\n } else if (res instanceof Array) {\n cb(res);\n } else if (res instanceof Error) {\n cb(res.message);\n }\n }\n if (res && res.then) {\n res.then(() => cb(), e => cb(e));\n }\n },\n results => {\n complete(results);\n },\n );\n },\n getType(rule) {\n if (rule.type === undefined && rule.pattern instanceof RegExp) {\n rule.type = 'pattern';\n }\n if (\n typeof rule.validator !== 'function' &&\n (rule.type && !validators.hasOwnProperty(rule.type))\n ) {\n throw new Error(format('Unknown rule type %s', rule.type));\n }\n return rule.type || 'string';\n },\n getValidationMethod(rule) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n const keys = Object.keys(rule);\n const messageIndex = keys.indexOf('message');\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n if (keys.length === 1 && keys[0] === 'required') {\n return validators.required;\n }\n return validators[this.getType(rule)] || false;\n },\n};\n\nSchema.register = function register(type, validator) {\n if (typeof validator !== 'function') {\n throw new Error(\n 'Cannot register a validator by type, validator is not a function',\n );\n }\n validators[type] = validator;\n};\n\nSchema.warning = warning;\n\nSchema.messages = defaultMessages;\n\nexport default Schema;\n"],"names":["formatRegExp","warning","process","env","NODE_ENV","window","document","type","errors","console","warn","every","e","convertFieldsError","length","fields","forEach","error","field","push","format","args","i","f","len","apply","slice","str","String","replace","x","Number","JSON","stringify","_","arg","isNativeStringType","isEmptyValue","value","undefined","Array","isArray","asyncParallelArray","arr","func","callback","results","total","arrLength","count","a","asyncSerialArray","index","next","original","flattenObjArr","objArr","ret","Object","keys","k","asyncMap","option","first","pending","Promise","resolve","reject","flattenArr","firstFields","objArrKeys","objArrLength","key","indexOf","complementError","rule","oe","message","fullField","deepMerge","target","source","s","hasOwnProperty","required","options","util","messages","whitespace","test","pattern","email","url","RegExp","hex","types","integer","number","parseInt","array","regexp","date","getTime","getMonth","getYear","isNaN","object","method","match","custom","ruleType","range","min","max","spRegexp","val","num","ENUM","enumerable","join","lastIndex","mismatch","_pattern","enumRule","string","validate","rules","boolean","floatFn","dateObject","Date","any","float","enumValidator","newMessages","parse","invalid","clone","cloned","Schema","descriptor","_messages","defaultMessages","define","prototype","Error","z","item","source_","o","oc","complete","add","concat","series","r","transform","validator","getValidationMethod","getType","errorFields","data","doIt","deep","defaultField","addFullfield","schema","cb","suppressWarning","map","fieldsSchema","fieldSchema","bind","errs","finalErrors","res","asyncValidator","then","validators","messageIndex","splice","register"],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/async-validator/package.json b/node_modules/async-validator/package.json
new file mode 100644
index 0000000..80a4741
--- /dev/null
+++ b/node_modules/async-validator/package.json
@@ -0,0 +1,71 @@
+{
+ "_from": "async-validator",
+ "_id": "async-validator@3.2.4",
+ "_inBundle": false,
+ "_integrity": "sha1-Tnc6HQ10EBa0VbeZW0aaR8zg2+A=",
+ "_location": "/async-validator",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "tag",
+ "registry": true,
+ "raw": "async-validator",
+ "name": "async-validator",
+ "escapedName": "async-validator",
+ "rawSpec": "",
+ "saveSpec": null,
+ "fetchSpec": "latest"
+ },
+ "_requiredBy": [
+ "#USER",
+ "/"
+ ],
+ "_resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-3.2.4.tgz",
+ "_shasum": "4e773a1d0d741016b455b7995b469a47cce0dbe0",
+ "_spec": "async-validator",
+ "_where": "/Users/piao/Documents/Project/yshopmall_uni",
+ "bugs": {
+ "url": "http://github.com/yiminghe/async-validator/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {},
+ "deprecated": false,
+ "description": "validate form asynchronous",
+ "devDependencies": {
+ "@babel/preset-env": "^7.8.7",
+ "@pika/pack": "^0.5.0",
+ "@pika/plugin-build-types": "^0.6.0",
+ "@pika/plugin-standard-pkg": "^0.6.0",
+ "@pika/types": "^0.6.0",
+ "babel-jest": "^24.8.0",
+ "coveralls": "^2.13.1",
+ "jest": "^24.8.0",
+ "lint-staged": "^7.2.0",
+ "np": "^5.0.3",
+ "pika-plugin-build-web-babel": "^0.8.0",
+ "pika-plugin-clean-dist-src": "^0.1.1",
+ "pre-commit": "^1.2.2",
+ "prettier": "^1.11.1"
+ },
+ "files": [
+ "dist-*/",
+ "bin/"
+ ],
+ "homepage": "http://github.com/yiminghe/async-validator",
+ "keywords": [
+ "validator",
+ "validate",
+ "async"
+ ],
+ "license": "MIT",
+ "main": "dist-node/index.js",
+ "module": "dist-web/index.js",
+ "name": "async-validator",
+ "pika": true,
+ "repository": {
+ "type": "git",
+ "url": "git+ssh://git@github.com/yiminghe/async-validator.git"
+ },
+ "sideEffects": false,
+ "types": "dist-types/index.d.ts",
+ "version": "3.2.4"
+}
diff --git a/node_modules/dayjs/.editorconfig b/node_modules/dayjs/.editorconfig
new file mode 100644
index 0000000..14c1d8c
--- /dev/null
+++ b/node_modules/dayjs/.editorconfig
@@ -0,0 +1,6 @@
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+insert_final_newline = true
diff --git a/node_modules/dayjs/CHANGELOG.md b/node_modules/dayjs/CHANGELOG.md
new file mode 100644
index 0000000..1829012
--- /dev/null
+++ b/node_modules/dayjs/CHANGELOG.md
@@ -0,0 +1,416 @@
+## [1.8.22](https://github.com/iamkun/dayjs/compare/v1.8.21...v1.8.22) (2020-03-08)
+
+
+### Bug Fixes
+
+* Add IsoWeek plugin ([#811](https://github.com/iamkun/dayjs/issues/811)) ([28a2207](https://github.com/iamkun/dayjs/commit/28a2207ef9849afbac15dd29267b2e7a09cd3c16))
+* Fix unsupported locale fallback to previous one ([#819](https://github.com/iamkun/dayjs/issues/819)) ([4868715](https://github.com/iamkun/dayjs/commit/48687152cf5bee6a4c1b8ceea4bda8b9bab9be10))
+
+## [1.8.21](https://github.com/iamkun/dayjs/compare/v1.8.20...v1.8.21) (2020-02-26)
+
+
+### Bug Fixes
+
+* Set + Get accept 'D' as the short version of 'date' ([#795](https://github.com/iamkun/dayjs/issues/795)) ([523c038](https://github.com/iamkun/dayjs/commit/523c03880fa8bbad83214494ad02cd606cdb8b30))
+* Update DayOfYear plugin type ([#799](https://github.com/iamkun/dayjs/issues/799)) ([5809652](https://github.com/iamkun/dayjs/commit/5809652e40245b7759827d9bf317abdcfa75a330))
+* Update fi (Finnish) locale relativeTime ([#797](https://github.com/iamkun/dayjs/issues/797)) ([4a470fb](https://github.com/iamkun/dayjs/commit/4a470fbd6fef9e051727d0f26d53cc050b85935d))
+
+## [1.8.20](https://github.com/iamkun/dayjs/compare/v1.8.19...v1.8.20) (2020-02-04)
+
+
+### Bug Fixes
+
+* Add Bislama Locale (bi) ([#780](https://github.com/iamkun/dayjs/issues/780)) ([9ac6ab4](https://github.com/iamkun/dayjs/commit/9ac6ab481bc883dd4ecc02caab12c8b2fc218a42))
+* Fix weekOfYear plugin to support yearStart locale for better week number result ([#769](https://github.com/iamkun/dayjs/issues/769)) ([f00db36](https://github.com/iamkun/dayjs/commit/f00db36e70bc7beaca1abadeb30a9b1fbb3261ee))
+* Update et (Estonian) locale relativeTime ([#790](https://github.com/iamkun/dayjs/issues/790)) ([d8e0f45](https://github.com/iamkun/dayjs/commit/d8e0f45f6cd2d5e5704b9797929227454c92d1a5))
+* Update LocaleData plugin to support dayjs.localeData().weekdays() API ([287fed6](https://github.com/iamkun/dayjs/commit/287fed6db9eb4fd979b4861aca4dacbd32422533)), closes [#779](https://github.com/iamkun/dayjs/issues/779)
+* Update LocaleData plugin to support dayjs.months dayjs.weekdays API ([144c2ae](https://github.com/iamkun/dayjs/commit/144c2ae6e15fbf89e3acd7c8cb9e237c5f6e1348)), closes [#779](https://github.com/iamkun/dayjs/issues/779)
+* Update pl locale fusional config ([d372475](https://github.com/iamkun/dayjs/commit/d3724758bb27d5b17587b995ba14e7e80dcd1151))
+
+## [1.8.19](https://github.com/iamkun/dayjs/compare/v1.8.18...v1.8.19) (2020-01-06)
+
+
+### Bug Fixes
+
+* Add UpdateLocale plugin to update a locale's properties ([#766](https://github.com/iamkun/dayjs/issues/766)) ([82ce2ba](https://github.com/iamkun/dayjs/commit/82ce2ba8d7e402e40f6d005d400eb5356a0b0633))
+* Fix CustomParseFormat Plugin 'YYYY-MM' use first day of the month ([ba709ec](https://github.com/iamkun/dayjs/commit/ba709eca86a71ae648bc68bf67d9abdc229198d4)), closes [#761](https://github.com/iamkun/dayjs/issues/761)
+* Fix CustomParseFormat Plugin to set correct locale ([66ce23f](https://github.com/iamkun/dayjs/commit/66ce23f2e18c5506e8f1a7ef20d3483a4df80087))
+* Fix WeekOfYear Plugin wrong calender week number bug ([79b86db](https://github.com/iamkun/dayjs/commit/79b86dbbf3cfd3f1e2165b3d479a7061ad1b6925)), closes [#760](https://github.com/iamkun/dayjs/issues/760)
+* Update RelativeTime plugin to support function to make additional processing ([#767](https://github.com/iamkun/dayjs/issues/767)) ([4bd9250](https://github.com/iamkun/dayjs/commit/4bd9250fbe7131e2fddfb5fa1b3350e8c2262ca9))
+* Update ru, uk, cs locale to support relativeTime with plural ([3f080f7](https://github.com/iamkun/dayjs/commit/3f080f7d6bfdc4018cbb7c4d0112ff1ead4ef6b8))
+
+## [1.8.18](https://github.com/iamkun/dayjs/compare/v1.8.17...v1.8.18) (2019-12-18)
+
+
+### Bug Fixes
+
+* Add missing locale type definition ([#716](https://github.com/iamkun/dayjs/issues/716)) ([cde5d0b](https://github.com/iamkun/dayjs/commit/cde5d0b91be7b2f5f3098de4aa0b9a4f0f28ea5c))
+* Fix .locale() handel unsupported locale ([78ec173](https://github.com/iamkun/dayjs/commit/78ec173fcecc1299516ab7b44f4554d431b4b2fd))
+* Update Italian locale (it) ([#727](https://github.com/iamkun/dayjs/issues/727)) ([5b53e98](https://github.com/iamkun/dayjs/commit/5b53e98c0a3ba0eb9573a9c77caeb907439be9e7))
+* Update locale (fa) ([#733](https://github.com/iamkun/dayjs/issues/733)) ([9ad2e47](https://github.com/iamkun/dayjs/commit/9ad2e47e0569b23991bb0d5578f49c792c12df08))
+* Update locale (zh-cn) ([#706](https://github.com/iamkun/dayjs/issues/706)) ([e31e544](https://github.com/iamkun/dayjs/commit/e31e54414fb90e1f54da13a117748ba37f52645d))
+* Update locale (zh-cn) meridiem ([#735](https://github.com/iamkun/dayjs/issues/735)) ([15d1b81](https://github.com/iamkun/dayjs/commit/15d1b813e7faf5a1f9d1ea6fc673fd27ac49d8b1))
+* Update LocaleData plugin to support dayjs().longDateFormat() ([#734](https://github.com/iamkun/dayjs/issues/734)) ([aa0f210](https://github.com/iamkun/dayjs/commit/aa0f210a1e3c4f6aba61c3b96f9eb445b43a33f0)), closes [#680](https://github.com/iamkun/dayjs/issues/680)
+* Update Mongolian (mn) locale relativeTime ([#753](https://github.com/iamkun/dayjs/issues/753)) ([6d51435](https://github.com/iamkun/dayjs/commit/6d51435092c0c94d8e50256d3f0f058cdd15febe))
+* Update Swedish locale (sv) fix ordinal error ([#745](https://github.com/iamkun/dayjs/issues/745)) ([49670d5](https://github.com/iamkun/dayjs/commit/49670d5ae31e4e21636cc5a8bfe35fef0f6d9e4a)), closes [#743](https://github.com/iamkun/dayjs/issues/743)
+
+## [1.8.17](https://github.com/iamkun/dayjs/compare/v1.8.16...v1.8.17) (2019-11-06)
+
+
+### Bug Fixes
+
+* Fix set utcOffset in utc mode ([d148115](https://github.com/iamkun/dayjs/commit/d148115dad8f1a5afc0a64e9b8163dfeba4616b6))
+* Update advancedFormat plugin to support w ww wo week tokens … ([#678](https://github.com/iamkun/dayjs/issues/678)) ([26cfa63](https://github.com/iamkun/dayjs/commit/26cfa63a524b803f7966dac5464f9cbf8f63387e)), closes [#676](https://github.com/iamkun/dayjs/issues/676)
+* Update ka locale weekdays ([f8ca3d4](https://github.com/iamkun/dayjs/commit/f8ca3d4ba1d3cbe41613d3909c0627935a51a0c4))
+* Update nb locale ([#679](https://github.com/iamkun/dayjs/issues/679)) ([1063b0e](https://github.com/iamkun/dayjs/commit/1063b0e1b5c19a1354d233cc0f21438e7073233a))
+* Update Polish locale (pl)([#713](https://github.com/iamkun/dayjs/issues/713)) ([30d2f02](https://github.com/iamkun/dayjs/commit/30d2f026b47188833a4f44fee4bab52467d4a718))
+* Update Ukrainian locale (uk) ([#710](https://github.com/iamkun/dayjs/issues/710)) ([360161c](https://github.com/iamkun/dayjs/commit/360161cac75f597fdd51d9d1ff138601282a1b4b))
+* UTC plugin set utcOffset value ([#668](https://github.com/iamkun/dayjs/issues/668)) ([8877883](https://github.com/iamkun/dayjs/commit/88778838e71dd309e79cd1a8094d5bea36ca3390))
+
+## [1.8.16](https://github.com/iamkun/dayjs/compare/v1.8.15...v1.8.16) (2019-08-27)
+
+
+### Bug Fixes
+
+* Fix relativeTime Plugin .FromNow() result error in UTC mode ([a385d5c](https://github.com/iamkun/dayjs/commit/a385d5c))
+* Handle locale in WeekOfYear plugin ([#658](https://github.com/iamkun/dayjs/issues/658)) ([0e45b0a](https://github.com/iamkun/dayjs/commit/0e45b0a))
+* LocaleData plugin returns all months and weekdays data when pas no argument ([#645](https://github.com/iamkun/dayjs/issues/645)) ([95e70b4](https://github.com/iamkun/dayjs/commit/95e70b4))
+* Return null in toJSON if not valid ([#633](https://github.com/iamkun/dayjs/issues/633)) ([19affc8](https://github.com/iamkun/dayjs/commit/19affc8))
+* Update Danish (da) locale ([#626](https://github.com/iamkun/dayjs/issues/626)) ([ac2ec77](https://github.com/iamkun/dayjs/commit/ac2ec77))
+* Update Korean locale meridiem ([#642](https://github.com/iamkun/dayjs/issues/642)) ([b457146](https://github.com/iamkun/dayjs/commit/b457146))
+* update Occitan locale Catalan locale ([#630](https://github.com/iamkun/dayjs/issues/630)) ([fef135e](https://github.com/iamkun/dayjs/commit/fef135e))
+* update pt-br locale ([#628](https://github.com/iamkun/dayjs/issues/628)) ([ccf596d](https://github.com/iamkun/dayjs/commit/ccf596d))
+* Update weekdaysShort to some locale files ([#643](https://github.com/iamkun/dayjs/issues/643)) ([cc1f15f](https://github.com/iamkun/dayjs/commit/cc1f15f))
+
+## [1.8.15](https://github.com/iamkun/dayjs/compare/v1.8.14...v1.8.15) (2019-07-08)
+
+
+### Bug Fixes
+
+* Fix dayjs.locale() returns current global locale ([#602](https://github.com/iamkun/dayjs/issues/602)) ([790cd1a](https://github.com/iamkun/dayjs/commit/790cd1a))
+* Fix incorrect Thai locale translation of July ([#607](https://github.com/iamkun/dayjs/issues/607)) ([43cbfd3](https://github.com/iamkun/dayjs/commit/43cbfd3))
+* Lowercase french locale months and weekdays ([#615](https://github.com/iamkun/dayjs/issues/615)) ([e5a257c](https://github.com/iamkun/dayjs/commit/e5a257c))
+* Type - Export Ls object to query all available locales ([#623](https://github.com/iamkun/dayjs/issues/623)) ([f6bfae0](https://github.com/iamkun/dayjs/commit/f6bfae0))
+* Update nb (Norsk Bokmål) locale ([#604](https://github.com/iamkun/dayjs/issues/604)) ([907f5c9](https://github.com/iamkun/dayjs/commit/907f5c9))
+* Update types of `.diff` API ([#617](https://github.com/iamkun/dayjs/issues/617)) ([f0f43d2](https://github.com/iamkun/dayjs/commit/f0f43d2))
+
+## [1.8.14](https://github.com/iamkun/dayjs/compare/v1.8.13...v1.8.14) (2019-05-07)
+
+
+### Bug Fixes
+
+* Fix `.format` API returns UTC offset when value is 0 bug ([b254964](https://github.com/iamkun/dayjs/commit/b254964))
+* Fix QuarterOfYear plugin bug ([#591](https://github.com/iamkun/dayjs/issues/591)) ([434f774](https://github.com/iamkun/dayjs/commit/434f774))
+* Fix UTC plugin add day DST bug ([#590](https://github.com/iamkun/dayjs/issues/590)) ([86cd839](https://github.com/iamkun/dayjs/commit/86cd839))
+
+## [1.8.13](https://github.com/iamkun/dayjs/compare/v1.8.12...v1.8.13) (2019-04-26)
+
+
+### Bug Fixes
+
+* Add missing relativeTime and formats for some locales ([#560](https://github.com/iamkun/dayjs/issues/560)) ([96b917e](https://github.com/iamkun/dayjs/commit/96b917e))
+* Add weekday (locale aware day of the week) plugin ([#569](https://github.com/iamkun/dayjs/issues/569)) ([9007cc5](https://github.com/iamkun/dayjs/commit/9007cc5)), closes [#559](https://github.com/iamkun/dayjs/issues/559)
+* Allow customizing "am" / "pm" strings with locale meridiem function ([#580](https://github.com/iamkun/dayjs/issues/580)) ([576e93e](https://github.com/iamkun/dayjs/commit/576e93e)), closes [#578](https://github.com/iamkun/dayjs/issues/578)
+* Fix `.add` day/week decimal rouding bug ([800f6c9](https://github.com/iamkun/dayjs/commit/800f6c9))
+* Fix `.diff` type definition error ([#565](https://github.com/iamkun/dayjs/issues/565)) ([c4921ae](https://github.com/iamkun/dayjs/commit/c4921ae)), closes [#561](https://github.com/iamkun/dayjs/issues/561)
+* Fix CustomParseFormat plugin bug ([#568](https://github.com/iamkun/dayjs/issues/568)) ([1f5a9db](https://github.com/iamkun/dayjs/commit/1f5a9db)), closes [#555](https://github.com/iamkun/dayjs/issues/555)
+* Fix relativeTime plugin Math.round bug ([40bea40](https://github.com/iamkun/dayjs/commit/40bea40))
+* skip square brackets in buddhistEra, advancedFormat plugins ([#556](https://github.com/iamkun/dayjs/issues/556)) ([9279718](https://github.com/iamkun/dayjs/commit/9279718)), closes [#554](https://github.com/iamkun/dayjs/issues/554)
+* Update Indonesian locale([#574](https://github.com/iamkun/dayjs/issues/574)) ([0aa7143](https://github.com/iamkun/dayjs/commit/0aa7143))
+* Update locale month to support both array and function ([#581](https://github.com/iamkun/dayjs/issues/581)) ([b6599d3](https://github.com/iamkun/dayjs/commit/b6599d3))
+* Update LocalizedFormat plugin lowercase formats logic ([#557](https://github.com/iamkun/dayjs/issues/557)) ([d409304](https://github.com/iamkun/dayjs/commit/d409304))
+
+## [1.8.12](https://github.com/iamkun/dayjs/compare/v1.8.11...v1.8.12) (2019-04-02)
+
+
+### Bug Fixes
+
+* Add .get API ([7318797](https://github.com/iamkun/dayjs/commit/7318797))
+* Add 79 locales ([#541](https://github.com/iamkun/dayjs/issues/541)) ([f75a125](https://github.com/iamkun/dayjs/commit/f75a125))
+* Add Calendar plugin ([d1b9cf9](https://github.com/iamkun/dayjs/commit/d1b9cf9))
+* Add isoWeeksInYear plugin ([2db8631](https://github.com/iamkun/dayjs/commit/2db8631))
+* Add Occitan (oc-lnc) locale file ([#551](https://github.com/iamkun/dayjs/issues/551)) ([c30b715](https://github.com/iamkun/dayjs/commit/c30b715))
+* Add plugin minMax to sopport .max .min ([2870a23](https://github.com/iamkun/dayjs/commit/2870a23))
+* Fix set Month Year error in last day of the month ([d058f4a](https://github.com/iamkun/dayjs/commit/d058f4a))
+* Update ko locale weekdaysShort ([#543](https://github.com/iamkun/dayjs/issues/543)) ([317fd3e](https://github.com/iamkun/dayjs/commit/317fd3e))
+* Update localizedFormat plugin to support lowercase localizable formats (l, ll, lll, llll) ([#546](https://github.com/iamkun/dayjs/issues/546)) ([f2b5ebf](https://github.com/iamkun/dayjs/commit/f2b5ebf))
+
+## [1.8.11](https://github.com/iamkun/dayjs/compare/v1.8.10...v1.8.11) (2019-03-21)
+
+
+### Bug Fixes
+
+* Add .add('quarter') .startOf('quarter') through plugin quarterOfYear ([dde39e9](https://github.com/iamkun/dayjs/commit/dde39e9)), closes [#537](https://github.com/iamkun/dayjs/issues/537) [#531](https://github.com/iamkun/dayjs/issues/531)
+* Add locale support for Azerbaijani language (az) ([#535](https://github.com/iamkun/dayjs/issues/535)) ([eeb20fa](https://github.com/iamkun/dayjs/commit/eeb20fa))
+* Correct typescript definition `add` ([22a249c](https://github.com/iamkun/dayjs/commit/22a249c)), closes [#531](https://github.com/iamkun/dayjs/issues/531)
+* Fix CustomParseFormat plugin formatting bug ([#536](https://github.com/iamkun/dayjs/issues/536)) ([8578546](https://github.com/iamkun/dayjs/commit/8578546)), closes [#533](https://github.com/iamkun/dayjs/issues/533)
+* Update pt locale ([#538](https://github.com/iamkun/dayjs/issues/538)) ([1ac9e1e](https://github.com/iamkun/dayjs/commit/1ac9e1e))
+
+## [1.8.10](https://github.com/iamkun/dayjs/compare/v1.8.9...v1.8.10) (2019-03-10)
+
+
+### Bug Fixes
+
+* **locale:** Add nepali (ne) locale ([#524](https://github.com/iamkun/dayjs/issues/524)) ([bdbec01](https://github.com/iamkun/dayjs/commit/bdbec01))
+* Add WeekYear plugin ([a892608](https://github.com/iamkun/dayjs/commit/a892608))
+* API .locale() with no argument should return current locale name string ([8d63d88](https://github.com/iamkun/dayjs/commit/8d63d88))
+* CustomParseFormat correct parse HH:mm:ss with only one digit like 0:12:10 ([600d547](https://github.com/iamkun/dayjs/commit/600d547))
+* CustomParseFormat plugin parse Do format string ([bf27fda](https://github.com/iamkun/dayjs/commit/bf27fda)), closes [#522](https://github.com/iamkun/dayjs/issues/522)
+* Expand setters like .year(2000) .hour(12) ([ac532a0](https://github.com/iamkun/dayjs/commit/ac532a0))
+* Move toObject, toArray API to separate plugin from core ([40a3431](https://github.com/iamkun/dayjs/commit/40a3431))
+
+## [1.8.9](https://github.com/iamkun/dayjs/compare/v1.8.8...v1.8.9) (2019-03-06)
+
+
+### Features
+
+* Add UTC mode with UTC plugin ([#517](https://github.com/iamkun/dayjs/issues/517)) ([caf335c](https://github.com/iamkun/dayjs/commit/caf335c))
+
+> For plugin developers: Please note, we have changed the name of some method in `Utils` in order to reduce the file size. ([#517](https://github.com/iamkun/dayjs/issues/517)) ([detail](https://github.com/iamkun/dayjs/pull/517/files#diff-2b4ca49d4bb0a774c4d4c1672d7aa781R46))
+
+### Bug Fixes
+
+* Add locale de-AT ([#515](https://github.com/iamkun/dayjs/issues/515)) ([d93f7b6](https://github.com/iamkun/dayjs/commit/d93f7b6))
+* Add locale zh-hk ([#516](https://github.com/iamkun/dayjs/issues/516)) ([5fc05a6](https://github.com/iamkun/dayjs/commit/5fc05a6))
+
+## [1.8.8](https://github.com/iamkun/dayjs/compare/v1.8.7...v1.8.8) (2019-02-25)
+
+
+### Bug Fixes
+
+* Update relativeTime plugin type definition ([de56f2c](https://github.com/iamkun/dayjs/commit/de56f2c))
+
+## [1.8.7](https://github.com/iamkun/dayjs/compare/v1.8.6...v1.8.7) (2019-02-24)
+
+
+### Bug Fixes
+
+* Add plugin type definitions ([#418](https://github.com/iamkun/dayjs/issues/418)) ([361d437](https://github.com/iamkun/dayjs/commit/361d437))
+* Add Swahili locale ([#508](https://github.com/iamkun/dayjs/issues/508)) ([b9cee84](https://github.com/iamkun/dayjs/commit/b9cee84))
+* Parse month string 'MMMM MMM (February, Feb)' in customParseFormat ([#457](https://github.com/iamkun/dayjs/issues/457)) ([f343206](https://github.com/iamkun/dayjs/commit/f343206))
+* Update declaration file .diff .isBefore .isSame .isAfter ([#496](https://github.com/iamkun/dayjs/issues/496)) ([4523275](https://github.com/iamkun/dayjs/commit/4523275))
+* Word orders corrections for locale 'fa' ([#491](https://github.com/iamkun/dayjs/issues/491)) ([56050c2](https://github.com/iamkun/dayjs/commit/56050c2))
+
+## [1.8.6](https://github.com/iamkun/dayjs/compare/v1.8.5...v1.8.6) (2019-02-14)
+
+
+### Bug Fixes
+
+* Add Bahasa Melayu (Malaysia) locale ([#485](https://github.com/iamkun/dayjs/issues/485)) ([cb208b0](https://github.com/iamkun/dayjs/commit/cb208b0))
+* Copy & export built-in en locale to /locale folder as a separate file ([a7e05e0](https://github.com/iamkun/dayjs/commit/a7e05e0))
+* Fix bug in customParseFormat plugin while month(MM) is '01' ([9884ca5](https://github.com/iamkun/dayjs/commit/9884ca5)), closes [#494](https://github.com/iamkun/dayjs/issues/494)
+* Fix startOf week bug while week start is not Sunday ([5eaf77b](https://github.com/iamkun/dayjs/commit/5eaf77b))
+* Implemented isBetween inclusivity ([#464](https://github.com/iamkun/dayjs/issues/464)) ([af2f4f1](https://github.com/iamkun/dayjs/commit/af2f4f1))
+* Update Swedish and Finnish locales ([#488](https://github.com/iamkun/dayjs/issues/488)) ([f142082](https://github.com/iamkun/dayjs/commit/f142082))
+* Fix commonJS require ES Module bug in webpack4 ([23f9f3d](https://github.com/iamkun/dayjs/commit/23f9f3d)), check [#492](https://github.com/iamkun/dayjs/issues/492)
+
+> Get access to ESM code with `import dayjs from 'dayjs/esm'`
+
+## [1.8.5](https://github.com/iamkun/dayjs/compare/v1.8.4...v1.8.5) (2019-02-07)
+
+
+### Bug Fixes
+
+* Add en-gb locale ([#478](https://github.com/iamkun/dayjs/issues/478)) ([508c3a7](https://github.com/iamkun/dayjs/commit/508c3a7))
+* **module:** transpile everything except ES6 modules in the 'module' entrypoint ([#477](https://github.com/iamkun/dayjs/issues/477)) ([#480](https://github.com/iamkun/dayjs/issues/480)) ([#482](https://github.com/iamkun/dayjs/issues/482)) ([767017d](https://github.com/iamkun/dayjs/commit/767017d))
+* update customParseFormat plugin support hh:mm ([54947cc](https://github.com/iamkun/dayjs/commit/54947cc)), closes [#484](https://github.com/iamkun/dayjs/issues/484)
+* Update module in package.json ([5c5a7a0](https://github.com/iamkun/dayjs/commit/5c5a7a0))
+
+## [1.8.4](https://github.com/iamkun/dayjs/compare/v1.8.3...v1.8.4) (2019-02-05)
+
+* Allow set start day of week in locale && Allow set week in weekOfYear plugin ([1295591](https://github.com/iamkun/dayjs/commit/1295591))
+### Bug Fixes
+* update all locale files with correct week start ([5b03412](https://github.com/iamkun/dayjs/commit/5b03412))
+* update es es-do locale adding weekStart && update weekStart test ([66e42ec](https://github.com/iamkun/dayjs/commit/66e42ec))
+* Revert default export ([b00da1b](https://github.com/iamkun/dayjs/commit/b00da1b))
+
+## [1.8.3](https://github.com/iamkun/dayjs/compare/v1.8.2...v1.8.3) (2019-02-04)
+
+
+### Bug Fixes
+
+* fix ios safari YYYY-MM-DD HH:mm parse BUG ([e02ae82](https://github.com/iamkun/dayjs/commit/e02ae82)), closes [#254](https://github.com/iamkun/dayjs/issues/254)
+
+## [1.8.2](https://github.com/iamkun/dayjs/compare/v1.8.1...v1.8.2) (2019-02-02)
+
+
+### Bug Fixes
+
+* Add missing czech language locale ([#461](https://github.com/iamkun/dayjs/issues/461)) ([7e04004](https://github.com/iamkun/dayjs/commit/7e04004))
+* Add utcOffset api method and fix calculating diff error in DST ([#453](https://github.com/iamkun/dayjs/issues/453)) ([ce2e30e](https://github.com/iamkun/dayjs/commit/ce2e30e))
+* Fix it locale error ([#458](https://github.com/iamkun/dayjs/issues/458)) ([f6d9a64](https://github.com/iamkun/dayjs/commit/f6d9a64))
+* Add DayOfYear plugin (#454)
+* Fix es locale monthsShort error
+
+## [1.8.1](https://github.com/iamkun/dayjs/compare/v1.8.0...v1.8.1) (2019-02-02)
+
+* Add LocalizedFormat plugin supplying format like LTS, LT, LLLL
+
+* update declaration File with default export (#278)
+> From v1.8.1, in TypeScript Project, just `import from dayjs from 'dayjs'`
+* add ES2015 module support (#451)
+
+### Performance Improvements
+
+* **format:** reuse matches instead of created when replacing ([#441](https://github.com/iamkun/dayjs/issues/441)) ([10b79d8](https://github.com/iamkun/dayjs/commit/10b79d8))
+
+# [1.8.0](https://github.com/iamkun/dayjs/compare/v1.7.8...v1.8.0) (2019-01-14)
+
+
+### Features
+
+* add CustomParseFormat plugin and QuarterOfYear plugin ([#450](https://github.com/iamkun/dayjs/issues/450)) ([8f6f63c](https://github.com/iamkun/dayjs/commit/8f6f63c))
+
+## [1.7.8](https://github.com/iamkun/dayjs/compare/v1.7.7...v1.7.8) (2018-12-13)
+
+
+### Feature
+
+* update isSame isBefore isAfter supports units ([fd65464](https://github.com/iamkun/dayjs/commit/fd65464))
+
+* add greek lithuanian locales
+
+## [1.7.7](https://github.com/iamkun/dayjs/compare/v1.7.6...v1.7.7) (2018-09-26)
+
+
+### Bug Fixes
+
+* **DST:** fix daylight saving time DST bug && add test ([#354](https://github.com/iamkun/dayjs/issues/354)) ([6fca6d5](https://github.com/iamkun/dayjs/commit/6fca6d5))
+
+## [1.7.6](https://github.com/iamkun/dayjs/compare/v1.7.5...v1.7.6) (2018-09-25)
+
+
+### Bug Fixes
+
+* **add dayjs.unix:** add dayjs.unix to parse timestamp in seconds && locale update ([5711c5e](https://github.com/iamkun/dayjs/commit/5711c5e))
+
+## [1.7.5](https://github.com/iamkun/dayjs/compare/v1.7.4...v1.7.5) (2018-08-10)
+
+
+### Bug Fixes
+
+* add isBetween API & update ([b5fc3d1](https://github.com/iamkun/dayjs/commit/b5fc3d1))
+
+## [1.7.4](https://github.com/iamkun/dayjs/compare/v1.7.3...v1.7.4) (2018-07-11)
+
+
+### Bug Fixes
+
+* update set week logic ([60b6325](https://github.com/iamkun/dayjs/commit/60b6325)), closes [#276](https://github.com/iamkun/dayjs/issues/276)
+
+## [1.7.3](https://github.com/iamkun/dayjs/compare/v1.7.2...v1.7.3) (2018-07-10)
+
+
+### Bug Fixes
+
+* **locale-nl:** set correct weekdays and months ([6d089d7](https://github.com/iamkun/dayjs/commit/6d089d7))
+
+## [1.7.2](https://github.com/iamkun/dayjs/compare/v1.7.1...v1.7.2) (2018-07-04)
+
+
+### Bug Fixes
+
+* DEPRECATED isLeapYear, use IsLeapYear plugin instead ([e2e5116](https://github.com/iamkun/dayjs/commit/e2e5116))
+
+## [1.7.1](https://github.com/iamkun/dayjs/compare/v1.7.0...v1.7.1) (2018-07-03)
+
+
+### Bug Fixes
+
+* fix week() error near the end of the year ([fa03689](https://github.com/iamkun/dayjs/commit/fa03689))
+
+# [1.7.0](https://github.com/iamkun/dayjs/compare/v1.6.10...v1.7.0) (2018-07-02)
+
+
+### Features
+
+* Added method `.week()` to retrieve week of the year ([e1c1b1c](https://github.com/iamkun/dayjs/commit/e1c1b1c))
+* Updated Japanese locae
+
+## [1.6.10](https://github.com/iamkun/dayjs/compare/v1.6.9...v1.6.10) (2018-06-25)
+
+
+### Bug Fixes
+
+* Add relative locales to russian language ([c7e9898](https://github.com/iamkun/dayjs/commit/c7e9898)), closes [#256](https://github.com/iamkun/dayjs/issues/256)
+
+## [1.6.9](https://github.com/iamkun/dayjs/compare/v1.6.8...v1.6.9) (2018-06-14)
+
+
+### Bug Fixes
+
+* add isDayjs => boolean API ([6227c8b](https://github.com/iamkun/dayjs/commit/6227c8b))
+
+## [1.6.8](https://github.com/iamkun/dayjs/compare/v1.6.7...v1.6.8) (2018-06-14)
+
+
+### Bug Fixes
+
+* fix Advanced format bug in zh-cn ([0c07874](https://github.com/iamkun/dayjs/commit/0c07874)), closes [#242](https://github.com/iamkun/dayjs/issues/242)
+
+## [1.6.7](https://github.com/iamkun/dayjs/compare/v1.6.6...v1.6.7) (2018-06-11)
+
+
+### Bug Fixes
+
+* fix id locale ([1ebbeb8](https://github.com/iamkun/dayjs/commit/1ebbeb8)), closes [#234](https://github.com/iamkun/dayjs/issues/234)
+
+
+## [1.6.6](https://github.com/iamkun/dayjs/compare/v1.6.5...v1.6.6) (2018-06-06)
+
+
+### Bug Fixes
+
+* format API update and locale file update ([5ca48f0](https://github.com/iamkun/dayjs/commit/5ca48f0)), closes [#228](https://github.com/iamkun/dayjs/issues/228)
+
+
+## [1.6.5](https://github.com/iamkun/dayjs/compare/v1.6.4...v1.6.5) (2018-05-31)
+
+
+### Bug Fixes
+
+* bugfix, utils update and locale file update ([ebcb6d5](https://github.com/iamkun/dayjs/commit/ebcb6d5)), closes [#214](https://github.com/iamkun/dayjs/issues/214)
+
+
+## [1.6.4](https://github.com/iamkun/dayjs/compare/v1.6.3...v1.6.4) (2018-05-25)
+
+
+### Bug Fixes
+
+* add RelativeTime plugin and locale file update ([c1fbbca](https://github.com/iamkun/dayjs/commit/c1fbbca)), closes [#198](https://github.com/iamkun/dayjs/issues/198)
+
+
+## [1.6.3](https://github.com/iamkun/dayjs/compare/v1.6.2...v1.6.3) (2018-05-21)
+
+
+### Bug Fixes
+
+* Changing locales locally is immutable from this release ([2cce729](https://github.com/iamkun/dayjs/commit/2cce729)), closes [#182](https://github.com/iamkun/dayjs/issues/182)
+* instance locale change should be immutable ([84597c9](https://github.com/iamkun/dayjs/commit/84597c9))
+* Add more locales
+* english ordinal fix
+
+
+## [1.6.2](https://github.com/iamkun/dayjs/compare/v1.6.1...v1.6.2) (2018-05-18)
+
+
+### Bug Fixes
+
+* change-log update && test new npm release ([aa49cba](https://github.com/iamkun/dayjs/commit/aa49cba)), closes [#163](https://github.com/iamkun/dayjs/issues/163)
+
+
+## [1.6.1](https://github.com/iamkun/dayjs/compare/v1.6.0...v1.6.1) (2018-05-18)
+
+
+### Bug Fixes
+
+* Add German, Brazilian Portuguese locales
+* add() & parse() bug fix & add locale de, pt-br ([bf1331e](https://github.com/iamkun/dayjs/commit/bf1331e))
+
+
+# [1.6.0](https://github.com/iamkun/dayjs/compare/v1.5.24...v1.6.0) (2018-05-15)
+
+
+### Features
+
+* Locale && Plugin ([2342c55](https://github.com/iamkun/dayjs/commit/2342c55)), closes [#141](https://github.com/iamkun/dayjs/issues/141)
diff --git a/node_modules/dayjs/LICENSE b/node_modules/dayjs/LICENSE
new file mode 100644
index 0000000..caf9315
--- /dev/null
+++ b/node_modules/dayjs/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2018-present, iamkun
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/dayjs/README.md b/node_modules/dayjs/README.md
new file mode 100644
index 0000000..c1394b9
--- /dev/null
+++ b/node_modules/dayjs/README.md
@@ -0,0 +1,127 @@
+English | [简体中文](./docs/zh-cn/README.zh-CN.md) | [日本語](./docs/ja/README-ja.md) | [Português Brasileiro](./docs/pt-br/README-pt-br.md) | [한국어](./docs/ko/README-ko.md) | [Español (España)](./docs/es-es/README-es-es.md)
+
+
+Fast 2kB alternative to Moment.js with the same modern API
+
+
+
+
+
+
+
+
+
+
+
+
+
+> Day.js is a minimalist JavaScript library that parses, validates, manipulates, and displays dates and times for modern browsers with a largely Moment.js-compatible API. If you use Moment.js, you already know how to use Day.js.
+
+```js
+dayjs().startOf('month').add(1, 'day').set('year', 2018).format('YYYY-MM-DD HH:mm:ss');
+```
+
+* 🕒 Familiar Moment.js API & patterns
+* 💪 Immutable
+* 🔥 Chainable
+* 🌐 I18n support
+* 📦 2kb mini library
+* 👫 All browsers supported
+
+---
+
+## Getting Started
+
+### Documentation
+
+You can find for more details, API, and other docs on [day.js.org](https://day.js.org/) website.
+
+### Installation
+
+```console
+npm install dayjs --save
+```
+
+📚[Installation Guide](https://day.js.org/docs/en/installation/installation)
+
+### API
+
+It's easy to use Day.js APIs to parse, validate, manipulate, and display dates and times.
+
+```javascript
+dayjs('2018-08-08') // parse
+
+dayjs().format('{YYYY} MM-DDTHH:mm:ss SSS [Z] A') // display
+
+dayjs().set('month', 3).month() // get & set
+
+dayjs().add(1, 'year') // manipulate
+
+dayjs().isBefore(dayjs()) // query
+```
+
+📚[API Reference](https://day.js.org/docs/en/parse/parse)
+
+### I18n
+
+Day.js has great support for internationalization.
+
+But none of them will be included in your build unless you use it.
+
+```javascript
+import 'dayjs/locale/es' // load on demand
+
+dayjs.locale('es') // use Spanish locale globally
+
+dayjs('2018-05-05').locale('zh-cn').format() // use Chinese Simplified locale in a specific instance
+```
+📚[Internationalization](https://day.js.org/docs/en/i18n/i18n)
+
+### Plugin
+
+A plugin is an independent module that can be added to Day.js to extend functionality or add new features.
+
+```javascript
+import advancedFormat from 'dayjs/plugin/advancedFormat' // load on demand
+
+dayjs.extend(advancedFormat) // use plugin
+
+dayjs().format('Q Do k kk X x') // more available formats
+```
+
+📚[Plugin List](https://day.js.org/docs/en/plugin/plugin)
+
+## Sponsors
+
+Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/dayjs#sponsor)]
+
+
+
+
+
+
+## Contributors
+
+This project exists thanks to all the people who contribute.
+
+Please give us a 💖 star 💖 to support us. Thank you.
+
+And thank you to all our backers! 🙏
+
+
+
+
+
+
+
+## License
+
+Day.js is licensed under a [MIT License](./LICENSE).
diff --git a/node_modules/dayjs/dayjs.min.js b/node_modules/dayjs/dayjs.min.js
new file mode 100644
index 0000000..5cd1b96
--- /dev/null
+++ b/node_modules/dayjs/dayjs.min.js
@@ -0,0 +1 @@
+!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):t.dayjs=n()}(this,function(){"use strict";var t="millisecond",n="second",e="minute",r="hour",i="day",s="week",u="month",o="quarter",a="year",h=/^(\d{4})-?(\d{1,2})-?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d{1,3})?$/,f=/\[([^\]]+)]|Y{2,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,c=function(t,n,e){var r=String(t);return!r||r.length>=n?t:""+Array(n+1-r.length).join(e)+t},d={s:c,z:function(t){var n=-t.utcOffset(),e=Math.abs(n),r=Math.floor(e/60),i=e%60;return(n<=0?"+":"-")+c(r,2,"0")+":"+c(i,2,"0")},m:function(t,n){var e=12*(n.year()-t.year())+(n.month()-t.month()),r=t.clone().add(e,u),i=n-r<0,s=t.clone().add(e+(i?-1:1),u);return Number(-(e+(n-r)/(i?r-s:s-r))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(h){return{M:u,y:a,w:s,d:i,D:"date",h:r,m:e,s:n,ms:t,Q:o}[h]||String(h||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},$={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},l="en",m={};m[l]=$;var y=function(t){return t instanceof v},M=function(t,n,e){var r;if(!t)return l;if("string"==typeof t)m[t]&&(r=t),n&&(m[t]=n,r=t);else{var i=t.name;m[i]=t,r=i}return!e&&r&&(l=r),r||!e&&l},g=function(t,n,e){if(y(t))return t.clone();var r=n?"string"==typeof n?{format:n,pl:e}:n:{};return r.date=t,new v(r)},D=d;D.l=M,D.i=y,D.w=function(t,n){return g(t,{locale:n.$L,utc:n.$u,$offset:n.$offset})};var v=function(){function c(t){this.$L=this.$L||M(t.locale,null,!0),this.parse(t)}var d=c.prototype;return d.parse=function(t){this.$d=function(t){var n=t.date,e=t.utc;if(null===n)return new Date(NaN);if(D.u(n))return new Date;if(n instanceof Date)return new Date(n);if("string"==typeof n&&!/Z$/i.test(n)){var r=n.match(h);if(r)return e?new Date(Date.UTC(r[1],r[2]-1,r[3]||1,r[4]||0,r[5]||0,r[6]||0,r[7]||0)):new Date(r[1],r[2]-1,r[3]||1,r[4]||0,r[5]||0,r[6]||0,r[7]||0)}return new Date(n)}(t),this.init()},d.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},d.$utils=function(){return D},d.isValid=function(){return!("Invalid Date"===this.$d.toString())},d.isSame=function(t,n){var e=g(t);return this.startOf(n)<=e&&e<=this.endOf(n)},d.isAfter=function(t,n){return g(t) ms
+ return this.$d.getTime();
+ };
+
+ _proto.startOf = function startOf(units, _startOf) {
+ var _this = this;
+
+ // startOf -> endOf
+ var isStartOf = !Utils.u(_startOf) ? _startOf : true;
+ var unit = Utils.p(units);
+
+ var instanceFactory = function instanceFactory(d, m) {
+ var ins = Utils.w(_this.$u ? Date.UTC(_this.$y, m, d) : new Date(_this.$y, m, d), _this);
+ return isStartOf ? ins : ins.endOf(C.D);
+ };
+
+ var instanceFactorySet = function instanceFactorySet(method, slice) {
+ var argumentStart = [0, 0, 0, 0];
+ var argumentEnd = [23, 59, 59, 999];
+ return Utils.w(_this.toDate()[method].apply( // eslint-disable-line prefer-spread
+ _this.toDate(), (isStartOf ? argumentStart : argumentEnd).slice(slice)), _this);
+ };
+
+ var $W = this.$W,
+ $M = this.$M,
+ $D = this.$D;
+ var utcPad = "set" + (this.$u ? 'UTC' : '');
+
+ switch (unit) {
+ case C.Y:
+ return isStartOf ? instanceFactory(1, 0) : instanceFactory(31, 11);
+
+ case C.M:
+ return isStartOf ? instanceFactory(1, $M) : instanceFactory(0, $M + 1);
+
+ case C.W:
+ {
+ var weekStart = this.$locale().weekStart || 0;
+ var gap = ($W < weekStart ? $W + 7 : $W) - weekStart;
+ return instanceFactory(isStartOf ? $D - gap : $D + (6 - gap), $M);
+ }
+
+ case C.D:
+ case C.DATE:
+ return instanceFactorySet(utcPad + "Hours", 0);
+
+ case C.H:
+ return instanceFactorySet(utcPad + "Minutes", 1);
+
+ case C.MIN:
+ return instanceFactorySet(utcPad + "Seconds", 2);
+
+ case C.S:
+ return instanceFactorySet(utcPad + "Milliseconds", 3);
+
+ default:
+ return this.clone();
+ }
+ };
+
+ _proto.endOf = function endOf(arg) {
+ return this.startOf(arg, false);
+ };
+
+ _proto.$set = function $set(units, _int) {
+ var _C$D$C$DATE$C$M$C$Y$C;
+
+ // private set
+ var unit = Utils.p(units);
+ var utcPad = "set" + (this.$u ? 'UTC' : '');
+ var name = (_C$D$C$DATE$C$M$C$Y$C = {}, _C$D$C$DATE$C$M$C$Y$C[C.D] = utcPad + "Date", _C$D$C$DATE$C$M$C$Y$C[C.DATE] = utcPad + "Date", _C$D$C$DATE$C$M$C$Y$C[C.M] = utcPad + "Month", _C$D$C$DATE$C$M$C$Y$C[C.Y] = utcPad + "FullYear", _C$D$C$DATE$C$M$C$Y$C[C.H] = utcPad + "Hours", _C$D$C$DATE$C$M$C$Y$C[C.MIN] = utcPad + "Minutes", _C$D$C$DATE$C$M$C$Y$C[C.S] = utcPad + "Seconds", _C$D$C$DATE$C$M$C$Y$C[C.MS] = utcPad + "Milliseconds", _C$D$C$DATE$C$M$C$Y$C)[unit];
+ var arg = unit === C.D ? this.$D + (_int - this.$W) : _int;
+
+ if (unit === C.M || unit === C.Y) {
+ // clone is for badMutable plugin
+ var date = this.clone().set(C.DATE, 1);
+ date.$d[name](arg);
+ date.init();
+ this.$d = date.set(C.DATE, Math.min(this.$D, date.daysInMonth())).toDate();
+ } else if (name) this.$d[name](arg);
+
+ this.init();
+ return this;
+ };
+
+ _proto.set = function set(string, _int2) {
+ return this.clone().$set(string, _int2);
+ };
+
+ _proto.get = function get(unit) {
+ return this[Utils.p(unit)]();
+ };
+
+ _proto.add = function add(number, units) {
+ var _this2 = this,
+ _C$MIN$C$H$C$S$unit;
+
+ number = Number(number); // eslint-disable-line no-param-reassign
+
+ var unit = Utils.p(units);
+
+ var instanceFactorySet = function instanceFactorySet(n) {
+ var d = dayjs(_this2);
+ return Utils.w(d.date(d.date() + Math.round(n * number)), _this2);
+ };
+
+ if (unit === C.M) {
+ return this.set(C.M, this.$M + number);
+ }
+
+ if (unit === C.Y) {
+ return this.set(C.Y, this.$y + number);
+ }
+
+ if (unit === C.D) {
+ return instanceFactorySet(1);
+ }
+
+ if (unit === C.W) {
+ return instanceFactorySet(7);
+ }
+
+ var step = (_C$MIN$C$H$C$S$unit = {}, _C$MIN$C$H$C$S$unit[C.MIN] = C.MILLISECONDS_A_MINUTE, _C$MIN$C$H$C$S$unit[C.H] = C.MILLISECONDS_A_HOUR, _C$MIN$C$H$C$S$unit[C.S] = C.MILLISECONDS_A_SECOND, _C$MIN$C$H$C$S$unit)[unit] || 1; // ms
+
+ var nextTimeStamp = this.$d.getTime() + number * step;
+ return Utils.w(nextTimeStamp, this);
+ };
+
+ _proto.subtract = function subtract(number, string) {
+ return this.add(number * -1, string);
+ };
+
+ _proto.format = function format(formatStr) {
+ var _this3 = this;
+
+ if (!this.isValid()) return C.INVALID_DATE_STRING;
+ var str = formatStr || C.FORMAT_DEFAULT;
+ var zoneStr = Utils.z(this);
+ var locale = this.$locale();
+ var $H = this.$H,
+ $m = this.$m,
+ $M = this.$M;
+ var weekdays = locale.weekdays,
+ months = locale.months,
+ meridiem = locale.meridiem;
+
+ var getShort = function getShort(arr, index, full, length) {
+ return arr && (arr[index] || arr(_this3, str)) || full[index].substr(0, length);
+ };
+
+ var get$H = function get$H(num) {
+ return Utils.s($H % 12 || 12, num, '0');
+ };
+
+ var meridiemFunc = meridiem || function (hour, minute, isLowercase) {
+ var m = hour < 12 ? 'AM' : 'PM';
+ return isLowercase ? m.toLowerCase() : m;
+ };
+
+ var matches = {
+ YY: String(this.$y).slice(-2),
+ YYYY: this.$y,
+ M: $M + 1,
+ MM: Utils.s($M + 1, 2, '0'),
+ MMM: getShort(locale.monthsShort, $M, months, 3),
+ MMMM: months[$M] || months(this, str),
+ D: this.$D,
+ DD: Utils.s(this.$D, 2, '0'),
+ d: String(this.$W),
+ dd: getShort(locale.weekdaysMin, this.$W, weekdays, 2),
+ ddd: getShort(locale.weekdaysShort, this.$W, weekdays, 3),
+ dddd: weekdays[this.$W],
+ H: String($H),
+ HH: Utils.s($H, 2, '0'),
+ h: get$H(1),
+ hh: get$H(2),
+ a: meridiemFunc($H, $m, true),
+ A: meridiemFunc($H, $m, false),
+ m: String($m),
+ mm: Utils.s($m, 2, '0'),
+ s: String(this.$s),
+ ss: Utils.s(this.$s, 2, '0'),
+ SSS: Utils.s(this.$ms, 3, '0'),
+ Z: zoneStr // 'ZZ' logic below
+
+ };
+ return str.replace(C.REGEX_FORMAT, function (match, $1) {
+ return $1 || matches[match] || zoneStr.replace(':', '');
+ }); // 'ZZ'
+ };
+
+ _proto.utcOffset = function utcOffset() {
+ // Because a bug at FF24, we're rounding the timezone offset around 15 minutes
+ // https://github.com/moment/moment/pull/1871
+ return -Math.round(this.$d.getTimezoneOffset() / 15) * 15;
+ };
+
+ _proto.diff = function diff(input, units, _float) {
+ var _C$Y$C$M$C$Q$C$W$C$D$;
+
+ var unit = Utils.p(units);
+ var that = dayjs(input);
+ var zoneDelta = (that.utcOffset() - this.utcOffset()) * C.MILLISECONDS_A_MINUTE;
+ var diff = this - that;
+ var result = Utils.m(this, that);
+ result = (_C$Y$C$M$C$Q$C$W$C$D$ = {}, _C$Y$C$M$C$Q$C$W$C$D$[C.Y] = result / 12, _C$Y$C$M$C$Q$C$W$C$D$[C.M] = result, _C$Y$C$M$C$Q$C$W$C$D$[C.Q] = result / 3, _C$Y$C$M$C$Q$C$W$C$D$[C.W] = (diff - zoneDelta) / C.MILLISECONDS_A_WEEK, _C$Y$C$M$C$Q$C$W$C$D$[C.D] = (diff - zoneDelta) / C.MILLISECONDS_A_DAY, _C$Y$C$M$C$Q$C$W$C$D$[C.H] = diff / C.MILLISECONDS_A_HOUR, _C$Y$C$M$C$Q$C$W$C$D$[C.MIN] = diff / C.MILLISECONDS_A_MINUTE, _C$Y$C$M$C$Q$C$W$C$D$[C.S] = diff / C.MILLISECONDS_A_SECOND, _C$Y$C$M$C$Q$C$W$C$D$)[unit] || diff; // milliseconds
+
+ return _float ? result : Utils.a(result);
+ };
+
+ _proto.daysInMonth = function daysInMonth() {
+ return this.endOf(C.M).$D;
+ };
+
+ _proto.$locale = function $locale() {
+ // get locale object
+ return Ls[this.$L];
+ };
+
+ _proto.locale = function locale(preset, object) {
+ if (!preset) return this.$L;
+ var that = this.clone();
+ var nextLocaleName = parseLocale(preset, object, true);
+ if (nextLocaleName) that.$L = nextLocaleName;
+ return that;
+ };
+
+ _proto.clone = function clone() {
+ return Utils.w(this.$d, this);
+ };
+
+ _proto.toDate = function toDate() {
+ return new Date(this.valueOf());
+ };
+
+ _proto.toJSON = function toJSON() {
+ return this.isValid() ? this.toISOString() : null;
+ };
+
+ _proto.toISOString = function toISOString() {
+ // ie 8 return
+ // new Dayjs(this.valueOf() + this.$d.getTimezoneOffset() * 60000)
+ // .format('YYYY-MM-DDTHH:mm:ss.SSS[Z]')
+ return this.$d.toISOString();
+ };
+
+ _proto.toString = function toString() {
+ return this.$d.toUTCString();
+ };
+
+ return Dayjs;
+}();
+
+dayjs.prototype = Dayjs.prototype;
+
+dayjs.extend = function (plugin, option) {
+ plugin(option, Dayjs, dayjs);
+ return dayjs;
+};
+
+dayjs.locale = parseLocale;
+dayjs.isDayjs = isDayjs;
+
+dayjs.unix = function (timestamp) {
+ return dayjs(timestamp * 1e3);
+};
+
+dayjs.en = Ls[L];
+dayjs.Ls = Ls;
+export default dayjs;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/af.js b/node_modules/dayjs/esm/locale/af.js
new file mode 100644
index 0000000..ce0c285
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/af.js
@@ -0,0 +1,39 @@
+// Afrikaans [af]
+import dayjs from '../index';
+var locale = {
+ name: 'af',
+ weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),
+ months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),
+ monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),
+ weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'oor %s',
+ past: '%s gelede',
+ s: "'n paar sekondes",
+ m: "'n minuut",
+ mm: '%d minute',
+ h: "'n uur",
+ hh: '%d ure',
+ d: "'n dag",
+ dd: '%d dae',
+ M: "'n maand",
+ MM: '%d maande',
+ y: "'n jaar",
+ yy: '%d jaar'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ar-dz.js b/node_modules/dayjs/esm/locale/ar-dz.js
new file mode 100644
index 0000000..7adaea4
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ar-dz.js
@@ -0,0 +1,38 @@
+// Arabic (Algeria) [ar-dz]
+import dayjs from '../index';
+var locale = {
+ name: 'ar-dz',
+ weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+ months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+ weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
+ monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+ weekdaysMin: 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'في %s',
+ past: 'منذ %s',
+ s: 'ثوان',
+ m: 'دقيقة',
+ mm: '%d دقائق',
+ h: 'ساعة',
+ hh: '%d ساعات',
+ d: 'يوم',
+ dd: '%d أيام',
+ M: 'شهر',
+ MM: '%d أشهر',
+ y: 'سنة',
+ yy: '%d سنوات'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ar-kw.js b/node_modules/dayjs/esm/locale/ar-kw.js
new file mode 100644
index 0000000..a4b1a31
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ar-kw.js
@@ -0,0 +1,38 @@
+// Arabic (Kuwait) [ar-kw]
+import dayjs from '../index';
+var locale = {
+ name: 'ar-kw',
+ weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+ months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
+ weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
+ monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'في %s',
+ past: 'منذ %s',
+ s: 'ثوان',
+ m: 'دقيقة',
+ mm: '%d دقائق',
+ h: 'ساعة',
+ hh: '%d ساعات',
+ d: 'يوم',
+ dd: '%d أيام',
+ M: 'شهر',
+ MM: '%d أشهر',
+ y: 'سنة',
+ yy: '%d سنوات'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ar-ly.js b/node_modules/dayjs/esm/locale/ar-ly.js
new file mode 100644
index 0000000..7e3611b
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ar-ly.js
@@ -0,0 +1,24 @@
+// Arabic (Lybia) [ar-ly]
+import dayjs from '../index';
+var locale = {
+ name: 'ar-ly',
+ weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+ months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+ weekStart: 6,
+ weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+ monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'D/M/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ar-ma.js b/node_modules/dayjs/esm/locale/ar-ma.js
new file mode 100644
index 0000000..c91120d
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ar-ma.js
@@ -0,0 +1,39 @@
+// Arabic (Morocco) [ar-ma]
+import dayjs from '../index';
+var locale = {
+ name: 'ar-ma',
+ weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+ months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
+ weekStart: 6,
+ weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
+ monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'في %s',
+ past: 'منذ %s',
+ s: 'ثوان',
+ m: 'دقيقة',
+ mm: '%d دقائق',
+ h: 'ساعة',
+ hh: '%d ساعات',
+ d: 'يوم',
+ dd: '%d أيام',
+ M: 'شهر',
+ MM: '%d أشهر',
+ y: 'سنة',
+ yy: '%d سنوات'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ar-sa.js b/node_modules/dayjs/esm/locale/ar-sa.js
new file mode 100644
index 0000000..1a98531
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ar-sa.js
@@ -0,0 +1,38 @@
+// Arabic (Saudi Arabia) [ar-sa]
+import dayjs from '../index';
+var locale = {
+ name: 'ar-sa',
+ weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+ months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+ weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+ monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'في %s',
+ past: 'منذ %s',
+ s: 'ثوان',
+ m: 'دقيقة',
+ mm: '%d دقائق',
+ h: 'ساعة',
+ hh: '%d ساعات',
+ d: 'يوم',
+ dd: '%d أيام',
+ M: 'شهر',
+ MM: '%d أشهر',
+ y: 'سنة',
+ yy: '%d سنوات'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ar-tn.js b/node_modules/dayjs/esm/locale/ar-tn.js
new file mode 100644
index 0000000..dcf9450
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ar-tn.js
@@ -0,0 +1,39 @@
+// Arabic (Tunisia) [ar-tn]
+import dayjs from '../index';
+var locale = {
+ name: 'ar-tn',
+ weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+ months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+ monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'في %s',
+ past: 'منذ %s',
+ s: 'ثوان',
+ m: 'دقيقة',
+ mm: '%d دقائق',
+ h: 'ساعة',
+ hh: '%d ساعات',
+ d: 'يوم',
+ dd: '%d أيام',
+ M: 'شهر',
+ MM: '%d أشهر',
+ y: 'سنة',
+ yy: '%d سنوات'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ar.js b/node_modules/dayjs/esm/locale/ar.js
new file mode 100644
index 0000000..f746cb7
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ar.js
@@ -0,0 +1,40 @@
+// Arabic [ar]
+import dayjs from '../index';
+var months = 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_');
+var locale = {
+ name: 'ar',
+ weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+ weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+ months: months,
+ monthsShort: months,
+ weekStart: 6,
+ relativeTime: {
+ future: 'بعد %s',
+ past: 'منذ %s',
+ s: 'ثانية واحدة',
+ m: 'دقيقة واحدة',
+ mm: 'دقائق %d',
+ h: 'ساعة واحدة',
+ hh: 'ساعات %d',
+ d: 'يوم واحد',
+ dd: 'أيام %d',
+ M: 'شهر واحد',
+ MM: 'شهرا %d',
+ y: 'عام واحد',
+ yy: 'أعوام %d'
+ },
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'D/M/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/az.js b/node_modules/dayjs/esm/locale/az.js
new file mode 100644
index 0000000..3505c8a
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/az.js
@@ -0,0 +1,39 @@
+// Azerbaijani [az]
+import dayjs from '../index';
+var locale = {
+ name: 'az',
+ weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),
+ weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),
+ weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),
+ months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),
+ monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),
+ weekStart: 1,
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY г.',
+ LLL: 'D MMMM YYYY г., H:mm',
+ LLLL: 'dddd, D MMMM YYYY г., H:mm'
+ },
+ relativeTime: {
+ future: '%s sonra',
+ past: '%s əvvəl',
+ s: 'bir neçə saniyə',
+ m: 'bir dəqiqə',
+ mm: '%d dəqiqə',
+ h: 'bir saat',
+ hh: '%d saat',
+ d: 'bir gün',
+ dd: '%d gün',
+ M: 'bir ay',
+ MM: '%d ay',
+ y: 'bir il',
+ yy: '%d il'
+ },
+ ordinal: function ordinal(n) {
+ return n;
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/be.js b/node_modules/dayjs/esm/locale/be.js
new file mode 100644
index 0000000..5642e39
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/be.js
@@ -0,0 +1,24 @@
+// Belarusian [be]
+import dayjs from '../index';
+var locale = {
+ name: 'be',
+ weekdays: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),
+ months: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
+ monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),
+ weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY г.',
+ LLL: 'D MMMM YYYY г., HH:mm',
+ LLLL: 'dddd, D MMMM YYYY г., HH:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/bg.js b/node_modules/dayjs/esm/locale/bg.js
new file mode 100644
index 0000000..39bbdc0
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/bg.js
@@ -0,0 +1,39 @@
+// Bulgarian [bg]
+import dayjs from '../index';
+var locale = {
+ name: 'bg',
+ weekdays: 'Неделя_Понеделник_Вторник_Сряда_Четвъртък_Петък_Събота'.split('_'),
+ weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),
+ weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
+ months: 'Януари_Февруари_Март_Април_Май_Юни_Юли_Август_Септември_Октомври_Ноември_Декември'.split('_'),
+ monthsShort: 'Янр_Фев_Мар_Апр_Май_Юни_Юли_Авг_Сеп_Окт_Ное_Дек'.split('_'),
+ weekStart: 1,
+ ordinal: function ordinal(n) {
+ return n + ".";
+ },
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'D.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY H:mm',
+ LLLL: 'dddd, D MMMM YYYY H:mm'
+ },
+ relativeTime: {
+ future: 'след %s',
+ past: 'преди %s',
+ s: 'няколко секунди',
+ m: 'минута',
+ mm: '%d минути',
+ h: 'час',
+ hh: '%d часа',
+ d: 'ден',
+ dd: '%d дни',
+ M: 'месец',
+ MM: '%d месеца',
+ y: 'година',
+ yy: '%d години'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/bi.js b/node_modules/dayjs/esm/locale/bi.js
new file mode 100644
index 0000000..b52befd
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/bi.js
@@ -0,0 +1,38 @@
+import dayjs from '../index';
+var locale = {
+ name: 'bi',
+ weekdays: 'Sande_Mande_Tusde_Wenesde_Tosde_Fraede_Sarade'.split('_'),
+ months: 'Januari_Februari_Maj_Eprel_Mei_Jun_Julae_Okis_Septemba_Oktoba_Novemba_Disemba'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'San_Man_Tus_Wen_Tos_Frae_Sar'.split('_'),
+ monthsShort: 'Jan_Feb_Maj_Epr_Mai_Jun_Jul_Oki_Sep_Okt_Nov_Dis'.split('_'),
+ weekdaysMin: 'San_Ma_Tu_We_To_Fr_Sar'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'h:mm A',
+ LTS: 'h:mm:ss A',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY h:mm A',
+ LLLL: 'dddd, D MMMM YYYY h:mm A'
+ },
+ relativeTime: {
+ future: 'lo %s',
+ past: '%s bifo',
+ s: 'sam seken',
+ m: 'wan minit',
+ mm: '%d minit',
+ h: 'wan haoa',
+ hh: '%d haoa',
+ d: 'wan dei',
+ dd: '%d dei',
+ M: 'wan manis',
+ MM: '%d manis',
+ y: 'wan yia',
+ yy: '%d yia'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/bm.js b/node_modules/dayjs/esm/locale/bm.js
new file mode 100644
index 0000000..0d61093
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/bm.js
@@ -0,0 +1,39 @@
+// Bambara [bm]
+import dayjs from '../index';
+var locale = {
+ name: 'bm',
+ weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),
+ months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),
+ monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),
+ weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'MMMM [tile] D [san] YYYY',
+ LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',
+ LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'
+ },
+ relativeTime: {
+ future: '%s kɔnɔ',
+ past: 'a bɛ %s bɔ',
+ s: 'sanga dama dama',
+ m: 'miniti kelen',
+ mm: 'miniti %d',
+ h: 'lɛrɛ kelen',
+ hh: 'lɛrɛ %d',
+ d: 'tile kelen',
+ dd: 'tile %d',
+ M: 'kalo kelen',
+ MM: 'kalo %d',
+ y: 'san kelen',
+ yy: 'san %d'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/bn.js b/node_modules/dayjs/esm/locale/bn.js
new file mode 100644
index 0000000..b3538f7
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/bn.js
@@ -0,0 +1,38 @@
+// Bengali [bn]
+import dayjs from '../index';
+var locale = {
+ name: 'bn',
+ weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),
+ months: 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),
+ weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),
+ monthsShort: 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),
+ weekdaysMin: 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'A h:mm সময়',
+ LTS: 'A h:mm:ss সময়',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, A h:mm সময়',
+ LLLL: 'dddd, D MMMM YYYY, A h:mm সময়'
+ },
+ relativeTime: {
+ future: '%s পরে',
+ past: '%s আগে',
+ s: 'কয়েক সেকেন্ড',
+ m: 'এক মিনিট',
+ mm: '%d মিনিট',
+ h: 'এক ঘন্টা',
+ hh: '%d ঘন্টা',
+ d: 'এক দিন',
+ dd: '%d দিন',
+ M: 'এক মাস',
+ MM: '%d মাস',
+ y: 'এক বছর',
+ yy: '%d বছর'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/bo.js b/node_modules/dayjs/esm/locale/bo.js
new file mode 100644
index 0000000..75ab560
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/bo.js
@@ -0,0 +1,38 @@
+// Tibetan [bo]
+import dayjs from '../index';
+var locale = {
+ name: 'bo',
+ weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),
+ months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
+ weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
+ monthsShort: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
+ weekdaysMin: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'A h:mm',
+ LTS: 'A h:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, A h:mm',
+ LLLL: 'dddd, D MMMM YYYY, A h:mm'
+ },
+ relativeTime: {
+ future: '%s ལ་',
+ past: '%s སྔན་ལ',
+ s: 'ལམ་སང',
+ m: 'སྐར་མ་གཅིག',
+ mm: '%d སྐར་མ',
+ h: 'ཆུ་ཚོད་གཅིག',
+ hh: '%d ཆུ་ཚོད',
+ d: 'ཉིན་གཅིག',
+ dd: '%d ཉིན་',
+ M: 'ཟླ་བ་གཅིག',
+ MM: '%d ཟླ་བ',
+ y: 'ལོ་གཅིག',
+ yy: '%d ལོ'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/br.js b/node_modules/dayjs/esm/locale/br.js
new file mode 100644
index 0000000..be4441c
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/br.js
@@ -0,0 +1,24 @@
+// Breton [br]
+import dayjs from '../index';
+var locale = {
+ name: 'br',
+ weekdays: "Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split('_'),
+ months: "Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),
+ monthsShort: "Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split('_'),
+ weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'h[e]mm A',
+ LTS: 'h[e]mm:ss A',
+ L: 'DD/MM/YYYY',
+ LL: 'D [a viz] MMMM YYYY',
+ LLL: 'D [a viz] MMMM YYYY h[e]mm A',
+ LLLL: 'dddd, D [a viz] MMMM YYYY h[e]mm A'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/bs.js b/node_modules/dayjs/esm/locale/bs.js
new file mode 100644
index 0000000..328a1fe
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/bs.js
@@ -0,0 +1,24 @@
+// Bosnian [bs]
+import dayjs from '../index';
+var locale = {
+ name: 'bs',
+ weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
+ months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
+ monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),
+ weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY H:mm',
+ LLLL: 'dddd, D. MMMM YYYY H:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ca.js b/node_modules/dayjs/esm/locale/ca.js
new file mode 100644
index 0000000..1b42dcd
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ca.js
@@ -0,0 +1,42 @@
+// Catalan [ca]
+import dayjs from '../index';
+var locale = {
+ name: 'ca',
+ weekdays: 'Diumenge_Dilluns_Dimarts_Dimecres_Dijous_Divendres_Dissabte'.split('_'),
+ weekdaysShort: 'Dg._Dl._Dt._Dc._Dj._Dv._Ds.'.split('_'),
+ weekdaysMin: 'Dg_Dl_Dt_Dc_Dj_Dv_Ds'.split('_'),
+ months: 'Gener_Febrer_Març_Abril_Maig_Juny_Juliol_Agost_Setembre_Octubre_Novembre_Desembre'.split('_'),
+ monthsShort: 'Gen._Febr._Març_Abr._Maig_Juny_Jul._Ag._Set._Oct._Nov._Des.'.split('_'),
+ weekStart: 1,
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM [de] YYYY',
+ LLL: 'D MMMM [de] YYYY [a les] H:mm',
+ LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',
+ ll: 'D MMM YYYY',
+ lll: 'D MMM YYYY, H:mm',
+ llll: 'ddd D MMM YYYY, H:mm'
+ },
+ relativeTime: {
+ future: 'd\'aquí %s',
+ past: 'fa %s',
+ s: 'uns segons',
+ m: 'un minut',
+ mm: '%d minuts',
+ h: 'una hora',
+ hh: '%d hores',
+ d: 'un dia',
+ dd: '%d dies',
+ M: 'un mes',
+ MM: '%d mesos',
+ y: 'un any',
+ yy: '%d anys'
+ },
+ ordinal: function ordinal(n) {
+ return n + "\xBA";
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/cs.js b/node_modules/dayjs/esm/locale/cs.js
new file mode 100644
index 0000000..38ff941
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/cs.js
@@ -0,0 +1,119 @@
+// Czech [cs]
+import dayjs from '../index';
+
+function plural(n) {
+ return n > 1 && n < 5 && ~~(n / 10) !== 1; // eslint-disable-line
+}
+/* eslint-disable */
+
+
+function translate(number, withoutSuffix, key, isFuture) {
+ var result = number + " ";
+
+ switch (key) {
+ case 's':
+ // a few seconds / in a few seconds / a few seconds ago
+ return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';
+
+ case 'm':
+ // a minute / in a minute / a minute ago
+ return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';
+
+ case 'mm':
+ // 9 minutes / in 9 minutes / 9 minutes ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'minuty' : 'minut');
+ }
+
+ return result + "minutami";
+
+ case 'h':
+ // an hour / in an hour / an hour ago
+ return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';
+
+ case 'hh':
+ // 9 hours / in 9 hours / 9 hours ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'hodiny' : 'hodin');
+ }
+
+ return result + "hodinami";
+
+ case 'd':
+ // a day / in a day / a day ago
+ return withoutSuffix || isFuture ? 'den' : 'dnem';
+
+ case 'dd':
+ // 9 days / in 9 days / 9 days ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'dny' : 'dní');
+ }
+
+ return result + "dny";
+
+ case 'M':
+ // a month / in a month / a month ago
+ return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';
+
+ case 'MM':
+ // 9 months / in 9 months / 9 months ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'měsíce' : 'měsíců');
+ }
+
+ return result + "m\u011Bs\xEDci";
+
+ case 'y':
+ // a year / in a year / a year ago
+ return withoutSuffix || isFuture ? 'rok' : 'rokem';
+
+ case 'yy':
+ // 9 years / in 9 years / 9 years ago
+ if (withoutSuffix || isFuture) {
+ return result + (plural(number) ? 'roky' : 'let');
+ }
+
+ return result + "lety";
+ }
+}
+/* eslint-enable */
+
+
+var locale = {
+ name: 'cs',
+ weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),
+ weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),
+ weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),
+ months: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),
+ monthsShort: 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),
+ weekStart: 1,
+ ordinal: function ordinal(n) {
+ return n + ".";
+ },
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY H:mm',
+ LLLL: 'dddd D. MMMM YYYY H:mm',
+ l: 'D. M. YYYY'
+ },
+ relativeTime: {
+ future: 'za %s',
+ past: 'před %s',
+ s: translate,
+ m: translate,
+ mm: translate,
+ h: translate,
+ hh: translate,
+ d: translate,
+ dd: translate,
+ M: translate,
+ MM: translate,
+ y: translate,
+ yy: translate
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/cv.js b/node_modules/dayjs/esm/locale/cv.js
new file mode 100644
index 0000000..7dc41f7
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/cv.js
@@ -0,0 +1,24 @@
+// Chuvash [cv]
+import dayjs from '../index';
+var locale = {
+ name: 'cv',
+ weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),
+ months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),
+ monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),
+ weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD-MM-YYYY',
+ LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',
+ LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
+ LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/cy.js b/node_modules/dayjs/esm/locale/cy.js
new file mode 100644
index 0000000..63e6c33
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/cy.js
@@ -0,0 +1,39 @@
+// Welsh [cy]
+import dayjs from '../index';
+var locale = {
+ name: 'cy',
+ weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),
+ months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),
+ monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),
+ weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'mewn %s',
+ past: '%s yn ôl',
+ s: 'ychydig eiliadau',
+ m: 'munud',
+ mm: '%d munud',
+ h: 'awr',
+ hh: '%d awr',
+ d: 'diwrnod',
+ dd: '%d diwrnod',
+ M: 'mis',
+ MM: '%d mis',
+ y: 'blwyddyn',
+ yy: '%d flynedd'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/da.js b/node_modules/dayjs/esm/locale/da.js
new file mode 100644
index 0000000..38fd134
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/da.js
@@ -0,0 +1,39 @@
+// Danish [da]
+import dayjs from '../index';
+var locale = {
+ name: 'da',
+ weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
+ weekdaysShort: 'søn._man._tirs._ons._tors._fre._lør.'.split('_'),
+ weekdaysMin: 'sø._ma._ti._on._to._fr._lø.'.split('_'),
+ months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),
+ monthsShort: 'jan._feb._mar._apr._maj_juni_juli_aug._sept._okt._nov._dec.'.split('_'),
+ weekStart: 1,
+ ordinal: function ordinal(n) {
+ return n + ".";
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY HH:mm',
+ LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'
+ },
+ relativeTime: {
+ future: 'om %s',
+ past: '%s siden',
+ s: 'få sekunder',
+ m: 'et minut',
+ mm: '%d minutter',
+ h: 'en time',
+ hh: '%d timer',
+ d: 'en dag',
+ dd: '%d dage',
+ M: 'en måned',
+ MM: '%d måneder',
+ y: 'et år',
+ yy: '%d år'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/de-at.js b/node_modules/dayjs/esm/locale/de-at.js
new file mode 100644
index 0000000..d50ef44
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/de-at.js
@@ -0,0 +1,39 @@
+// German (Austria) [de-at]
+import dayjs from '../index';
+var locale = {
+ name: 'de-at',
+ weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
+ weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
+ weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+ months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
+ monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
+ ordinal: function ordinal(n) {
+ return n + ".";
+ },
+ weekStart: 1,
+ formats: {
+ LTS: 'HH:mm:ss',
+ LT: 'HH:mm',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY HH:mm',
+ LLLL: 'dddd, D. MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'in %s',
+ past: 'vor %s',
+ s: 'ein paar Sekunden',
+ m: 'einer Minute',
+ mm: '%d Minuten',
+ h: 'einer Stunde',
+ hh: '%d Stunden',
+ d: 'einem Tag',
+ dd: '%d Tagen',
+ M: 'einem Monat',
+ MM: '%d Monaten',
+ y: 'einem Jahr',
+ yy: '%d Jahren'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/de-ch.js b/node_modules/dayjs/esm/locale/de-ch.js
new file mode 100644
index 0000000..0580b92
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/de-ch.js
@@ -0,0 +1,24 @@
+// German (Switzerland) [de-ch]
+import dayjs from '../index';
+var locale = {
+ name: 'de-ch',
+ weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
+ months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+ monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
+ weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY HH:mm',
+ LLLL: 'dddd, D. MMMM YYYY HH:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/de.js b/node_modules/dayjs/esm/locale/de.js
new file mode 100644
index 0000000..ad57863
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/de.js
@@ -0,0 +1,39 @@
+// German [de]
+import dayjs from '../index';
+var locale = {
+ name: 'de',
+ weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
+ weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
+ weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+ months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
+ monthsShort: 'Jan_Feb_März_Apr_Mai_Juni_Juli_Aug_Sept_Okt_Nov_Dez'.split('_'),
+ ordinal: function ordinal(n) {
+ return n + ".";
+ },
+ weekStart: 1,
+ formats: {
+ LTS: 'HH:mm:ss',
+ LT: 'HH:mm',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY HH:mm',
+ LLLL: 'dddd, D. MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'in %s',
+ past: 'vor %s',
+ s: 'wenigen Sekunden',
+ m: 'einer Minute',
+ mm: '%d Minuten',
+ h: 'einer Stunde',
+ hh: '%d Stunden',
+ d: 'einem Tag',
+ dd: '%d Tagen',
+ M: 'einem Monat',
+ MM: '%d Monaten',
+ y: 'einem Jahr',
+ yy: '%d Jahren'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/dv.js b/node_modules/dayjs/esm/locale/dv.js
new file mode 100644
index 0000000..8943fdd
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/dv.js
@@ -0,0 +1,39 @@
+// Maldivian [dv]
+import dayjs from '../index';
+var locale = {
+ name: 'dv',
+ weekdays: 'އާދިއްތަ_ހޯމަ_އަންގާރަ_ބުދަ_ބުރާސްފަތި_ހުކުރު_ހޮނިހިރު'.split('_'),
+ months: 'ޖެނުއަރީ_ފެބްރުއަރީ_މާރިޗު_އޭޕްރީލު_މޭ_ޖޫން_ޖުލައި_އޯގަސްޓު_ސެޕްޓެމްބަރު_އޮކްޓޯބަރު_ނޮވެމްބަރު_ޑިސެމްބަރު'.split('_'),
+ weekStart: 7,
+ weekdaysShort: 'އާދިއްތަ_ހޯމަ_އަންގާރަ_ބުދަ_ބުރާސްފަތި_ހުކުރު_ހޮނިހިރު'.split('_'),
+ monthsShort: 'ޖެނުއަރީ_ފެބްރުއަރީ_މާރިޗު_އޭޕްރީލު_މޭ_ޖޫން_ޖުލައި_އޯގަސްޓު_ސެޕްޓެމްބަރު_އޮކްޓޯބަރު_ނޮވެމްބަރު_ޑިސެމްބަރު'.split('_'),
+ weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'D/M/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'ތެރޭގައި %s',
+ past: 'ކުރިން %s',
+ s: 'ސިކުންތުކޮޅެއް',
+ m: 'މިނިޓެއް',
+ mm: 'މިނިޓު %d',
+ h: 'ގަޑިއިރެއް',
+ hh: 'ގަޑިއިރު %d',
+ d: 'ދުވަހެއް',
+ dd: 'ދުވަސް %d',
+ M: 'މަހެއް',
+ MM: 'މަސް %d',
+ y: 'އަހަރެއް',
+ yy: 'އަހަރު %d'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/el.js b/node_modules/dayjs/esm/locale/el.js
new file mode 100644
index 0000000..2aa9917
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/el.js
@@ -0,0 +1,39 @@
+// Greek [el]
+import dayjs from '../index';
+var locale = {
+ name: 'el',
+ weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),
+ weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),
+ weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),
+ months: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),
+ monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαι_Ιουν_Ιουλ_Αυγ_Σεπτ_Οκτ_Νοε_Δεκ'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ weekStart: 1,
+ relativeTime: {
+ future: 'σε %s',
+ past: 'πριν %s',
+ s: 'μερικά δευτερόλεπτα',
+ m: 'ένα λεπτό',
+ mm: '%d λεπτά',
+ h: 'μία ώρα',
+ hh: '%d ώρες',
+ d: 'μία μέρα',
+ dd: '%d μέρες',
+ M: 'ένα μήνα',
+ MM: '%d μήνες',
+ y: 'ένα χρόνο',
+ yy: '%d χρόνια'
+ },
+ formats: {
+ LT: 'h:mm A',
+ LTS: 'h:mm:ss A',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY h:mm A',
+ LLLL: 'dddd, D MMMM YYYY h:mm A'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/en-SG.js b/node_modules/dayjs/esm/locale/en-SG.js
new file mode 100644
index 0000000..6a0ada6
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/en-SG.js
@@ -0,0 +1,39 @@
+// English (Singapore) [en-sg]
+import dayjs from '../index';
+var locale = {
+ name: 'en-SG',
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'in %s',
+ past: '%s ago',
+ s: 'a few seconds',
+ m: 'a minute',
+ mm: '%d minutes',
+ h: 'an hour',
+ hh: '%d hours',
+ d: 'a day',
+ dd: '%d days',
+ M: 'a month',
+ MM: '%d months',
+ y: 'a year',
+ yy: '%d years'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/en-au.js b/node_modules/dayjs/esm/locale/en-au.js
new file mode 100644
index 0000000..f9dde03
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/en-au.js
@@ -0,0 +1,39 @@
+// English (Australia) [en-au]
+import dayjs from '../index';
+var locale = {
+ name: 'en-au',
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'h:mm A',
+ LTS: 'h:mm:ss A',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY h:mm A',
+ LLLL: 'dddd, D MMMM YYYY h:mm A'
+ },
+ relativeTime: {
+ future: 'in %s',
+ past: '%s ago',
+ s: 'a few seconds',
+ m: 'a minute',
+ mm: '%d minutes',
+ h: 'an hour',
+ hh: '%d hours',
+ d: 'a day',
+ dd: '%d days',
+ M: 'a month',
+ MM: '%d months',
+ y: 'a year',
+ yy: '%d years'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/en-ca.js b/node_modules/dayjs/esm/locale/en-ca.js
new file mode 100644
index 0000000..8e416c9
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/en-ca.js
@@ -0,0 +1,38 @@
+// English (Canada) [en-ca]
+import dayjs from '../index';
+var locale = {
+ name: 'en-ca',
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'h:mm A',
+ LTS: 'h:mm:ss A',
+ L: 'YYYY-MM-DD',
+ LL: 'MMMM D, YYYY',
+ LLL: 'MMMM D, YYYY h:mm A',
+ LLLL: 'dddd, MMMM D, YYYY h:mm A'
+ },
+ relativeTime: {
+ future: 'in %s',
+ past: '%s ago',
+ s: 'a few seconds',
+ m: 'a minute',
+ mm: '%d minutes',
+ h: 'an hour',
+ hh: '%d hours',
+ d: 'a day',
+ dd: '%d days',
+ M: 'a month',
+ MM: '%d months',
+ y: 'a year',
+ yy: '%d years'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/en-gb.js b/node_modules/dayjs/esm/locale/en-gb.js
new file mode 100644
index 0000000..f979b44
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/en-gb.js
@@ -0,0 +1,42 @@
+// English (United Kingdom) [en-gb]
+import dayjs from '../index';
+var locale = {
+ name: 'en-gb',
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+ weekStart: 1,
+ yearStart: 4,
+ relativeTime: {
+ future: 'in %s',
+ past: '%s ago',
+ s: 'a few seconds',
+ m: 'a minute',
+ mm: '%d minutes',
+ h: 'an hour',
+ hh: '%d hours',
+ d: 'a day',
+ dd: '%d days',
+ M: 'a month',
+ MM: '%d months',
+ y: 'a year',
+ yy: '%d years'
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ },
+ ordinal: function ordinal(n) {
+ var s = ['th', 'st', 'nd', 'rd'];
+ var v = n % 100;
+ return "[" + n + (s[(v - 20) % 10] || s[v] || s[0]) + "]";
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/en-ie.js b/node_modules/dayjs/esm/locale/en-ie.js
new file mode 100644
index 0000000..8098d2f
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/en-ie.js
@@ -0,0 +1,39 @@
+// English (Ireland) [en-ie]
+import dayjs from '../index';
+var locale = {
+ name: 'en-ie',
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'in %s',
+ past: '%s ago',
+ s: 'a few seconds',
+ m: 'a minute',
+ mm: '%d minutes',
+ h: 'an hour',
+ hh: '%d hours',
+ d: 'a day',
+ dd: '%d days',
+ M: 'a month',
+ MM: '%d months',
+ y: 'a year',
+ yy: '%d years'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/en-il.js b/node_modules/dayjs/esm/locale/en-il.js
new file mode 100644
index 0000000..56c241a
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/en-il.js
@@ -0,0 +1,38 @@
+// English (Israel) [en-il]
+import dayjs from '../index';
+var locale = {
+ name: 'en-il',
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'in %s',
+ past: '%s ago',
+ s: 'a few seconds',
+ m: 'a minute',
+ mm: '%d minutes',
+ h: 'an hour',
+ hh: '%d hours',
+ d: 'a day',
+ dd: '%d days',
+ M: 'a month',
+ MM: '%d months',
+ y: 'a year',
+ yy: '%d years'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/en-nz.js b/node_modules/dayjs/esm/locale/en-nz.js
new file mode 100644
index 0000000..02c7d25
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/en-nz.js
@@ -0,0 +1,39 @@
+// English (New Zealand) [en-nz]
+import dayjs from '../index';
+var locale = {
+ name: 'en-nz',
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'h:mm A',
+ LTS: 'h:mm:ss A',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY h:mm A',
+ LLLL: 'dddd, D MMMM YYYY h:mm A'
+ },
+ relativeTime: {
+ future: 'in %s',
+ past: '%s ago',
+ s: 'a few seconds',
+ m: 'a minute',
+ mm: '%d minutes',
+ h: 'an hour',
+ hh: '%d hours',
+ d: 'a day',
+ dd: '%d days',
+ M: 'a month',
+ MM: '%d months',
+ y: 'a year',
+ yy: '%d years'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/en.js b/node_modules/dayjs/esm/locale/en.js
new file mode 100644
index 0000000..7b543e2
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/en.js
@@ -0,0 +1,6 @@
+// We don't need weekdaysShort, weekdaysMin, monthsShort in en.js locale
+export default {
+ name: 'en',
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_')
+};
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/eo.js b/node_modules/dayjs/esm/locale/eo.js
new file mode 100644
index 0000000..e62599a
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/eo.js
@@ -0,0 +1,39 @@
+// Esperanto [eo]
+import dayjs from '../index';
+var locale = {
+ name: 'eo',
+ weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),
+ months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),
+ monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),
+ weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY-MM-DD',
+ LL: 'D[-a de] MMMM, YYYY',
+ LLL: 'D[-a de] MMMM, YYYY HH:mm',
+ LLLL: 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'post %s',
+ past: 'antaŭ %s',
+ s: 'sekundoj',
+ m: 'minuto',
+ mm: '%d minutoj',
+ h: 'horo',
+ hh: '%d horoj',
+ d: 'tago',
+ dd: '%d tagoj',
+ M: 'monato',
+ MM: '%d monatoj',
+ y: 'jaro',
+ yy: '%d jaroj'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/es-do.js b/node_modules/dayjs/esm/locale/es-do.js
new file mode 100644
index 0000000..48b41d9
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/es-do.js
@@ -0,0 +1,39 @@
+// Spanish (Dominican Republic) [es-do]
+import dayjs from '../index';
+var locale = {
+ name: 'es-do',
+ weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
+ weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
+ weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
+ months: 'Enero_Febrero_Marzo_Abril_Mayo_Junio_Julio_Agosto_Septiembre_Octubre_Noviembre_Diciembre'.split('_'),
+ monthsShort: 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
+ weekStart: 1,
+ relativeTime: {
+ future: 'en %s',
+ past: 'hace %s',
+ s: 'unos segundos',
+ m: 'un minuto',
+ mm: '%d minutos',
+ h: 'una hora',
+ hh: '%d horas',
+ d: 'un día',
+ dd: '%d días',
+ M: 'un mes',
+ MM: '%d meses',
+ y: 'un año',
+ yy: '%d años'
+ },
+ ordinal: function ordinal(n) {
+ return n + "\xBA";
+ },
+ formats: {
+ LT: 'h:mm A',
+ LTS: 'h:mm:ss A',
+ L: 'DD/MM/YYYY',
+ LL: 'D [de] MMMM [de] YYYY',
+ LLL: 'D [de] MMMM [de] YYYY h:mm A',
+ LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/es-us.js b/node_modules/dayjs/esm/locale/es-us.js
new file mode 100644
index 0000000..3efca85
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/es-us.js
@@ -0,0 +1,38 @@
+// Spanish (United States) [es-us]
+import dayjs from '../index';
+var locale = {
+ name: 'es-us',
+ weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
+ weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
+ weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
+ months: 'Enero_Febrero_Marzo_Abril_Mayo_Junio_Julio_Agosto_Septiembre_Octubre_Noviembre_Diciembre'.split('_'),
+ monthsShort: 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
+ relativeTime: {
+ future: 'en %s',
+ past: 'hace %s',
+ s: 'unos segundos',
+ m: 'un minuto',
+ mm: '%d minutos',
+ h: 'una hora',
+ hh: '%d horas',
+ d: 'un día',
+ dd: '%d días',
+ M: 'un mes',
+ MM: '%d meses',
+ y: 'un año',
+ yy: '%d años'
+ },
+ ordinal: function ordinal(n) {
+ return n + "\xBA";
+ },
+ formats: {
+ LT: 'h:mm A',
+ LTS: 'h:mm:ss A',
+ L: 'MM/DD/YYYY',
+ LL: 'D [de] MMMM [de] YYYY',
+ LLL: 'D [de] MMMM [de] YYYY h:mm A',
+ LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/es.js b/node_modules/dayjs/esm/locale/es.js
new file mode 100644
index 0000000..08f046d
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/es.js
@@ -0,0 +1,39 @@
+// Spanish [es]
+import dayjs from '../index';
+var locale = {
+ name: 'es',
+ monthsShort: 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
+ weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
+ weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
+ weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
+ months: 'Enero_Febrero_Marzo_Abril_Mayo_Junio_Julio_Agosto_Septiembre_Octubre_Noviembre_Diciembre'.split('_'),
+ weekStart: 1,
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D [de] MMMM [de] YYYY',
+ LLL: 'D [de] MMMM [de] YYYY H:mm',
+ LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm'
+ },
+ relativeTime: {
+ future: 'en %s',
+ past: 'hace %s',
+ s: 'unos segundos',
+ m: 'un minuto',
+ mm: '%d minutos',
+ h: 'una hora',
+ hh: '%d horas',
+ d: 'un día',
+ dd: '%d días',
+ M: 'un mes',
+ MM: '%d meses',
+ y: 'un año',
+ yy: '%d años'
+ },
+ ordinal: function ordinal(n) {
+ return n + "\xBA";
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/et.js b/node_modules/dayjs/esm/locale/et.js
new file mode 100644
index 0000000..7f7c5ff
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/et.js
@@ -0,0 +1,65 @@
+// Estonian [et]
+import dayjs from '../index';
+
+function relativeTimeWithTense(number, withoutSuffix, key, isFuture) {
+ var format = {
+ s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
+ m: ['ühe minuti', 'üks minut'],
+ mm: ['%d minuti', '%d minutit'],
+ h: ['ühe tunni', 'tund aega', 'üks tund'],
+ hh: ['%d tunni', '%d tundi'],
+ d: ['ühe päeva', 'üks päev'],
+ M: ['kuu aja', 'kuu aega', 'üks kuu'],
+ MM: ['%d kuu', '%d kuud'],
+ y: ['ühe aasta', 'aasta', 'üks aasta'],
+ yy: ['%d aasta', '%d aastat']
+ };
+
+ if (withoutSuffix) {
+ return (format[key][2] ? format[key][2] : format[key][1]).replace('%d', number);
+ }
+
+ return (isFuture ? format[key][0] : format[key][1]).replace('%d', number);
+}
+
+var locale = {
+ name: 'et',
+ // Estonian
+ weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),
+ // Note weekdays are not capitalized in Estonian
+ weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),
+ // There is no short form of weekdays in Estonian except this 1 letter format so it is used for both 'weekdaysShort' and 'weekdaysMin'
+ weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),
+ months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),
+ // Note month names are not capitalized in Estonian
+ monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),
+ ordinal: function ordinal(n) {
+ return n + ".";
+ },
+ weekStart: 1,
+ relativeTime: {
+ future: '%s pärast',
+ past: '%s tagasi',
+ s: relativeTimeWithTense,
+ m: relativeTimeWithTense,
+ mm: relativeTimeWithTense,
+ h: relativeTimeWithTense,
+ hh: relativeTimeWithTense,
+ d: relativeTimeWithTense,
+ dd: '%d päeva',
+ M: relativeTimeWithTense,
+ MM: relativeTimeWithTense,
+ y: relativeTimeWithTense,
+ yy: relativeTimeWithTense
+ },
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY H:mm',
+ LLLL: 'dddd, D. MMMM YYYY H:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/eu.js b/node_modules/dayjs/esm/locale/eu.js
new file mode 100644
index 0000000..5cb73d0
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/eu.js
@@ -0,0 +1,43 @@
+// Basque [eu]
+import dayjs from '../index';
+var locale = {
+ name: 'eu',
+ weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),
+ months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),
+ monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),
+ weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY-MM-DD',
+ LL: 'YYYY[ko] MMMM[ren] D[a]',
+ LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',
+ LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',
+ l: 'YYYY-M-D',
+ ll: 'YYYY[ko] MMM D[a]',
+ lll: 'YYYY[ko] MMM D[a] HH:mm',
+ llll: 'ddd, YYYY[ko] MMM D[a] HH:mm'
+ },
+ relativeTime: {
+ future: '%s barru',
+ past: 'duela %s',
+ s: 'segundo batzuk',
+ m: 'minutu bat',
+ mm: '%d minutu',
+ h: 'ordu bat',
+ hh: '%d ordu',
+ d: 'egun bat',
+ dd: '%d egun',
+ M: 'hilabete bat',
+ MM: '%d hilabete',
+ y: 'urte bat',
+ yy: '%d urte'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/fa.js b/node_modules/dayjs/esm/locale/fa.js
new file mode 100644
index 0000000..089459e
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/fa.js
@@ -0,0 +1,39 @@
+// Persian [fa]
+import dayjs from '../index';
+var locale = {
+ name: 'fa',
+ weekdays: 'یکشنبه_دوشنبه_سهشنبه_چهارشنبه_پنجشنبه_جمعه_شنبه'.split('_'),
+ weekdaysShort: "\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647_\u062F\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200C\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647_\u062C\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split('_'),
+ weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),
+ weekStart: 6,
+ months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
+ monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'در %s',
+ past: '%s پیش',
+ s: 'چند ثانیه',
+ m: 'یک دقیقه',
+ mm: '%d دقیقه',
+ h: 'یک ساعت',
+ hh: '%d ساعت',
+ d: 'یک روز',
+ dd: '%d روز',
+ M: 'یک ماه',
+ MM: '%d ماه',
+ y: 'یک سال',
+ yy: '%d سال'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/fi.js b/node_modules/dayjs/esm/locale/fi.js
new file mode 100644
index 0000000..41fecad
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/fi.js
@@ -0,0 +1,87 @@
+// Finnish [fi]
+import dayjs from '../index';
+
+function relativeTimeFormatter(number, withoutSuffix, key, isFuture) {
+ var past = {
+ s: 'muutama sekunti',
+ m: 'minuutti',
+ mm: '%d minuuttia',
+ h: 'tunti',
+ hh: '%d tuntia',
+ d: 'päivä',
+ dd: '%d päivää',
+ M: 'kuukausi',
+ MM: '%d kuukautta',
+ y: 'vuosi',
+ yy: '%d vuotta',
+ numbers: 'nolla_yksi_kaksi_kolme_neljä_viisi_kuusi_seitsemän_kahdeksan_yhdeksän'.split('_')
+ };
+ var future = {
+ s: 'muutaman sekunnin',
+ m: 'minuutin',
+ mm: '%d minuutin',
+ h: 'tunnin',
+ hh: '%d tunnin',
+ d: 'päivän',
+ dd: '%d päivän',
+ M: 'kuukauden',
+ MM: '%d kuukauden',
+ y: 'vuoden',
+ yy: '%d vuoden',
+ numbers: 'nollan_yhden_kahden_kolmen_neljän_viiden_kuuden_seitsemän_kahdeksan_yhdeksän'.split('_')
+ };
+ var words = isFuture && !withoutSuffix ? future : past;
+ var result = words[key];
+
+ if (number < 10) {
+ return result.replace('%d', words.numbers[number]);
+ }
+
+ return result.replace('%d', number);
+}
+
+var locale = {
+ name: 'fi',
+ // Finnish
+ weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),
+ // Note weekdays are not capitalized in Finnish
+ weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),
+ // There is no short form of weekdays in Finnish except this 2 letter format so it is used for both 'weekdaysShort' and 'weekdaysMin'
+ weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),
+ months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),
+ // Note month names are not capitalized in Finnish
+ monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),
+ ordinal: function ordinal(n) {
+ return n + ".";
+ },
+ weekStart: 1,
+ relativeTime: {
+ future: '%s päästä',
+ past: '%s sitten',
+ s: relativeTimeFormatter,
+ m: relativeTimeFormatter,
+ mm: relativeTimeFormatter,
+ h: relativeTimeFormatter,
+ hh: relativeTimeFormatter,
+ d: relativeTimeFormatter,
+ dd: relativeTimeFormatter,
+ M: relativeTimeFormatter,
+ MM: relativeTimeFormatter,
+ y: relativeTimeFormatter,
+ yy: relativeTimeFormatter
+ },
+ formats: {
+ LT: 'HH.mm',
+ LTS: 'HH.mm.ss',
+ L: 'DD.MM.YYYY',
+ LL: 'Do MMMM[ta] YYYY',
+ LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',
+ LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',
+ l: 'D.M.YYYY',
+ ll: 'Do MMM YYYY',
+ lll: 'Do MMM YYYY, [klo] HH.mm',
+ llll: 'ddd, Do MMM YYYY, [klo] HH.mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/fo.js b/node_modules/dayjs/esm/locale/fo.js
new file mode 100644
index 0000000..07c3761
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/fo.js
@@ -0,0 +1,39 @@
+// Faroese [fo]
+import dayjs from '../index';
+var locale = {
+ name: 'fo',
+ weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),
+ months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),
+ monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
+ weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D. MMMM, YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'um %s',
+ past: '%s síðani',
+ s: 'fá sekund',
+ m: 'ein minuttur',
+ mm: '%d minuttir',
+ h: 'ein tími',
+ hh: '%d tímar',
+ d: 'ein dagur',
+ dd: '%d dagar',
+ M: 'ein mánaður',
+ MM: '%d mánaðir',
+ y: 'eitt ár',
+ yy: '%d ár'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/fr-ca.js b/node_modules/dayjs/esm/locale/fr-ca.js
new file mode 100644
index 0000000..688d695
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/fr-ca.js
@@ -0,0 +1,38 @@
+// French (Canada) [fr-ca]
+import dayjs from '../index';
+var locale = {
+ name: 'fr-ca',
+ weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
+ months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
+ weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
+ monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
+ weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY-MM-DD',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'dans %s',
+ past: 'il y a %s',
+ s: 'quelques secondes',
+ m: 'une minute',
+ mm: '%d minutes',
+ h: 'une heure',
+ hh: '%d heures',
+ d: 'un jour',
+ dd: '%d jours',
+ M: 'un mois',
+ MM: '%d mois',
+ y: 'un an',
+ yy: '%d ans'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/fr-ch.js b/node_modules/dayjs/esm/locale/fr-ch.js
new file mode 100644
index 0000000..593dba8
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/fr-ch.js
@@ -0,0 +1,39 @@
+// French (Switzerland) [fr-ch]
+import dayjs from '../index';
+var locale = {
+ name: 'fr-ch',
+ weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
+ months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
+ monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
+ weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'dans %s',
+ past: 'il y a %s',
+ s: 'quelques secondes',
+ m: 'une minute',
+ mm: '%d minutes',
+ h: 'une heure',
+ hh: '%d heures',
+ d: 'un jour',
+ dd: '%d jours',
+ M: 'un mois',
+ MM: '%d mois',
+ y: 'un an',
+ yy: '%d ans'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/fr.js b/node_modules/dayjs/esm/locale/fr.js
new file mode 100644
index 0000000..1048512
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/fr.js
@@ -0,0 +1,40 @@
+// French [fr]
+import dayjs from '../index';
+var locale = {
+ name: 'fr',
+ weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
+ weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
+ weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
+ months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
+ monthsShort: 'janv_févr_mars_avril_mai_juin_juil_août_sept_oct_nov_déc'.split('_'),
+ weekStart: 1,
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'dans %s',
+ past: 'il y a %s',
+ s: 'quelques secondes',
+ m: 'une minute',
+ mm: '%d minutes',
+ h: 'une heure',
+ hh: '%d heures',
+ d: 'un jour',
+ dd: '%d jours',
+ M: 'un mois',
+ MM: '%d mois',
+ y: 'un an',
+ yy: '%d ans'
+ },
+ ordinal: function ordinal(n) {
+ var o = n === 1 ? 'er' : '';
+ return "" + n + o;
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/fy.js b/node_modules/dayjs/esm/locale/fy.js
new file mode 100644
index 0000000..4b9f9de
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/fy.js
@@ -0,0 +1,39 @@
+// Frisian [fy]
+import dayjs from '../index';
+var locale = {
+ name: 'fy',
+ weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),
+ months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),
+ monthsShort: 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),
+ weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD-MM-YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'oer %s',
+ past: '%s lyn',
+ s: 'in pear sekonden',
+ m: 'ien minút',
+ mm: '%d minuten',
+ h: 'ien oere',
+ hh: '%d oeren',
+ d: 'ien dei',
+ dd: '%d dagen',
+ M: 'ien moanne',
+ MM: '%d moannen',
+ y: 'ien jier',
+ yy: '%d jierren'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ga.js b/node_modules/dayjs/esm/locale/ga.js
new file mode 100644
index 0000000..8cdfa9f
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ga.js
@@ -0,0 +1,39 @@
+// Irish or Irish Gaelic [ga]
+import dayjs from '../index';
+var locale = {
+ name: 'ga',
+ weekdays: 'Dé Domhnaigh_Dé Luain_Dé Máirt_Dé Céadaoin_Déardaoin_Dé hAoine_Dé Satharn'.split('_'),
+ months: 'Eanáir_Feabhra_Márta_Aibreán_Bealtaine_Méitheamh_Iúil_Lúnasa_Meán Fómhair_Deaireadh Fómhair_Samhain_Nollaig'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Dom_Lua_Mái_Céa_Déa_hAo_Sat'.split('_'),
+ monthsShort: 'Eaná_Feab_Márt_Aibr_Beal_Méit_Iúil_Lúna_Meán_Deai_Samh_Noll'.split('_'),
+ weekdaysMin: 'Do_Lu_Má_Ce_Dé_hA_Sa'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'i %s',
+ past: '%s ó shin',
+ s: 'cúpla soicind',
+ m: 'nóiméad',
+ mm: '%d nóiméad',
+ h: 'uair an chloig',
+ hh: '%d uair an chloig',
+ d: 'lá',
+ dd: '%d lá',
+ M: 'mí',
+ MM: '%d mí',
+ y: 'bliain',
+ yy: '%d bliain'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/gd.js b/node_modules/dayjs/esm/locale/gd.js
new file mode 100644
index 0000000..fcf62cd
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/gd.js
@@ -0,0 +1,39 @@
+// Scottish Gaelic [gd]
+import dayjs from '../index';
+var locale = {
+ name: 'gd',
+ weekdays: 'Didòmhnaich_Diluain_Dimàirt_Diciadain_Diardaoin_Dihaoine_Disathairne'.split('_'),
+ months: 'Am Faoilleach_An Gearran_Am Màrt_An Giblean_An Cèitean_An t-Ògmhios_An t-Iuchar_An Lùnastal_An t-Sultain_An Dàmhair_An t-Samhain_An Dùbhlachd'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Did_Dil_Dim_Dic_Dia_Dih_Dis'.split('_'),
+ monthsShort: 'Faoi_Gear_Màrt_Gibl_Cèit_Ògmh_Iuch_Lùn_Sult_Dàmh_Samh_Dùbh'.split('_'),
+ weekdaysMin: 'Dò_Lu_Mà_Ci_Ar_Ha_Sa'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'ann an %s',
+ past: 'bho chionn %s',
+ s: 'beagan diogan',
+ m: 'mionaid',
+ mm: '%d mionaidean',
+ h: 'uair',
+ hh: '%d uairean',
+ d: 'latha',
+ dd: '%d latha',
+ M: 'mìos',
+ MM: '%d mìosan',
+ y: 'bliadhna',
+ yy: '%d bliadhna'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/gl.js b/node_modules/dayjs/esm/locale/gl.js
new file mode 100644
index 0000000..1969819
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/gl.js
@@ -0,0 +1,24 @@
+// Galician [gl]
+import dayjs from '../index';
+var locale = {
+ name: 'gl',
+ weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),
+ months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),
+ monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),
+ weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D [de] MMMM [de] YYYY',
+ LLL: 'D [de] MMMM [de] YYYY H:mm',
+ LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/gom-latn.js b/node_modules/dayjs/esm/locale/gom-latn.js
new file mode 100644
index 0000000..d621f5b
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/gom-latn.js
@@ -0,0 +1,25 @@
+// Konkani Latin script [gom-latn]
+import dayjs from '../index';
+var locale = {
+ name: 'gom-latn',
+ weekdays: "Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split('_'),
+ months: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),
+ monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),
+ weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'A h:mm [vazta]',
+ LTS: 'A h:mm:ss [vazta]',
+ L: 'DD-MM-YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY A h:mm [vazta]',
+ LLLL: 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',
+ llll: 'ddd, D MMM YYYY, A h:mm [vazta]'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/gu.js b/node_modules/dayjs/esm/locale/gu.js
new file mode 100644
index 0000000..e05f44b
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/gu.js
@@ -0,0 +1,38 @@
+// Gujarati [gu]
+import dayjs from '../index';
+var locale = {
+ name: 'gu',
+ weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),
+ months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),
+ weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),
+ monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),
+ weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'A h:mm વાગ્યે',
+ LTS: 'A h:mm:ss વાગ્યે',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, A h:mm વાગ્યે',
+ LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'
+ },
+ relativeTime: {
+ future: '%s મા',
+ past: '%s પેહલા',
+ s: 'અમુક પળો',
+ m: 'એક મિનિટ',
+ mm: '%d મિનિટ',
+ h: 'એક કલાક',
+ hh: '%d કલાક',
+ d: 'એક દિવસ',
+ dd: '%d દિવસ',
+ M: 'એક મહિનો',
+ MM: '%d મહિનો',
+ y: 'એક વર્ષ',
+ yy: '%d વર્ષ'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/he.js b/node_modules/dayjs/esm/locale/he.js
new file mode 100644
index 0000000..54fa150
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/he.js
@@ -0,0 +1,54 @@
+// Hebrew [he]
+import dayjs from '../index';
+var locale = {
+ name: 'he',
+ weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),
+ weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),
+ weekdaysMin: 'א׳_ב׳_ג׳_ד׳_ה׳_ו_ש׳'.split('_'),
+ months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),
+ monthsShort: 'ינו_פבר_מרץ_אפר_מאי_יונ_יול_אוג_ספט_אוק_נוב_דצמ'.split('_'),
+ relativeTime: {
+ future: 'בעוד %s',
+ past: 'לפני %s',
+ s: 'כמה שניות',
+ m: 'דקה',
+ mm: '%d דקות',
+ h: 'שעה',
+ hh: '%d שעות',
+ d: 'יום',
+ dd: '%d ימים',
+ M: 'חודש',
+ MM: '%d חודשים',
+ y: 'שנה',
+ yy: '%d שנים'
+ },
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ format: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D [ב]MMMM YYYY',
+ LLL: 'D [ב]MMMM YYYY HH:mm',
+ LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',
+ l: 'D/M/YYYY',
+ ll: 'D MMM YYYY',
+ lll: 'D MMM YYYY HH:mm',
+ llll: 'ddd, D MMM YYYY HH:mm'
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D [ב]MMMM YYYY',
+ LLL: 'D [ב]MMMM YYYY HH:mm',
+ LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',
+ l: 'D/M/YYYY',
+ ll: 'D MMM YYYY',
+ lll: 'D MMM YYYY HH:mm',
+ llll: 'ddd, D MMM YYYY HH:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/hi.js b/node_modules/dayjs/esm/locale/hi.js
new file mode 100644
index 0000000..e877ed6
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/hi.js
@@ -0,0 +1,38 @@
+// Hindi [hi]
+import dayjs from '../index';
+var locale = {
+ name: 'hi',
+ weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
+ months: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),
+ weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),
+ monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),
+ weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'A h:mm बजे',
+ LTS: 'A h:mm:ss बजे',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, A h:mm बजे',
+ LLLL: 'dddd, D MMMM YYYY, A h:mm बजे'
+ },
+ relativeTime: {
+ future: '%s में',
+ past: '%s पहले',
+ s: 'कुछ ही क्षण',
+ m: 'एक मिनट',
+ mm: '%d मिनट',
+ h: 'एक घंटा',
+ hh: '%d घंटे',
+ d: 'एक दिन',
+ dd: '%d दिन',
+ M: 'एक महीने',
+ MM: '%d महीने',
+ y: 'एक वर्ष',
+ yy: '%d वर्ष'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/hr.js b/node_modules/dayjs/esm/locale/hr.js
new file mode 100644
index 0000000..22b4736
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/hr.js
@@ -0,0 +1,39 @@
+// Croatian [hr]
+import dayjs from '../index';
+var locale = {
+ name: 'hr',
+ weekdays: 'Nedjelja_Ponedjeljak_Utorak_Srijeda_Četvrtak_Petak_Subota'.split('_'),
+ weekdaysShort: 'Ned._Pon._Uto._Sri._Čet._Pet._Sub.'.split('_'),
+ weekdaysMin: 'Ne_Po_Ut_Sr_Če_Pe_Su'.split('_'),
+ months: 'Siječanj_Veljača_Ožujak_Travanj_Svibanj_Lipanj_Srpanj_Kolovoz_Rujan_Listopad_Studeni_Prosinac'.split('_'),
+ monthsShort: 'Sij._Velj._Ožu._Tra._Svi._Lip._Srp._Kol._Ruj._Lis._Stu._Pro.'.split('_'),
+ weekStart: 1,
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY H:mm',
+ LLLL: 'dddd, D. MMMM YYYY H:mm'
+ },
+ relativeTime: {
+ future: 'za %s',
+ past: 'prije %s',
+ s: 'sekunda',
+ m: 'minuta',
+ mm: '%d minuta',
+ h: 'sat',
+ hh: '%d sati',
+ d: 'dan',
+ dd: '%d dana',
+ M: 'mjesec',
+ MM: '%d mjeseci',
+ y: 'godina',
+ yy: '%d godine'
+ },
+ ordinal: function ordinal(n) {
+ return n + ".";
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/hu.js b/node_modules/dayjs/esm/locale/hu.js
new file mode 100644
index 0000000..3d4795c
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/hu.js
@@ -0,0 +1,39 @@
+// Hungarian [hu]
+import dayjs from '../index';
+var locale = {
+ name: 'hu',
+ weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),
+ weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),
+ weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),
+ months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),
+ monthsShort: 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),
+ ordinal: function ordinal(n) {
+ return n + ".";
+ },
+ weekStart: 1,
+ relativeTime: {
+ future: '%s múlva',
+ past: '%s',
+ s: 'néhány másodperc',
+ m: 'egy perc',
+ mm: '%d perc',
+ h: 'egy óra',
+ hh: '%d óra',
+ d: 'egy nap',
+ dd: '%d nap',
+ M: 'egy hónap',
+ MM: '%d hónap',
+ y: 'egy éve',
+ yy: '%d év'
+ },
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'YYYY.MM.DD.',
+ LL: 'YYYY. MMMM D.',
+ LLL: 'YYYY. MMMM D. H:mm',
+ LLLL: 'YYYY. MMMM D., dddd H:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/hy-am.js b/node_modules/dayjs/esm/locale/hy-am.js
new file mode 100644
index 0000000..937f2be
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/hy-am.js
@@ -0,0 +1,39 @@
+// Armenian [hy-am]
+import dayjs from '../index';
+var locale = {
+ name: 'hy-am',
+ weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),
+ months: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
+ monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),
+ weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY թ.',
+ LLL: 'D MMMM YYYY թ., HH:mm',
+ LLLL: 'dddd, D MMMM YYYY թ., HH:mm'
+ },
+ relativeTime: {
+ future: '%s հետո',
+ past: '%s առաջ',
+ s: 'մի քանի վայրկյան',
+ m: 'րոպե',
+ mm: '%d րոպե',
+ h: 'ժամ',
+ hh: '%d ժամ',
+ d: 'օր',
+ dd: '%d օր',
+ M: 'ամիս',
+ MM: '%d ամիս',
+ y: 'տարի',
+ yy: '%d տարի'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/id.js b/node_modules/dayjs/esm/locale/id.js
new file mode 100644
index 0000000..f743a12
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/id.js
@@ -0,0 +1,39 @@
+// Indonesian [id]
+import dayjs from '../index';
+var locale = {
+ name: 'id',
+ weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
+ months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),
+ weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
+ monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),
+ weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
+ weekStart: 1,
+ formats: {
+ LT: 'HH.mm',
+ LTS: 'HH.mm.ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY [pukul] HH.mm',
+ LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'
+ },
+ relativeTime: {
+ future: 'dalam %s',
+ past: '%s yang lalu',
+ s: 'beberapa detik',
+ m: 'semenit',
+ mm: '%d menit',
+ h: 'sejam',
+ hh: '%d jam',
+ d: 'sehari',
+ dd: '%d hari',
+ M: 'sebulan',
+ MM: '%d bulan',
+ y: 'setahun',
+ yy: '%d tahun'
+ },
+ ordinal: function ordinal(n) {
+ return n + ".";
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/is.js b/node_modules/dayjs/esm/locale/is.js
new file mode 100644
index 0000000..f03eda5
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/is.js
@@ -0,0 +1,24 @@
+// Icelandic [is]
+import dayjs from '../index';
+var locale = {
+ name: 'is',
+ weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),
+ months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),
+ monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),
+ weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY [kl.] H:mm',
+ LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/it-ch.js b/node_modules/dayjs/esm/locale/it-ch.js
new file mode 100644
index 0000000..9055d6d
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/it-ch.js
@@ -0,0 +1,24 @@
+// Italian (Switzerland) [it-ch]
+import dayjs from '../index';
+var locale = {
+ name: 'it-ch',
+ weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),
+ months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
+ monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
+ weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/it.js b/node_modules/dayjs/esm/locale/it.js
new file mode 100644
index 0000000..e8d2490
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/it.js
@@ -0,0 +1,39 @@
+// Italian [it]
+import dayjs from '../index';
+var locale = {
+ name: 'it',
+ weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),
+ weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
+ weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),
+ months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),
+ weekStart: 1,
+ monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'tra %s',
+ past: '%s fa',
+ s: 'qualche secondo',
+ m: 'un minuto',
+ mm: '%d minuti',
+ h: 'un\' ora',
+ hh: '%d ore',
+ d: 'un giorno',
+ dd: '%d giorni',
+ M: 'un mese',
+ MM: '%d mesi',
+ y: 'un anno',
+ yy: '%d anni'
+ },
+ ordinal: function ordinal(n) {
+ return n + "\xBA";
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ja.js b/node_modules/dayjs/esm/locale/ja.js
new file mode 100644
index 0000000..6568e13
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ja.js
@@ -0,0 +1,45 @@
+// Japanese [ja]
+import dayjs from '../index';
+var locale = {
+ name: 'ja',
+ weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),
+ weekdaysShort: '日_月_火_水_木_金_土'.split('_'),
+ weekdaysMin: '日_月_火_水_木_金_土'.split('_'),
+ months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+ monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+ ordinal: function ordinal(n) {
+ return n + "\u65E5";
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY/MM/DD',
+ LL: 'YYYY年M月D日',
+ LLL: 'YYYY年M月D日 HH:mm',
+ LLLL: 'YYYY年M月D日 dddd HH:mm',
+ l: 'YYYY/MM/DD',
+ ll: 'YYYY年M月D日',
+ lll: 'YYYY年M月D日 HH:mm',
+ llll: 'YYYY年M月D日(ddd) HH:mm'
+ },
+ meridiem: function meridiem(hour) {
+ return hour < 12 ? '午前' : '午後';
+ },
+ relativeTime: {
+ future: '%s後',
+ past: '%s前',
+ s: '数秒',
+ m: '1分',
+ mm: '%d分',
+ h: '1時間',
+ hh: '%d時間',
+ d: '1日',
+ dd: '%d日',
+ M: '1ヶ月',
+ MM: '%dヶ月',
+ y: '1年',
+ yy: '%d年'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/jv.js b/node_modules/dayjs/esm/locale/jv.js
new file mode 100644
index 0000000..81a3f66
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/jv.js
@@ -0,0 +1,39 @@
+// Javanese [jv]
+import dayjs from '../index';
+var locale = {
+ name: 'jv',
+ weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),
+ months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),
+ monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),
+ weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH.mm',
+ LTS: 'HH.mm.ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY [pukul] HH.mm',
+ LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'
+ },
+ relativeTime: {
+ future: 'wonten ing %s',
+ past: '%s ingkang kepengker',
+ s: 'sawetawis detik',
+ m: 'setunggal menit',
+ mm: '%d menit',
+ h: 'setunggal jam',
+ hh: '%d jam',
+ d: 'sedinten',
+ dd: '%d dinten',
+ M: 'sewulan',
+ MM: '%d wulan',
+ y: 'setaun',
+ yy: '%d taun'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ka.js b/node_modules/dayjs/esm/locale/ka.js
new file mode 100644
index 0000000..381fffa
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ka.js
@@ -0,0 +1,39 @@
+// Georgian [ka]
+import dayjs from '../index';
+var locale = {
+ name: 'ka',
+ weekdays: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),
+ weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),
+ weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),
+ months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),
+ monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),
+ weekStart: 1,
+ formats: {
+ LT: 'h:mm A',
+ LTS: 'h:mm:ss A',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY h:mm A',
+ LLLL: 'dddd, D MMMM YYYY h:mm A'
+ },
+ relativeTime: {
+ future: '%s შემდეგ',
+ past: '%s წინ',
+ s: 'წამი',
+ m: 'წუთი',
+ mm: '%d წუთი',
+ h: 'საათი',
+ hh: '%d საათის',
+ d: 'დღეს',
+ dd: '%d დღის განმავლობაში',
+ M: 'თვის',
+ MM: '%d თვის',
+ y: 'წელი',
+ yy: '%d წლის'
+ },
+ ordinal: function ordinal(n) {
+ return n;
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/kk.js b/node_modules/dayjs/esm/locale/kk.js
new file mode 100644
index 0000000..f2ca045
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/kk.js
@@ -0,0 +1,39 @@
+// Kazakh [kk]
+import dayjs from '../index';
+var locale = {
+ name: 'kk',
+ weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),
+ weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),
+ weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),
+ months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),
+ monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),
+ weekStart: 1,
+ relativeTime: {
+ future: '%s ішінде',
+ past: '%s бұрын',
+ s: 'бірнеше секунд',
+ m: 'бір минут',
+ mm: '%d минут',
+ h: 'бір сағат',
+ hh: '%d сағат',
+ d: 'бір күн',
+ dd: '%d күн',
+ M: 'бір ай',
+ MM: '%d ай',
+ y: 'бір жыл',
+ yy: '%d жыл'
+ },
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/km.js b/node_modules/dayjs/esm/locale/km.js
new file mode 100644
index 0000000..7fd185b
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/km.js
@@ -0,0 +1,39 @@
+// Cambodian [km]
+import dayjs from '../index';
+var locale = {
+ name: 'km',
+ weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
+ months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
+ monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),
+ weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: '%sទៀត',
+ past: '%sមុន',
+ s: 'ប៉ុន្មានវិនាទី',
+ m: 'មួយនាទី',
+ mm: '%d នាទី',
+ h: 'មួយម៉ោង',
+ hh: '%d ម៉ោង',
+ d: 'មួយថ្ងៃ',
+ dd: '%d ថ្ងៃ',
+ M: 'មួយខែ',
+ MM: '%d ខែ',
+ y: 'មួយឆ្នាំ',
+ yy: '%d ឆ្នាំ'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/kn.js b/node_modules/dayjs/esm/locale/kn.js
new file mode 100644
index 0000000..b9ca9b9
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/kn.js
@@ -0,0 +1,38 @@
+// Kannada [kn]
+import dayjs from '../index';
+var locale = {
+ name: 'kn',
+ weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),
+ months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),
+ weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),
+ monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),
+ weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'A h:mm',
+ LTS: 'A h:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, A h:mm',
+ LLLL: 'dddd, D MMMM YYYY, A h:mm'
+ },
+ relativeTime: {
+ future: '%s ನಂತರ',
+ past: '%s ಹಿಂದೆ',
+ s: 'ಕೆಲವು ಕ್ಷಣಗಳು',
+ m: 'ಒಂದು ನಿಮಿಷ',
+ mm: '%d ನಿಮಿಷ',
+ h: 'ಒಂದು ಗಂಟೆ',
+ hh: '%d ಗಂಟೆ',
+ d: 'ಒಂದು ದಿನ',
+ dd: '%d ದಿನ',
+ M: 'ಒಂದು ತಿಂಗಳು',
+ MM: '%d ತಿಂಗಳು',
+ y: 'ಒಂದು ವರ್ಷ',
+ yy: '%d ವರ್ಷ'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ko.js b/node_modules/dayjs/esm/locale/ko.js
new file mode 100644
index 0000000..1caff27
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ko.js
@@ -0,0 +1,45 @@
+// Korean [ko]
+import dayjs from '../index';
+var locale = {
+ name: 'ko',
+ weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),
+ weekdaysShort: '일_월_화_수_목_금_토'.split('_'),
+ weekdaysMin: '일_월_화_수_목_금_토'.split('_'),
+ months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
+ monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'A h:mm',
+ LTS: 'A h:mm:ss',
+ L: 'YYYY.MM.DD.',
+ LL: 'YYYY년 MMMM D일',
+ LLL: 'YYYY년 MMMM D일 A h:mm',
+ LLLL: 'YYYY년 MMMM D일 dddd A h:mm',
+ l: 'YYYY.MM.DD.',
+ ll: 'YYYY년 MMMM D일',
+ lll: 'YYYY년 MMMM D일 A h:mm',
+ llll: 'YYYY년 MMMM D일 dddd A h:mm'
+ },
+ meridiem: function meridiem(hour) {
+ return hour < 12 ? '오전' : '오후';
+ },
+ relativeTime: {
+ future: '%s 후',
+ past: '%s 전',
+ s: '몇 초',
+ m: '1분',
+ mm: '%d분',
+ h: '한 시간',
+ hh: '%d시간',
+ d: '하루',
+ dd: '%d일',
+ M: '한 달',
+ MM: '%d달',
+ y: '일 년',
+ yy: '%d년'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ku.js b/node_modules/dayjs/esm/locale/ku.js
new file mode 100644
index 0000000..cd3d98d
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ku.js
@@ -0,0 +1,39 @@
+// Kurdish [ku]
+import dayjs from '../index';
+var locale = {
+ name: 'ku',
+ weekdays: 'یهكشهممه_دووشهممه_سێشهممه_چوارشهممه_پێنجشهممه_ههینی_شهممه'.split('_'),
+ months: 'کانونی دووەم_شوبات_ئازار_نیسان_ئایار_حوزەیران_تەمموز_ئاب_ئەیلوول_تشرینی یەكەم_تشرینی دووەم_كانونی یەکەم'.split('_'),
+ weekStart: 6,
+ weekdaysShort: 'یهكشهم_دووشهم_سێشهم_چوارشهم_پێنجشهم_ههینی_شهممه'.split('_'),
+ monthsShort: 'کانونی دووەم_شوبات_ئازار_نیسان_ئایار_حوزەیران_تەمموز_ئاب_ئەیلوول_تشرینی یەكەم_تشرینی دووەم_كانونی یەکەم'.split('_'),
+ weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'له %s',
+ past: '%s',
+ s: 'چهند چركهیهك',
+ m: 'یهك خولهك',
+ mm: '%d خولهك',
+ h: 'یهك كاتژمێر',
+ hh: '%d كاتژمێر',
+ d: 'یهك ڕۆژ',
+ dd: '%d ڕۆژ',
+ M: 'یهك مانگ',
+ MM: '%d مانگ',
+ y: 'یهك ساڵ',
+ yy: '%d ساڵ'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ky.js b/node_modules/dayjs/esm/locale/ky.js
new file mode 100644
index 0000000..fd04477
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ky.js
@@ -0,0 +1,39 @@
+// Kyrgyz [ky]
+import dayjs from '../index';
+var locale = {
+ name: 'ky',
+ weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),
+ months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),
+ monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),
+ weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: '%s ичинде',
+ past: '%s мурун',
+ s: 'бирнече секунд',
+ m: 'бир мүнөт',
+ mm: '%d мүнөт',
+ h: 'бир саат',
+ hh: '%d саат',
+ d: 'бир күн',
+ dd: '%d күн',
+ M: 'бир ай',
+ MM: '%d ай',
+ y: 'бир жыл',
+ yy: '%d жыл'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/lb.js b/node_modules/dayjs/esm/locale/lb.js
new file mode 100644
index 0000000..21ef4aa
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/lb.js
@@ -0,0 +1,24 @@
+// Luxembourgish [lb]
+import dayjs from '../index';
+var locale = {
+ name: 'lb',
+ weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),
+ months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),
+ monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
+ weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'H:mm [Auer]',
+ LTS: 'H:mm:ss [Auer]',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY H:mm [Auer]',
+ LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/lo.js b/node_modules/dayjs/esm/locale/lo.js
new file mode 100644
index 0000000..7732ec4
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/lo.js
@@ -0,0 +1,38 @@
+// Lao [lo]
+import dayjs from '../index';
+var locale = {
+ name: 'lo',
+ weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
+ months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
+ weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
+ monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
+ weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'ວັນdddd D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'ອີກ %s',
+ past: '%sຜ່ານມາ',
+ s: 'ບໍ່ເທົ່າໃດວິນາທີ',
+ m: '1 ນາທີ',
+ mm: '%d ນາທີ',
+ h: '1 ຊົ່ວໂມງ',
+ hh: '%d ຊົ່ວໂມງ',
+ d: '1 ມື້',
+ dd: '%d ມື້',
+ M: '1 ເດືອນ',
+ MM: '%d ເດືອນ',
+ y: '1 ປີ',
+ yy: '%d ປີ'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/lt.js b/node_modules/dayjs/esm/locale/lt.js
new file mode 100644
index 0000000..1cf4962
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/lt.js
@@ -0,0 +1,55 @@
+// Lithuanian [lt]
+import dayjs from '../index';
+var locale = {
+ name: 'lt',
+ weekdays: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),
+ weekdaysShort: 'sek_pir_ant_tre_ket_pen_šeš'.split('_'),
+ weekdaysMin: 's_p_a_t_k_pn_š'.split('_'),
+ months: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),
+ monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),
+ ordinal: function ordinal(n) {
+ return n + ".";
+ },
+ weekStart: 1,
+ relativeTime: {
+ future: 'už %s',
+ past: 'prieš %s',
+ s: 'kelias sekundes',
+ m: 'minutę',
+ mm: '%d minutes',
+ h: 'valandą',
+ hh: '%d valandas',
+ d: 'dieną',
+ dd: '%d dienas',
+ M: 'menesį',
+ MM: '%d mėnesius',
+ y: 'metus',
+ yy: '%d metus'
+ },
+ format: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY-MM-DD',
+ LL: 'YYYY [m.] MMMM D [d.]',
+ LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
+ LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',
+ l: 'YYYY-MM-DD',
+ ll: 'YYYY [m.] MMMM D [d.]',
+ lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
+ llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY-MM-DD',
+ LL: 'YYYY [m.] MMMM D [d.]',
+ LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
+ LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',
+ l: 'YYYY-MM-DD',
+ ll: 'YYYY [m.] MMMM D [d.]',
+ lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
+ llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/lv.js b/node_modules/dayjs/esm/locale/lv.js
new file mode 100644
index 0000000..6fcb6e1
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/lv.js
@@ -0,0 +1,24 @@
+// Latvian [lv]
+import dayjs from '../index';
+var locale = {
+ name: 'lv',
+ weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),
+ months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),
+ monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),
+ weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY.',
+ LL: 'YYYY. [gada] D. MMMM',
+ LLL: 'YYYY. [gada] D. MMMM, HH:mm',
+ LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/me.js b/node_modules/dayjs/esm/locale/me.js
new file mode 100644
index 0000000..465c0ff
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/me.js
@@ -0,0 +1,24 @@
+// Montenegrin [me]
+import dayjs from '../index';
+var locale = {
+ name: 'me',
+ weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
+ months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
+ monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
+ weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY H:mm',
+ LLLL: 'dddd, D. MMMM YYYY H:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/mi.js b/node_modules/dayjs/esm/locale/mi.js
new file mode 100644
index 0000000..3b56f0e
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/mi.js
@@ -0,0 +1,39 @@
+// Maori [mi]
+import dayjs from '../index';
+var locale = {
+ name: 'mi',
+ weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),
+ months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
+ monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),
+ weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY [i] HH:mm',
+ LLLL: 'dddd, D MMMM YYYY [i] HH:mm'
+ },
+ relativeTime: {
+ future: 'i roto i %s',
+ past: '%s i mua',
+ s: 'te hēkona ruarua',
+ m: 'he meneti',
+ mm: '%d meneti',
+ h: 'te haora',
+ hh: '%d haora',
+ d: 'he ra',
+ dd: '%d ra',
+ M: 'he marama',
+ MM: '%d marama',
+ y: 'he tau',
+ yy: '%d tau'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/mk.js b/node_modules/dayjs/esm/locale/mk.js
new file mode 100644
index 0000000..8522c26
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/mk.js
@@ -0,0 +1,39 @@
+// Macedonian [mk]
+import dayjs from '../index';
+var locale = {
+ name: 'mk',
+ weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),
+ months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),
+ monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),
+ weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'D.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY H:mm',
+ LLLL: 'dddd, D MMMM YYYY H:mm'
+ },
+ relativeTime: {
+ future: 'после %s',
+ past: 'пред %s',
+ s: 'неколку секунди',
+ m: 'минута',
+ mm: '%d минути',
+ h: 'час',
+ hh: '%d часа',
+ d: 'ден',
+ dd: '%d дена',
+ M: 'месец',
+ MM: '%d месеци',
+ y: 'година',
+ yy: '%d години'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ml.js b/node_modules/dayjs/esm/locale/ml.js
new file mode 100644
index 0000000..bfcc277
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ml.js
@@ -0,0 +1,38 @@
+// Malayalam [ml]
+import dayjs from '../index';
+var locale = {
+ name: 'ml',
+ weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),
+ months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),
+ weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),
+ monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),
+ weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'A h:mm -നു',
+ LTS: 'A h:mm:ss -നു',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, A h:mm -നു',
+ LLLL: 'dddd, D MMMM YYYY, A h:mm -നു'
+ },
+ relativeTime: {
+ future: '%s കഴിഞ്ഞ്',
+ past: '%s മുൻപ്',
+ s: 'അൽപ നിമിഷങ്ങൾ',
+ m: 'ഒരു മിനിറ്റ്',
+ mm: '%d മിനിറ്റ്',
+ h: 'ഒരു മണിക്കൂർ',
+ hh: '%d മണിക്കൂർ',
+ d: 'ഒരു ദിവസം',
+ dd: '%d ദിവസം',
+ M: 'ഒരു മാസം',
+ MM: '%d മാസം',
+ y: 'ഒരു വർഷം',
+ yy: '%d വർഷം'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/mn.js b/node_modules/dayjs/esm/locale/mn.js
new file mode 100644
index 0000000..d93cae2
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/mn.js
@@ -0,0 +1,38 @@
+// Mongolian [mn]
+import dayjs from '../index';
+var locale = {
+ name: 'mn',
+ weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),
+ months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),
+ weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),
+ monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),
+ weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY-MM-DD',
+ LL: 'YYYY оны MMMMын D',
+ LLL: 'YYYY оны MMMMын D HH:mm',
+ LLLL: 'dddd, YYYY оны MMMMын D HH:mm'
+ },
+ relativeTime: {
+ future: '%s',
+ past: '%s',
+ s: 'саяхан',
+ m: 'м',
+ mm: '%dм',
+ h: '1ц',
+ hh: '%dц',
+ d: '1ө',
+ dd: '%dө',
+ M: '1с',
+ MM: '%dс',
+ y: '1ж',
+ yy: '%dж'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/mr.js b/node_modules/dayjs/esm/locale/mr.js
new file mode 100644
index 0000000..9eac8a7
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/mr.js
@@ -0,0 +1,23 @@
+// Marathi [mr]
+import dayjs from '../index';
+var locale = {
+ name: 'mr',
+ weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
+ months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),
+ weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),
+ monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),
+ weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'A h:mm वाजता',
+ LTS: 'A h:mm:ss वाजता',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, A h:mm वाजता',
+ LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ms-my.js b/node_modules/dayjs/esm/locale/ms-my.js
new file mode 100644
index 0000000..5138219
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ms-my.js
@@ -0,0 +1,39 @@
+// Malay [ms-my]
+import dayjs from '../index';
+var locale = {
+ name: 'ms-my',
+ weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
+ months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
+ monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
+ weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH.mm',
+ LTS: 'HH.mm.ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY [pukul] HH.mm',
+ LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'
+ },
+ relativeTime: {
+ future: 'dalam %s',
+ past: '%s yang lepas',
+ s: 'beberapa saat',
+ m: 'seminit',
+ mm: '%d minit',
+ h: 'sejam',
+ hh: '%d jam',
+ d: 'sehari',
+ dd: '%d hari',
+ M: 'sebulan',
+ MM: '%d bulan',
+ y: 'setahun',
+ yy: '%d tahun'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ms.js b/node_modules/dayjs/esm/locale/ms.js
new file mode 100644
index 0000000..86349f3
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ms.js
@@ -0,0 +1,39 @@
+// Malay [ms]
+import dayjs from '../index';
+var locale = {
+ name: 'ms',
+ weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
+ weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
+ weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
+ months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
+ monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
+ weekStart: 1,
+ formats: {
+ LT: 'HH.mm',
+ LTS: 'HH.mm.ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH.mm',
+ LLLL: 'dddd, D MMMM YYYY HH.mm'
+ },
+ relativeTime: {
+ future: 'dalam %s',
+ past: '%s yang lepas',
+ s: 'beberapa saat',
+ m: 'seminit',
+ mm: '%d minit',
+ h: 'sejam',
+ hh: '%d jam',
+ d: 'sehari',
+ dd: '%d hari',
+ M: 'sebulan',
+ MM: '%d bulan',
+ y: 'setahun',
+ yy: '%d tahun'
+ },
+ ordinal: function ordinal(n) {
+ return n + ".";
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/mt.js b/node_modules/dayjs/esm/locale/mt.js
new file mode 100644
index 0000000..9c90953
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/mt.js
@@ -0,0 +1,39 @@
+// Maltese (Malta) [mt]
+import dayjs from '../index';
+var locale = {
+ name: 'mt',
+ weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),
+ months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),
+ monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),
+ weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'f’ %s',
+ past: '%s ilu',
+ s: 'ftit sekondi',
+ m: 'minuta',
+ mm: '%d minuti',
+ h: 'siegħa',
+ hh: '%d siegħat',
+ d: 'ġurnata',
+ dd: '%d ġranet',
+ M: 'xahar',
+ MM: '%d xhur',
+ y: 'sena',
+ yy: '%d sni'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/my.js b/node_modules/dayjs/esm/locale/my.js
new file mode 100644
index 0000000..73b2633
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/my.js
@@ -0,0 +1,39 @@
+// Burmese [my]
+import dayjs from '../index';
+var locale = {
+ name: 'my',
+ weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),
+ months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
+ monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),
+ weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'လာမည့် %s မှာ',
+ past: 'လွန်ခဲ့သော %s က',
+ s: 'စက္ကန်.အနည်းငယ်',
+ m: 'တစ်မိနစ်',
+ mm: '%d မိနစ်',
+ h: 'တစ်နာရီ',
+ hh: '%d နာရီ',
+ d: 'တစ်ရက်',
+ dd: '%d ရက်',
+ M: 'တစ်လ',
+ MM: '%d လ',
+ y: 'တစ်နှစ်',
+ yy: '%d နှစ်'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/nb.js b/node_modules/dayjs/esm/locale/nb.js
new file mode 100644
index 0000000..e2d10f5
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/nb.js
@@ -0,0 +1,39 @@
+// Norwegian Bokmål [nb]
+import dayjs from '../index';
+var locale = {
+ name: 'nb',
+ weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
+ weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),
+ weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),
+ months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
+ monthsShort: 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),
+ ordinal: function ordinal(n) {
+ return n + ".";
+ },
+ weekStart: 1,
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY [kl.] HH:mm',
+ LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm'
+ },
+ relativeTime: {
+ future: 'om %s',
+ past: '%s siden',
+ s: 'noen sekunder',
+ m: 'ett minutt',
+ mm: '%d minutter',
+ h: 'en time',
+ hh: '%d timer',
+ d: 'en dag',
+ dd: '%d dager',
+ M: 'en måned',
+ MM: '%d måneder',
+ y: 'ett år',
+ yy: '%d år'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ne.js b/node_modules/dayjs/esm/locale/ne.js
new file mode 100644
index 0000000..4f5a004
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ne.js
@@ -0,0 +1,40 @@
+// Nepalese [ne]
+import dayjs from '../index';
+var locale = {
+ name: 'ne',
+ weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),
+ weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),
+ weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),
+ months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मे_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),
+ monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),
+ relativeTime: {
+ future: '%s पछि',
+ past: '%s अघि',
+ s: 'सेकेन्ड',
+ m: 'एक मिनेट',
+ mm: '%d मिनेट',
+ h: 'घन्टा',
+ hh: '%d घन्टा',
+ d: 'एक दिन',
+ dd: '%d दिन',
+ M: 'एक महिना',
+ MM: '%d महिना',
+ y: 'एक वर्ष',
+ yy: '%d वर्ष'
+ },
+ ordinal: function ordinal(n) {
+ return ("" + n).replace(/\d/g, function (i) {
+ return '०१२३४५६७८९'[i];
+ });
+ },
+ formats: {
+ LT: 'Aको h:mm बजे',
+ LTS: 'Aको h:mm:ss बजे',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, Aको h:mm बजे',
+ LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/nl-be.js b/node_modules/dayjs/esm/locale/nl-be.js
new file mode 100644
index 0000000..51465b7
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/nl-be.js
@@ -0,0 +1,39 @@
+// Dutch (Belgium) [nl-be]
+import dayjs from '../index';
+var locale = {
+ name: 'nl-be',
+ weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
+ months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
+ monthsShort: 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),
+ weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'over %s',
+ past: '%s geleden',
+ s: 'een paar seconden',
+ m: 'één minuut',
+ mm: '%d minuten',
+ h: 'één uur',
+ hh: '%d uur',
+ d: 'één dag',
+ dd: '%d dagen',
+ M: 'één maand',
+ MM: '%d maanden',
+ y: 'één jaar',
+ yy: '%d jaar'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/nl.js b/node_modules/dayjs/esm/locale/nl.js
new file mode 100644
index 0000000..f829583
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/nl.js
@@ -0,0 +1,39 @@
+// Dutch [nl]
+import dayjs from '../index';
+var locale = {
+ name: 'nl',
+ weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
+ weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),
+ weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),
+ months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
+ monthsShort: 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),
+ ordinal: function ordinal(n) {
+ return n + ".";
+ },
+ weekStart: 1,
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD-MM-YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'over %s',
+ past: '%s geleden',
+ s: 'een paar seconden',
+ m: 'een minuut',
+ mm: '%d minuten',
+ h: 'een uur',
+ hh: '%d uur',
+ d: 'een dag',
+ dd: '%d dagen',
+ M: 'een maand',
+ MM: '%d maanden',
+ y: 'een jaar',
+ yy: '%d jaar'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/nn.js b/node_modules/dayjs/esm/locale/nn.js
new file mode 100644
index 0000000..43767a4
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/nn.js
@@ -0,0 +1,39 @@
+// Nynorsk [nn]
+import dayjs from '../index';
+var locale = {
+ name: 'nn',
+ weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),
+ weekdaysShort: 'sun_mån_tys_ons_tor_fre_lau'.split('_'),
+ weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),
+ months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
+ monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
+ ordinal: function ordinal(n) {
+ return n + ".";
+ },
+ weekStart: 1,
+ relativeTime: {
+ future: 'om %s',
+ past: 'for %s sidan',
+ s: 'nokre sekund',
+ m: 'eitt minutt',
+ mm: '%d minutt',
+ h: 'ein time',
+ hh: '%d timar',
+ d: 'ein dag',
+ dd: '%d dagar',
+ M: 'ein månad',
+ MM: '%d månadar',
+ y: 'eitt år',
+ yy: '%d år'
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY [kl.] H:mm',
+ LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/oc-lnc.js b/node_modules/dayjs/esm/locale/oc-lnc.js
new file mode 100644
index 0000000..91e2f0d
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/oc-lnc.js
@@ -0,0 +1,39 @@
+// Occitan, lengadocian dialecte [oc-lnc]
+import dayjs from '../index';
+var locale = {
+ name: 'oc-lnc',
+ weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split('_'),
+ weekdaysShort: 'Dg_Dl_Dm_Dc_Dj_Dv_Ds'.split('_'),
+ weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),
+ months: 'genièr_febrièr_març_abrial_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split('_'),
+ monthsShort: 'gen_feb_març_abr_mai_junh_julh_ago_set_oct_nov_dec'.split('_'),
+ weekStart: 1,
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM [de] YYYY',
+ LLL: 'D MMMM [de] YYYY [a] H:mm',
+ LLLL: 'dddd D MMMM [de] YYYY [a] H:mm'
+ },
+ relativeTime: {
+ future: 'd\'aquí %s',
+ past: 'fa %s',
+ s: 'unas segondas',
+ m: 'una minuta',
+ mm: '%d minutas',
+ h: 'una ora',
+ hh: '%d oras',
+ d: 'un jorn',
+ dd: '%d jorns',
+ M: 'un mes',
+ MM: '%d meses',
+ y: 'un an',
+ yy: '%d ans'
+ },
+ ordinal: function ordinal(n) {
+ return n + "\xBA";
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/pa-in.js b/node_modules/dayjs/esm/locale/pa-in.js
new file mode 100644
index 0000000..624a852
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/pa-in.js
@@ -0,0 +1,38 @@
+// Punjabi (India) [pa-in]
+import dayjs from '../index';
+var locale = {
+ name: 'pa-in',
+ weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),
+ months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
+ weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
+ monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
+ weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'A h:mm ਵਜੇ',
+ LTS: 'A h:mm:ss ਵਜੇ',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',
+ LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'
+ },
+ relativeTime: {
+ future: '%s ਵਿੱਚ',
+ past: '%s ਪਿਛਲੇ',
+ s: 'ਕੁਝ ਸਕਿੰਟ',
+ m: 'ਇਕ ਮਿੰਟ',
+ mm: '%d ਮਿੰਟ',
+ h: 'ਇੱਕ ਘੰਟਾ',
+ hh: '%d ਘੰਟੇ',
+ d: 'ਇੱਕ ਦਿਨ',
+ dd: '%d ਦਿਨ',
+ M: 'ਇੱਕ ਮਹੀਨਾ',
+ MM: '%d ਮਹੀਨੇ',
+ y: 'ਇੱਕ ਸਾਲ',
+ yy: '%d ਸਾਲ'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/pl.js b/node_modules/dayjs/esm/locale/pl.js
new file mode 100644
index 0000000..e92f6e9
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/pl.js
@@ -0,0 +1,72 @@
+// Polish [pl]
+import dayjs from '../index';
+
+function plural(n) {
+ return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1; // eslint-disable-line
+}
+/* eslint-disable */
+
+
+function translate(number, withoutSuffix, key) {
+ var result = number + " ";
+
+ switch (key) {
+ case 'm':
+ return withoutSuffix ? 'minuta' : 'minutę';
+
+ case 'mm':
+ return result + (plural(number) ? 'minuty' : 'minut');
+
+ case 'h':
+ return withoutSuffix ? 'godzina' : 'godzinę';
+
+ case 'hh':
+ return result + (plural(number) ? 'godziny' : 'godzin');
+
+ case 'MM':
+ return result + (plural(number) ? 'miesiące' : 'miesięcy');
+
+ case 'yy':
+ return result + (plural(number) ? 'lata' : 'lat');
+ }
+}
+/* eslint-enable */
+
+
+var locale = {
+ name: 'pl',
+ weekdays: 'Niedziela_Poniedziałek_Wtorek_Środa_Czwartek_Piątek_Sobota'.split('_'),
+ weekdaysShort: 'Ndz_Pon_Wt_Śr_Czw_Pt_Sob'.split('_'),
+ weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),
+ months: 'Styczeń_Luty_Marzec_Kwiecień_Maj_Czerwiec_Lipiec_Sierpień_Wrzesień_Październik_Listopad_Grudzień'.split('_'),
+ monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),
+ ordinal: function ordinal(n) {
+ return n + ".";
+ },
+ weekStart: 1,
+ relativeTime: {
+ future: 'za %s',
+ past: '%s temu',
+ s: 'kilka sekund',
+ m: translate,
+ mm: translate,
+ h: translate,
+ hh: translate,
+ d: '1 dzień',
+ dd: '%d dni',
+ M: 'miesiąc',
+ MM: translate,
+ y: 'rok',
+ yy: translate
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/pt-br.js b/node_modules/dayjs/esm/locale/pt-br.js
new file mode 100644
index 0000000..3d77fe8
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/pt-br.js
@@ -0,0 +1,39 @@
+// Portuguese (Brazil) [pt-br]
+import dayjs from '../index';
+var locale = {
+ name: 'pt-br',
+ weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
+ weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
+ weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
+ weekStart: 1,
+ months: 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),
+ monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
+ ordinal: function ordinal(n) {
+ return n + "\xBA";
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D [de] MMMM [de] YYYY',
+ LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',
+ LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'
+ },
+ relativeTime: {
+ future: 'em %s',
+ past: 'há %s',
+ s: 'poucos segundos',
+ m: 'um minuto',
+ mm: '%d minutos',
+ h: 'uma hora',
+ hh: '%d horas',
+ d: 'um dia',
+ dd: '%d dias',
+ M: 'um mês',
+ MM: '%d meses',
+ y: 'um ano',
+ yy: '%d anos'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/pt.js b/node_modules/dayjs/esm/locale/pt.js
new file mode 100644
index 0000000..fffeb9d
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/pt.js
@@ -0,0 +1,39 @@
+// Portuguese [pt]
+import dayjs from '../index';
+var locale = {
+ name: 'pt',
+ weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
+ weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sab'.split('_'),
+ weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sa'.split('_'),
+ months: 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),
+ monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
+ ordinal: function ordinal(n) {
+ return n + "\xBA";
+ },
+ weekStart: 1,
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D [de] MMMM [de] YYYY',
+ LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',
+ LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'
+ },
+ relativeTime: {
+ future: 'em %s',
+ past: 'há %s',
+ s: 'alguns segundos',
+ m: 'um minuto',
+ mm: '%d minutos',
+ h: 'uma hora',
+ hh: '%d horas',
+ d: 'um dia',
+ dd: '%d dias',
+ M: 'um mês',
+ MM: '%d meses',
+ y: 'um ano',
+ yy: '%d anos'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ro.js b/node_modules/dayjs/esm/locale/ro.js
new file mode 100644
index 0000000..93ef6bf
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ro.js
@@ -0,0 +1,39 @@
+// Romanian [ro]
+import dayjs from '../index';
+var locale = {
+ name: 'ro',
+ weekdays: 'Duminică_Luni_Marți_Miercuri_Joi_Vineri_Sâmbătă'.split('_'),
+ weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),
+ weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),
+ months: 'Ianuarie_Februarie_Martie_Aprilie_Mai_Iunie_Iulie_August_Septembrie_Octombrie_Noiembrie_Decembrie'.split('_'),
+ monthsShort: 'Ian._Febr._Mart._Apr._Mai_Iun._Iul._Aug._Sept._Oct._Nov._Dec.'.split('_'),
+ weekStart: 1,
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY H:mm',
+ LLLL: 'dddd, D MMMM YYYY H:mm'
+ },
+ relativeTime: {
+ future: 'peste %s',
+ past: 'acum %s',
+ s: 'câteva secunde',
+ m: 'un minut',
+ mm: '%d minute',
+ h: 'o oră',
+ hh: '%d ore',
+ d: 'o zi',
+ dd: '%d zile',
+ M: 'o lună',
+ MM: '%d luni',
+ y: 'un an',
+ yy: '%d ani'
+ },
+ ordinal: function ordinal(n) {
+ return n;
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ru.js b/node_modules/dayjs/esm/locale/ru.js
new file mode 100644
index 0000000..2a4edfc
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ru.js
@@ -0,0 +1,78 @@
+// Russian [ru]
+import dayjs from '../index';
+var monthFormat = 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_');
+var monthStandalone = 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_');
+var monthShortFormat = 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_');
+var monthShortStandalone = 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_');
+var MONTHS_IN_FORMAT = /D[oD]?(\[[^[\]]*\]|\s)+MMMM?/;
+
+function plural(word, num) {
+ var forms = word.split('_');
+ return num % 10 === 1 && num % 100 !== 11 ? forms[0] : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]; // eslint-disable-line
+}
+
+function relativeTimeWithPlural(number, withoutSuffix, key) {
+ var format = {
+ mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',
+ hh: 'час_часа_часов',
+ dd: 'день_дня_дней',
+ MM: 'месяц_месяца_месяцев',
+ yy: 'год_года_лет'
+ };
+
+ if (key === 'm') {
+ return withoutSuffix ? 'минута' : 'минуту';
+ }
+
+ return number + " " + plural(format[key], +number);
+}
+
+var locale = {
+ name: 'ru',
+ weekdays: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),
+ weekdaysShort: 'вск_пнд_втр_срд_чтв_птн_сбт'.split('_'),
+ weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
+ months: function months(dayjsInstance, format) {
+ if (MONTHS_IN_FORMAT.test(format)) {
+ return monthFormat[dayjsInstance.month()];
+ }
+
+ return monthStandalone[dayjsInstance.month()];
+ },
+ monthsShort: function monthsShort(dayjsInstance, format) {
+ if (MONTHS_IN_FORMAT.test(format)) {
+ return monthShortFormat[dayjsInstance.month()];
+ }
+
+ return monthShortStandalone[dayjsInstance.month()];
+ },
+ weekStart: 1,
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY г.',
+ LLL: 'D MMMM YYYY г., H:mm',
+ LLLL: 'dddd, D MMMM YYYY г., H:mm'
+ },
+ relativeTime: {
+ future: 'через %s',
+ past: '%s назад',
+ s: 'несколько секунд',
+ m: relativeTimeWithPlural,
+ mm: relativeTimeWithPlural,
+ h: 'час',
+ hh: relativeTimeWithPlural,
+ d: 'день',
+ dd: relativeTimeWithPlural,
+ M: 'месяц',
+ MM: relativeTimeWithPlural,
+ y: 'год',
+ yy: relativeTimeWithPlural
+ },
+ ordinal: function ordinal(n) {
+ return n;
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/sd.js b/node_modules/dayjs/esm/locale/sd.js
new file mode 100644
index 0000000..a429f8d
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/sd.js
@@ -0,0 +1,39 @@
+// Sindhi [sd]
+import dayjs from '../index';
+var locale = {
+ name: 'sd',
+ weekdays: 'آچر_سومر_اڱارو_اربع_خميس_جمع_ڇنڇر'.split('_'),
+ months: 'جنوري_فيبروري_مارچ_اپريل_مئي_جون_جولاءِ_آگسٽ_سيپٽمبر_آڪٽوبر_نومبر_ڊسمبر'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'آچر_سومر_اڱارو_اربع_خميس_جمع_ڇنڇر'.split('_'),
+ monthsShort: 'جنوري_فيبروري_مارچ_اپريل_مئي_جون_جولاءِ_آگسٽ_سيپٽمبر_آڪٽوبر_نومبر_ڊسمبر'.split('_'),
+ weekdaysMin: 'آچر_سومر_اڱارو_اربع_خميس_جمع_ڇنڇر'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd، D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: '%s پوء',
+ past: '%s اڳ',
+ s: 'چند سيڪنڊ',
+ m: 'هڪ منٽ',
+ mm: '%d منٽ',
+ h: 'هڪ ڪلاڪ',
+ hh: '%d ڪلاڪ',
+ d: 'هڪ ڏينهن',
+ dd: '%d ڏينهن',
+ M: 'هڪ مهينو',
+ MM: '%d مهينا',
+ y: 'هڪ سال',
+ yy: '%d سال'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/se.js b/node_modules/dayjs/esm/locale/se.js
new file mode 100644
index 0000000..691099c
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/se.js
@@ -0,0 +1,39 @@
+// Northern Sami [se]
+import dayjs from '../index';
+var locale = {
+ name: 'se',
+ weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),
+ months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),
+ monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),
+ weekdaysMin: 's_v_m_g_d_b_L'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'MMMM D. [b.] YYYY',
+ LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',
+ LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'
+ },
+ relativeTime: {
+ future: '%s geažes',
+ past: 'maŋit %s',
+ s: 'moadde sekunddat',
+ m: 'okta minuhta',
+ mm: '%d minuhtat',
+ h: 'okta diimmu',
+ hh: '%d diimmut',
+ d: 'okta beaivi',
+ dd: '%d beaivvit',
+ M: 'okta mánnu',
+ MM: '%d mánut',
+ y: 'okta jahki',
+ yy: '%d jagit'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/si.js b/node_modules/dayjs/esm/locale/si.js
new file mode 100644
index 0000000..7a71ec0
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/si.js
@@ -0,0 +1,38 @@
+// Sinhalese [si]
+import dayjs from '../index';
+var locale = {
+ name: 'si',
+ weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),
+ months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),
+ weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්රහ_සිකු_සෙන'.split('_'),
+ monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),
+ weekdaysMin: 'ඉ_ස_අ_බ_බ්ර_සි_සෙ'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'a h:mm',
+ LTS: 'a h:mm:ss',
+ L: 'YYYY/MM/DD',
+ LL: 'YYYY MMMM D',
+ LLL: 'YYYY MMMM D, a h:mm',
+ LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'
+ },
+ relativeTime: {
+ future: '%sකින්',
+ past: '%sකට පෙර',
+ s: 'තත්පර කිහිපය',
+ m: 'මිනිත්තුව',
+ mm: 'මිනිත්තු %d',
+ h: 'පැය',
+ hh: 'පැය %d',
+ d: 'දිනය',
+ dd: 'දින %d',
+ M: 'මාසය',
+ MM: 'මාස %d',
+ y: 'වසර',
+ yy: 'වසර %d'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/sk.js b/node_modules/dayjs/esm/locale/sk.js
new file mode 100644
index 0000000..12160ee
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/sk.js
@@ -0,0 +1,39 @@
+// Slovak [sk]
+import dayjs from '../index';
+var locale = {
+ name: 'sk',
+ weekdays: 'Nedeľa_Pondelok_Utorok_Streda_Štvrtok_Piatok_Sobota'.split('_'),
+ weekdaysShort: 'Ne_Po_Ut_St_Št_Pi_So'.split('_'),
+ weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),
+ months: 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),
+ monthsShort: 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_'),
+ weekStart: 1,
+ relativeTime: {
+ future: 'o %s',
+ past: 'pred %s',
+ s: 'niekoľko sekúnd',
+ m: 'minúta',
+ mm: '%d minút',
+ h: 'hodina',
+ hh: '%d hodín',
+ d: 'deň',
+ dd: '%d dní',
+ M: 'mesiac',
+ MM: '%d mesiacov',
+ y: 'rok',
+ yy: '%d rokov'
+ },
+ ordinal: function ordinal(n) {
+ return n + "\xBA";
+ },
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY H:mm',
+ LLLL: 'dddd D. MMMM YYYY H:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/sl.js b/node_modules/dayjs/esm/locale/sl.js
new file mode 100644
index 0000000..f7a4356
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/sl.js
@@ -0,0 +1,24 @@
+// Slovenian [sl]
+import dayjs from '../index';
+var locale = {
+ name: 'sl',
+ weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),
+ months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),
+ monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),
+ weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY H:mm',
+ LLLL: 'dddd, D. MMMM YYYY H:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/sq.js b/node_modules/dayjs/esm/locale/sq.js
new file mode 100644
index 0000000..625b701
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/sq.js
@@ -0,0 +1,39 @@
+// Albanian [sq]
+import dayjs from '../index';
+var locale = {
+ name: 'sq',
+ weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),
+ months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),
+ monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),
+ weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'në %s',
+ past: '%s më parë',
+ s: 'disa sekonda',
+ m: 'një minutë',
+ mm: '%d minuta',
+ h: 'një orë',
+ hh: '%d orë',
+ d: 'një ditë',
+ dd: '%d ditë',
+ M: 'një muaj',
+ MM: '%d muaj',
+ y: 'një vit',
+ yy: '%d vite'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/sr-cyrl.js b/node_modules/dayjs/esm/locale/sr-cyrl.js
new file mode 100644
index 0000000..aa4c0f7
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/sr-cyrl.js
@@ -0,0 +1,39 @@
+// Serbian Cyrillic [sr-cyrl]
+import dayjs from '../index';
+var locale = {
+ name: 'sr-cyrl',
+ weekdays: 'Недеља_Понедељак_Уторак_Среда_Четвртак_Петак_Субота'.split('_'),
+ weekdaysShort: 'Нед._Пон._Уто._Сре._Чет._Пет._Суб.'.split('_'),
+ weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),
+ months: 'Јануар_Фебруар_Март_Април_Мај_Јун_Јул_Август_Септембар_Октобар_Новембар_Децембар'.split('_'),
+ monthsShort: 'Јан._Феб._Мар._Апр._Мај_Јун_Јул_Авг._Сеп._Окт._Нов._Дец.'.split('_'),
+ weekStart: 1,
+ relativeTime: {
+ future: 'за %s',
+ past: 'пре %s',
+ s: 'секунда',
+ m: 'минут',
+ mm: '%d минута',
+ h: 'сат',
+ hh: '%d сати',
+ d: 'дан',
+ dd: '%d дана',
+ M: 'месец',
+ MM: '%d месеци',
+ y: 'година',
+ yy: '%d године'
+ },
+ ordinal: function ordinal(n) {
+ return n + ".";
+ },
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY H:mm',
+ LLLL: 'dddd, D. MMMM YYYY H:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/sr.js b/node_modules/dayjs/esm/locale/sr.js
new file mode 100644
index 0000000..adc08b5
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/sr.js
@@ -0,0 +1,39 @@
+// Serbian [sr]
+import dayjs from '../index';
+var locale = {
+ name: 'sr',
+ weekdays: 'Nedelja_Ponedeljak_Utorak_Sreda_Četvrtak_Petak_Subota'.split('_'),
+ weekdaysShort: 'Ned._Pon._Uto._Sre._Čet._Pet._Sub.'.split('_'),
+ weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
+ months: 'Januar_Februar_Mart_April_Maj_Jun_Jul_Avgust_Septembar_Oktobar_Novembar_Decembar'.split('_'),
+ monthsShort: 'Jan._Feb._Mar._Apr._Maj_Jun_Jul_Avg._Sep._Okt._Nov._Dec.'.split('_'),
+ weekStart: 1,
+ relativeTime: {
+ future: 'za %s',
+ past: 'pre %s',
+ s: 'sekunda',
+ m: 'minut',
+ mm: '%d minuta',
+ h: 'sat',
+ hh: '%d sati',
+ d: 'dan',
+ dd: '%d dana',
+ M: 'mesec',
+ MM: '%d meseci',
+ y: 'godina',
+ yy: '%d godine'
+ },
+ ordinal: function ordinal(n) {
+ return n + ".";
+ },
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM YYYY',
+ LLL: 'D. MMMM YYYY H:mm',
+ LLLL: 'dddd, D. MMMM YYYY H:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ss.js b/node_modules/dayjs/esm/locale/ss.js
new file mode 100644
index 0000000..4354a48
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ss.js
@@ -0,0 +1,39 @@
+// siSwati [ss]
+import dayjs from '../index';
+var locale = {
+ name: 'ss',
+ weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),
+ months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),
+ monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),
+ weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'h:mm A',
+ LTS: 'h:mm:ss A',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY h:mm A',
+ LLLL: 'dddd, D MMMM YYYY h:mm A'
+ },
+ relativeTime: {
+ future: 'nga %s',
+ past: 'wenteka nga %s',
+ s: 'emizuzwana lomcane',
+ m: 'umzuzu',
+ mm: '%d emizuzu',
+ h: 'lihora',
+ hh: '%d emahora',
+ d: 'lilanga',
+ dd: '%d emalanga',
+ M: 'inyanga',
+ MM: '%d tinyanga',
+ y: 'umnyaka',
+ yy: '%d iminyaka'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/sv.js b/node_modules/dayjs/esm/locale/sv.js
new file mode 100644
index 0000000..0adc44a
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/sv.js
@@ -0,0 +1,43 @@
+// Swedish [sv]
+import dayjs from '../index';
+var locale = {
+ name: 'sv',
+ weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),
+ weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),
+ weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),
+ months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),
+ monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
+ weekStart: 1,
+ ordinal: function ordinal(n) {
+ var b = n % 10;
+ var o = b === 1 || b === 2 ? 'a' : 'e';
+ return "[" + n + o + "]";
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY-MM-DD',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY [kl.] HH:mm',
+ LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',
+ lll: 'D MMM YYYY HH:mm',
+ llll: 'ddd D MMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'om %s',
+ past: 'för %s sedan',
+ s: 'några sekunder',
+ m: 'en minut',
+ mm: '%d minuter',
+ h: 'en timme',
+ hh: '%d timmar',
+ d: 'en dag',
+ dd: '%d dagar',
+ M: 'en månad',
+ MM: '%d månader',
+ y: 'ett år',
+ yy: '%d år'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/sw.js b/node_modules/dayjs/esm/locale/sw.js
new file mode 100644
index 0000000..287bf33
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/sw.js
@@ -0,0 +1,39 @@
+// Swahili [sw]
+import dayjs from '../index';
+var locale = {
+ name: 'sw',
+ weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),
+ weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),
+ weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),
+ months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),
+ monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),
+ weekStart: 1,
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ relativeTime: {
+ future: '%s baadaye',
+ past: 'tokea %s',
+ s: 'hivi punde',
+ m: 'dakika moja',
+ mm: 'dakika %d',
+ h: 'saa limoja',
+ hh: 'masaa %d',
+ d: 'siku moja',
+ dd: 'masiku %d',
+ M: 'mwezi mmoja',
+ MM: 'miezi %d',
+ y: 'mwaka mmoja',
+ yy: 'miaka %d'
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ta.js b/node_modules/dayjs/esm/locale/ta.js
new file mode 100644
index 0000000..6df25f8
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ta.js
@@ -0,0 +1,38 @@
+// Tamil [ta]
+import dayjs from '../index';
+var locale = {
+ name: 'ta',
+ weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),
+ months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
+ weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),
+ monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
+ weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, HH:mm',
+ LLLL: 'dddd, D MMMM YYYY, HH:mm'
+ },
+ relativeTime: {
+ future: '%s இல்',
+ past: '%s முன்',
+ s: 'ஒரு சில விநாடிகள்',
+ m: 'ஒரு நிமிடம்',
+ mm: '%d நிமிடங்கள்',
+ h: 'ஒரு மணி நேரம்',
+ hh: '%d மணி நேரம்',
+ d: 'ஒரு நாள்',
+ dd: '%d நாட்கள்',
+ M: 'ஒரு மாதம்',
+ MM: '%d மாதங்கள்',
+ y: 'ஒரு வருடம்',
+ yy: '%d ஆண்டுகள்'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/te.js b/node_modules/dayjs/esm/locale/te.js
new file mode 100644
index 0000000..392a247
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/te.js
@@ -0,0 +1,38 @@
+// Telugu [te]
+import dayjs from '../index';
+var locale = {
+ name: 'te',
+ weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),
+ months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),
+ weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),
+ monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),
+ weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'A h:mm',
+ LTS: 'A h:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY, A h:mm',
+ LLLL: 'dddd, D MMMM YYYY, A h:mm'
+ },
+ relativeTime: {
+ future: '%s లో',
+ past: '%s క్రితం',
+ s: 'కొన్ని క్షణాలు',
+ m: 'ఒక నిమిషం',
+ mm: '%d నిమిషాలు',
+ h: 'ఒక గంట',
+ hh: '%d గంటలు',
+ d: 'ఒక రోజు',
+ dd: '%d రోజులు',
+ M: 'ఒక నెల',
+ MM: '%d నెలలు',
+ y: 'ఒక సంవత్సరం',
+ yy: '%d సంవత్సరాలు'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/tet.js b/node_modules/dayjs/esm/locale/tet.js
new file mode 100644
index 0000000..ff83eea
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/tet.js
@@ -0,0 +1,39 @@
+// Tetun Dili (East Timor) [tet]
+import dayjs from '../index';
+var locale = {
+ name: 'tet',
+ weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),
+ months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),
+ monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
+ weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'iha %s',
+ past: '%s liuba',
+ s: 'minutu balun',
+ m: 'minutu ida',
+ mm: 'minutu %d',
+ h: 'oras ida',
+ hh: 'oras %d',
+ d: 'loron ida',
+ dd: 'loron %d',
+ M: 'fulan ida',
+ MM: 'fulan %d',
+ y: 'tinan ida',
+ yy: 'tinan %d'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/tg.js b/node_modules/dayjs/esm/locale/tg.js
new file mode 100644
index 0000000..536df0b
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/tg.js
@@ -0,0 +1,39 @@
+// Tajik [tg]
+import dayjs from '../index';
+var locale = {
+ name: 'tg',
+ weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),
+ months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),
+ monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
+ weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'баъди %s',
+ past: '%s пеш',
+ s: 'якчанд сония',
+ m: 'як дақиқа',
+ mm: '%d дақиқа',
+ h: 'як соат',
+ hh: '%d соат',
+ d: 'як рӯз',
+ dd: '%d рӯз',
+ M: 'як моҳ',
+ MM: '%d моҳ',
+ y: 'як сол',
+ yy: '%d сол'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/th.js b/node_modules/dayjs/esm/locale/th.js
new file mode 100644
index 0000000..7780ba6
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/th.js
@@ -0,0 +1,38 @@
+// Thai [th]
+import dayjs from '../index';
+var locale = {
+ name: 'th',
+ weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),
+ weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'),
+ weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),
+ months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),
+ monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),
+ formats: {
+ LT: 'H:mm',
+ LTS: 'H:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY เวลา H:mm',
+ LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm'
+ },
+ relativeTime: {
+ future: 'อีก %s',
+ past: '%s ที่ผ่านมา',
+ s: 'ไม่กี่วิ',
+ m: 'นาที',
+ mm: '%d นาที',
+ h: 'ชั่วโมง',
+ hh: '%d ชั่วโมง',
+ d: 'วัน',
+ dd: '%d วัน',
+ M: 'เดือน',
+ MM: '%d เดือน',
+ y: 'ปี',
+ yy: '%d ปี'
+ },
+ ordinal: function ordinal(n) {
+ return n + ".";
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/tl-ph.js b/node_modules/dayjs/esm/locale/tl-ph.js
new file mode 100644
index 0000000..0fa84f3
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/tl-ph.js
@@ -0,0 +1,39 @@
+// Tagalog (Philippines) [tl-ph]
+import dayjs from '../index';
+var locale = {
+ name: 'tl-ph',
+ weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),
+ months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
+ monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
+ weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'MM/D/YYYY',
+ LL: 'MMMM D, YYYY',
+ LLL: 'MMMM D, YYYY HH:mm',
+ LLLL: 'dddd, MMMM DD, YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'sa loob ng %s',
+ past: '%s ang nakalipas',
+ s: 'ilang segundo',
+ m: 'isang minuto',
+ mm: '%d minuto',
+ h: 'isang oras',
+ hh: '%d oras',
+ d: 'isang araw',
+ dd: '%d araw',
+ M: 'isang buwan',
+ MM: '%d buwan',
+ y: 'isang taon',
+ yy: '%d taon'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/tlh.js b/node_modules/dayjs/esm/locale/tlh.js
new file mode 100644
index 0000000..30f52fe
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/tlh.js
@@ -0,0 +1,24 @@
+// Klingon [tlh]
+import dayjs from '../index';
+var locale = {
+ name: 'tlh',
+ weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
+ months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
+ monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),
+ weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/tr.js b/node_modules/dayjs/esm/locale/tr.js
new file mode 100644
index 0000000..e7fe24f
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/tr.js
@@ -0,0 +1,39 @@
+// Turkish [tr]
+import dayjs from '../index';
+var locale = {
+ name: 'tr',
+ weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),
+ weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),
+ weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),
+ months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),
+ monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),
+ weekStart: 1,
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: '%s sonra',
+ past: '%s önce',
+ s: 'birkaç saniye',
+ m: 'bir dakika',
+ mm: '%d dakika',
+ h: 'bir saat',
+ hh: '%d saat',
+ d: 'bir gün',
+ dd: '%d gün',
+ M: 'bir ay',
+ MM: '%d ay',
+ y: 'bir yıl',
+ yy: '%d yıl'
+ },
+ ordinal: function ordinal(n) {
+ return n + ".";
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/tzl.js b/node_modules/dayjs/esm/locale/tzl.js
new file mode 100644
index 0000000..9fa0cd2
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/tzl.js
@@ -0,0 +1,24 @@
+// Talossan [tzl]
+import dayjs from '../index';
+var locale = {
+ name: 'tzl',
+ weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),
+ months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),
+ monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),
+ weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH.mm',
+ LTS: 'HH.mm.ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D. MMMM [dallas] YYYY',
+ LLL: 'D. MMMM [dallas] YYYY HH.mm',
+ LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/tzm-latn.js b/node_modules/dayjs/esm/locale/tzm-latn.js
new file mode 100644
index 0000000..e5ac6af
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/tzm-latn.js
@@ -0,0 +1,39 @@
+// Central Atlas Tamazight Latin [tzm-latn]
+import dayjs from '../index';
+var locale = {
+ name: 'tzm-latn',
+ weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
+ months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
+ weekStart: 6,
+ weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
+ monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
+ weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'dadkh s yan %s',
+ past: 'yan %s',
+ s: 'imik',
+ m: 'minuḍ',
+ mm: '%d minuḍ',
+ h: 'saɛa',
+ hh: '%d tassaɛin',
+ d: 'ass',
+ dd: '%d ossan',
+ M: 'ayowr',
+ MM: '%d iyyirn',
+ y: 'asgas',
+ yy: '%d isgasn'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/tzm.js b/node_modules/dayjs/esm/locale/tzm.js
new file mode 100644
index 0000000..d94a6c0
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/tzm.js
@@ -0,0 +1,39 @@
+// Central Atlas Tamazight [tzm]
+import dayjs from '../index';
+var locale = {
+ name: 'tzm',
+ weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
+ months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
+ weekStart: 6,
+ weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
+ monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
+ weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',
+ past: 'ⵢⴰⵏ %s',
+ s: 'ⵉⵎⵉⴽ',
+ m: 'ⵎⵉⵏⵓⴺ',
+ mm: '%d ⵎⵉⵏⵓⴺ',
+ h: 'ⵙⴰⵄⴰ',
+ hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',
+ d: 'ⴰⵙⵙ',
+ dd: '%d oⵙⵙⴰⵏ',
+ M: 'ⴰⵢoⵓⵔ',
+ MM: '%d ⵉⵢⵢⵉⵔⵏ',
+ y: 'ⴰⵙⴳⴰⵙ',
+ yy: '%d ⵉⵙⴳⴰⵙⵏ'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ug-cn.js b/node_modules/dayjs/esm/locale/ug-cn.js
new file mode 100644
index 0000000..d3d6392
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ug-cn.js
@@ -0,0 +1,39 @@
+// Uyghur (China) [ug-cn]
+import dayjs from '../index';
+var locale = {
+ name: 'ug-cn',
+ weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split('_'),
+ months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
+ monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split('_'),
+ weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY-MM-DD',
+ LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',
+ LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',
+ LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'
+ },
+ relativeTime: {
+ future: '%s كېيىن',
+ past: '%s بۇرۇن',
+ s: 'نەچچە سېكونت',
+ m: 'بىر مىنۇت',
+ mm: '%d مىنۇت',
+ h: 'بىر سائەت',
+ hh: '%d سائەت',
+ d: 'بىر كۈن',
+ dd: '%d كۈن',
+ M: 'بىر ئاي',
+ MM: '%d ئاي',
+ y: 'بىر يىل',
+ yy: '%d يىل'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/uk.js b/node_modules/dayjs/esm/locale/uk.js
new file mode 100644
index 0000000..bb4d28d
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/uk.js
@@ -0,0 +1,62 @@
+// Ukrainian [uk]
+import dayjs from '../index';
+
+function plural(word, num) {
+ var forms = word.split('_');
+ return num % 10 === 1 && num % 100 !== 11 ? forms[0] : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]; // eslint-disable-line
+}
+
+function relativeTimeWithPlural(number, withoutSuffix, key) {
+ var format = {
+ ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',
+ mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',
+ hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',
+ dd: 'день_дні_днів',
+ MM: 'місяць_місяці_місяців',
+ yy: 'рік_роки_років'
+ };
+
+ if (key === 'm') {
+ return withoutSuffix ? 'хвилина' : 'хвилину';
+ }
+
+ return number + " " + plural(format[key], +number);
+}
+
+var locale = {
+ name: 'uk',
+ weekdays: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),
+ weekdaysShort: 'ндл_пнд_втр_срд_чтв_птн_сбт'.split('_'),
+ weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
+ months: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_'),
+ monthsShort: 'сiч_лют_бер_квiт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),
+ weekStart: 1,
+ relativeTime: {
+ future: 'за %s',
+ past: '%s тому',
+ s: 'декілька секунд',
+ m: relativeTimeWithPlural,
+ mm: relativeTimeWithPlural,
+ h: 'годину',
+ hh: relativeTimeWithPlural,
+ d: 'день',
+ dd: relativeTimeWithPlural,
+ M: 'місяць',
+ MM: relativeTimeWithPlural,
+ y: 'рік',
+ yy: relativeTimeWithPlural
+ },
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD.MM.YYYY',
+ LL: 'D MMMM YYYY р.',
+ LLL: 'D MMMM YYYY р., HH:mm',
+ LLLL: 'dddd, D MMMM YYYY р., HH:mm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/ur.js b/node_modules/dayjs/esm/locale/ur.js
new file mode 100644
index 0000000..7464c1e
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/ur.js
@@ -0,0 +1,39 @@
+// Urdu [ur]
+import dayjs from '../index';
+var locale = {
+ name: 'ur',
+ weekdays: 'اتوار_پیر_منگل_بدھ_جمعرات_جمعہ_ہفتہ'.split('_'),
+ months: 'جنوری_فروری_مارچ_اپریل_مئی_جون_جولائی_اگست_ستمبر_اکتوبر_نومبر_دسمبر'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'اتوار_پیر_منگل_بدھ_جمعرات_جمعہ_ہفتہ'.split('_'),
+ monthsShort: 'جنوری_فروری_مارچ_اپریل_مئی_جون_جولائی_اگست_ستمبر_اکتوبر_نومبر_دسمبر'.split('_'),
+ weekdaysMin: 'اتوار_پیر_منگل_بدھ_جمعرات_جمعہ_ہفتہ'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd، D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: '%s بعد',
+ past: '%s قبل',
+ s: 'چند سیکنڈ',
+ m: 'ایک منٹ',
+ mm: '%d منٹ',
+ h: 'ایک گھنٹہ',
+ hh: '%d گھنٹے',
+ d: 'ایک دن',
+ dd: '%d دن',
+ M: 'ایک ماہ',
+ MM: '%d ماہ',
+ y: 'ایک سال',
+ yy: '%d سال'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/uz-latn.js b/node_modules/dayjs/esm/locale/uz-latn.js
new file mode 100644
index 0000000..4dc2108
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/uz-latn.js
@@ -0,0 +1,39 @@
+// Uzbek Latin [uz-latn]
+import dayjs from '../index';
+var locale = {
+ name: 'uz-latn',
+ weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),
+ months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),
+ monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),
+ weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'D MMMM YYYY, dddd HH:mm'
+ },
+ relativeTime: {
+ future: 'Yaqin %s ichida',
+ past: 'Bir necha %s oldin',
+ s: 'soniya',
+ m: 'bir daqiqa',
+ mm: '%d daqiqa',
+ h: 'bir soat',
+ hh: '%d soat',
+ d: 'bir kun',
+ dd: '%d kun',
+ M: 'bir oy',
+ MM: '%d oy',
+ y: 'bir yil',
+ yy: '%d yil'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/uz.js b/node_modules/dayjs/esm/locale/uz.js
new file mode 100644
index 0000000..459fd58
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/uz.js
@@ -0,0 +1,39 @@
+// Uzbek [uz]
+import dayjs from '../index';
+var locale = {
+ name: 'uz',
+ weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),
+ months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),
+ monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
+ weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'D MMMM YYYY, dddd HH:mm'
+ },
+ relativeTime: {
+ future: 'Якин %s ичида',
+ past: 'Бир неча %s олдин',
+ s: 'фурсат',
+ m: 'бир дакика',
+ mm: '%d дакика',
+ h: 'бир соат',
+ hh: '%d соат',
+ d: 'бир кун',
+ dd: '%d кун',
+ M: 'бир ой',
+ MM: '%d ой',
+ y: 'бир йил',
+ yy: '%d йил'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/vi.js b/node_modules/dayjs/esm/locale/vi.js
new file mode 100644
index 0000000..f55cc73
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/vi.js
@@ -0,0 +1,43 @@
+// Vietnamese [vi]
+import dayjs from '../index';
+var locale = {
+ name: 'vi',
+ weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),
+ months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
+ monthsShort: 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),
+ weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM [năm] YYYY',
+ LLL: 'D MMMM [năm] YYYY HH:mm',
+ LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',
+ l: 'DD/M/YYYY',
+ ll: 'D MMM YYYY',
+ lll: 'D MMM YYYY HH:mm',
+ llll: 'ddd, D MMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: '%s tới',
+ past: '%s trước',
+ s: 'vài giây',
+ m: 'một phút',
+ mm: '%d phút',
+ h: 'một giờ',
+ hh: '%d giờ',
+ d: 'một ngày',
+ dd: '%d ngày',
+ M: 'một tháng',
+ MM: '%d tháng',
+ y: 'một năm',
+ yy: '%d năm'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/x-pseudo.js b/node_modules/dayjs/esm/locale/x-pseudo.js
new file mode 100644
index 0000000..ceb6782
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/x-pseudo.js
@@ -0,0 +1,39 @@
+// Pseudo [x-pseudo]
+import dayjs from '../index';
+var locale = {
+ name: 'x-pseudo',
+ weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),
+ months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),
+ monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),
+ weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY HH:mm',
+ LLLL: 'dddd, D MMMM YYYY HH:mm'
+ },
+ relativeTime: {
+ future: 'í~ñ %s',
+ past: '%s á~gó',
+ s: 'á ~féw ~sécó~ñds',
+ m: 'á ~míñ~úté',
+ mm: '%d m~íñú~tés',
+ h: 'á~ñ hó~úr',
+ hh: '%d h~óúrs',
+ d: 'á ~dáý',
+ dd: '%d d~áýs',
+ M: 'á ~móñ~th',
+ MM: '%d m~óñt~hs',
+ y: 'á ~ýéár',
+ yy: '%d ý~éárs'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/yo.js b/node_modules/dayjs/esm/locale/yo.js
new file mode 100644
index 0000000..1f79468
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/yo.js
@@ -0,0 +1,39 @@
+// Yoruba Nigeria [yo]
+import dayjs from '../index';
+var locale = {
+ name: 'yo',
+ weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),
+ months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),
+ weekStart: 1,
+ weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),
+ monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),
+ weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),
+ ordinal: function ordinal(n) {
+ return n;
+ },
+ formats: {
+ LT: 'h:mm A',
+ LTS: 'h:mm:ss A',
+ L: 'DD/MM/YYYY',
+ LL: 'D MMMM YYYY',
+ LLL: 'D MMMM YYYY h:mm A',
+ LLLL: 'dddd, D MMMM YYYY h:mm A'
+ },
+ relativeTime: {
+ future: 'ní %s',
+ past: '%s kọjá',
+ s: 'ìsẹjú aayá die',
+ m: 'ìsẹjú kan',
+ mm: 'ìsẹjú %d',
+ h: 'wákati kan',
+ hh: 'wákati %d',
+ d: 'ọjọ́ kan',
+ dd: 'ọjọ́ %d',
+ M: 'osù kan',
+ MM: 'osù %d',
+ y: 'ọdún kan',
+ yy: 'ọdún %d'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/zh-cn.js b/node_modules/dayjs/esm/locale/zh-cn.js
new file mode 100644
index 0000000..933e13f
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/zh-cn.js
@@ -0,0 +1,67 @@
+// Chinese (China) [zh-cn]
+import dayjs from '../index';
+var locale = {
+ name: 'zh-cn',
+ weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
+ weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),
+ weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
+ months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
+ monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+ ordinal: function ordinal(number, period) {
+ switch (period) {
+ case 'W':
+ return number + "\u5468";
+
+ default:
+ return number + "\u65E5";
+ }
+ },
+ weekStart: 1,
+ yearStart: 4,
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY/MM/DD',
+ LL: 'YYYY年M月D日',
+ LLL: 'YYYY年M月D日Ah点mm分',
+ LLLL: 'YYYY年M月D日ddddAh点mm分',
+ l: 'YYYY/M/D',
+ ll: 'YYYY年M月D日',
+ lll: 'YYYY年M月D日 HH:mm',
+ llll: 'YYYY年M月D日dddd HH:mm'
+ },
+ relativeTime: {
+ future: '%s内',
+ past: '%s前',
+ s: '几秒',
+ m: '1 分钟',
+ mm: '%d 分钟',
+ h: '1 小时',
+ hh: '%d 小时',
+ d: '1 天',
+ dd: '%d 天',
+ M: '1 个月',
+ MM: '%d 个月',
+ y: '1 年',
+ yy: '%d 年'
+ },
+ meridiem: function meridiem(hour, minute) {
+ var hm = hour * 100 + minute;
+
+ if (hm < 600) {
+ return '凌晨';
+ } else if (hm < 900) {
+ return '早上';
+ } else if (hm < 1130) {
+ return '上午';
+ } else if (hm < 1230) {
+ return '中午';
+ } else if (hm < 1800) {
+ return '下午';
+ }
+
+ return '晚上';
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/zh-hk.js b/node_modules/dayjs/esm/locale/zh-hk.js
new file mode 100644
index 0000000..c0c2e2b
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/zh-hk.js
@@ -0,0 +1,38 @@
+// Chinese (Hong Kong) [zh-hk]
+import dayjs from '../index';
+var locale = {
+ name: 'zh-hk',
+ months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
+ monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+ weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
+ weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
+ weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
+ ordinal: function ordinal(n) {
+ return n + "\u65E5";
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY/MM/DD',
+ LL: 'YYYY年M月D日',
+ LLL: 'YYYY年M月D日 HH:mm',
+ LLLL: 'YYYY年M月D日dddd HH:mm'
+ },
+ relativeTime: {
+ future: '%s內',
+ past: '%s前',
+ s: '幾秒',
+ m: '一分鐘',
+ mm: '%d 分鐘',
+ h: '一小時',
+ hh: '%d 小時',
+ d: '一天',
+ dd: '%d 天',
+ M: '一個月',
+ MM: '%d 個月',
+ y: '一年',
+ yy: '%d 年'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/locale/zh-tw.js b/node_modules/dayjs/esm/locale/zh-tw.js
new file mode 100644
index 0000000..002a27d
--- /dev/null
+++ b/node_modules/dayjs/esm/locale/zh-tw.js
@@ -0,0 +1,42 @@
+// Chinese (Taiwan) [zh-tw]
+import dayjs from '../index';
+var locale = {
+ name: 'zh-tw',
+ weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
+ weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
+ weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
+ months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
+ monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+ ordinal: function ordinal(n) {
+ return n + "\u65E5";
+ },
+ formats: {
+ LT: 'HH:mm',
+ LTS: 'HH:mm:ss',
+ L: 'YYYY/MM/DD',
+ LL: 'YYYY年M月D日',
+ LLL: 'YYYY年M月D日 HH:mm',
+ LLLL: 'YYYY年M月D日dddd HH:mm',
+ l: 'YYYY/M/D',
+ ll: 'YYYY年M月D日',
+ lll: 'YYYY年M月D日 HH:mm',
+ llll: 'YYYY年M月D日dddd HH:mm'
+ },
+ relativeTime: {
+ future: '%s內',
+ past: '%s前',
+ s: '幾秒',
+ m: '1 分鐘',
+ mm: '%d 分鐘',
+ h: '1 小時',
+ hh: '%d 小時',
+ d: '1 天',
+ dd: '%d 天',
+ M: '1 個月',
+ MM: '%d 個月',
+ y: '1 年',
+ yy: '%d 年'
+ }
+};
+dayjs.locale(locale, null, true);
+export default locale;
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/advancedFormat/index.js b/node_modules/dayjs/esm/plugin/advancedFormat/index.js
new file mode 100644
index 0000000..eb9660e
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/advancedFormat/index.js
@@ -0,0 +1,55 @@
+import { FORMAT_DEFAULT } from '../../constant';
+export default (function (o, c, d) {
+ // locale needed later
+ var proto = c.prototype;
+ var oldFormat = proto.format;
+
+ d.en.ordinal = function (number) {
+ var s = ['th', 'st', 'nd', 'rd'];
+ var v = number % 100;
+ return "[" + number + (s[(v - 20) % 10] || s[v] || s[0]) + "]";
+ }; // extend en locale here
+
+
+ proto.format = function (formatStr) {
+ var _this = this;
+
+ var locale = this.$locale();
+ var utils = this.$utils();
+ var str = formatStr || FORMAT_DEFAULT;
+ var result = str.replace(/\[([^\]]+)]|Q|wo|ww|w|gggg|Do|X|x|k{1,2}|S/g, function (match) {
+ switch (match) {
+ case 'Q':
+ return Math.ceil((_this.$M + 1) / 3);
+
+ case 'Do':
+ return locale.ordinal(_this.$D);
+
+ case 'gggg':
+ return _this.weekYear();
+
+ case 'wo':
+ return locale.ordinal(_this.week(), 'W');
+ // W for week
+
+ case 'w':
+ case 'ww':
+ return utils.s(_this.week(), match === 'w' ? 1 : 2, '0');
+
+ case 'k':
+ case 'kk':
+ return utils.s(String(_this.$H === 0 ? 24 : _this.$H), match === 'k' ? 1 : 2, '0');
+
+ case 'X':
+ return Math.floor(_this.$d.getTime() / 1000);
+
+ case 'x':
+ return _this.$d.getTime();
+
+ default:
+ return match;
+ }
+ });
+ return oldFormat.bind(this)(result);
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/badMutable/index.js b/node_modules/dayjs/esm/plugin/badMutable/index.js
new file mode 100644
index 0000000..679edee
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/badMutable/index.js
@@ -0,0 +1,61 @@
+export default (function (o, c) {
+ // locale needed later
+ var proto = c.prototype;
+
+ proto.$g = function (input, get, set) {
+ if (this.$utils().u(input)) return this[get];
+ return this.$set(set, input);
+ };
+
+ proto.set = function (string, _int) {
+ return this.$set(string, _int);
+ };
+
+ var oldStartOf = proto.startOf;
+
+ proto.startOf = function (units, startOf) {
+ this.$d = oldStartOf.bind(this)(units, startOf).toDate();
+ this.init();
+ return this;
+ };
+
+ var oldAdd = proto.add;
+
+ proto.add = function (number, units) {
+ this.$d = oldAdd.bind(this)(number, units).toDate();
+ this.init();
+ return this;
+ };
+
+ var oldLocale = proto.locale;
+
+ proto.locale = function (preset, object) {
+ if (!preset) return this.$L;
+ this.$L = oldLocale.bind(this)(preset, object).$L;
+ return this;
+ };
+
+ var oldDaysInMonth = proto.daysInMonth;
+
+ proto.daysInMonth = function () {
+ return oldDaysInMonth.bind(this.clone())();
+ };
+
+ var oldIsSame = proto.isSame;
+
+ proto.isSame = function (that, units) {
+ return oldIsSame.bind(this.clone())(that, units);
+ };
+
+ var oldIsBefore = proto.isBefore;
+
+ proto.isBefore = function (that, units) {
+ return oldIsBefore.bind(this.clone())(that, units);
+ };
+
+ var oldIsAfter = proto.isAfter;
+
+ proto.isAfter = function (that, units) {
+ return oldIsAfter.bind(this.clone())(that, units);
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/buddhistEra/index.js b/node_modules/dayjs/esm/plugin/buddhistEra/index.js
new file mode 100644
index 0000000..76ce44c
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/buddhistEra/index.js
@@ -0,0 +1,21 @@
+import { FORMAT_DEFAULT } from '../../constant';
+export default (function (o, c) {
+ // locale needed later
+ var proto = c.prototype;
+ var oldFormat = proto.format; // extend en locale here
+
+ proto.format = function (formatStr) {
+ var _this = this;
+
+ var yearBias = 543;
+ var str = formatStr || FORMAT_DEFAULT;
+ var result = str.replace(/(\[[^\]]+])|BBBB|BB/g, function (match, a) {
+ var _this$$utils;
+
+ var year = String(_this.$y + yearBias);
+ var args = match === 'BB' ? [year.slice(-2), 2] : [year, 4];
+ return a || (_this$$utils = _this.$utils()).s.apply(_this$$utils, args.concat(['0']));
+ });
+ return oldFormat.bind(this)(result);
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/calendar/index.js b/node_modules/dayjs/esm/plugin/calendar/index.js
new file mode 100644
index 0000000..460b007
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/calendar/index.js
@@ -0,0 +1,26 @@
+export default (function (o, c, d) {
+ var LT = 'h:mm A';
+ var L = 'MM/DD/YYYY';
+ var calendarFormat = {
+ lastDay: "[Yesterday at] " + LT,
+ sameDay: "[Today at] " + LT,
+ nextDay: "[Tomorrow at] " + LT,
+ nextWeek: "dddd [at] " + LT,
+ lastWeek: "[Last] dddd [at] " + LT,
+ sameElse: L
+ };
+ var proto = c.prototype;
+
+ proto.calendar = function (referenceTime, formats) {
+ var format = formats || this.$locale().calendar || calendarFormat;
+ var referenceStartOfDay = d(referenceTime || undefined).startOf('d');
+ var diff = this.diff(referenceStartOfDay, 'd', true);
+ var sameElse = 'sameElse';
+ /* eslint-disable no-nested-ternary */
+
+ var retVal = diff < -6 ? sameElse : diff < -1 ? 'lastWeek' : diff < 0 ? 'lastDay' : diff < 1 ? 'sameDay' : diff < 2 ? 'nextDay' : diff < 7 ? 'nextWeek' : sameElse;
+ /* eslint-enable no-nested-ternary */
+
+ return this.format(format[retVal] || calendarFormat[retVal]);
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/customParseFormat/index.js b/node_modules/dayjs/esm/plugin/customParseFormat/index.js
new file mode 100644
index 0000000..68c3ac3
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/customParseFormat/index.js
@@ -0,0 +1,241 @@
+var formattingTokens = /(\[[^[]*\])|([-:/.()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g;
+var match1 = /\d/; // 0 - 9
+
+var match2 = /\d\d/; // 00 - 99
+
+var match3 = /\d{3}/; // 000 - 999
+
+var match4 = /\d{4}/; // 0000 - 9999
+
+var match1to2 = /\d\d?/; // 0 - 99
+
+var matchUpperCaseAMPM = /[AP]M/;
+var matchLowerCaseAMPM = /[ap]m/;
+var matchSigned = /[+-]?\d+/; // -inf - inf
+
+var matchOffset = /[+-]\d\d:?\d\d/; // +00:00 -00:00 +0000 or -0000
+
+var matchWord = /\d*[^\s\d-:/.()]+/; // Word
+
+var locale;
+
+function offsetFromString(string) {
+ var parts = string.match(/([+-]|\d\d)/g);
+ var minutes = +(parts[1] * 60) + +parts[2];
+ return minutes === 0 ? 0 : parts[0] === '+' ? -minutes : minutes; // eslint-disable-line no-nested-ternary
+}
+
+var addInput = function addInput(property) {
+ return function (input) {
+ this[property] = +input;
+ };
+};
+
+var zoneExpressions = [matchOffset, function (input) {
+ var zone = this.zone || (this.zone = {});
+ zone.offset = offsetFromString(input);
+}];
+var expressions = {
+ A: [matchUpperCaseAMPM, function (input) {
+ this.afternoon = input === 'PM';
+ }],
+ a: [matchLowerCaseAMPM, function (input) {
+ this.afternoon = input === 'pm';
+ }],
+ S: [match1, function (input) {
+ this.milliseconds = +input * 100;
+ }],
+ SS: [match2, function (input) {
+ this.milliseconds = +input * 10;
+ }],
+ SSS: [match3, function (input) {
+ this.milliseconds = +input;
+ }],
+ s: [match1to2, addInput('seconds')],
+ ss: [match1to2, addInput('seconds')],
+ m: [match1to2, addInput('minutes')],
+ mm: [match1to2, addInput('minutes')],
+ H: [match1to2, addInput('hours')],
+ h: [match1to2, addInput('hours')],
+ HH: [match1to2, addInput('hours')],
+ hh: [match1to2, addInput('hours')],
+ D: [match1to2, addInput('day')],
+ DD: [match2, addInput('day')],
+ Do: [matchWord, function (input) {
+ var _locale = locale,
+ ordinal = _locale.ordinal;
+
+ var _input$match = input.match(/\d+/);
+
+ this.day = _input$match[0];
+ if (!ordinal) return;
+
+ for (var i = 1; i <= 31; i += 1) {
+ if (ordinal(i).replace(/\[|\]/g, '') === input) {
+ this.day = i;
+ }
+ }
+ }],
+ M: [match1to2, addInput('month')],
+ MM: [match2, addInput('month')],
+ MMM: [matchWord, function (input) {
+ var _locale2 = locale,
+ months = _locale2.months,
+ monthsShort = _locale2.monthsShort;
+ var matchIndex = monthsShort ? monthsShort.findIndex(function (month) {
+ return month === input;
+ }) : months.findIndex(function (month) {
+ return month.substr(0, 3) === input;
+ });
+
+ if (matchIndex < 0) {
+ throw new Error();
+ }
+
+ this.month = matchIndex + 1;
+ }],
+ MMMM: [matchWord, function (input) {
+ var _locale3 = locale,
+ months = _locale3.months;
+ var matchIndex = months.indexOf(input);
+
+ if (matchIndex < 0) {
+ throw new Error();
+ }
+
+ this.month = matchIndex + 1;
+ }],
+ Y: [matchSigned, addInput('year')],
+ YY: [match2, function (input) {
+ input = +input;
+ this.year = input + (input > 68 ? 1900 : 2000);
+ }],
+ YYYY: [match4, addInput('year')],
+ Z: zoneExpressions,
+ ZZ: zoneExpressions
+};
+
+function correctHours(time) {
+ var afternoon = time.afternoon;
+
+ if (afternoon !== undefined) {
+ var hours = time.hours;
+
+ if (afternoon) {
+ if (hours < 12) {
+ time.hours += 12;
+ }
+ } else if (hours === 12) {
+ time.hours = 0;
+ }
+
+ delete time.afternoon;
+ }
+}
+
+function makeParser(format) {
+ var array = format.match(formattingTokens);
+ var length = array.length;
+
+ for (var i = 0; i < length; i += 1) {
+ var token = array[i];
+ var parseTo = expressions[token];
+ var regex = parseTo && parseTo[0];
+ var parser = parseTo && parseTo[1];
+
+ if (parser) {
+ array[i] = {
+ regex: regex,
+ parser: parser
+ };
+ } else {
+ array[i] = token.replace(/^\[|\]$/g, '');
+ }
+ }
+
+ return function (input) {
+ var time = {};
+
+ for (var _i = 0, start = 0; _i < length; _i += 1) {
+ var _token = array[_i];
+
+ if (typeof _token === 'string') {
+ start += _token.length;
+ } else {
+ var _regex = _token.regex,
+ _parser = _token.parser;
+ var part = input.substr(start);
+
+ var match = _regex.exec(part);
+
+ var value = match[0];
+
+ _parser.call(time, value);
+
+ input = input.replace(value, '');
+ }
+ }
+
+ correctHours(time);
+ return time;
+ };
+}
+
+var parseFormattedInput = function parseFormattedInput(input, format, utc) {
+ try {
+ var parser = makeParser(format);
+
+ var _parser2 = parser(input),
+ year = _parser2.year,
+ month = _parser2.month,
+ day = _parser2.day,
+ hours = _parser2.hours,
+ minutes = _parser2.minutes,
+ seconds = _parser2.seconds,
+ milliseconds = _parser2.milliseconds,
+ zone = _parser2.zone;
+
+ if (zone) {
+ return new Date(Date.UTC(year, month - 1, day, hours || 0, minutes || 0, seconds || 0, milliseconds || 0) + zone.offset * 60 * 1000);
+ }
+
+ var now = new Date();
+ var d = day || (!year && !month ? now.getDate() : 1);
+ var y = year || now.getFullYear();
+ var M = month > 0 ? month - 1 : now.getMonth();
+ var h = hours || 0;
+ var m = minutes || 0;
+ var s = seconds || 0;
+ var ms = milliseconds || 0;
+
+ if (utc) {
+ return new Date(Date.UTC(y, M, d, h, m, s, ms));
+ }
+
+ return new Date(y, M, d, h, m, s, ms);
+ } catch (e) {
+ return new Date(''); // Invalid Date
+ }
+};
+
+export default (function (o, C, d) {
+ var proto = C.prototype;
+ var oldParse = proto.parse;
+
+ proto.parse = function (cfg) {
+ var date = cfg.date,
+ format = cfg.format,
+ pl = cfg.pl,
+ utc = cfg.utc;
+ this.$u = utc;
+
+ if (format) {
+ locale = pl ? d.Ls[pl] : this.$locale();
+ this.$d = parseFormattedInput(date, format, utc);
+ this.init(cfg);
+ if (pl) this.$L = pl;
+ } else {
+ oldParse.call(this, cfg);
+ }
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/dayOfYear/index.js b/node_modules/dayjs/esm/plugin/dayOfYear/index.js
new file mode 100644
index 0000000..34d255f
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/dayOfYear/index.js
@@ -0,0 +1,8 @@
+export default (function (o, c) {
+ var proto = c.prototype;
+
+ proto.dayOfYear = function (input) {
+ var dayOfYear = Math.round((this.startOf('day') - this.startOf('year')) / 864e5) + 1;
+ return input == null ? dayOfYear : this.add(input - dayOfYear, 'day');
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/isBetween/index.js b/node_modules/dayjs/esm/plugin/isBetween/index.js
new file mode 100644
index 0000000..2182a89
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/isBetween/index.js
@@ -0,0 +1,10 @@
+export default (function (o, c, d) {
+ c.prototype.isBetween = function (a, b, u, i) {
+ var dA = d(a);
+ var dB = d(b);
+ i = i || '()';
+ var dAi = i[0] === '(';
+ var dBi = i[1] === ')';
+ return (dAi ? this.isAfter(dA, u) : !this.isBefore(dA, u)) && (dBi ? this.isBefore(dB, u) : !this.isAfter(dB, u)) || (dAi ? this.isBefore(dA, u) : !this.isAfter(dA, u)) && (dBi ? this.isAfter(dB, u) : !this.isBefore(dB, u));
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/isLeapYear/index.js b/node_modules/dayjs/esm/plugin/isLeapYear/index.js
new file mode 100644
index 0000000..bf1309d
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/isLeapYear/index.js
@@ -0,0 +1,7 @@
+export default (function (o, c) {
+ var proto = c.prototype;
+
+ proto.isLeapYear = function () {
+ return this.$y % 4 === 0 && this.$y % 100 !== 0 || this.$y % 400 === 0;
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/isMoment/index.js b/node_modules/dayjs/esm/plugin/isMoment/index.js
new file mode 100644
index 0000000..48c8a89
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/isMoment/index.js
@@ -0,0 +1,5 @@
+export default (function (o, c, f) {
+ f.isMoment = function (input) {
+ return f.isDayjs(input);
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/isSameOrAfter/index.js b/node_modules/dayjs/esm/plugin/isSameOrAfter/index.js
new file mode 100644
index 0000000..6a5c56f
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/isSameOrAfter/index.js
@@ -0,0 +1,5 @@
+export default (function (o, c) {
+ c.prototype.isSameOrAfter = function (that, units) {
+ return this.isSame(that, units) || this.isAfter(that, units);
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/isSameOrBefore/index.js b/node_modules/dayjs/esm/plugin/isSameOrBefore/index.js
new file mode 100644
index 0000000..18d526a
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/isSameOrBefore/index.js
@@ -0,0 +1,5 @@
+export default (function (o, c) {
+ c.prototype.isSameOrBefore = function (that, units) {
+ return this.isSame(that, units) || this.isBefore(that, units);
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/isoWeek/index.js b/node_modules/dayjs/esm/plugin/isoWeek/index.js
new file mode 100644
index 0000000..f074424
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/isoWeek/index.js
@@ -0,0 +1,57 @@
+import { D, W, Y } from '../../constant';
+var isoWeekPrettyUnit = 'isoweek';
+export default (function (o, c, d) {
+ var getYearFirstThursday = function getYearFirstThursday(year) {
+ var yearFirstDay = d().year(year).startOf(Y);
+ var addDiffDays = 4 - yearFirstDay.isoWeekday();
+
+ if (yearFirstDay.isoWeekday() > 4) {
+ addDiffDays += 7;
+ }
+
+ return yearFirstDay.add(addDiffDays, D);
+ };
+
+ var getCurrentWeekThursday = function getCurrentWeekThursday(ins) {
+ return ins.add(4 - ins.isoWeekday(), D);
+ };
+
+ var proto = c.prototype;
+
+ proto.isoWeekYear = function () {
+ var nowWeekThursday = getCurrentWeekThursday(this);
+ return nowWeekThursday.year();
+ };
+
+ proto.isoWeek = function (week) {
+ if (!this.$utils().u(week)) {
+ return this.add((week - this.isoWeek()) * 7, D);
+ }
+
+ var nowWeekThursday = getCurrentWeekThursday(this);
+ var diffWeekThursday = getYearFirstThursday(this.isoWeekYear());
+ return nowWeekThursday.diff(diffWeekThursday, W) + 1;
+ };
+
+ proto.isoWeekday = function (week) {
+ if (!this.$utils().u(week)) {
+ return this.day(this.day() % 7 ? week : week - 7);
+ }
+
+ return this.day() || 7;
+ };
+
+ var oldStartOf = proto.startOf;
+
+ proto.startOf = function (units, startOf) {
+ var utils = this.$utils();
+ var isStartOf = !utils.u(startOf) ? startOf : true;
+ var unit = utils.p(units);
+
+ if (unit === isoWeekPrettyUnit) {
+ return isStartOf ? this.date(this.date() - (this.isoWeekday() - 1)).startOf('day') : this.date(this.date() - 1 - (this.isoWeekday() - 1) + 7).endOf('day');
+ }
+
+ return oldStartOf.bind(this)(units, startOf);
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/isoWeeksInYear/index.js b/node_modules/dayjs/esm/plugin/isoWeeksInYear/index.js
new file mode 100644
index 0000000..7161894
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/isoWeeksInYear/index.js
@@ -0,0 +1,15 @@
+export default (function (o, c) {
+ var proto = c.prototype;
+
+ proto.isoWeeksInYear = function () {
+ var isLeapYear = this.isLeapYear();
+ var last = this.endOf('y');
+ var day = last.day();
+
+ if (day === 4 || isLeapYear && day === 5) {
+ return 53;
+ }
+
+ return 52;
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/localeData/index.js b/node_modules/dayjs/esm/plugin/localeData/index.js
new file mode 100644
index 0000000..b587f58
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/localeData/index.js
@@ -0,0 +1,93 @@
+export default (function (o, c, dayjs) {
+ // locale needed later
+ var proto = c.prototype;
+
+ var getShort = function getShort(ins, target, full, num) {
+ var locale = ins.name ? ins : ins.$locale();
+
+ if (!locale[target]) {
+ return locale[full].map(function (f) {
+ return f.substr(0, num);
+ });
+ }
+
+ return locale[target];
+ };
+
+ var getDayjsLocaleObject = function getDayjsLocaleObject() {
+ return dayjs.Ls[dayjs.locale()];
+ };
+
+ var localeData = function localeData() {
+ var _this = this;
+
+ return {
+ months: function months(instance) {
+ return instance ? instance.format('MMMM') : getShort(_this, 'months');
+ },
+ monthsShort: function monthsShort(instance) {
+ return instance ? instance.format('MMM') : getShort(_this, 'monthsShort', 'months', 3);
+ },
+ firstDayOfWeek: function firstDayOfWeek() {
+ return _this.$locale().weekStart || 0;
+ },
+ weekdaysMin: function weekdaysMin(instance) {
+ return instance ? instance.format('dd') : getShort(_this, 'weekdaysMin', 'weekdays', 2);
+ },
+ weekdaysShort: function weekdaysShort(instance) {
+ return instance ? instance.format('ddd') : getShort(_this, 'weekdaysShort', 'weekdays', 3);
+ },
+ longDateFormat: function longDateFormat(format) {
+ return _this.$locale().formats[format];
+ }
+ };
+ };
+
+ proto.localeData = function () {
+ return localeData.bind(this)();
+ };
+
+ dayjs.localeData = function () {
+ var localeObject = getDayjsLocaleObject();
+ return {
+ firstDayOfWeek: function firstDayOfWeek() {
+ return localeObject.weekStart || 0;
+ },
+ weekdays: function weekdays() {
+ return dayjs.weekdays();
+ },
+ weekdaysShort: function weekdaysShort() {
+ return dayjs.weekdaysShort();
+ },
+ weekdaysMin: function weekdaysMin() {
+ return dayjs.weekdaysMin();
+ },
+ months: function months() {
+ return dayjs.months();
+ },
+ monthsShort: function monthsShort() {
+ return dayjs.monthsShort();
+ }
+ };
+ };
+
+ dayjs.months = function () {
+ return getDayjsLocaleObject().months;
+ };
+
+ dayjs.monthsShort = function () {
+ return getShort(getDayjsLocaleObject(), 'monthsShort', 'months', 3);
+ };
+
+ dayjs.weekdays = function () {
+ return getDayjsLocaleObject().weekdays;
+ };
+
+ dayjs.weekdaysShort = function () {
+ return getShort(getDayjsLocaleObject(), 'weekdaysShort', 'weekdays', 3);
+ };
+
+ dayjs.weekdaysMin = function () {
+ return getShort(getDayjsLocaleObject(), 'weekdaysMin', 'weekdays', 2);
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/localizedFormat/index.js b/node_modules/dayjs/esm/plugin/localizedFormat/index.js
new file mode 100644
index 0000000..7a966ac
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/localizedFormat/index.js
@@ -0,0 +1,36 @@
+import { FORMAT_DEFAULT } from '../../constant';
+export default (function (o, c, d) {
+ var proto = c.prototype;
+ var oldFormat = proto.format;
+ var englishFormats = {
+ LTS: 'h:mm:ss A',
+ LT: 'h:mm A',
+ L: 'MM/DD/YYYY',
+ LL: 'MMMM D, YYYY',
+ LLL: 'MMMM D, YYYY h:mm A',
+ LLLL: 'dddd, MMMM D, YYYY h:mm A'
+ };
+ d.en.formats = englishFormats;
+
+ var t = function t(format) {
+ return format.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function (_, a, b) {
+ return a || b.slice(1);
+ });
+ };
+
+ proto.format = function (formatStr) {
+ if (formatStr === void 0) {
+ formatStr = FORMAT_DEFAULT;
+ }
+
+ var _this$$locale = this.$locale(),
+ _this$$locale$formats = _this$$locale.formats,
+ formats = _this$$locale$formats === void 0 ? {} : _this$$locale$formats;
+
+ var result = formatStr.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, function (_, a, b) {
+ var B = b && b.toUpperCase();
+ return a || formats[b] || englishFormats[b] || t(formats[B]);
+ });
+ return oldFormat.call(this, result);
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/minMax/index.js b/node_modules/dayjs/esm/plugin/minMax/index.js
new file mode 100644
index 0000000..0fc6c08
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/minMax/index.js
@@ -0,0 +1,36 @@
+export default (function (o, c, d) {
+ var sortBy = function sortBy(method, dates) {
+ if (!dates.length) {
+ return d();
+ }
+
+ if (dates.length === 1 && dates[0].length > 0) {
+ var _dates = dates;
+ dates = _dates[0];
+ }
+
+ var result;
+ var _dates2 = dates;
+ result = _dates2[0];
+
+ for (var i = 1; i < dates.length; i += 1) {
+ if (!dates[i].isValid() || dates[i][method](result)) {
+ result = dates[i];
+ }
+ }
+
+ return result;
+ };
+
+ d.max = function () {
+ var args = [].slice.call(arguments, 0); // eslint-disable-line prefer-rest-params
+
+ return sortBy('isAfter', args);
+ };
+
+ d.min = function () {
+ var args = [].slice.call(arguments, 0); // eslint-disable-line prefer-rest-params
+
+ return sortBy('isBefore', args);
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/quarterOfYear/index.js b/node_modules/dayjs/esm/plugin/quarterOfYear/index.js
new file mode 100644
index 0000000..e376889
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/quarterOfYear/index.js
@@ -0,0 +1,41 @@
+import { Q, M, D } from '../../constant';
+export default (function (o, c) {
+ var proto = c.prototype;
+
+ proto.quarter = function (quarter) {
+ if (!this.$utils().u(quarter)) {
+ return this.month(this.month() % 3 + (quarter - 1) * 3);
+ }
+
+ return Math.ceil((this.month() + 1) / 3);
+ };
+
+ var oldAdd = proto.add;
+
+ proto.add = function (number, units) {
+ number = Number(number); // eslint-disable-line no-param-reassign
+
+ var unit = this.$utils().p(units);
+
+ if (unit === Q) {
+ return this.add(number * 3, M);
+ }
+
+ return oldAdd.bind(this)(number, units);
+ };
+
+ var oldStartOf = proto.startOf;
+
+ proto.startOf = function (units, startOf) {
+ var utils = this.$utils();
+ var isStartOf = !utils.u(startOf) ? startOf : true;
+ var unit = utils.p(units);
+
+ if (unit === Q) {
+ var quarter = this.quarter() - 1;
+ return isStartOf ? this.month(quarter * 3).startOf(M).startOf(D) : this.month(quarter * 3 + 2).endOf(M).endOf(D);
+ }
+
+ return oldStartOf.bind(this)(units, startOf);
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/relativeTime/index.js b/node_modules/dayjs/esm/plugin/relativeTime/index.js
new file mode 100644
index 0000000..8c3d549
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/relativeTime/index.js
@@ -0,0 +1,114 @@
+import * as C from '../../constant';
+export default (function (o, c, d) {
+ var proto = c.prototype;
+ d.en.relativeTime = {
+ future: 'in %s',
+ past: '%s ago',
+ s: 'a few seconds',
+ m: 'a minute',
+ mm: '%d minutes',
+ h: 'an hour',
+ hh: '%d hours',
+ d: 'a day',
+ dd: '%d days',
+ M: 'a month',
+ MM: '%d months',
+ y: 'a year',
+ yy: '%d years'
+ };
+
+ var fromTo = function fromTo(input, withoutSuffix, instance, isFrom) {
+ var loc = instance.$locale().relativeTime;
+ var T = [{
+ l: 's',
+ r: 44,
+ d: C.S
+ }, {
+ l: 'm',
+ r: 89
+ }, {
+ l: 'mm',
+ r: 44,
+ d: C.MIN
+ }, {
+ l: 'h',
+ r: 89
+ }, {
+ l: 'hh',
+ r: 21,
+ d: C.H
+ }, {
+ l: 'd',
+ r: 35
+ }, {
+ l: 'dd',
+ r: 25,
+ d: C.D
+ }, {
+ l: 'M',
+ r: 45
+ }, {
+ l: 'MM',
+ r: 10,
+ d: C.M
+ }, {
+ l: 'y',
+ r: 17
+ }, {
+ l: 'yy',
+ d: C.Y
+ }];
+ var Tl = T.length;
+ var result;
+ var out;
+ var isFuture;
+
+ for (var i = 0; i < Tl; i += 1) {
+ var t = T[i];
+
+ if (t.d) {
+ result = isFrom ? d(input).diff(instance, t.d, true) : instance.diff(input, t.d, true);
+ }
+
+ var abs = Math.round(Math.abs(result));
+ isFuture = result > 0;
+
+ if (abs <= t.r || !t.r) {
+ if (abs === 1 && i > 0) t = T[i - 1]; // 1 minutes -> a minute
+
+ var format = loc[t.l];
+
+ if (typeof format === 'string') {
+ out = format.replace('%d', abs);
+ } else {
+ out = format(abs, withoutSuffix, t.l, isFuture);
+ }
+
+ break;
+ }
+ }
+
+ if (withoutSuffix) return out;
+ return (isFuture ? loc.future : loc.past).replace('%s', out);
+ };
+
+ proto.to = function (input, withoutSuffix) {
+ return fromTo(input, withoutSuffix, this, true);
+ };
+
+ proto.from = function (input, withoutSuffix) {
+ return fromTo(input, withoutSuffix, this);
+ };
+
+ var makeNow = function makeNow(thisDay) {
+ return thisDay.$u ? d.utc() : d();
+ };
+
+ proto.toNow = function (withoutSuffix) {
+ return this.to(makeNow(this), withoutSuffix);
+ };
+
+ proto.fromNow = function (withoutSuffix) {
+ return this.from(makeNow(this), withoutSuffix);
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/toArray/index.js b/node_modules/dayjs/esm/plugin/toArray/index.js
new file mode 100644
index 0000000..2b795f4
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/toArray/index.js
@@ -0,0 +1,7 @@
+export default (function (o, c) {
+ var proto = c.prototype;
+
+ proto.toArray = function () {
+ return [this.$y, this.$M, this.$D, this.$H, this.$m, this.$s, this.$ms];
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/toObject/index.js b/node_modules/dayjs/esm/plugin/toObject/index.js
new file mode 100644
index 0000000..e35d93f
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/toObject/index.js
@@ -0,0 +1,15 @@
+export default (function (o, c) {
+ var proto = c.prototype;
+
+ proto.toObject = function () {
+ return {
+ years: this.$y,
+ months: this.$M,
+ date: this.$D,
+ hours: this.$H,
+ minutes: this.$m,
+ seconds: this.$s,
+ milliseconds: this.$ms
+ };
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/updateLocale/index.js b/node_modules/dayjs/esm/plugin/updateLocale/index.js
new file mode 100644
index 0000000..1b9965c
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/updateLocale/index.js
@@ -0,0 +1,12 @@
+export default (function (option, Dayjs, dayjs) {
+ dayjs.updateLocale = function (locale, customConfig) {
+ var localeList = dayjs.Ls;
+ var localeConfig = localeList[locale];
+ if (!localeConfig) return;
+ var customConfigKeys = customConfig ? Object.keys(customConfig) : [];
+ customConfigKeys.forEach(function (c) {
+ localeConfig[c] = customConfig[c];
+ });
+ return localeConfig; // eslint-disable-line consistent-return
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/utc/index.js b/node_modules/dayjs/esm/plugin/utc/index.js
new file mode 100644
index 0000000..845a68c
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/utc/index.js
@@ -0,0 +1,116 @@
+import { MILLISECONDS_A_MINUTE, MIN } from '../../constant';
+export default (function (option, Dayjs, dayjs) {
+ var localOffset = new Date().getTimezoneOffset();
+ var proto = Dayjs.prototype;
+
+ dayjs.utc = function (date, format) {
+ var cfg = {
+ date: date,
+ utc: true,
+ format: format
+ };
+ return new Dayjs(cfg); // eslint-disable-line no-use-before-define
+ };
+
+ proto.utc = function () {
+ return dayjs(this.toDate(), {
+ locale: this.$L,
+ utc: true
+ });
+ };
+
+ proto.local = function () {
+ return dayjs(this.toDate(), {
+ locale: this.$L,
+ utc: false
+ });
+ };
+
+ var oldParse = proto.parse;
+
+ proto.parse = function (cfg) {
+ if (cfg.utc) {
+ this.$u = true;
+ }
+
+ if (!this.$utils().u(cfg.$offset)) {
+ this.$offset = cfg.$offset;
+ }
+
+ oldParse.call(this, cfg);
+ };
+
+ var oldInit = proto.init;
+
+ proto.init = function () {
+ if (this.$u) {
+ var $d = this.$d;
+ this.$y = $d.getUTCFullYear();
+ this.$M = $d.getUTCMonth();
+ this.$D = $d.getUTCDate();
+ this.$W = $d.getUTCDay();
+ this.$H = $d.getUTCHours();
+ this.$m = $d.getUTCMinutes();
+ this.$s = $d.getUTCSeconds();
+ this.$ms = $d.getUTCMilliseconds();
+ } else {
+ oldInit.call(this);
+ }
+ };
+
+ var oldUtcOffset = proto.utcOffset;
+
+ proto.utcOffset = function (input) {
+ var _this$$utils = this.$utils(),
+ u = _this$$utils.u;
+
+ if (u(input)) {
+ if (this.$u) {
+ return 0;
+ }
+
+ if (!u(this.$offset)) {
+ return this.$offset;
+ }
+
+ return oldUtcOffset.call(this);
+ }
+
+ var offset = Math.abs(input) <= 16 ? input * 60 : input;
+ var ins;
+
+ if (input !== 0) {
+ ins = this.local().add(offset + localOffset, MIN);
+ ins.$offset = offset;
+ } else {
+ ins = this.utc();
+ }
+
+ return ins;
+ };
+
+ var oldFormat = proto.format;
+ var UTC_FORMAT_DEFAULT = 'YYYY-MM-DDTHH:mm:ss[Z]';
+
+ proto.format = function (formatStr) {
+ var str = formatStr || (this.$u ? UTC_FORMAT_DEFAULT : '');
+ return oldFormat.call(this, str);
+ };
+
+ proto.valueOf = function () {
+ var addedOffset = !this.$utils().u(this.$offset) ? this.$offset + localOffset : 0;
+ return this.$d.valueOf() - addedOffset * MILLISECONDS_A_MINUTE;
+ };
+
+ proto.isUTC = function () {
+ return !!this.$u;
+ };
+
+ proto.toISOString = function () {
+ return this.toDate().toISOString();
+ };
+
+ proto.toString = function () {
+ return this.toDate().toUTCString();
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/weekOfYear/index.js b/node_modules/dayjs/esm/plugin/weekOfYear/index.js
new file mode 100644
index 0000000..dd35eda
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/weekOfYear/index.js
@@ -0,0 +1,43 @@
+import { MS, Y, D, W } from '../../constant';
+export default (function (o, c) {
+ var proto = c.prototype;
+
+ proto.week = function (week) {
+ if (week === void 0) {
+ week = null;
+ }
+
+ if (week !== null) {
+ return this.add((week - this.week()) * 7, D);
+ }
+
+ var yearStart = this.$locale().yearStart || 1;
+
+ if (this.month() === 11 && this.date() > 25) {
+ var nextYearStartDay = this.startOf(Y).add(1, Y).date(yearStart);
+ var thisEndOfWeek = this.endOf(W);
+
+ if (nextYearStartDay.isBefore(thisEndOfWeek)) {
+ return 1;
+ }
+ }
+
+ var yearStartDay = this.startOf(Y).date(yearStart);
+ var yearStartWeek = yearStartDay.startOf(W).subtract(1, MS);
+ var diffInWeek = this.diff(yearStartWeek, W, true);
+
+ if (diffInWeek < 0) {
+ return this.startOf('week').week();
+ }
+
+ return Math.ceil(diffInWeek);
+ };
+
+ proto.weeks = function (week) {
+ if (week === void 0) {
+ week = null;
+ }
+
+ return this.week(week);
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/weekYear/index.js b/node_modules/dayjs/esm/plugin/weekYear/index.js
new file mode 100644
index 0000000..676f56f
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/weekYear/index.js
@@ -0,0 +1,15 @@
+export default (function (o, c) {
+ var proto = c.prototype;
+
+ proto.weekYear = function () {
+ var month = this.month();
+ var weekOfYear = this.week();
+ var year = this.year();
+
+ if (weekOfYear === 1 && month === 11) {
+ return year + 1;
+ }
+
+ return year;
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/plugin/weekday/index.js b/node_modules/dayjs/esm/plugin/weekday/index.js
new file mode 100644
index 0000000..18032b3
--- /dev/null
+++ b/node_modules/dayjs/esm/plugin/weekday/index.js
@@ -0,0 +1,15 @@
+export default (function (o, c) {
+ var proto = c.prototype;
+
+ proto.weekday = function (input) {
+ var weekStart = this.$locale().weekStart || 0;
+ var $W = this.$W;
+ var weekday = ($W < weekStart ? $W + 7 : $W) - weekStart;
+
+ if (this.$utils().u(input)) {
+ return weekday;
+ }
+
+ return this.subtract(weekday, 'day').add(input, 'day');
+ };
+});
\ No newline at end of file
diff --git a/node_modules/dayjs/esm/utils.js b/node_modules/dayjs/esm/utils.js
new file mode 100644
index 0000000..8705345
--- /dev/null
+++ b/node_modules/dayjs/esm/utils.js
@@ -0,0 +1,57 @@
+import * as C from './constant';
+
+var padStart = function padStart(string, length, pad) {
+ var s = String(string);
+ if (!s || s.length >= length) return string;
+ return "" + Array(length + 1 - s.length).join(pad) + string;
+};
+
+var padZoneStr = function padZoneStr(instance) {
+ var negMinuts = -instance.utcOffset();
+ var minutes = Math.abs(negMinuts);
+ var hourOffset = Math.floor(minutes / 60);
+ var minuteOffset = minutes % 60;
+ return "" + (negMinuts <= 0 ? '+' : '-') + padStart(hourOffset, 2, '0') + ":" + padStart(minuteOffset, 2, '0');
+};
+
+var monthDiff = function monthDiff(a, b) {
+ // function from moment.js in order to keep the same result
+ var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month());
+ var anchor = a.clone().add(wholeMonthDiff, C.M);
+ var c = b - anchor < 0;
+ var anchor2 = a.clone().add(wholeMonthDiff + (c ? -1 : 1), C.M);
+ return Number(-(wholeMonthDiff + (b - anchor) / (c ? anchor - anchor2 : anchor2 - anchor)) || 0);
+};
+
+var absFloor = function absFloor(n) {
+ return n < 0 ? Math.ceil(n) || 0 : Math.floor(n);
+};
+
+var prettyUnit = function prettyUnit(u) {
+ var special = {
+ M: C.M,
+ y: C.Y,
+ w: C.W,
+ d: C.D,
+ D: C.DATE,
+ h: C.H,
+ m: C.MIN,
+ s: C.S,
+ ms: C.MS,
+ Q: C.Q
+ };
+ return special[u] || String(u || '').toLowerCase().replace(/s$/, '');
+};
+
+var isUndefined = function isUndefined(s) {
+ return s === undefined;
+};
+
+export default {
+ s: padStart,
+ z: padZoneStr,
+ m: monthDiff,
+ a: absFloor,
+ p: prettyUnit,
+ u: isUndefined
+};
\ No newline at end of file
diff --git a/node_modules/dayjs/index.d.ts b/node_modules/dayjs/index.d.ts
new file mode 100644
index 0000000..a0f38c8
--- /dev/null
+++ b/node_modules/dayjs/index.d.ts
@@ -0,0 +1,110 @@
+///
+
+export = dayjs;
+declare function dayjs (date?: dayjs.ConfigType, option?: dayjs.OptionType, locale?: string): dayjs.Dayjs
+
+declare namespace dayjs {
+ export type ConfigType = string | number | Date | Dayjs
+
+ export type OptionType = { locale?: string, format?: string, utc?: boolean } | string
+
+ type UnitTypeShort = 'd' | 'M' | 'y' | 'h' | 'm' | 's' | 'ms'
+ export type UnitType = 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'month' | 'year' | 'date' | UnitTypeShort;
+
+ export type OpUnitType = UnitType | "week" | 'w';
+ export type QUnitType = UnitType | "quarter" | 'Q';
+
+ class Dayjs {
+ constructor (config?: ConfigType)
+
+ clone(): Dayjs
+
+ isValid(): boolean
+
+ year(): number
+
+ year(value: number): Dayjs
+
+ month(): number
+
+ month(value: number): Dayjs
+
+ date(): number
+
+ date(value: number): Dayjs
+
+ day(): number
+
+ day(value: number): Dayjs
+
+ hour(): number
+
+ hour(value: number): Dayjs
+
+ minute(): number
+
+ minute(value: number): Dayjs
+
+ second(): number
+
+ second(value: number): Dayjs
+
+ millisecond(): number
+
+ millisecond(value: number): Dayjs
+
+ set(unit: UnitType, value: number): Dayjs
+
+ get(unit: UnitType): number
+
+ add(value: number, unit: OpUnitType): Dayjs
+
+ subtract(value: number, unit: OpUnitType): Dayjs
+
+ startOf(unit: OpUnitType): Dayjs
+
+ endOf(unit: OpUnitType): Dayjs
+
+ format(template?: string): string
+
+ diff(date: ConfigType, unit?: QUnitType | OpUnitType, float?: boolean): number
+
+ valueOf(): number
+
+ unix(): number
+
+ daysInMonth(): number
+
+ toDate(): Date
+
+ toJSON(): string
+
+ toISOString(): string
+
+ toString(): string
+
+ utcOffset(): number
+
+ isBefore(date: ConfigType, unit?: OpUnitType): boolean
+
+ isSame(date: ConfigType, unit?: OpUnitType): boolean
+
+ isAfter(date: ConfigType, unit?: OpUnitType): boolean
+
+ locale(): string
+
+ locale(preset: string | ILocale, object?: Partial): Dayjs
+ }
+
+ export type PluginFunc = (option: any, c: typeof Dayjs, d: typeof dayjs) => void
+
+ export function extend(plugin: PluginFunc, option?: any): Dayjs
+
+ export function locale(preset: string | ILocale, object?: Partial, isLocal?: boolean): string
+
+ export function isDayjs(d: any): d is Dayjs
+
+ export function unix(t: number): Dayjs
+
+ const Ls : { [key: string] : ILocale }
+}
diff --git a/node_modules/dayjs/locale/af.js b/node_modules/dayjs/locale/af.js
new file mode 100644
index 0000000..6f3bb93
--- /dev/null
+++ b/node_modules/dayjs/locale/af.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],a):e.dayjs_locale_af=a(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var a={name:"af",weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),weekStart:1,weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"}};return e.locale(a,null,!0),a});
diff --git a/node_modules/dayjs/locale/ar-dz.js b/node_modules/dayjs/locale/ar-dz.js
new file mode 100644
index 0000000..82e6030
--- /dev/null
+++ b/node_modules/dayjs/locale/ar-dz.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_ar_dz=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"ar-dz",weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/ar-kw.js b/node_modules/dayjs/locale/ar-kw.js
new file mode 100644
index 0000000..5a2f7e6
--- /dev/null
+++ b/node_modules/dayjs/locale/ar-kw.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_ar_kw=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"ar-kw",weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/ar-ly.js b/node_modules/dayjs/locale/ar-ly.js
new file mode 100644
index 0000000..5cfad5e
--- /dev/null
+++ b/node_modules/dayjs/locale/ar-ly.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_ar_ly=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"ar-ly",weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekStart:6,weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/ar-ma.js b/node_modules/dayjs/locale/ar-ma.js
new file mode 100644
index 0000000..df4c75e
--- /dev/null
+++ b/node_modules/dayjs/locale/ar-ma.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_ar_ma=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"ar-ma",weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekStart:6,weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/ar-sa.js b/node_modules/dayjs/locale/ar-sa.js
new file mode 100644
index 0000000..4f4f82a
--- /dev/null
+++ b/node_modules/dayjs/locale/ar-sa.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_ar_sa=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"ar-sa",weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/ar-tn.js b/node_modules/dayjs/locale/ar-tn.js
new file mode 100644
index 0000000..3a042a3
--- /dev/null
+++ b/node_modules/dayjs/locale/ar-tn.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_ar_tn=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"ar-tn",weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekStart:1,weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/ar.js b/node_modules/dayjs/locale/ar.js
new file mode 100644
index 0000000..e7210c3
--- /dev/null
+++ b/node_modules/dayjs/locale/ar.js
@@ -0,0 +1 @@
+!function(e,_){"object"==typeof exports&&"undefined"!=typeof module?module.exports=_(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],_):e.dayjs_locale_ar=_(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var _="يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),t={name:"ar",weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),months:_,monthsShort:_,weekStart:6,relativeTime:{future:"بعد %s",past:"منذ %s",s:"ثانية واحدة",m:"دقيقة واحدة",mm:"دقائق %d",h:"ساعة واحدة",hh:"ساعات %d",d:"يوم واحد",dd:"أيام %d",M:"شهر واحد",MM:"شهرا %d",y:"عام واحد",yy:"أعوام %d"},ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"}};return e.locale(t,null,!0),t});
diff --git a/node_modules/dayjs/locale/az.js b/node_modules/dayjs/locale/az.js
new file mode 100644
index 0000000..0b62a51
--- /dev/null
+++ b/node_modules/dayjs/locale/az.js
@@ -0,0 +1 @@
+!function(a,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):a.dayjs_locale_az=e(a.dayjs)}(this,function(a){"use strict";a=a&&a.hasOwnProperty("default")?a.default:a;var e={name:"az",weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"bir neçə saniyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},ordinal:function(a){return a}};return a.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/be.js b/node_modules/dayjs/locale/be.js
new file mode 100644
index 0000000..cb2f937
--- /dev/null
+++ b/node_modules/dayjs/locale/be.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_be=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"be",weekdays:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),months:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),weekStart:1,weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/bg.js b/node_modules/dayjs/locale/bg.js
new file mode 100644
index 0000000..41b6e1f
--- /dev/null
+++ b/node_modules/dayjs/locale/bg.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_bg=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"bg",weekdays:"Неделя_Понеделник_Вторник_Сряда_Четвъртък_Петък_Събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),months:"Януари_Февруари_Март_Април_Май_Юни_Юли_Август_Септември_Октомври_Ноември_Декември".split("_"),monthsShort:"Янр_Фев_Мар_Апр_Май_Юни_Юли_Авг_Сеп_Окт_Ное_Дек".split("_"),weekStart:1,ordinal:function(_){return _+"."},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/bi.js b/node_modules/dayjs/locale/bi.js
new file mode 100644
index 0000000..8f48637
--- /dev/null
+++ b/node_modules/dayjs/locale/bi.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],a):e.dayjs_locale_bi=a(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var a={name:"bi",weekdays:"Sande_Mande_Tusde_Wenesde_Tosde_Fraede_Sarade".split("_"),months:"Januari_Februari_Maj_Eprel_Mei_Jun_Julae_Okis_Septemba_Oktoba_Novemba_Disemba".split("_"),weekStart:1,weekdaysShort:"San_Man_Tus_Wen_Tos_Frae_Sar".split("_"),monthsShort:"Jan_Feb_Maj_Epr_Mai_Jun_Jul_Oki_Sep_Okt_Nov_Dis".split("_"),weekdaysMin:"San_Ma_Tu_We_To_Fr_Sar".split("_"),ordinal:function(e){return e},formats:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},relativeTime:{future:"lo %s",past:"%s bifo",s:"sam seken",m:"wan minit",mm:"%d minit",h:"wan haoa",hh:"%d haoa",d:"wan dei",dd:"%d dei",M:"wan manis",MM:"%d manis",y:"wan yia",yy:"%d yia"}};return e.locale(a,null,!0),a});
diff --git a/node_modules/dayjs/locale/bm.js b/node_modules/dayjs/locale/bm.js
new file mode 100644
index 0000000..8e986e9
--- /dev/null
+++ b/node_modules/dayjs/locale/bm.js
@@ -0,0 +1 @@
+!function(a,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):a.dayjs_locale_bm=e(a.dayjs)}(this,function(a){"use strict";a=a&&a.hasOwnProperty("default")?a.default:a;var e={name:"bm",weekdays:"Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo".split("_"),weekStart:1,weekdaysShort:"Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib".split("_"),monthsShort:"Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),ordinal:function(a){return a},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm"},relativeTime:{future:"%s kɔnɔ",past:"a bɛ %s bɔ",s:"sanga dama dama",m:"miniti kelen",mm:"miniti %d",h:"lɛrɛ kelen",hh:"lɛrɛ %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"}};return a.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/bn.js b/node_modules/dayjs/locale/bn.js
new file mode 100644
index 0000000..cf92fbf
--- /dev/null
+++ b/node_modules/dayjs/locale/bn.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_bn=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"bn",weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),months:"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),ordinal:function(_){return _},formats:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/bo.js b/node_modules/dayjs/locale/bo.js
new file mode 100644
index 0000000..caf55d3
--- /dev/null
+++ b/node_modules/dayjs/locale/bo.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_bo=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"bo",weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),ordinal:function(_){return _},formats:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/br.js b/node_modules/dayjs/locale/br.js
new file mode 100644
index 0000000..5acdc8f
--- /dev/null
+++ b/node_modules/dayjs/locale/br.js
@@ -0,0 +1 @@
+!function(e,_){"object"==typeof exports&&"undefined"!=typeof module?module.exports=_(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],_):e.dayjs_locale_br=_(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var _={name:"br",weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),weekStart:1,weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),ordinal:function(e){return e},formats:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"}};return e.locale(_,null,!0),_});
diff --git a/node_modules/dayjs/locale/bs.js b/node_modules/dayjs/locale/bs.js
new file mode 100644
index 0000000..4b758a3
--- /dev/null
+++ b/node_modules/dayjs/locale/bs.js
@@ -0,0 +1 @@
+!function(e,_){"object"==typeof exports&&"undefined"!=typeof module?module.exports=_(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],_):e.dayjs_locale_bs=_(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var _={name:"bs",weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),weekStart:1,weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),ordinal:function(e){return e},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"}};return e.locale(_,null,!0),_});
diff --git a/node_modules/dayjs/locale/ca.js b/node_modules/dayjs/locale/ca.js
new file mode 100644
index 0000000..9e65af7
--- /dev/null
+++ b/node_modules/dayjs/locale/ca.js
@@ -0,0 +1 @@
+!function(e,s){"object"==typeof exports&&"undefined"!=typeof module?module.exports=s(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],s):e.dayjs_locale_ca=s(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var s={name:"ca",weekdays:"Diumenge_Dilluns_Dimarts_Dimecres_Dijous_Divendres_Dissabte".split("_"),weekdaysShort:"Dg._Dl._Dt._Dc._Dj._Dv._Ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),months:"Gener_Febrer_Març_Abril_Maig_Juny_Juliol_Agost_Setembre_Octubre_Novembre_Desembre".split("_"),monthsShort:"Gen._Febr._Març_Abr._Maig_Juny_Jul._Ag._Set._Oct._Nov._Des.".split("_"),weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",ll:"D MMM YYYY",lll:"D MMM YYYY, H:mm",llll:"ddd D MMM YYYY, H:mm"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},ordinal:function(e){return e+"º"}};return e.locale(s,null,!0),s});
diff --git a/node_modules/dayjs/locale/cs.js b/node_modules/dayjs/locale/cs.js
new file mode 100644
index 0000000..49d3ab9
--- /dev/null
+++ b/node_modules/dayjs/locale/cs.js
@@ -0,0 +1 @@
+!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],n):e.dayjs_locale_cs=n(e.dayjs)}(this,function(e){"use strict";function n(e){return e>1&&e<5&&1!=~~(e/10)}function t(e,t,s,r){var d=e+" ";switch(s){case"s":return t||r?"pár sekund":"pár sekundami";case"m":return t?"minuta":r?"minutu":"minutou";case"mm":return t||r?d+(n(e)?"minuty":"minut"):d+"minutami";case"h":return t?"hodina":r?"hodinu":"hodinou";case"hh":return t||r?d+(n(e)?"hodiny":"hodin"):d+"hodinami";case"d":return t||r?"den":"dnem";case"dd":return t||r?d+(n(e)?"dny":"dní"):d+"dny";case"M":return t||r?"měsíc":"měsícem";case"MM":return t||r?d+(n(e)?"měsíce":"měsíců"):d+"měsíci";case"y":return t||r?"rok":"rokem";case"yy":return t||r?d+(n(e)?"roky":"let"):d+"lety"}}e=e&&e.hasOwnProperty("default")?e.default:e;var s={name:"cs",weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),months:"leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),monthsShort:"led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_"),weekStart:1,ordinal:function(e){return e+"."},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},relativeTime:{future:"za %s",past:"před %s",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t}};return e.locale(s,null,!0),s});
diff --git a/node_modules/dayjs/locale/cv.js b/node_modules/dayjs/locale/cv.js
new file mode 100644
index 0000000..0f4b099
--- /dev/null
+++ b/node_modules/dayjs/locale/cv.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_cv=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"cv",weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),weekStart:1,weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/cy.js b/node_modules/dayjs/locale/cy.js
new file mode 100644
index 0000000..4af19a3
--- /dev/null
+++ b/node_modules/dayjs/locale/cy.js
@@ -0,0 +1 @@
+!function(d,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):d.dayjs_locale_cy=e(d.dayjs)}(this,function(d){"use strict";d=d&&d.hasOwnProperty("default")?d.default:d;var e={name:"cy",weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),weekStart:1,weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),ordinal:function(d){return d},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"}};return d.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/da.js b/node_modules/dayjs/locale/da.js
new file mode 100644
index 0000000..954df79
--- /dev/null
+++ b/node_modules/dayjs/locale/da.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],t):e.dayjs_locale_da=t(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var t={name:"da",weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn._man._tirs._ons._tors._fre._lør.".split("_"),weekdaysMin:"sø._ma._ti._on._to._fr._lø.".split("_"),months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj_juni_juli_aug._sept._okt._nov._dec.".split("_"),weekStart:1,ordinal:function(e){return e+"."},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"}};return e.locale(t,null,!0),t});
diff --git a/node_modules/dayjs/locale/de-at.js b/node_modules/dayjs/locale/de-at.js
new file mode 100644
index 0000000..da98717
--- /dev/null
+++ b/node_modules/dayjs/locale/de-at.js
@@ -0,0 +1 @@
+!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],n):e.dayjs_locale_de_at=n(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var n={name:"de-at",weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),ordinal:function(e){return e+"."},weekStart:1,formats:{LTS:"HH:mm:ss",LT:"HH:mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:"einer Minute",mm:"%d Minuten",h:"einer Stunde",hh:"%d Stunden",d:"einem Tag",dd:"%d Tagen",M:"einem Monat",MM:"%d Monaten",y:"einem Jahr",yy:"%d Jahren"}};return e.locale(n,null,!0),n});
diff --git a/node_modules/dayjs/locale/de-ch.js b/node_modules/dayjs/locale/de-ch.js
new file mode 100644
index 0000000..51f5d48
--- /dev/null
+++ b/node_modules/dayjs/locale/de-ch.js
@@ -0,0 +1 @@
+!function(e,_){"object"==typeof exports&&"undefined"!=typeof module?module.exports=_(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],_):e.dayjs_locale_de_ch=_(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var _={name:"de-ch",weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),weekStart:1,weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"}};return e.locale(_,null,!0),_});
diff --git a/node_modules/dayjs/locale/de.js b/node_modules/dayjs/locale/de.js
new file mode 100644
index 0000000..79a32fe
--- /dev/null
+++ b/node_modules/dayjs/locale/de.js
@@ -0,0 +1 @@
+!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],n):e.dayjs_locale_de=n(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var n={name:"de",weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan_Feb_März_Apr_Mai_Juni_Juli_Aug_Sept_Okt_Nov_Dez".split("_"),ordinal:function(e){return e+"."},weekStart:1,formats:{LTS:"HH:mm:ss",LT:"HH:mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},relativeTime:{future:"in %s",past:"vor %s",s:"wenigen Sekunden",m:"einer Minute",mm:"%d Minuten",h:"einer Stunde",hh:"%d Stunden",d:"einem Tag",dd:"%d Tagen",M:"einem Monat",MM:"%d Monaten",y:"einem Jahr",yy:"%d Jahren"}};return e.locale(n,null,!0),n});
diff --git a/node_modules/dayjs/locale/dv.js b/node_modules/dayjs/locale/dv.js
new file mode 100644
index 0000000..d9f24d6
--- /dev/null
+++ b/node_modules/dayjs/locale/dv.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_dv=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"dv",weekdays:"އާދިއްތަ_ހޯމަ_އަންގާރަ_ބުދަ_ބުރާސްފަތި_ހުކުރު_ހޮނިހިރު".split("_"),months:"ޖެނުއަރީ_ފެބްރުއަރީ_މާރިޗު_އޭޕްރީލު_މޭ_ޖޫން_ޖުލައި_އޯގަސްޓު_ސެޕްޓެމްބަރު_އޮކްޓޯބަރު_ނޮވެމްބަރު_ޑިސެމްބަރު".split("_"),weekStart:7,weekdaysShort:"އާދިއްތަ_ހޯމަ_އަންގާރަ_ބުދަ_ބުރާސްފަތި_ހުކުރު_ހޮނިހިރު".split("_"),monthsShort:"ޖެނުއަރީ_ފެބްރުއަރީ_މާރިޗު_އޭޕްރީލު_މޭ_ޖޫން_ޖުލައި_އޯގަސްޓު_ސެޕްޓެމްބަރު_އޮކްޓޯބަރު_ނޮވެމްބަރު_ޑިސެމްބަރު".split("_"),weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/el.js b/node_modules/dayjs/locale/el.js
new file mode 100644
index 0000000..f98cf52
--- /dev/null
+++ b/node_modules/dayjs/locale/el.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_el=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"el",weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),months:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαι_Ιουν_Ιουλ_Αυγ_Σεπτ_Οκτ_Νοε_Δεκ".split("_"),ordinal:function(_){return _},weekStart:1,relativeTime:{future:"σε %s",past:"πριν %s",s:"μερικά δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένα μήνα",MM:"%d μήνες",y:"ένα χρόνο",yy:"%d χρόνια"},formats:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/en-SG.js b/node_modules/dayjs/locale/en-SG.js
new file mode 100644
index 0000000..4fa8c8b
--- /dev/null
+++ b/node_modules/dayjs/locale/en-SG.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],a):e.dayjs_locale_en_SG=a(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var a={name:"en-SG",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),weekStart:1,weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"}};return e.locale(a,null,!0),a});
diff --git a/node_modules/dayjs/locale/en-au.js b/node_modules/dayjs/locale/en-au.js
new file mode 100644
index 0000000..804e902
--- /dev/null
+++ b/node_modules/dayjs/locale/en-au.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],a):e.dayjs_locale_en_au=a(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var a={name:"en-au",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),weekStart:1,weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ordinal:function(e){return e},formats:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"}};return e.locale(a,null,!0),a});
diff --git a/node_modules/dayjs/locale/en-ca.js b/node_modules/dayjs/locale/en-ca.js
new file mode 100644
index 0000000..e2c7715
--- /dev/null
+++ b/node_modules/dayjs/locale/en-ca.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],a):e.dayjs_locale_en_ca=a(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var a={name:"en-ca",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ordinal:function(e){return e},formats:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"}};return e.locale(a,null,!0),a});
diff --git a/node_modules/dayjs/locale/en-gb.js b/node_modules/dayjs/locale/en-gb.js
new file mode 100644
index 0000000..aa7d9d9
--- /dev/null
+++ b/node_modules/dayjs/locale/en-gb.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],a):e.dayjs_locale_en_gb=a(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var a={name:"en-gb",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekStart:1,yearStart:4,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},ordinal:function(e){var a=["th","st","nd","rd"],_=e%100;return"["+e+(a[(_-20)%10]||a[_]||a[0])+"]"}};return e.locale(a,null,!0),a});
diff --git a/node_modules/dayjs/locale/en-ie.js b/node_modules/dayjs/locale/en-ie.js
new file mode 100644
index 0000000..c3fb553
--- /dev/null
+++ b/node_modules/dayjs/locale/en-ie.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],a):e.dayjs_locale_en_ie=a(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var a={name:"en-ie",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),weekStart:1,weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"}};return e.locale(a,null,!0),a});
diff --git a/node_modules/dayjs/locale/en-il.js b/node_modules/dayjs/locale/en-il.js
new file mode 100644
index 0000000..a16a49b
--- /dev/null
+++ b/node_modules/dayjs/locale/en-il.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],a):e.dayjs_locale_en_il=a(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var a={name:"en-il",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"}};return e.locale(a,null,!0),a});
diff --git a/node_modules/dayjs/locale/en-nz.js b/node_modules/dayjs/locale/en-nz.js
new file mode 100644
index 0000000..9cf778c
--- /dev/null
+++ b/node_modules/dayjs/locale/en-nz.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],a):e.dayjs_locale_en_nz=a(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var a={name:"en-nz",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),weekStart:1,weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ordinal:function(e){return e},formats:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"}};return e.locale(a,null,!0),a});
diff --git a/node_modules/dayjs/locale/en.js b/node_modules/dayjs/locale/en.js
new file mode 100644
index 0000000..f33e352
--- /dev/null
+++ b/node_modules/dayjs/locale/en.js
@@ -0,0 +1 @@
+!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):e.dayjs_locale_en=n()}(this,function(){"use strict";return{name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")}});
diff --git a/node_modules/dayjs/locale/eo.js b/node_modules/dayjs/locale/eo.js
new file mode 100644
index 0000000..d130bf3
--- /dev/null
+++ b/node_modules/dayjs/locale/eo.js
@@ -0,0 +1 @@
+!function(o,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):o.dayjs_locale_eo=e(o.dayjs)}(this,function(o){"use strict";o=o&&o.hasOwnProperty("default")?o.default:o;var e={name:"eo",weekdays:"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),weekStart:1,weekdaysShort:"dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdaysMin:"di_lu_ma_me_ĵa_ve_sa".split("_"),ordinal:function(o){return o},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},relativeTime:{future:"post %s",past:"antaŭ %s",s:"sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"}};return o.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/es-do.js b/node_modules/dayjs/locale/es-do.js
new file mode 100644
index 0000000..57ebf94
--- /dev/null
+++ b/node_modules/dayjs/locale/es-do.js
@@ -0,0 +1 @@
+!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],o):e.dayjs_locale_es_do=o(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var o={name:"es-do",weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),months:"Enero_Febrero_Marzo_Abril_Mayo_Junio_Julio_Agosto_Septiembre_Octubre_Noviembre_Diciembre".split("_"),monthsShort:"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),weekStart:1,relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinal:function(e){return e+"º"},formats:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"}};return e.locale(o,null,!0),o});
diff --git a/node_modules/dayjs/locale/es-us.js b/node_modules/dayjs/locale/es-us.js
new file mode 100644
index 0000000..4cb1315
--- /dev/null
+++ b/node_modules/dayjs/locale/es-us.js
@@ -0,0 +1 @@
+!function(e,s){"object"==typeof exports&&"undefined"!=typeof module?module.exports=s(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],s):e.dayjs_locale_es_us=s(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var s={name:"es-us",weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),months:"Enero_Febrero_Marzo_Abril_Mayo_Junio_Julio_Agosto_Septiembre_Octubre_Noviembre_Diciembre".split("_"),monthsShort:"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinal:function(e){return e+"º"},formats:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"}};return e.locale(s,null,!0),s});
diff --git a/node_modules/dayjs/locale/es.js b/node_modules/dayjs/locale/es.js
new file mode 100644
index 0000000..cbe36b0
--- /dev/null
+++ b/node_modules/dayjs/locale/es.js
@@ -0,0 +1 @@
+!function(e,s){"object"==typeof exports&&"undefined"!=typeof module?module.exports=s(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],s):e.dayjs_locale_es=s(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var s={name:"es",monthsShort:"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),months:"Enero_Febrero_Marzo_Abril_Mayo_Junio_Julio_Agosto_Septiembre_Octubre_Noviembre_Diciembre".split("_"),weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinal:function(e){return e+"º"}};return e.locale(s,null,!0),s});
diff --git a/node_modules/dayjs/locale/et.js b/node_modules/dayjs/locale/et.js
new file mode 100644
index 0000000..d3cc36f
--- /dev/null
+++ b/node_modules/dayjs/locale/et.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],a):e.dayjs_locale_et=a(e.dayjs)}(this,function(e){"use strict";function a(e,a,t,u){var s={s:["mõne sekundi","mõni sekund","paar sekundit"],m:["ühe minuti","üks minut"],mm:["%d minuti","%d minutit"],h:["ühe tunni","tund aega","üks tund"],hh:["%d tunni","%d tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:["%d kuu","%d kuud"],y:["ühe aasta","aasta","üks aasta"],yy:["%d aasta","%d aastat"]};return a?(s[t][2]?s[t][2]:s[t][1]).replace("%d",e):(u?s[t][0]:s[t][1]).replace("%d",e)}e=e&&e.hasOwnProperty("default")?e.default:e;var t={name:"et",weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),ordinal:function(e){return e+"."},weekStart:1,relativeTime:{future:"%s pärast",past:"%s tagasi",s:a,m:a,mm:a,h:a,hh:a,d:a,dd:"%d päeva",M:a,MM:a,y:a,yy:a},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"}};return e.locale(t,null,!0),t});
diff --git a/node_modules/dayjs/locale/eu.js b/node_modules/dayjs/locale/eu.js
new file mode 100644
index 0000000..04b9f5e
--- /dev/null
+++ b/node_modules/dayjs/locale/eu.js
@@ -0,0 +1 @@
+!function(a,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):a.dayjs_locale_eu=e(a.dayjs)}(this,function(a){"use strict";a=a&&a.hasOwnProperty("default")?a.default:a;var e={name:"eu",weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),weekStart:1,weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),ordinal:function(a){return a},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"}};return a.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/fa.js b/node_modules/dayjs/locale/fa.js
new file mode 100644
index 0000000..42575c1
--- /dev/null
+++ b/node_modules/dayjs/locale/fa.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_fa=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"fa",weekdays:"یکشنبه_دوشنبه_سهشنبه_چهارشنبه_پنجشنبه_جمعه_شنبه".split("_"),weekdaysShort:"یکشنبه_دوشنبه_سهشنبه_چهارشنبه_پنجشنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekStart:6,months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/fi.js b/node_modules/dayjs/locale/fi.js
new file mode 100644
index 0000000..ae890c5
--- /dev/null
+++ b/node_modules/dayjs/locale/fi.js
@@ -0,0 +1 @@
+!function(u,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):u.dayjs_locale_fi=e(u.dayjs)}(this,function(u){"use strict";function e(u,e,t,n){var i={s:"muutama sekunti",m:"minuutti",mm:"%d minuuttia",h:"tunti",hh:"%d tuntia",d:"päivä",dd:"%d päivää",M:"kuukausi",MM:"%d kuukautta",y:"vuosi",yy:"%d vuotta",numbers:"nolla_yksi_kaksi_kolme_neljä_viisi_kuusi_seitsemän_kahdeksan_yhdeksän".split("_")},a={s:"muutaman sekunnin",m:"minuutin",mm:"%d minuutin",h:"tunnin",hh:"%d tunnin",d:"päivän",dd:"%d päivän",M:"kuukauden",MM:"%d kuukauden",y:"vuoden",yy:"%d vuoden",numbers:"nollan_yhden_kahden_kolmen_neljän_viiden_kuuden_seitsemän_kahdeksan_yhdeksän".split("_")},s=n&&!e?a:i,_=s[t];return u<10?_.replace("%d",s.numbers[u]):_.replace("%d",u)}u=u&&u.hasOwnProperty("default")?u.default:u;var t={name:"fi",weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),ordinal:function(u){return u+"."},weekStart:1,relativeTime:{future:"%s päästä",past:"%s sitten",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},formats:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"}};return u.locale(t,null,!0),t});
diff --git a/node_modules/dayjs/locale/fo.js b/node_modules/dayjs/locale/fo.js
new file mode 100644
index 0000000..0f53e23
--- /dev/null
+++ b/node_modules/dayjs/locale/fo.js
@@ -0,0 +1 @@
+!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],r):e.dayjs_locale_fo=r(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var r={name:"fo",weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),weekStart:1,weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",m:"ein minuttur",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaður",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"}};return e.locale(r,null,!0),r});
diff --git a/node_modules/dayjs/locale/fr-ca.js b/node_modules/dayjs/locale/fr-ca.js
new file mode 100644
index 0000000..857b3b5
--- /dev/null
+++ b/node_modules/dayjs/locale/fr-ca.js
@@ -0,0 +1 @@
+!function(e,_){"object"==typeof exports&&"undefined"!=typeof module?module.exports=_(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],_):e.dayjs_locale_fr_ca=_(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var _={name:"fr-ca",weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"}};return e.locale(_,null,!0),_});
diff --git a/node_modules/dayjs/locale/fr-ch.js b/node_modules/dayjs/locale/fr-ch.js
new file mode 100644
index 0000000..a5d2173
--- /dev/null
+++ b/node_modules/dayjs/locale/fr-ch.js
@@ -0,0 +1 @@
+!function(e,_){"object"==typeof exports&&"undefined"!=typeof module?module.exports=_(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],_):e.dayjs_locale_fr_ch=_(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var _={name:"fr-ch",weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),weekStart:1,weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"}};return e.locale(_,null,!0),_});
diff --git a/node_modules/dayjs/locale/fr.js b/node_modules/dayjs/locale/fr.js
new file mode 100644
index 0000000..e2f11d1
--- /dev/null
+++ b/node_modules/dayjs/locale/fr.js
@@ -0,0 +1 @@
+!function(e,_){"object"==typeof exports&&"undefined"!=typeof module?module.exports=_(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],_):e.dayjs_locale_fr=_(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var _={name:"fr",weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv_févr_mars_avril_mai_juin_juil_août_sept_oct_nov_déc".split("_"),weekStart:1,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinal:function(e){return""+e+(1===e?"er":"")}};return e.locale(_,null,!0),_});
diff --git a/node_modules/dayjs/locale/fy.js b/node_modules/dayjs/locale/fy.js
new file mode 100644
index 0000000..8b63b31
--- /dev/null
+++ b/node_modules/dayjs/locale/fy.js
@@ -0,0 +1 @@
+!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],n):e.dayjs_locale_fy=n(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var n={name:"fy",weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:"jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),weekStart:1,weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"}};return e.locale(n,null,!0),n});
diff --git a/node_modules/dayjs/locale/ga.js b/node_modules/dayjs/locale/ga.js
new file mode 100644
index 0000000..1d28235
--- /dev/null
+++ b/node_modules/dayjs/locale/ga.js
@@ -0,0 +1 @@
+!function(a,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],i):a.dayjs_locale_ga=i(a.dayjs)}(this,function(a){"use strict";a=a&&a.hasOwnProperty("default")?a.default:a;var i={name:"ga",weekdays:"Dé Domhnaigh_Dé Luain_Dé Máirt_Dé Céadaoin_Déardaoin_Dé hAoine_Dé Satharn".split("_"),months:"Eanáir_Feabhra_Márta_Aibreán_Bealtaine_Méitheamh_Iúil_Lúnasa_Meán Fómhair_Deaireadh Fómhair_Samhain_Nollaig".split("_"),weekStart:1,weekdaysShort:"Dom_Lua_Mái_Céa_Déa_hAo_Sat".split("_"),monthsShort:"Eaná_Feab_Márt_Aibr_Beal_Méit_Iúil_Lúna_Meán_Deai_Samh_Noll".split("_"),weekdaysMin:"Do_Lu_Má_Ce_Dé_hA_Sa".split("_"),ordinal:function(a){return a},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"i %s",past:"%s ó shin",s:"cúpla soicind",m:"nóiméad",mm:"%d nóiméad",h:"uair an chloig",hh:"%d uair an chloig",d:"lá",dd:"%d lá",M:"mí",MM:"%d mí",y:"bliain",yy:"%d bliain"}};return a.locale(i,null,!0),i});
diff --git a/node_modules/dayjs/locale/gd.js b/node_modules/dayjs/locale/gd.js
new file mode 100644
index 0000000..c5d10bb
--- /dev/null
+++ b/node_modules/dayjs/locale/gd.js
@@ -0,0 +1 @@
+!function(a,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],i):a.dayjs_locale_gd=i(a.dayjs)}(this,function(a){"use strict";a=a&&a.hasOwnProperty("default")?a.default:a;var i={name:"gd",weekdays:"Didòmhnaich_Diluain_Dimàirt_Diciadain_Diardaoin_Dihaoine_Disathairne".split("_"),months:"Am Faoilleach_An Gearran_Am Màrt_An Giblean_An Cèitean_An t-Ògmhios_An t-Iuchar_An Lùnastal_An t-Sultain_An Dàmhair_An t-Samhain_An Dùbhlachd".split("_"),weekStart:1,weekdaysShort:"Did_Dil_Dim_Dic_Dia_Dih_Dis".split("_"),monthsShort:"Faoi_Gear_Màrt_Gibl_Cèit_Ògmh_Iuch_Lùn_Sult_Dàmh_Samh_Dùbh".split("_"),weekdaysMin:"Dò_Lu_Mà_Ci_Ar_Ha_Sa".split("_"),ordinal:function(a){return a},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"}};return a.locale(i,null,!0),i});
diff --git a/node_modules/dayjs/locale/gl.js b/node_modules/dayjs/locale/gl.js
new file mode 100644
index 0000000..d247f46
--- /dev/null
+++ b/node_modules/dayjs/locale/gl.js
@@ -0,0 +1 @@
+!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],o):e.dayjs_locale_gl=o(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var o={name:"gl",weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),weekStart:1,weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),ordinal:function(e){return e},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"}};return e.locale(o,null,!0),o});
diff --git a/node_modules/dayjs/locale/gom-latn.js b/node_modules/dayjs/locale/gom-latn.js
new file mode 100644
index 0000000..b1a4b17
--- /dev/null
+++ b/node_modules/dayjs/locale/gom-latn.js
@@ -0,0 +1 @@
+!function(e,_){"object"==typeof exports&&"undefined"!=typeof module?module.exports=_(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],_):e.dayjs_locale_gom_latn=_(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var _={name:"gom-latn",weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),weekStart:1,weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),ordinal:function(e){return e},formats:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"}};return e.locale(_,null,!0),_});
diff --git a/node_modules/dayjs/locale/gu.js b/node_modules/dayjs/locale/gu.js
new file mode 100644
index 0000000..3640453
--- /dev/null
+++ b/node_modules/dayjs/locale/gu.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_gu=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"gu",weekdays:"રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર".split("_"),months:"જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર".split("_"),weekdaysShort:"રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ".split("_"),monthsShort:"જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.".split("_"),weekdaysMin:"ર_સો_મં_બુ_ગુ_શુ_શ".split("_"),ordinal:function(_){return _},formats:{LT:"A h:mm વાગ્યે",LTS:"A h:mm:ss વાગ્યે",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm વાગ્યે",LLLL:"dddd, D MMMM YYYY, A h:mm વાગ્યે"},relativeTime:{future:"%s મા",past:"%s પેહલા",s:"અમુક પળો",m:"એક મિનિટ",mm:"%d મિનિટ",h:"એક કલાક",hh:"%d કલાક",d:"એક દિવસ",dd:"%d દિવસ",M:"એક મહિનો",MM:"%d મહિનો",y:"એક વર્ષ",yy:"%d વર્ષ"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/he.js b/node_modules/dayjs/locale/he.js
new file mode 100644
index 0000000..4617227
--- /dev/null
+++ b/node_modules/dayjs/locale/he.js
@@ -0,0 +1 @@
+!function(Y,M){"object"==typeof exports&&"undefined"!=typeof module?module.exports=M(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],M):Y.dayjs_locale_he=M(Y.dayjs)}(this,function(Y){"use strict";Y=Y&&Y.hasOwnProperty("default")?Y.default:Y;var M={name:"he",weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א׳_ב׳_ג׳_ד׳_ה׳_ו_ש׳".split("_"),months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו_פבר_מרץ_אפר_מאי_יונ_יול_אוג_ספט_אוק_נוב_דצמ".split("_"),relativeTime:{future:"בעוד %s",past:"לפני %s",s:"כמה שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:"%d שעות",d:"יום",dd:"%d ימים",M:"חודש",MM:"%d חודשים",y:"שנה",yy:"%d שנים"},ordinal:function(Y){return Y},format:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"}};return Y.locale(M,null,!0),M});
diff --git a/node_modules/dayjs/locale/hi.js b/node_modules/dayjs/locale/hi.js
new file mode 100644
index 0000000..542afcc
--- /dev/null
+++ b/node_modules/dayjs/locale/hi.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_hi=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"hi",weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),ordinal:function(_){return _},formats:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/hr.js b/node_modules/dayjs/locale/hr.js
new file mode 100644
index 0000000..0a67ba2
--- /dev/null
+++ b/node_modules/dayjs/locale/hr.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],a):e.dayjs_locale_hr=a(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var a={name:"hr",weekdays:"Nedjelja_Ponedjeljak_Utorak_Srijeda_Četvrtak_Petak_Subota".split("_"),weekdaysShort:"Ned._Pon._Uto._Sri._Čet._Pet._Sub.".split("_"),weekdaysMin:"Ne_Po_Ut_Sr_Če_Pe_Su".split("_"),months:"Siječanj_Veljača_Ožujak_Travanj_Svibanj_Lipanj_Srpanj_Kolovoz_Rujan_Listopad_Studeni_Prosinac".split("_"),monthsShort:"Sij._Velj._Ožu._Tra._Svi._Lip._Srp._Kol._Ruj._Lis._Stu._Pro.".split("_"),weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},relativeTime:{future:"za %s",past:"prije %s",s:"sekunda",m:"minuta",mm:"%d minuta",h:"sat",hh:"%d sati",d:"dan",dd:"%d dana",M:"mjesec",MM:"%d mjeseci",y:"godina",yy:"%d godine"},ordinal:function(e){return e+"."}};return e.locale(a,null,!0),a});
diff --git a/node_modules/dayjs/locale/hu.js b/node_modules/dayjs/locale/hu.js
new file mode 100644
index 0000000..da5f5ab
--- /dev/null
+++ b/node_modules/dayjs/locale/hu.js
@@ -0,0 +1 @@
+!function(e,s){"object"==typeof exports&&"undefined"!=typeof module?module.exports=s(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],s):e.dayjs_locale_hu=s(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var s={name:"hu",weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),ordinal:function(e){return e+"."},weekStart:1,relativeTime:{future:"%s múlva",past:"%s",s:"néhány másodperc",m:"egy perc",mm:"%d perc",h:"egy óra",hh:"%d óra",d:"egy nap",dd:"%d nap",M:"egy hónap",MM:"%d hónap",y:"egy éve",yy:"%d év"},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"}};return e.locale(s,null,!0),s});
diff --git a/node_modules/dayjs/locale/hy-am.js b/node_modules/dayjs/locale/hy-am.js
new file mode 100644
index 0000000..69b1257
--- /dev/null
+++ b/node_modules/dayjs/locale/hy-am.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_hy_am=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"hy-am",weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),months:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),weekStart:1,weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/id.js b/node_modules/dayjs/locale/id.js
new file mode 100644
index 0000000..0801114
--- /dev/null
+++ b/node_modules/dayjs/locale/id.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],a):e.dayjs_locale_id=a(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var a={name:"id",weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),weekStart:1,formats:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},ordinal:function(e){return e+"."}};return e.locale(a,null,!0),a});
diff --git a/node_modules/dayjs/locale/index.d.ts b/node_modules/dayjs/locale/index.d.ts
new file mode 100644
index 0000000..bd2dca2
--- /dev/null
+++ b/node_modules/dayjs/locale/index.d.ts
@@ -0,0 +1,11 @@
+///
+
+declare module 'dayjs/locale/*' {
+ namespace locale {
+ interface Locale extends ILocale {}
+ }
+
+ const locale: locale.Locale
+
+ export = locale
+}
diff --git a/node_modules/dayjs/locale/is.js b/node_modules/dayjs/locale/is.js
new file mode 100644
index 0000000..334e5a1
--- /dev/null
+++ b/node_modules/dayjs/locale/is.js
@@ -0,0 +1 @@
+!function(e,_){"object"==typeof exports&&"undefined"!=typeof module?module.exports=_(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],_):e.dayjs_locale_is=_(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var _={name:"is",weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),weekStart:1,weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),ordinal:function(e){return e},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"}};return e.locale(_,null,!0),_});
diff --git a/node_modules/dayjs/locale/it-ch.js b/node_modules/dayjs/locale/it-ch.js
new file mode 100644
index 0000000..1f5e368
--- /dev/null
+++ b/node_modules/dayjs/locale/it-ch.js
@@ -0,0 +1 @@
+!function(e,_){"object"==typeof exports&&"undefined"!=typeof module?module.exports=_(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],_):e.dayjs_locale_it_ch=_(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var _={name:"it-ch",weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),weekStart:1,weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"}};return e.locale(_,null,!0),_});
diff --git a/node_modules/dayjs/locale/it.js b/node_modules/dayjs/locale/it.js
new file mode 100644
index 0000000..8d4a8eb
--- /dev/null
+++ b/node_modules/dayjs/locale/it.js
@@ -0,0 +1 @@
+!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],o):e.dayjs_locale_it=o(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var o={name:"it",weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),weekStart:1,monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"tra %s",past:"%s fa",s:"qualche secondo",m:"un minuto",mm:"%d minuti",h:"un' ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinal:function(e){return e+"º"}};return e.locale(o,null,!0),o});
diff --git a/node_modules/dayjs/locale/ja.js b/node_modules/dayjs/locale/ja.js
new file mode 100644
index 0000000..ca5b731
--- /dev/null
+++ b/node_modules/dayjs/locale/ja.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_ja=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"ja",weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function(_){return _+"日"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日(ddd) HH:mm"},meridiem:function(_){return _<12?"午前":"午後"},relativeTime:{future:"%s後",past:"%s前",s:"数秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/jv.js b/node_modules/dayjs/locale/jv.js
new file mode 100644
index 0000000..3d961dc
--- /dev/null
+++ b/node_modules/dayjs/locale/jv.js
@@ -0,0 +1 @@
+!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],n):e.dayjs_locale_jv=n(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var n={name:"jv",weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),weekStart:1,weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),ordinal:function(e){return e},formats:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"}};return e.locale(n,null,!0),n});
diff --git a/node_modules/dayjs/locale/ka.js b/node_modules/dayjs/locale/ka.js
new file mode 100644
index 0000000..93f7831
--- /dev/null
+++ b/node_modules/dayjs/locale/ka.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_ka=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"ka",weekdays:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),months:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekStart:1,formats:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},relativeTime:{future:"%s შემდეგ",past:"%s წინ",s:"წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათის",d:"დღეს",dd:"%d დღის განმავლობაში",M:"თვის",MM:"%d თვის",y:"წელი",yy:"%d წლის"},ordinal:function(_){return _}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/kk.js b/node_modules/dayjs/locale/kk.js
new file mode 100644
index 0000000..0038cbe
--- /dev/null
+++ b/node_modules/dayjs/locale/kk.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_kk=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"kk",weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekStart:1,relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/km.js b/node_modules/dayjs/locale/km.js
new file mode 100644
index 0000000..0cedc82
--- /dev/null
+++ b/node_modules/dayjs/locale/km.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_km=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"km",weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekStart:1,weekdaysShort:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdaysMin:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/kn.js b/node_modules/dayjs/locale/kn.js
new file mode 100644
index 0000000..063f64d
--- /dev/null
+++ b/node_modules/dayjs/locale/kn.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_kn=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"kn",weekdays:"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),weekdaysShort:"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),monthsShort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ".split("_"),weekdaysMin:"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),ordinal:function(_){return _},formats:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},relativeTime:{future:"%s ನಂತರ",past:"%s ಹಿಂದೆ",s:"ಕೆಲವು ಕ್ಷಣಗಳು",m:"ಒಂದು ನಿಮಿಷ",mm:"%d ನಿಮಿಷ",h:"ಒಂದು ಗಂಟೆ",hh:"%d ಗಂಟೆ",d:"ಒಂದು ದಿನ",dd:"%d ದಿನ",M:"ಒಂದು ತಿಂಗಳು",MM:"%d ತಿಂಗಳು",y:"ಒಂದು ವರ್ಷ",yy:"%d ವರ್ಷ"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/ko.js b/node_modules/dayjs/locale/ko.js
new file mode 100644
index 0000000..fb44532
--- /dev/null
+++ b/node_modules/dayjs/locale/ko.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_ko=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"ko",weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),ordinal:function(_){return _},formats:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},meridiem:function(_){return _<12?"오전":"오후"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/ku.js b/node_modules/dayjs/locale/ku.js
new file mode 100644
index 0000000..02d4f5e
--- /dev/null
+++ b/node_modules/dayjs/locale/ku.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_ku=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"ku",weekdays:"یهكشهممه_دووشهممه_سێشهممه_چوارشهممه_پێنجشهممه_ههینی_شهممه".split("_"),months:"کانونی دووەم_شوبات_ئازار_نیسان_ئایار_حوزەیران_تەمموز_ئاب_ئەیلوول_تشرینی یەكەم_تشرینی دووەم_كانونی یەکەم".split("_"),weekStart:6,weekdaysShort:"یهكشهم_دووشهم_سێشهم_چوارشهم_پێنجشهم_ههینی_شهممه".split("_"),monthsShort:"کانونی دووەم_شوبات_ئازار_نیسان_ئایار_حوزەیران_تەمموز_ئاب_ئەیلوول_تشرینی یەكەم_تشرینی دووەم_كانونی یەکەم".split("_"),weekdaysMin:"ی_د_س_چ_پ_ه_ش".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"له %s",past:"%s",s:"چهند چركهیهك",m:"یهك خولهك",mm:"%d خولهك",h:"یهك كاتژمێر",hh:"%d كاتژمێر",d:"یهك ڕۆژ",dd:"%d ڕۆژ",M:"یهك مانگ",MM:"%d مانگ",y:"یهك ساڵ",yy:"%d ساڵ"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/ky.js b/node_modules/dayjs/locale/ky.js
new file mode 100644
index 0000000..eb1d2b3
--- /dev/null
+++ b/node_modules/dayjs/locale/ky.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_ky=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"ky",weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),weekStart:1,weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/lb.js b/node_modules/dayjs/locale/lb.js
new file mode 100644
index 0000000..02cf490
--- /dev/null
+++ b/node_modules/dayjs/locale/lb.js
@@ -0,0 +1 @@
+!function(e,_){"object"==typeof exports&&"undefined"!=typeof module?module.exports=_(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],_):e.dayjs_locale_lb=_(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var _={name:"lb",weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),weekStart:1,weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),ordinal:function(e){return e},formats:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"}};return e.locale(_,null,!0),_});
diff --git a/node_modules/dayjs/locale/lo.js b/node_modules/dayjs/locale/lo.js
new file mode 100644
index 0000000..343d0e3
--- /dev/null
+++ b/node_modules/dayjs/locale/lo.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_lo=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"lo",weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/lt.js b/node_modules/dayjs/locale/lt.js
new file mode 100644
index 0000000..270a168
--- /dev/null
+++ b/node_modules/dayjs/locale/lt.js
@@ -0,0 +1 @@
+!function(e,s){"object"==typeof exports&&"undefined"!=typeof module?module.exports=s(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],s):e.dayjs_locale_lt=s(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var s={name:"lt",weekdays:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),weekdaysShort:"sek_pir_ant_tre_ket_pen_šeš".split("_"),weekdaysMin:"s_p_a_t_k_pn_š".split("_"),months:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),ordinal:function(e){return e+"."},weekStart:1,relativeTime:{future:"už %s",past:"prieš %s",s:"kelias sekundes",m:"minutę",mm:"%d minutes",h:"valandą",hh:"%d valandas",d:"dieną",dd:"%d dienas",M:"menesį",MM:"%d mėnesius",y:"metus",yy:"%d metus"},format:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"}};return e.locale(s,null,!0),s});
diff --git a/node_modules/dayjs/locale/lv.js b/node_modules/dayjs/locale/lv.js
new file mode 100644
index 0000000..3b6c91c
--- /dev/null
+++ b/node_modules/dayjs/locale/lv.js
@@ -0,0 +1 @@
+!function(e,_){"object"==typeof exports&&"undefined"!=typeof module?module.exports=_(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],_):e.dayjs_locale_lv=_(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var _={name:"lv",weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),weekStart:1,weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"}};return e.locale(_,null,!0),_});
diff --git a/node_modules/dayjs/locale/me.js b/node_modules/dayjs/locale/me.js
new file mode 100644
index 0000000..f966758
--- /dev/null
+++ b/node_modules/dayjs/locale/me.js
@@ -0,0 +1 @@
+!function(e,_){"object"==typeof exports&&"undefined"!=typeof module?module.exports=_(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],_):e.dayjs_locale_me=_(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var _={name:"me",weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),weekStart:1,weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),ordinal:function(e){return e},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"}};return e.locale(_,null,!0),_});
diff --git a/node_modules/dayjs/locale/mi.js b/node_modules/dayjs/locale/mi.js
new file mode 100644
index 0000000..ab49565
--- /dev/null
+++ b/node_modules/dayjs/locale/mi.js
@@ -0,0 +1 @@
+!function(a,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):a.dayjs_locale_mi=e(a.dayjs)}(this,function(a){"use strict";a=a&&a.hasOwnProperty("default")?a.default:a;var e={name:"mi",weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),weekStart:1,weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),ordinal:function(a){return a},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"}};return a.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/mk.js b/node_modules/dayjs/locale/mk.js
new file mode 100644
index 0000000..9febccf
--- /dev/null
+++ b/node_modules/dayjs/locale/mk.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_mk=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"mk",weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),weekStart:1,weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),ordinal:function(_){return _},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/ml.js b/node_modules/dayjs/locale/ml.js
new file mode 100644
index 0000000..baf1abb
--- /dev/null
+++ b/node_modules/dayjs/locale/ml.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_ml=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"ml",weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),ordinal:function(_){return _},formats:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/mn.js b/node_modules/dayjs/locale/mn.js
new file mode 100644
index 0000000..3aa26a9
--- /dev/null
+++ b/node_modules/dayjs/locale/mn.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_mn=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"mn",weekdays:"Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба".split("_"),months:"Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар".split("_"),weekdaysShort:"Ням_Дав_Мяг_Лха_Пүр_Баа_Бям".split("_"),monthsShort:"1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар".split("_"),weekdaysMin:"Ня_Да_Мя_Лх_Пү_Ба_Бя".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY оны MMMMын D",LLL:"YYYY оны MMMMын D HH:mm",LLLL:"dddd, YYYY оны MMMMын D HH:mm"},relativeTime:{future:"%s",past:"%s",s:"саяхан",m:"м",mm:"%dм",h:"1ц",hh:"%dц",d:"1ө",dd:"%dө",M:"1с",MM:"%dс",y:"1ж",yy:"%dж"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/mr.js b/node_modules/dayjs/locale/mr.js
new file mode 100644
index 0000000..f09c655
--- /dev/null
+++ b/node_modules/dayjs/locale/mr.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_mr=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"mr",weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),ordinal:function(_){return _},formats:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/ms-my.js b/node_modules/dayjs/locale/ms-my.js
new file mode 100644
index 0000000..5d6c1ab
--- /dev/null
+++ b/node_modules/dayjs/locale/ms-my.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],a):e.dayjs_locale_ms_my=a(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var a={name:"ms-my",weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),weekStart:1,weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),ordinal:function(e){return e},formats:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"}};return e.locale(a,null,!0),a});
diff --git a/node_modules/dayjs/locale/ms.js b/node_modules/dayjs/locale/ms.js
new file mode 100644
index 0000000..1540e98
--- /dev/null
+++ b/node_modules/dayjs/locale/ms.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],a):e.dayjs_locale_ms=a(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var a={name:"ms",weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekStart:1,formats:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH.mm",LLLL:"dddd, D MMMM YYYY HH.mm"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},ordinal:function(e){return e+"."}};return e.locale(a,null,!0),a});
diff --git a/node_modules/dayjs/locale/mt.js b/node_modules/dayjs/locale/mt.js
new file mode 100644
index 0000000..a2cc46a
--- /dev/null
+++ b/node_modules/dayjs/locale/mt.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],t):e.dayjs_locale_mt=t(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var t={name:"mt",weekdays:"Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt".split("_"),months:"Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru".split("_"),weekStart:1,weekdaysShort:"Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ".split("_"),weekdaysMin:"Ħa_Tn_Tl_Er_Ħa_Ġi_Si".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"f’ %s",past:"%s ilu",s:"ftit sekondi",m:"minuta",mm:"%d minuti",h:"siegħa",hh:"%d siegħat",d:"ġurnata",dd:"%d ġranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"}};return e.locale(t,null,!0),t});
diff --git a/node_modules/dayjs/locale/my.js b/node_modules/dayjs/locale/my.js
new file mode 100644
index 0000000..9189378
--- /dev/null
+++ b/node_modules/dayjs/locale/my.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_my=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"my",weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),weekStart:1,weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdaysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/nb.js b/node_modules/dayjs/locale/nb.js
new file mode 100644
index 0000000..6ba8911
--- /dev/null
+++ b/node_modules/dayjs/locale/nb.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],t):e.dayjs_locale_nb=t(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var t={name:"nb",weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),ordinal:function(e){return e+"."},weekStart:1,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"}};return e.locale(t,null,!0),t});
diff --git a/node_modules/dayjs/locale/ne.js b/node_modules/dayjs/locale/ne.js
new file mode 100644
index 0000000..308ac42
--- /dev/null
+++ b/node_modules/dayjs/locale/ne.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_ne=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"ne",weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मे_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),relativeTime:{future:"%s पछि",past:"%s अघि",s:"सेकेन्ड",m:"एक मिनेट",mm:"%d मिनेट",h:"घन्टा",hh:"%d घन्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक वर्ष",yy:"%d वर्ष"},ordinal:function(_){return(""+_).replace(/\d/g,function(_){return"०१२३४५६७८९"[_]})},formats:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/nl-be.js b/node_modules/dayjs/locale/nl-be.js
new file mode 100644
index 0000000..821019d
--- /dev/null
+++ b/node_modules/dayjs/locale/nl-be.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],a):e.dayjs_locale_nl_be=a(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var a={name:"nl-be",weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),weekStart:1,weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"}};return e.locale(a,null,!0),a});
diff --git a/node_modules/dayjs/locale/nl.js b/node_modules/dayjs/locale/nl.js
new file mode 100644
index 0000000..50ef401
--- /dev/null
+++ b/node_modules/dayjs/locale/nl.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],a):e.dayjs_locale_nl=a(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var a={name:"nl",weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),ordinal:function(e){return e+"."},weekStart:1,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"een minuut",mm:"%d minuten",h:"een uur",hh:"%d uur",d:"een dag",dd:"%d dagen",M:"een maand",MM:"%d maanden",y:"een jaar",yy:"%d jaar"}};return e.locale(a,null,!0),a});
diff --git a/node_modules/dayjs/locale/nn.js b/node_modules/dayjs/locale/nn.js
new file mode 100644
index 0000000..a765e1f
--- /dev/null
+++ b/node_modules/dayjs/locale/nn.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],t):e.dayjs_locale_nn=t(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var t={name:"nn",weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_la".split("_"),months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),ordinal:function(e){return e+"."},weekStart:1,relativeTime:{future:"om %s",past:"for %s sidan",s:"nokre sekund",m:"eitt minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månadar",y:"eitt år",yy:"%d år"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"}};return e.locale(t,null,!0),t});
diff --git a/node_modules/dayjs/locale/oc-lnc.js b/node_modules/dayjs/locale/oc-lnc.js
new file mode 100644
index 0000000..96538e9
--- /dev/null
+++ b/node_modules/dayjs/locale/oc-lnc.js
@@ -0,0 +1 @@
+!function(e,d){"object"==typeof exports&&"undefined"!=typeof module?module.exports=d(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],d):e.dayjs_locale_oc_lnc=d(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var d={name:"oc-lnc",weekdays:"dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte".split("_"),weekdaysShort:"Dg_Dl_Dm_Dc_Dj_Dv_Ds".split("_"),weekdaysMin:"dg_dl_dm_dc_dj_dv_ds".split("_"),months:"genièr_febrièr_març_abrial_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre".split("_"),monthsShort:"gen_feb_març_abr_mai_junh_julh_ago_set_oct_nov_dec".split("_"),weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",LLL:"D MMMM [de] YYYY [a] H:mm",LLLL:"dddd D MMMM [de] YYYY [a] H:mm"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"unas segondas",m:"una minuta",mm:"%d minutas",h:"una ora",hh:"%d oras",d:"un jorn",dd:"%d jorns",M:"un mes",MM:"%d meses",y:"un an",yy:"%d ans"},ordinal:function(e){return e+"º"}};return e.locale(d,null,!0),d});
diff --git a/node_modules/dayjs/locale/pa-in.js b/node_modules/dayjs/locale/pa-in.js
new file mode 100644
index 0000000..0afedfd
--- /dev/null
+++ b/node_modules/dayjs/locale/pa-in.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_pa_in=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"pa-in",weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),ordinal:function(_){return _},formats:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/pl.js b/node_modules/dayjs/locale/pl.js
new file mode 100644
index 0000000..4cc591b
--- /dev/null
+++ b/node_modules/dayjs/locale/pl.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],t):e.dayjs_locale_pl=t(e.dayjs)}(this,function(e){"use strict";function t(e){return e%10<5&&e%10>1&&~~(e/10)%10!=1}function i(e,i,r){var n=e+" ";switch(r){case"m":return i?"minuta":"minutę";case"mm":return n+(t(e)?"minuty":"minut");case"h":return i?"godzina":"godzinę";case"hh":return n+(t(e)?"godziny":"godzin");case"MM":return n+(t(e)?"miesiące":"miesięcy");case"yy":return n+(t(e)?"lata":"lat")}}e=e&&e.hasOwnProperty("default")?e.default:e;var r={name:"pl",weekdays:"Niedziela_Poniedziałek_Wtorek_Środa_Czwartek_Piątek_Sobota".split("_"),weekdaysShort:"Ndz_Pon_Wt_Śr_Czw_Pt_Sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),months:"Styczeń_Luty_Marzec_Kwiecień_Maj_Czerwiec_Lipiec_Sierpień_Wrzesień_Październik_Listopad_Grudzień".split("_"),monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),ordinal:function(e){return e+"."},weekStart:1,relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:i,mm:i,h:i,hh:i,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:i,y:"rok",yy:i},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"}};return e.locale(r,null,!0),r});
diff --git a/node_modules/dayjs/locale/pt-br.js b/node_modules/dayjs/locale/pt-br.js
new file mode 100644
index 0000000..dddf06b
--- /dev/null
+++ b/node_modules/dayjs/locale/pt-br.js
@@ -0,0 +1 @@
+!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],o):e.dayjs_locale_pt_br=o(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var o={name:"pt-br",weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekStart:1,months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),ordinal:function(e){return e+"º"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},relativeTime:{future:"em %s",past:"há %s",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"}};return e.locale(o,null,!0),o});
diff --git a/node_modules/dayjs/locale/pt.js b/node_modules/dayjs/locale/pt.js
new file mode 100644
index 0000000..36be259
--- /dev/null
+++ b/node_modules/dayjs/locale/pt.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],a):e.dayjs_locale_pt=a(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var a={name:"pt",weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sab".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sa".split("_"),months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),ordinal:function(e){return e+"º"},weekStart:1,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},relativeTime:{future:"em %s",past:"há %s",s:"alguns segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"}};return e.locale(a,null,!0),a});
diff --git a/node_modules/dayjs/locale/ro.js b/node_modules/dayjs/locale/ro.js
new file mode 100644
index 0000000..45a9fa6
--- /dev/null
+++ b/node_modules/dayjs/locale/ro.js
@@ -0,0 +1 @@
+!function(e,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],i):e.dayjs_locale_ro=i(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var i={name:"ro",weekdays:"Duminică_Luni_Marți_Miercuri_Joi_Vineri_Sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),months:"Ianuarie_Februarie_Martie_Aprilie_Mai_Iunie_Iulie_August_Septembrie_Octombrie_Noiembrie_Decembrie".split("_"),monthsShort:"Ian._Febr._Mart._Apr._Mai_Iun._Iul._Aug._Sept._Oct._Nov._Dec.".split("_"),weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},relativeTime:{future:"peste %s",past:"acum %s",s:"câteva secunde",m:"un minut",mm:"%d minute",h:"o oră",hh:"%d ore",d:"o zi",dd:"%d zile",M:"o lună",MM:"%d luni",y:"un an",yy:"%d ani"},ordinal:function(e){return e}};return e.locale(i,null,!0),i});
diff --git a/node_modules/dayjs/locale/ru.js b/node_modules/dayjs/locale/ru.js
new file mode 100644
index 0000000..0559dc7
--- /dev/null
+++ b/node_modules/dayjs/locale/ru.js
@@ -0,0 +1 @@
+!function(_,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],t):_.dayjs_locale_ru=t(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var t="января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),e="январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),n="янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),s="янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_"),o=/D[oD]?(\[[^[\]]*\]|\s)+MMMM?/;function r(_,t,e){var n,s;return"m"===e?t?"минута":"минуту":_+" "+(n=+_,s={mm:t?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"}[e].split("_"),n%10==1&&n%100!=11?s[0]:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?s[1]:s[2])}var d={name:"ru",weekdays:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),weekdaysShort:"вск_пнд_втр_срд_чтв_птн_сбт".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),months:function(_,n){return o.test(n)?t[_.month()]:e[_.month()]},monthsShort:function(_,t){return o.test(t)?n[_.month()]:s[_.month()]},weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",m:r,mm:r,h:"час",hh:r,d:"день",dd:r,M:"месяц",MM:r,y:"год",yy:r},ordinal:function(_){return _}};return _.locale(d,null,!0),d});
diff --git a/node_modules/dayjs/locale/sd.js b/node_modules/dayjs/locale/sd.js
new file mode 100644
index 0000000..e464ed3
--- /dev/null
+++ b/node_modules/dayjs/locale/sd.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_sd=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"sd",weekdays:"آچر_سومر_اڱارو_اربع_خميس_جمع_ڇنڇر".split("_"),months:"جنوري_فيبروري_مارچ_اپريل_مئي_جون_جولاءِ_آگسٽ_سيپٽمبر_آڪٽوبر_نومبر_ڊسمبر".split("_"),weekStart:1,weekdaysShort:"آچر_سومر_اڱارو_اربع_خميس_جمع_ڇنڇر".split("_"),monthsShort:"جنوري_فيبروري_مارچ_اپريل_مئي_جون_جولاءِ_آگسٽ_سيپٽمبر_آڪٽوبر_نومبر_ڊسمبر".split("_"),weekdaysMin:"آچر_سومر_اڱارو_اربع_خميس_جمع_ڇنڇر".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},relativeTime:{future:"%s پوء",past:"%s اڳ",s:"چند سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/se.js b/node_modules/dayjs/locale/se.js
new file mode 100644
index 0000000..4185721
--- /dev/null
+++ b/node_modules/dayjs/locale/se.js
@@ -0,0 +1 @@
+!function(a,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):a.dayjs_locale_se=e(a.dayjs)}(this,function(a){"use strict";a=a&&a.hasOwnProperty("default")?a.default:a;var e={name:"se",weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),weekStart:1,weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),ordinal:function(a){return a},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"}};return a.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/si.js b/node_modules/dayjs/locale/si.js
new file mode 100644
index 0000000..a3c6cc6
--- /dev/null
+++ b/node_modules/dayjs/locale/si.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_si=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"si",weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්රහ_සිකු_සෙන".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්ර_සි_සෙ".split("_"),ordinal:function(_){return _},formats:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},relativeTime:{future:"%sකින්",past:"%sකට පෙර",s:"තත්පර කිහිපය",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d:"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/sk.js b/node_modules/dayjs/locale/sk.js
new file mode 100644
index 0000000..6f332cb
--- /dev/null
+++ b/node_modules/dayjs/locale/sk.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],t):e.dayjs_locale_sk=t(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var t={name:"sk",weekdays:"Nedeľa_Pondelok_Utorok_Streda_Štvrtok_Piatok_Sobota".split("_"),weekdaysShort:"Ne_Po_Ut_St_Št_Pi_So".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),months:"január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),monthsShort:"jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_"),weekStart:1,relativeTime:{future:"o %s",past:"pred %s",s:"niekoľko sekúnd",m:"minúta",mm:"%d minút",h:"hodina",hh:"%d hodín",d:"deň",dd:"%d dní",M:"mesiac",MM:"%d mesiacov",y:"rok",yy:"%d rokov"},ordinal:function(e){return e+"º"},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"}};return e.locale(t,null,!0),t});
diff --git a/node_modules/dayjs/locale/sl.js b/node_modules/dayjs/locale/sl.js
new file mode 100644
index 0000000..d0023a6
--- /dev/null
+++ b/node_modules/dayjs/locale/sl.js
@@ -0,0 +1 @@
+!function(e,_){"object"==typeof exports&&"undefined"!=typeof module?module.exports=_(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],_):e.dayjs_locale_sl=_(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var _={name:"sl",weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),weekStart:1,weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),ordinal:function(e){return e},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"}};return e.locale(_,null,!0),_});
diff --git a/node_modules/dayjs/locale/sq.js b/node_modules/dayjs/locale/sq.js
new file mode 100644
index 0000000..9b90dc2
--- /dev/null
+++ b/node_modules/dayjs/locale/sq.js
@@ -0,0 +1 @@
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):t.dayjs_locale_sq=e(t.dayjs)}(this,function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e={name:"sq",weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),weekStart:1,weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),ordinal:function(t){return t},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"}};return t.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/sr-cyrl.js b/node_modules/dayjs/locale/sr-cyrl.js
new file mode 100644
index 0000000..31b1200
--- /dev/null
+++ b/node_modules/dayjs/locale/sr-cyrl.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_sr_cyrl=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"sr-cyrl",weekdays:"Недеља_Понедељак_Уторак_Среда_Четвртак_Петак_Субота".split("_"),weekdaysShort:"Нед._Пон._Уто._Сре._Чет._Пет._Суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),months:"Јануар_Фебруар_Март_Април_Мај_Јун_Јул_Август_Септембар_Октобар_Новембар_Децембар".split("_"),monthsShort:"Јан._Феб._Мар._Апр._Мај_Јун_Јул_Авг._Сеп._Окт._Нов._Дец.".split("_"),weekStart:1,relativeTime:{future:"за %s",past:"пре %s",s:"секунда",m:"минут",mm:"%d минута",h:"сат",hh:"%d сати",d:"дан",dd:"%d дана",M:"месец",MM:"%d месеци",y:"година",yy:"%d године"},ordinal:function(_){return _+"."},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/sr.js b/node_modules/dayjs/locale/sr.js
new file mode 100644
index 0000000..3ccb61d
--- /dev/null
+++ b/node_modules/dayjs/locale/sr.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],t):e.dayjs_locale_sr=t(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var t={name:"sr",weekdays:"Nedelja_Ponedeljak_Utorak_Sreda_Četvrtak_Petak_Subota".split("_"),weekdaysShort:"Ned._Pon._Uto._Sre._Čet._Pet._Sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),months:"Januar_Februar_Mart_April_Maj_Jun_Jul_Avgust_Septembar_Oktobar_Novembar_Decembar".split("_"),monthsShort:"Jan._Feb._Mar._Apr._Maj_Jun_Jul_Avg._Sep._Okt._Nov._Dec.".split("_"),weekStart:1,relativeTime:{future:"za %s",past:"pre %s",s:"sekunda",m:"minut",mm:"%d minuta",h:"sat",hh:"%d sati",d:"dan",dd:"%d dana",M:"mesec",MM:"%d meseci",y:"godina",yy:"%d godine"},ordinal:function(e){return e+"."},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"}};return e.locale(t,null,!0),t});
diff --git a/node_modules/dayjs/locale/ss.js b/node_modules/dayjs/locale/ss.js
new file mode 100644
index 0000000..dadbc98
--- /dev/null
+++ b/node_modules/dayjs/locale/ss.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],a):e.dayjs_locale_ss=a(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var a={name:"ss",weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),weekStart:1,weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),ordinal:function(e){return e},formats:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"}};return e.locale(a,null,!0),a});
diff --git a/node_modules/dayjs/locale/sv.js b/node_modules/dayjs/locale/sv.js
new file mode 100644
index 0000000..f2adf6c
--- /dev/null
+++ b/node_modules/dayjs/locale/sv.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],a):e.dayjs_locale_sv=a(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var a={name:"sv",weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekStart:1,ordinal:function(e){var a=e%10;return"["+e+(1===a||2===a?"a":"e")+"]"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"}};return e.locale(a,null,!0),a});
diff --git a/node_modules/dayjs/locale/sw.js b/node_modules/dayjs/locale/sw.js
new file mode 100644
index 0000000..2ba8c91
--- /dev/null
+++ b/node_modules/dayjs/locale/sw.js
@@ -0,0 +1 @@
+!function(a,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):a.dayjs_locale_sw=e(a.dayjs)}(this,function(a){"use strict";a=a&&a.hasOwnProperty("default")?a.default:a;var e={name:"sw",weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekStart:1,ordinal:function(a){return a},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"}};return a.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/ta.js b/node_modules/dayjs/locale/ta.js
new file mode 100644
index 0000000..21eb97f
--- /dev/null
+++ b/node_modules/dayjs/locale/ta.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_ta=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"ta",weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/te.js b/node_modules/dayjs/locale/te.js
new file mode 100644
index 0000000..06f3bcb
--- /dev/null
+++ b/node_modules/dayjs/locale/te.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_te=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"te",weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),ordinal:function(_){return _},formats:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M:"ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/tet.js b/node_modules/dayjs/locale/tet.js
new file mode 100644
index 0000000..496ab10
--- /dev/null
+++ b/node_modules/dayjs/locale/tet.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],t):e.dayjs_locale_tet=t(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var t={name:"tet",weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),weekStart:1,weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"}};return e.locale(t,null,!0),t});
diff --git a/node_modules/dayjs/locale/tg.js b/node_modules/dayjs/locale/tg.js
new file mode 100644
index 0000000..e4995e2
--- /dev/null
+++ b/node_modules/dayjs/locale/tg.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_tg=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"tg",weekdays:"якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе".split("_"),months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),weekStart:1,weekdaysShort:"яшб_дшб_сшб_чшб_пшб_ҷум_шнб".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdaysMin:"яш_дш_сш_чш_пш_ҷм_шб".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"баъди %s",past:"%s пеш",s:"якчанд сония",m:"як дақиқа",mm:"%d дақиқа",h:"як соат",hh:"%d соат",d:"як рӯз",dd:"%d рӯз",M:"як моҳ",MM:"%d моҳ",y:"як сол",yy:"%d сол"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/th.js b/node_modules/dayjs/locale/th.js
new file mode 100644
index 0000000..b889997
--- /dev/null
+++ b/node_modules/dayjs/locale/th.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_th=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"th",weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},relativeTime:{future:"อีก %s",past:"%s ที่ผ่านมา",s:"ไม่กี่วิ",m:"นาที",mm:"%d นาที",h:"ชั่วโมง",hh:"%d ชั่วโมง",d:"วัน",dd:"%d วัน",M:"เดือน",MM:"%d เดือน",y:"ปี",yy:"%d ปี"},ordinal:function(_){return _+"."}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/tl-ph.js b/node_modules/dayjs/locale/tl-ph.js
new file mode 100644
index 0000000..2da6282
--- /dev/null
+++ b/node_modules/dayjs/locale/tl-ph.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],a):e.dayjs_locale_tl_ph=a(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var a={name:"tl-ph",weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),weekStart:1,weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"}};return e.locale(a,null,!0),a});
diff --git a/node_modules/dayjs/locale/tlh.js b/node_modules/dayjs/locale/tlh.js
new file mode 100644
index 0000000..5837031
--- /dev/null
+++ b/node_modules/dayjs/locale/tlh.js
@@ -0,0 +1 @@
+!function(a,j){"object"==typeof exports&&"undefined"!=typeof module?module.exports=j(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],j):a.dayjs_locale_tlh=j(a.dayjs)}(this,function(a){"use strict";a=a&&a.hasOwnProperty("default")?a.default:a;var j={name:"tlh",weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),weekStart:1,weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),ordinal:function(a){return a},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"}};return a.locale(j,null,!0),j});
diff --git a/node_modules/dayjs/locale/tr.js b/node_modules/dayjs/locale/tr.js
new file mode 100644
index 0000000..380ced9
--- /dev/null
+++ b/node_modules/dayjs/locale/tr.js
@@ -0,0 +1 @@
+!function(a,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):a.dayjs_locale_tr=e(a.dayjs)}(this,function(a){"use strict";a=a&&a.hasOwnProperty("default")?a.default:a;var e={name:"tr",weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekStart:1,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinal:function(a){return a+"."}};return a.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/types.d.ts b/node_modules/dayjs/locale/types.d.ts
new file mode 100644
index 0000000..2c24a64
--- /dev/null
+++ b/node_modules/dayjs/locale/types.d.ts
@@ -0,0 +1,33 @@
+declare interface ILocale {
+ name: string
+ weekdays?: string[]
+ months?: string[]
+ weekStart?: number
+ weekdaysShort?: string[]
+ monthsShort?: string[]
+ weekdaysMin?: string[]
+ ordinal?: (n: number) => number | string
+ formats: Partial<{
+ LT: string
+ LTS: string
+ L: string
+ LL: string
+ LLL: string
+ LLLL: string
+ }>
+ relativeTime: Partial<{
+ future: string
+ past: string
+ s: string
+ m: string
+ mm: string
+ h: string
+ hh: string
+ d: string
+ dd: string
+ M: string
+ MM: string
+ y: string
+ yy: string
+ }>
+}
diff --git a/node_modules/dayjs/locale/tzl.js b/node_modules/dayjs/locale/tzl.js
new file mode 100644
index 0000000..bd53bd7
--- /dev/null
+++ b/node_modules/dayjs/locale/tzl.js
@@ -0,0 +1 @@
+!function(e,_){"object"==typeof exports&&"undefined"!=typeof module?module.exports=_(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],_):e.dayjs_locale_tzl=_(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var _={name:"tzl",weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),weekStart:1,weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),ordinal:function(e){return e},formats:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"}};return e.locale(_,null,!0),_});
diff --git a/node_modules/dayjs/locale/tzm-latn.js b/node_modules/dayjs/locale/tzm-latn.js
new file mode 100644
index 0000000..a111c2b
--- /dev/null
+++ b/node_modules/dayjs/locale/tzm-latn.js
@@ -0,0 +1 @@
+!function(a,s){"object"==typeof exports&&"undefined"!=typeof module?module.exports=s(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],s):a.dayjs_locale_tzm_latn=s(a.dayjs)}(this,function(a){"use strict";a=a&&a.hasOwnProperty("default")?a.default:a;var s={name:"tzm-latn",weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekStart:6,weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),ordinal:function(a){return a},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"}};return a.locale(s,null,!0),s});
diff --git a/node_modules/dayjs/locale/tzm.js b/node_modules/dayjs/locale/tzm.js
new file mode 100644
index 0000000..57d1a97
--- /dev/null
+++ b/node_modules/dayjs/locale/tzm.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_tzm=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"tzm",weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekStart:6,weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/ug-cn.js b/node_modules/dayjs/locale/ug-cn.js
new file mode 100644
index 0000000..7183d67
--- /dev/null
+++ b/node_modules/dayjs/locale/ug-cn.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_ug_cn=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"ug-cn",weekdays:"يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە".split("_"),months:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),weekStart:1,weekdaysShort:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),monthsShort:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),weekdaysMin:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-يىلىM-ئاينىڭD-كۈنى",LLL:"YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm",LLLL:"dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm"},relativeTime:{future:"%s كېيىن",past:"%s بۇرۇن",s:"نەچچە سېكونت",m:"بىر مىنۇت",mm:"%d مىنۇت",h:"بىر سائەت",hh:"%d سائەت",d:"بىر كۈن",dd:"%d كۈن",M:"بىر ئاي",MM:"%d ئاي",y:"بىر يىل",yy:"%d يىل"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/uk.js b/node_modules/dayjs/locale/uk.js
new file mode 100644
index 0000000..d258f34
--- /dev/null
+++ b/node_modules/dayjs/locale/uk.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_uk=e(_.dayjs)}(this,function(_){"use strict";function e(_,e,t){var s,d;return"m"===t?e?"хвилина":"хвилину":_+" "+(s=+_,d={ss:e?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:e?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:e?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"}[t].split("_"),s%10==1&&s%100!=11?d[0]:s%10>=2&&s%10<=4&&(s%100<10||s%100>=20)?d[1]:d[2])}_=_&&_.hasOwnProperty("default")?_.default:_;var t={name:"uk",weekdays:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),weekdaysShort:"ндл_пнд_втр_срд_чтв_птн_сбт".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),months:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_"),monthsShort:"сiч_лют_бер_квiт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekStart:1,relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",m:e,mm:e,h:"годину",hh:e,d:"день",dd:e,M:"місяць",MM:e,y:"рік",yy:e},ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"}};return _.locale(t,null,!0),t});
diff --git a/node_modules/dayjs/locale/ur.js b/node_modules/dayjs/locale/ur.js
new file mode 100644
index 0000000..cadbeec
--- /dev/null
+++ b/node_modules/dayjs/locale/ur.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_ur=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"ur",weekdays:"اتوار_پیر_منگل_بدھ_جمعرات_جمعہ_ہفتہ".split("_"),months:"جنوری_فروری_مارچ_اپریل_مئی_جون_جولائی_اگست_ستمبر_اکتوبر_نومبر_دسمبر".split("_"),weekStart:1,weekdaysShort:"اتوار_پیر_منگل_بدھ_جمعرات_جمعہ_ہفتہ".split("_"),monthsShort:"جنوری_فروری_مارچ_اپریل_مئی_جون_جولائی_اگست_ستمبر_اکتوبر_نومبر_دسمبر".split("_"),weekdaysMin:"اتوار_پیر_منگل_بدھ_جمعرات_جمعہ_ہفتہ".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},relativeTime:{future:"%s بعد",past:"%s قبل",s:"چند سیکنڈ",m:"ایک منٹ",mm:"%d منٹ",h:"ایک گھنٹہ",hh:"%d گھنٹے",d:"ایک دن",dd:"%d دن",M:"ایک ماہ",MM:"%d ماہ",y:"ایک سال",yy:"%d سال"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/uz-latn.js b/node_modules/dayjs/locale/uz-latn.js
new file mode 100644
index 0000000..ac9ad50
--- /dev/null
+++ b/node_modules/dayjs/locale/uz-latn.js
@@ -0,0 +1 @@
+!function(a,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):a.dayjs_locale_uz_latn=e(a.dayjs)}(this,function(a){"use strict";a=a&&a.hasOwnProperty("default")?a.default:a;var e={name:"uz-latn",weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),weekStart:1,weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),ordinal:function(a){return a},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"}};return a.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/uz.js b/node_modules/dayjs/locale/uz.js
new file mode 100644
index 0000000..79a46b1
--- /dev/null
+++ b/node_modules/dayjs/locale/uz.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_uz=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"uz",weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),weekStart:1,weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/vi.js b/node_modules/dayjs/locale/vi.js
new file mode 100644
index 0000000..8afa331
--- /dev/null
+++ b/node_modules/dayjs/locale/vi.js
@@ -0,0 +1 @@
+!function(t,_){"object"==typeof exports&&"undefined"!=typeof module?module.exports=_(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],_):t.dayjs_locale_vi=_(t.dayjs)}(this,function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var _={name:"vi",weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),weekStart:1,weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),ordinal:function(t){return t},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"}};return t.locale(_,null,!0),_});
diff --git a/node_modules/dayjs/locale/x-pseudo.js b/node_modules/dayjs/locale/x-pseudo.js
new file mode 100644
index 0000000..963dc33
--- /dev/null
+++ b/node_modules/dayjs/locale/x-pseudo.js
@@ -0,0 +1 @@
+!function(_,d){"object"==typeof exports&&"undefined"!=typeof module?module.exports=d(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],d):_.dayjs_locale_x_pseudo=d(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var d={name:"x-pseudo",weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),weekStart:1,weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"}};return _.locale(d,null,!0),d});
diff --git a/node_modules/dayjs/locale/yo.js b/node_modules/dayjs/locale/yo.js
new file mode 100644
index 0000000..4b443cc
--- /dev/null
+++ b/node_modules/dayjs/locale/yo.js
@@ -0,0 +1 @@
+!function(e,_){"object"==typeof exports&&"undefined"!=typeof module?module.exports=_(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],_):e.dayjs_locale_yo=_(e.dayjs)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var _={name:"yo",weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),weekStart:1,weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),ordinal:function(e){return e},formats:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"}};return e.locale(_,null,!0),_});
diff --git a/node_modules/dayjs/locale/zh-cn.js b/node_modules/dayjs/locale/zh-cn.js
new file mode 100644
index 0000000..b6634dc
--- /dev/null
+++ b/node_modules/dayjs/locale/zh-cn.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_zh_cn=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"zh-cn",weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function(_,e){switch(e){case"W":return _+"周";default:return _+"日"}},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},meridiem:function(_,e){var t=100*_+e;return t<600?"凌晨":t<900?"早上":t<1130?"上午":t<1230?"中午":t<1800?"下午":"晚上"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/zh-hk.js b/node_modules/dayjs/locale/zh-hk.js
new file mode 100644
index 0000000..3caea40
--- /dev/null
+++ b/node_modules/dayjs/locale/zh-hk.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_zh_hk=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"zh-hk",months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),ordinal:function(_){return _+"日"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"一分鐘",mm:"%d 分鐘",h:"一小時",hh:"%d 小時",d:"一天",dd:"%d 天",M:"一個月",MM:"%d 個月",y:"一年",yy:"%d 年"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/locale/zh-tw.js b/node_modules/dayjs/locale/zh-tw.js
new file mode 100644
index 0000000..3b427d4
--- /dev/null
+++ b/node_modules/dayjs/locale/zh-tw.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):_.dayjs_locale_zh_tw=e(_.dayjs)}(this,function(_){"use strict";_=_&&_.hasOwnProperty("default")?_.default:_;var e={name:"zh-tw",weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function(_){return _+"日"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}};return _.locale(e,null,!0),e});
diff --git a/node_modules/dayjs/package.json b/node_modules/dayjs/package.json
new file mode 100644
index 0000000..f369324
--- /dev/null
+++ b/node_modules/dayjs/package.json
@@ -0,0 +1,131 @@
+{
+ "_from": "dayjs",
+ "_id": "dayjs@1.8.22",
+ "_inBundle": false,
+ "_integrity": "sha1-XoNdd2s3PiFmeL6NEsM22nGiWpw=",
+ "_location": "/dayjs",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "tag",
+ "registry": true,
+ "raw": "dayjs",
+ "name": "dayjs",
+ "escapedName": "dayjs",
+ "rawSpec": "",
+ "saveSpec": null,
+ "fetchSpec": "latest"
+ },
+ "_requiredBy": [
+ "#USER",
+ "/"
+ ],
+ "_resolved": "https://registry.npm.taobao.org/dayjs/download/dayjs-1.8.22.tgz",
+ "_shasum": "5e835d776b373e216678be8d12c336da71a25a9c",
+ "_spec": "dayjs",
+ "_where": "/Users/piao/Documents/Project/yshopmall_uni",
+ "author": {
+ "name": "iamkun"
+ },
+ "bugs": {
+ "url": "https://github.com/iamkun/dayjs/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {},
+ "deprecated": false,
+ "description": "2KB immutable date time library alternative to Moment.js with the same modern API ",
+ "devDependencies": {
+ "@babel/cli": "^7.0.0-beta.44",
+ "@babel/core": "^7.0.0-beta.44",
+ "@babel/node": "^7.0.0-beta.44",
+ "@babel/preset-env": "^7.0.0-beta.44",
+ "babel-core": "^7.0.0-bridge.0",
+ "babel-jest": "^22.4.3",
+ "babel-plugin-external-helpers": "^6.22.0",
+ "cross-env": "^5.1.6",
+ "eslint": "^4.19.1",
+ "eslint-config-airbnb-base": "^12.1.0",
+ "eslint-plugin-import": "^2.10.0",
+ "eslint-plugin-jest": "^21.15.0",
+ "gzip-size-cli": "^2.1.0",
+ "jasmine-core": "^2.99.1",
+ "jest": "^22.4.3",
+ "karma": "^2.0.2",
+ "karma-jasmine": "^1.1.2",
+ "karma-sauce-launcher": "^1.1.0",
+ "mockdate": "^2.0.2",
+ "moment": "^2.22.0",
+ "ncp": "^2.0.0",
+ "pre-commit": "^1.2.2",
+ "prettier": "^1.16.1",
+ "rollup": "^0.57.1",
+ "rollup-plugin-babel": "^4.0.0-beta.4",
+ "rollup-plugin-uglify": "^3.0.0",
+ "size-limit": "^0.18.0",
+ "typescript": "^2.8.3"
+ },
+ "homepage": "https://day.js.org/",
+ "jest": {
+ "roots": [
+ "test"
+ ],
+ "testRegex": "test/(.*?/)?.*test.js$",
+ "testURL": "http://localhost",
+ "coverageDirectory": "./coverage/",
+ "collectCoverage": true,
+ "collectCoverageFrom": [
+ "src/**/*"
+ ]
+ },
+ "keywords": [
+ "dayjs",
+ "date",
+ "time",
+ "immutable",
+ "moment"
+ ],
+ "license": "MIT",
+ "main": "dayjs.min.js",
+ "module": "dayjs.min.js",
+ "name": "dayjs",
+ "pre-commit": [
+ "lint"
+ ],
+ "release": {
+ "prepare": [
+ {
+ "path": "@semantic-release/changelog"
+ },
+ [
+ "@semantic-release/git",
+ {
+ "assets": [
+ "CHANGELOG.md"
+ ]
+ }
+ ]
+ ]
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/iamkun/dayjs.git"
+ },
+ "scripts": {
+ "babel": "cross-env BABEL_ENV=build babel src --out-dir esm --copy-files && node build/esm",
+ "build": "cross-env BABEL_ENV=build node build && npm run size",
+ "lint": "eslint src/* test/* build/*",
+ "prettier": "prettier --write \"docs/**/*.md\"",
+ "sauce": "npx karma start karma.sauce.conf.js",
+ "size": "size-limit && gzip-size dayjs.min.js",
+ "test": "TZ=Pacific/Auckland npm run test-tz && TZ=Europe/London npm run test-tz && TZ=America/Whitehorse npm run test-tz && npm run test-tz && jest",
+ "test-tz": "date && jest test/timezone.test --coverage=false",
+ "test:sauce": "npm run sauce -- 0 && npm run sauce -- 1 && npm run sauce -- 2 && npm run sauce -- 3"
+ },
+ "size-limit": [
+ {
+ "limit": "2.99 KB",
+ "path": "dayjs.min.js"
+ }
+ ],
+ "types": "index.d.ts",
+ "version": "1.8.22"
+}
diff --git a/node_modules/dayjs/plugin/advancedFormat.d.ts b/node_modules/dayjs/plugin/advancedFormat.d.ts
new file mode 100644
index 0000000..30ec75e
--- /dev/null
+++ b/node_modules/dayjs/plugin/advancedFormat.d.ts
@@ -0,0 +1,4 @@
+import { PluginFunc } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
diff --git a/node_modules/dayjs/plugin/advancedFormat.js b/node_modules/dayjs/plugin/advancedFormat.js
new file mode 100644
index 0000000..7b4370e
--- /dev/null
+++ b/node_modules/dayjs/plugin/advancedFormat.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.dayjs_plugin_advancedFormat=t()}(this,function(){"use strict";return function(e,t,r){var n=t.prototype,o=n.format;r.en.ordinal=function(e){var t=["th","st","nd","rd"],r=e%100;return"["+e+(t[(r-20)%10]||t[r]||t[0])+"]"},n.format=function(e){var t=this,r=this.$locale(),n=this.$utils(),a=(e||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|gggg|Do|X|x|k{1,2}|S/g,function(e){switch(e){case"Q":return Math.ceil((t.$M+1)/3);case"Do":return r.ordinal(t.$D);case"gggg":return t.weekYear();case"wo":return r.ordinal(t.week(),"W");case"w":case"ww":return n.s(t.week(),"w"===e?1:2,"0");case"k":case"kk":return n.s(String(0===t.$H?24:t.$H),"k"===e?1:2,"0");case"X":return Math.floor(t.$d.getTime()/1e3);case"x":return t.$d.getTime();default:return e}});return o.bind(this)(a)}}});
diff --git a/node_modules/dayjs/plugin/badMutable.d.ts b/node_modules/dayjs/plugin/badMutable.d.ts
new file mode 100644
index 0000000..30ec75e
--- /dev/null
+++ b/node_modules/dayjs/plugin/badMutable.d.ts
@@ -0,0 +1,4 @@
+import { PluginFunc } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
diff --git a/node_modules/dayjs/plugin/badMutable.js b/node_modules/dayjs/plugin/badMutable.js
new file mode 100644
index 0000000..3b35ad6
--- /dev/null
+++ b/node_modules/dayjs/plugin/badMutable.js
@@ -0,0 +1 @@
+!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):t.dayjs_plugin_badMutable=n()}(this,function(){"use strict";return function(t,n){var i=n.prototype;i.$g=function(t,n,i){return this.$utils().u(t)?this[n]:this.$set(i,t)},i.set=function(t,n){return this.$set(t,n)};var e=i.startOf;i.startOf=function(t,n){return this.$d=e.bind(this)(t,n).toDate(),this.init(),this};var s=i.add;i.add=function(t,n){return this.$d=s.bind(this)(t,n).toDate(),this.init(),this};var r=i.locale;i.locale=function(t,n){return t?(this.$L=r.bind(this)(t,n).$L,this):this.$L};var o=i.daysInMonth;i.daysInMonth=function(){return o.bind(this.clone())()};var u=i.isSame;i.isSame=function(t,n){return u.bind(this.clone())(t,n)};var f=i.isBefore;i.isBefore=function(t,n){return f.bind(this.clone())(t,n)};var d=i.isAfter;i.isAfter=function(t,n){return d.bind(this.clone())(t,n)}}});
diff --git a/node_modules/dayjs/plugin/buddhistEra.d.ts b/node_modules/dayjs/plugin/buddhistEra.d.ts
new file mode 100644
index 0000000..30ec75e
--- /dev/null
+++ b/node_modules/dayjs/plugin/buddhistEra.d.ts
@@ -0,0 +1,4 @@
+import { PluginFunc } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
diff --git a/node_modules/dayjs/plugin/buddhistEra.js b/node_modules/dayjs/plugin/buddhistEra.js
new file mode 100644
index 0000000..290ccbd
--- /dev/null
+++ b/node_modules/dayjs/plugin/buddhistEra.js
@@ -0,0 +1 @@
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.dayjs_plugin_buddhistEra=e()}(this,function(){"use strict";return function(t,e){var n=e.prototype,i=n.format;n.format=function(t){var e=this,n=(t||"YYYY-MM-DDTHH:mm:ssZ").replace(/(\[[^\]]+])|BBBB|BB/g,function(t,n){var i,o=String(e.$y+543),r="BB"===t?[o.slice(-2),2]:[o,4];return n||(i=e.$utils()).s.apply(i,r.concat(["0"]))});return i.bind(this)(n)}}});
diff --git a/node_modules/dayjs/plugin/calendar.d.ts b/node_modules/dayjs/plugin/calendar.d.ts
new file mode 100644
index 0000000..a8d064f
--- /dev/null
+++ b/node_modules/dayjs/plugin/calendar.d.ts
@@ -0,0 +1,10 @@
+import { PluginFunc, ConfigType } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
+
+declare module 'dayjs' {
+ interface Dayjs {
+ calendar(referenceTime?: ConfigType, formats?: object): string
+ }
+}
diff --git a/node_modules/dayjs/plugin/calendar.js b/node_modules/dayjs/plugin/calendar.js
new file mode 100644
index 0000000..c9b9833
--- /dev/null
+++ b/node_modules/dayjs/plugin/calendar.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.dayjs_plugin_calendar=t()}(this,function(){"use strict";return function(e,t,a){var d="h:mm A",n={lastDay:"[Yesterday at] "+d,sameDay:"[Today at] "+d,nextDay:"[Tomorrow at] "+d,nextWeek:"dddd [at] "+d,lastWeek:"[Last] dddd [at] "+d,sameElse:"MM/DD/YYYY"};t.prototype.calendar=function(e,t){var d=t||this.$locale().calendar||n,s=a(e||void 0).startOf("d"),o=this.diff(s,"d",!0),r=o<-6?"sameElse":o<-1?"lastWeek":o<0?"lastDay":o<1?"sameDay":o<2?"nextDay":o<7?"nextWeek":"sameElse";return this.format(d[r]||n[r])}}});
diff --git a/node_modules/dayjs/plugin/customParseFormat.d.ts b/node_modules/dayjs/plugin/customParseFormat.d.ts
new file mode 100644
index 0000000..30ec75e
--- /dev/null
+++ b/node_modules/dayjs/plugin/customParseFormat.d.ts
@@ -0,0 +1,4 @@
+import { PluginFunc } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
diff --git a/node_modules/dayjs/plugin/customParseFormat.js b/node_modules/dayjs/plugin/customParseFormat.js
new file mode 100644
index 0000000..b673274
--- /dev/null
+++ b/node_modules/dayjs/plugin/customParseFormat.js
@@ -0,0 +1 @@
+!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):t.dayjs_plugin_customParseFormat=n()}(this,function(){"use strict";var t,n=/(\[[^[]*\])|([-:/.()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,e=/\d\d/,r=/\d\d?/,o=/\d*[^\s\d-:/.()]+/;var s=function(t){return function(n){this[t]=+n}},i=[/[+-]\d\d:?\d\d/,function(t){var n,e;(this.zone||(this.zone={})).offset=(n=t.match(/([+-]|\d\d)/g),0===(e=60*n[1]+ +n[2])?0:"+"===n[0]?-e:e)}],a={A:[/[AP]M/,function(t){this.afternoon="PM"===t}],a:[/[ap]m/,function(t){this.afternoon="pm"===t}],S:[/\d/,function(t){this.milliseconds=100*+t}],SS:[e,function(t){this.milliseconds=10*+t}],SSS:[/\d{3}/,function(t){this.milliseconds=+t}],s:[r,s("seconds")],ss:[r,s("seconds")],m:[r,s("minutes")],mm:[r,s("minutes")],H:[r,s("hours")],h:[r,s("hours")],HH:[r,s("hours")],hh:[r,s("hours")],D:[r,s("day")],DD:[e,s("day")],Do:[o,function(n){var e=t.ordinal,r=n.match(/\d+/);if(this.day=r[0],e)for(var o=1;o<=31;o+=1)e(o).replace(/\[|\]/g,"")===n&&(this.day=o)}],M:[r,s("month")],MM:[e,s("month")],MMM:[o,function(n){var e=t,r=e.months,o=e.monthsShort,s=o?o.findIndex(function(t){return t===n}):r.findIndex(function(t){return t.substr(0,3)===n});if(s<0)throw new Error;this.month=s+1}],MMMM:[o,function(n){var e=t.months.indexOf(n);if(e<0)throw new Error;this.month=e+1}],Y:[/[+-]?\d+/,s("year")],YY:[e,function(t){t=+t,this.year=t+(t>68?1900:2e3)}],YYYY:[/\d{4}/,s("year")],Z:i,ZZ:i};var u=function(t,e,r){try{var o=function(t){for(var e=t.match(n),r=e.length,o=0;o0?i-1:l.getMonth(),y=f||0,D=h||0,Y=d||0,g=c||0;return r?new Date(Date.UTC(p,M,v,y,D,Y,g)):new Date(p,M,v,y,D,Y,g)}catch(t){return new Date("")}};return function(n,e,r){var o=e.prototype,s=o.parse;o.parse=function(n){var e=n.date,o=n.format,i=n.pl,a=n.utc;this.$u=a,o?(t=i?r.Ls[i]:this.$locale(),this.$d=u(e,o,a),this.init(n),i&&(this.$L=i)):s.call(this,n)}}});
diff --git a/node_modules/dayjs/plugin/dayOfYear.d.ts b/node_modules/dayjs/plugin/dayOfYear.d.ts
new file mode 100644
index 0000000..4fd6601
--- /dev/null
+++ b/node_modules/dayjs/plugin/dayOfYear.d.ts
@@ -0,0 +1,11 @@
+import { PluginFunc } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
+
+declare module 'dayjs' {
+ interface Dayjs {
+ dayOfYear(): number
+ dayOfYear(value: number): Dayjs
+ }
+}
diff --git a/node_modules/dayjs/plugin/dayOfYear.js b/node_modules/dayjs/plugin/dayOfYear.js
new file mode 100644
index 0000000..e09facd
--- /dev/null
+++ b/node_modules/dayjs/plugin/dayOfYear.js
@@ -0,0 +1 @@
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.dayjs_plugin_dayOfYear=e()}(this,function(){"use strict";return function(t,e){e.prototype.dayOfYear=function(t){var e=Math.round((this.startOf("day")-this.startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"day")}}});
diff --git a/node_modules/dayjs/plugin/isBetween.d.ts b/node_modules/dayjs/plugin/isBetween.d.ts
new file mode 100644
index 0000000..e73a27e
--- /dev/null
+++ b/node_modules/dayjs/plugin/isBetween.d.ts
@@ -0,0 +1,10 @@
+import { PluginFunc, ConfigType, OpUnitType } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
+
+declare module 'dayjs' {
+ interface Dayjs {
+ isBetween(a: ConfigType, b: ConfigType, c?: OpUnitType | null, d?: string): boolean
+ }
+}
diff --git a/node_modules/dayjs/plugin/isBetween.js b/node_modules/dayjs/plugin/isBetween.js
new file mode 100644
index 0000000..535921a
--- /dev/null
+++ b/node_modules/dayjs/plugin/isBetween.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.dayjs_plugin_isBetween=t()}(this,function(){"use strict";return function(e,t,i){t.prototype.isBetween=function(e,t,s,f){var n=i(e),o=i(t),r="("===(f=f||"()")[0],u=")"===f[1];return(r?this.isAfter(n,s):!this.isBefore(n,s))&&(u?this.isBefore(o,s):!this.isAfter(o,s))||(r?this.isBefore(n,s):!this.isAfter(n,s))&&(u?this.isAfter(o,s):!this.isBefore(o,s))}}});
diff --git a/node_modules/dayjs/plugin/isLeapYear.d.ts b/node_modules/dayjs/plugin/isLeapYear.d.ts
new file mode 100644
index 0000000..5be7409
--- /dev/null
+++ b/node_modules/dayjs/plugin/isLeapYear.d.ts
@@ -0,0 +1,10 @@
+import { PluginFunc } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
+
+declare module 'dayjs' {
+ interface Dayjs {
+ isLeapYear(): boolean
+ }
+}
diff --git a/node_modules/dayjs/plugin/isLeapYear.js b/node_modules/dayjs/plugin/isLeapYear.js
new file mode 100644
index 0000000..c2ba251
--- /dev/null
+++ b/node_modules/dayjs/plugin/isLeapYear.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.dayjs_plugin_isLeapYear=t()}(this,function(){"use strict";return function(e,t){t.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0}}});
diff --git a/node_modules/dayjs/plugin/isMoment.d.ts b/node_modules/dayjs/plugin/isMoment.d.ts
new file mode 100644
index 0000000..dac24f6
--- /dev/null
+++ b/node_modules/dayjs/plugin/isMoment.d.ts
@@ -0,0 +1,10 @@
+import { PluginFunc } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
+
+declare module 'dayjs' {
+
+ export function isMoment(input: any): boolean
+
+}
diff --git a/node_modules/dayjs/plugin/isMoment.js b/node_modules/dayjs/plugin/isMoment.js
new file mode 100644
index 0000000..5dd46f4
--- /dev/null
+++ b/node_modules/dayjs/plugin/isMoment.js
@@ -0,0 +1 @@
+!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):e.dayjs_plugin_isMoment=n()}(this,function(){"use strict";return function(e,n,t){t.isMoment=function(e){return t.isDayjs(e)}}});
diff --git a/node_modules/dayjs/plugin/isSameOrAfter.d.ts b/node_modules/dayjs/plugin/isSameOrAfter.d.ts
new file mode 100644
index 0000000..1c8c264
--- /dev/null
+++ b/node_modules/dayjs/plugin/isSameOrAfter.d.ts
@@ -0,0 +1,10 @@
+import { PluginFunc, ConfigType, OpUnitType } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
+
+declare module 'dayjs' {
+ interface Dayjs {
+ isSameOrAfter(date: ConfigType, unit?: OpUnitType): boolean
+ }
+}
diff --git a/node_modules/dayjs/plugin/isSameOrAfter.js b/node_modules/dayjs/plugin/isSameOrAfter.js
new file mode 100644
index 0000000..f9f8123
--- /dev/null
+++ b/node_modules/dayjs/plugin/isSameOrAfter.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.dayjs_plugin_isSameOrAfter=t()}(this,function(){"use strict";return function(e,t){t.prototype.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)}}});
diff --git a/node_modules/dayjs/plugin/isSameOrBefore.d.ts b/node_modules/dayjs/plugin/isSameOrBefore.d.ts
new file mode 100644
index 0000000..1df5492
--- /dev/null
+++ b/node_modules/dayjs/plugin/isSameOrBefore.d.ts
@@ -0,0 +1,10 @@
+import { PluginFunc, ConfigType, OpUnitType } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
+
+declare module 'dayjs' {
+ interface Dayjs {
+ isSameOrBefore(date: ConfigType, unit?: OpUnitType): boolean
+ }
+}
diff --git a/node_modules/dayjs/plugin/isSameOrBefore.js b/node_modules/dayjs/plugin/isSameOrBefore.js
new file mode 100644
index 0000000..c31e245
--- /dev/null
+++ b/node_modules/dayjs/plugin/isSameOrBefore.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.dayjs_plugin_isSameOrBefore=t()}(this,function(){"use strict";return function(e,t){t.prototype.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)}}});
diff --git a/node_modules/dayjs/plugin/isoWeek.d.ts b/node_modules/dayjs/plugin/isoWeek.d.ts
new file mode 100644
index 0000000..f60cf95
--- /dev/null
+++ b/node_modules/dayjs/plugin/isoWeek.d.ts
@@ -0,0 +1,27 @@
+import { PluginFunc, QUnitType, ConfigType } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
+
+type ISOUnitType = UnitType | 'isoWeek';
+
+declare module 'dayjs' {
+ interface Dayjs {
+ isoWeekYear(): number
+ isoWeek(): number
+ isoWeek(value: number): Dayjs
+
+ isoWeekday(): number
+ isoWeekday(value: number): Dayjs
+
+ startOf(unit: ISOUnitType): Dayjs
+
+ endOf(unit: ISOUnitType): Dayjs
+
+ isSame(date: ConfigType, unit?: ISOUnitType): boolean
+
+ isBefore(date: ConfigType, unit?: ISOUnitType): boolean
+
+ isAfter(date: ConfigType, unit?: ISOUnitType): boolean
+ }
+}
diff --git a/node_modules/dayjs/plugin/isoWeek.js b/node_modules/dayjs/plugin/isoWeek.js
new file mode 100644
index 0000000..8faf982
--- /dev/null
+++ b/node_modules/dayjs/plugin/isoWeek.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.dayjs_plugin_isoWeek=t()}(this,function(){"use strict";var e="day";return function(t,i,s){var a=function(t){return t.add(4-t.isoWeekday(),e)},d=i.prototype;d.isoWeekYear=function(){return a(this).year()},d.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),e);var i,d,n,r=a(this),o=(i=this.isoWeekYear(),d=s().year(i).startOf("year"),n=4-d.isoWeekday(),d.isoWeekday()>4&&(n+=7),d.add(n,e));return r.diff(o,"week")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return"isoweek"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):n.bind(this)(e,t)}}});
diff --git a/node_modules/dayjs/plugin/isoWeeksInYear.d.ts b/node_modules/dayjs/plugin/isoWeeksInYear.d.ts
new file mode 100644
index 0000000..2bc02cd
--- /dev/null
+++ b/node_modules/dayjs/plugin/isoWeeksInYear.d.ts
@@ -0,0 +1,10 @@
+import { PluginFunc } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
+
+declare module 'dayjs' {
+ interface Dayjs {
+ isoWeeksInYear(): number
+ }
+}
diff --git a/node_modules/dayjs/plugin/isoWeeksInYear.js b/node_modules/dayjs/plugin/isoWeeksInYear.js
new file mode 100644
index 0000000..f8b2a76
--- /dev/null
+++ b/node_modules/dayjs/plugin/isoWeeksInYear.js
@@ -0,0 +1 @@
+!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):e.dayjs_plugin_isoWeeksInYear=n()}(this,function(){"use strict";return function(e,n){n.prototype.isoWeeksInYear=function(){var e=this.isLeapYear(),n=this.endOf("y").day();return 4===n||e&&5===n?53:52}}});
diff --git a/node_modules/dayjs/plugin/localeData.d.ts b/node_modules/dayjs/plugin/localeData.d.ts
new file mode 100644
index 0000000..7d98176
--- /dev/null
+++ b/node_modules/dayjs/plugin/localeData.d.ts
@@ -0,0 +1,10 @@
+import { PluginFunc } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
+
+declare module 'dayjs' {
+ interface Dayjs {
+ localeData(): any
+ }
+}
diff --git a/node_modules/dayjs/plugin/localeData.js b/node_modules/dayjs/plugin/localeData.js
new file mode 100644
index 0000000..a1fc704
--- /dev/null
+++ b/node_modules/dayjs/plugin/localeData.js
@@ -0,0 +1 @@
+!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):n.dayjs_plugin_localeData=t()}(this,function(){"use strict";return function(n,t,e){var r=function(n,t,e,r){var o=n.name?n:n.$locale();return o[t]?o[t]:o[e].map(function(n){return n.substr(0,r)})},o=function(){return e.Ls[e.locale()]};t.prototype.localeData=function(){return function(){var n=this;return{months:function(t){return t?t.format("MMMM"):r(n,"months")},monthsShort:function(t){return t?t.format("MMM"):r(n,"monthsShort","months",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdaysMin:function(t){return t?t.format("dd"):r(n,"weekdaysMin","weekdays",2)},weekdaysShort:function(t){return t?t.format("ddd"):r(n,"weekdaysShort","weekdays",3)},longDateFormat:function(t){return n.$locale().formats[t]}}}.bind(this)()},e.localeData=function(){var n=o();return{firstDayOfWeek:function(){return n.weekStart||0},weekdays:function(){return e.weekdays()},weekdaysShort:function(){return e.weekdaysShort()},weekdaysMin:function(){return e.weekdaysMin()},months:function(){return e.months()},monthsShort:function(){return e.monthsShort()}}},e.months=function(){return o().months},e.monthsShort=function(){return r(o(),"monthsShort","months",3)},e.weekdays=function(){return o().weekdays},e.weekdaysShort=function(){return r(o(),"weekdaysShort","weekdays",3)},e.weekdaysMin=function(){return r(o(),"weekdaysMin","weekdays",2)}}});
diff --git a/node_modules/dayjs/plugin/localizedFormat.d.ts b/node_modules/dayjs/plugin/localizedFormat.d.ts
new file mode 100644
index 0000000..30ec75e
--- /dev/null
+++ b/node_modules/dayjs/plugin/localizedFormat.d.ts
@@ -0,0 +1,4 @@
+import { PluginFunc } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
diff --git a/node_modules/dayjs/plugin/localizedFormat.js b/node_modules/dayjs/plugin/localizedFormat.js
new file mode 100644
index 0000000..bee2b27
--- /dev/null
+++ b/node_modules/dayjs/plugin/localizedFormat.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.dayjs_plugin_localizedFormat=t()}(this,function(){"use strict";return function(e,t,o){var n=t.prototype,r=n.format,M={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};o.en.formats=M;n.format=function(e){void 0===e&&(e="YYYY-MM-DDTHH:mm:ssZ");var t=this.$locale().formats,o=void 0===t?{}:t,n=e.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(e,t,n){var r=n&&n.toUpperCase();return t||o[n]||M[n]||o[r].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(e,t,o){return t||o.slice(1)})});return r.call(this,n)}}});
diff --git a/node_modules/dayjs/plugin/minMax.d.ts b/node_modules/dayjs/plugin/minMax.d.ts
new file mode 100644
index 0000000..f167350
--- /dev/null
+++ b/node_modules/dayjs/plugin/minMax.d.ts
@@ -0,0 +1,11 @@
+import { PluginFunc } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
+
+declare module 'dayjs' {
+ export function max(dayjs: Dayjs[]): Dayjs
+ export function max(...dayjs: Dayjs[]): Dayjs
+ export function min(dayjs: Dayjs[]): Dayjs
+ export function min(...dayjs: Dayjs[]): Dayjs
+}
diff --git a/node_modules/dayjs/plugin/minMax.js b/node_modules/dayjs/plugin/minMax.js
new file mode 100644
index 0000000..1584549
--- /dev/null
+++ b/node_modules/dayjs/plugin/minMax.js
@@ -0,0 +1 @@
+!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):e.dayjs_plugin_minMax=n()}(this,function(){"use strict";return function(e,n,t){var i=function(e,n){if(!n.length)return t();var i;1===n.length&&n[0].length>0&&(n=n[0]),i=n[0];for(var r=1;r0,m<=h.r||!h.r){1===m&&l>0&&(h=f[l-1]);var c=a[h.l];i="string"==typeof c?c.replace("%d",m):c(m,t,h.l,u);break}}return t?i:(u?a.future:a.past).replace("%s",i)};n.to=function(r,t){return o(r,t,this,!0)},n.from=function(r,t){return o(r,t,this)};var d=function(r){return r.$u?e.utc():e()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)}}});
diff --git a/node_modules/dayjs/plugin/toArray.d.ts b/node_modules/dayjs/plugin/toArray.d.ts
new file mode 100644
index 0000000..45f1f0c
--- /dev/null
+++ b/node_modules/dayjs/plugin/toArray.d.ts
@@ -0,0 +1,10 @@
+import { PluginFunc } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
+
+declare module 'dayjs' {
+ interface Dayjs {
+ toArray(): number[]
+ }
+}
diff --git a/node_modules/dayjs/plugin/toArray.js b/node_modules/dayjs/plugin/toArray.js
new file mode 100644
index 0000000..fef0f68
--- /dev/null
+++ b/node_modules/dayjs/plugin/toArray.js
@@ -0,0 +1 @@
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.dayjs_plugin_toArray=e()}(this,function(){"use strict";return function(t,e){e.prototype.toArray=function(){return[this.$y,this.$M,this.$D,this.$H,this.$m,this.$s,this.$ms]}}});
diff --git a/node_modules/dayjs/plugin/toObject.d.ts b/node_modules/dayjs/plugin/toObject.d.ts
new file mode 100644
index 0000000..ca12aaf
--- /dev/null
+++ b/node_modules/dayjs/plugin/toObject.d.ts
@@ -0,0 +1,20 @@
+import { PluginFunc } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
+
+interface DayjsObject {
+ years: number
+ months: number
+ date: number
+ hours: number
+ minutes: number
+ seconds: number
+ milliseconds: number
+}
+
+declare module 'dayjs' {
+ interface Dayjs {
+ toObject(): DayjsObject
+ }
+}
diff --git a/node_modules/dayjs/plugin/toObject.js b/node_modules/dayjs/plugin/toObject.js
new file mode 100644
index 0000000..e03619d
--- /dev/null
+++ b/node_modules/dayjs/plugin/toObject.js
@@ -0,0 +1 @@
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.dayjs_plugin_toObject=e()}(this,function(){"use strict";return function(t,e){e.prototype.toObject=function(){return{years:this.$y,months:this.$M,date:this.$D,hours:this.$H,minutes:this.$m,seconds:this.$s,milliseconds:this.$ms}}}});
diff --git a/node_modules/dayjs/plugin/updateLocale.d.ts b/node_modules/dayjs/plugin/updateLocale.d.ts
new file mode 100644
index 0000000..44bce47
--- /dev/null
+++ b/node_modules/dayjs/plugin/updateLocale.d.ts
@@ -0,0 +1,8 @@
+import { PluginFunc } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
+
+declare module 'dayjs' {
+ export function updateLocale(localeName: String, customConfig: Object): any
+}
diff --git a/node_modules/dayjs/plugin/updateLocale.js b/node_modules/dayjs/plugin/updateLocale.js
new file mode 100644
index 0000000..e38fdc8
--- /dev/null
+++ b/node_modules/dayjs/plugin/updateLocale.js
@@ -0,0 +1 @@
+!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):e.dayjs_plugin_updateLocale=n()}(this,function(){"use strict";return function(e,n,t){t.updateLocale=function(e,n){var o=t.Ls[e];if(o)return(n?Object.keys(n):[]).forEach(function(e){o[e]=n[e]}),o}}});
diff --git a/node_modules/dayjs/plugin/utc.d.ts b/node_modules/dayjs/plugin/utc.d.ts
new file mode 100644
index 0000000..d25e2e8
--- /dev/null
+++ b/node_modules/dayjs/plugin/utc.d.ts
@@ -0,0 +1,19 @@
+import { PluginFunc, ConfigType } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
+
+declare module 'dayjs' {
+ interface Dayjs {
+
+ utc(): Dayjs
+
+ local(): Dayjs
+
+ isUTC(): boolean
+
+ utcOffset(offset: number): Dayjs
+ }
+
+ export function utc(config?: ConfigType, format?: string): Dayjs
+}
diff --git a/node_modules/dayjs/plugin/utc.js b/node_modules/dayjs/plugin/utc.js
new file mode 100644
index 0000000..d4f34b2
--- /dev/null
+++ b/node_modules/dayjs/plugin/utc.js
@@ -0,0 +1 @@
+!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):t.dayjs_plugin_utc=i()}(this,function(){"use strict";return function(t,i,e){var s=(new Date).getTimezoneOffset(),n=i.prototype;e.utc=function(t,e){return new i({date:t,utc:!0,format:e})},n.utc=function(){return e(this.toDate(),{locale:this.$L,utc:!0})},n.local=function(){return e(this.toDate(),{locale:this.$L,utc:!1})};var u=n.parse;n.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),u.call(this,t)};var o=n.init;n.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else o.call(this)};var f=n.utcOffset;n.utcOffset=function(t){var i=this.$utils().u;if(i(t))return this.$u?0:i(this.$offset)?f.call(this):this.$offset;var e,n=Math.abs(t)<=16?60*t:t;return 0!==t?(e=this.local().add(n+s,"minute")).$offset=n:e=this.utc(),e};var r=n.format;n.format=function(t){var i=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return r.call(this,i)},n.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+s;return this.$d.valueOf()-6e4*t},n.isUTC=function(){return!!this.$u},n.toISOString=function(){return this.toDate().toISOString()},n.toString=function(){return this.toDate().toUTCString()}}});
diff --git a/node_modules/dayjs/plugin/weekOfYear.d.ts b/node_modules/dayjs/plugin/weekOfYear.d.ts
new file mode 100644
index 0000000..d988014
--- /dev/null
+++ b/node_modules/dayjs/plugin/weekOfYear.d.ts
@@ -0,0 +1,12 @@
+import { PluginFunc } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
+
+declare module 'dayjs' {
+ interface Dayjs {
+ week(): number
+
+ week(value : number): Dayjs
+ }
+}
diff --git a/node_modules/dayjs/plugin/weekOfYear.js b/node_modules/dayjs/plugin/weekOfYear.js
new file mode 100644
index 0000000..14873c6
--- /dev/null
+++ b/node_modules/dayjs/plugin/weekOfYear.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.dayjs_plugin_weekOfYear=t()}(this,function(){"use strict";var e="week",t="year";return function(i,n){var r=n.prototype;r.week=function(i){if(void 0===i&&(i=null),null!==i)return this.add(7*(i-this.week()),"day");var n=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var r=this.startOf(t).add(1,t).date(n),f=this.endOf(e);if(r.isBefore(f))return 1}var s=this.startOf(t).date(n).startOf(e).subtract(1,"millisecond"),a=this.diff(s,e,!0);return a<0?this.startOf("week").week():Math.ceil(a)},r.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}});
diff --git a/node_modules/dayjs/plugin/weekYear.d.ts b/node_modules/dayjs/plugin/weekYear.d.ts
new file mode 100644
index 0000000..df25331
--- /dev/null
+++ b/node_modules/dayjs/plugin/weekYear.d.ts
@@ -0,0 +1,10 @@
+import { PluginFunc } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
+
+declare module 'dayjs' {
+ interface Dayjs {
+ weekYear(): number
+ }
+}
diff --git a/node_modules/dayjs/plugin/weekYear.js b/node_modules/dayjs/plugin/weekYear.js
new file mode 100644
index 0000000..c9d2fe7
--- /dev/null
+++ b/node_modules/dayjs/plugin/weekYear.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.dayjs_plugin_weekYear=t()}(this,function(){"use strict";return function(e,t){t.prototype.weekYear=function(){var e=this.month(),t=this.week(),n=this.year();return 1===t&&11===e?n+1:n}}});
diff --git a/node_modules/dayjs/plugin/weekday.d.ts b/node_modules/dayjs/plugin/weekday.d.ts
new file mode 100644
index 0000000..87a8025
--- /dev/null
+++ b/node_modules/dayjs/plugin/weekday.d.ts
@@ -0,0 +1,12 @@
+import { PluginFunc } from 'dayjs'
+
+declare const plugin: PluginFunc
+export = plugin
+
+declare module 'dayjs' {
+ interface Dayjs {
+ weekday(): number
+
+ weekday(value: number): Dayjs
+ }
+}
diff --git a/node_modules/dayjs/plugin/weekday.js b/node_modules/dayjs/plugin/weekday.js
new file mode 100644
index 0000000..ad0aaef
--- /dev/null
+++ b/node_modules/dayjs/plugin/weekday.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.dayjs_plugin_weekday=t()}(this,function(){"use strict";return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,n=this.$W,i=(n
+
+
+
+
+
+
diff --git a/pages/Loading/main.js b/pages/Loading/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/Loading/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/NotDefined/index.vue b/pages/NotDefined/index.vue
new file mode 100644
index 0000000..9be3c26
--- /dev/null
+++ b/pages/NotDefined/index.vue
@@ -0,0 +1,54 @@
+
+
+
+
+
+
页面未找到
+ 抱歉!您访问的页面不存在,请返回上一级或点击下方按钮返回首页...
+
+
+
+ 返回首页
+
+
+
+
+
+
+
diff --git a/pages/NotDefined/main.js b/pages/NotDefined/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/NotDefined/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/activity/BargainRecord/index.vue b/pages/activity/BargainRecord/index.vue
new file mode 100644
index 0000000..acd337c
--- /dev/null
+++ b/pages/activity/BargainRecord/index.vue
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
+
+
{{ item.title }}
+
+
+ 已砍至
+ ¥
+ {{ item.residuePrice }}
+
+
+
+
+
活动进行中
+
砍价成功
+
活动已结束
+
+
+
+
+
+
+
diff --git a/pages/activity/BargainRecord/main.js b/pages/activity/BargainRecord/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/activity/BargainRecord/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/activity/DargainDetails/index.vue b/pages/activity/DargainDetails/index.vue
new file mode 100644
index 0000000..4c4d7f9
--- /dev/null
+++ b/pages/activity/DargainDetails/index.vue
@@ -0,0 +1,509 @@
+
+
+
+
+
{{ lookCount }}人查看 丨 {{ shareCount }}人分享 丨 {{ userCount }}人参与
+
+
+
+
+
+
+ {{ bargainUserInfo.nickname }}
+ 邀请您帮忙砍价
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
邀请好友帮砍价
+
帮好友砍一刀
+
开启砍价
+
立即支付
+
抢更多商品
+
+
+ 已有
+
+ 位好友成功帮您砍价
+
+
+
+
+
+
+
+
+
砍价帮
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 砍掉{{ item.price }}元
+
+
+
+
点击加载更多
+
+
+
+
+
+
+
+
商品详情
+
+
+
+
+
+
+
+
+
+
+
+
+
活动规则
+
+
+
+
+
+
+
+
+
+
+
+
+ 您已砍掉
+ 元,听说分享次数越多砍价成功的机会越大哦!
+
+
+
,您也可以砍价低价拿哦,快去挑选心仪的商品吧~
+
+
邀请好友帮砍价
+
我也要参与
+
+
+
+
+
+
+
diff --git a/pages/activity/DargainDetails/main.js b/pages/activity/DargainDetails/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/activity/DargainDetails/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/activity/GoodsBargain/index.vue b/pages/activity/GoodsBargain/index.vue
new file mode 100644
index 0000000..79feedf
--- /dev/null
+++ b/pages/activity/GoodsBargain/index.vue
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.people }}人正在参与
+
+
+ 可砍至: ¥
+ {{item.minPrice}}
+
+
+
+ 参与砍价
+
+
+
点击加载更多
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/activity/GoodsBargain/main.js b/pages/activity/GoodsBargain/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/activity/GoodsBargain/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/activity/GoodsGroup/index.vue b/pages/activity/GoodsGroup/index.vue
new file mode 100644
index 0000000..b5c9e85
--- /dev/null
+++ b/pages/activity/GoodsGroup/index.vue
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ¥
+
+
+
+
+ 去拼团
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/activity/GoodsGroup/main.js b/pages/activity/GoodsGroup/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/activity/GoodsGroup/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/activity/GoodsSeckill/index.vue b/pages/activity/GoodsSeckill/index.vue
new file mode 100644
index 0000000..39c14c6
--- /dev/null
+++ b/pages/activity/GoodsSeckill/index.vue
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
{{ item.time }}
+
{{ item.state }}
+
+
+
+
+
+
+
+
+
马上抢
+
已售磬
+
即将开始
+
已结束
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/activity/GoodsSeckill/main.js b/pages/activity/GoodsSeckill/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/activity/GoodsSeckill/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/activity/GroupDetails/index.vue b/pages/activity/GroupDetails/index.vue
new file mode 100644
index 0000000..37b4095
--- /dev/null
+++ b/pages/activity/GroupDetails/index.vue
@@ -0,0 +1,330 @@
+
+
+
+
+
+
+
+ 已拼{{ storeInfo.sales
+ }}{{ storeInfo.unitName }}
+ |
+
+
+
+
+
+ {{ item }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查看更多
+
+
+
+
+
+
+
+ ①开团/参团
+
+
+
+ ②邀请好友
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/activity/GroupDetails/main.js b/pages/activity/GroupDetails/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/activity/GroupDetails/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/activity/GroupRule/index.vue b/pages/activity/GroupRule/index.vue
new file mode 100644
index 0000000..73cff5c
--- /dev/null
+++ b/pages/activity/GroupRule/index.vue
@@ -0,0 +1,224 @@
+
+
+
+
+
+
恭喜您拼团成功
+
还差{{ count }}人,拼团失败
+
拼团中,还差{{ count }}人拼团成功
+
+
+ {{ iShidden ? "收起" : "查看全部" }}
+
+
+
邀请好友参团
+
我要参团
+
再次开团
+
+ 取消开团
+
+
+ 查看订单信息
+
+
+
+
+
+
diff --git a/pages/activity/GroupRule/main.js b/pages/activity/GroupRule/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/activity/GroupRule/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/activity/Poster/index.vue b/pages/activity/Poster/index.vue
new file mode 100644
index 0000000..4b4cf74
--- /dev/null
+++ b/pages/activity/Poster/index.vue
@@ -0,0 +1,76 @@
+
+
+
+ 提示:长按图片保存至手机相册
+
+
+
+
+
+
+
+
+
diff --git a/pages/activity/Poster/main.js b/pages/activity/Poster/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/activity/Poster/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/activity/SeckillDetails/index.vue b/pages/activity/SeckillDetails/index.vue
new file mode 100644
index 0000000..4d29b16
--- /dev/null
+++ b/pages/activity/SeckillDetails/index.vue
@@ -0,0 +1,227 @@
+
+
+
+
+
+
diff --git a/pages/activity/SeckillDetails/main.js b/pages/activity/SeckillDetails/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/activity/SeckillDetails/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/authorization/index.vue b/pages/authorization/index.vue
new file mode 100644
index 0000000..00aeebf
--- /dev/null
+++ b/pages/authorization/index.vue
@@ -0,0 +1,188 @@
+
+
+
+
+
您还未允许微信登录授权,请点击下方按钮允许微信授权登录。
+
允许微信登录授权
+
+
取消微信登录授权
+
+
+
+
+
+
+
+
diff --git a/pages/authorization/main.js b/pages/authorization/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/authorization/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/home/index.vue b/pages/home/index.vue
new file mode 100644
index 0000000..39ccfe3
--- /dev/null
+++ b/pages/home/index.vue
@@ -0,0 +1,297 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/home/main.js b/pages/home/main.js
new file mode 100644
index 0000000..1ff7960
--- /dev/null
+++ b/pages/home/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index.vue'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/launch/index.vue b/pages/launch/index.vue
new file mode 100644
index 0000000..bcdd822
--- /dev/null
+++ b/pages/launch/index.vue
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/launch/main.js b/pages/launch/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/launch/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/order/GoodsReturn/index.vue b/pages/order/GoodsReturn/index.vue
new file mode 100644
index 0000000..fbf2feb
--- /dev/null
+++ b/pages/order/GoodsReturn/index.vue
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+
+
{{ cart.productInfo.storeName }}
+
+
+ ¥{{
+ cart.productInfo.attrInfo
+ ? cart.productInfo.attrInfo.price
+ : cart.productInfo.price
+ }}
+
+
x{{ cart.cartNum }}
+
+
+
+
+
+
退货件数
+
{{ orderInfo.totalNum }}
+
+
+
退款金额
+
¥{{ orderInfo.payPrice }}
+
+
+
+
+
+
+
申请退款
+
+
+
+
diff --git a/pages/order/GoodsReturn/main.js b/pages/order/GoodsReturn/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/order/GoodsReturn/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/order/Logistics/index.vue b/pages/order/Logistics/index.vue
new file mode 100644
index 0000000..ada1e0c
--- /dev/null
+++ b/pages/order/Logistics/index.vue
@@ -0,0 +1,350 @@
+
+
+
+
+
+
+
+
+
+ 物流公司:
+ {{ orderInfo.deliveryName }}
+
+
+ 快递单号:
+ {{ orderInfo.deliveryId }}
+
+
+
+
复制单号
+
+
+
+
+
{{ express.status }}
+
{{ express.time }}
+
+
+
+
+
+
+
+
+
+
+ 物流跟踪
+
+
+
+
+
+
+
+
-
+
+
+ {{item.acceptStation}}
+ {{item.acceptTime}}
+
+
-
+
+ {{item.acceptStation}}
+ {{item.acceptTime}}
+
+
-
+
+
+ {{item.acceptStation}}
+ {{item.acceptTime}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/order/Logistics/main.js b/pages/order/Logistics/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/order/Logistics/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/order/MyOrder/index.vue b/pages/order/MyOrder/index.vue
new file mode 100644
index 0000000..912e9d5
--- /dev/null
+++ b/pages/order/MyOrder/index.vue
@@ -0,0 +1,347 @@
+
+
+
+
+
+
待付款
+
{{ orderData.unpaidCount || 0 }}
+
+
+
待发货
+
{{ orderData.unshippedCount || 0 }}
+
+
+
待收货
+
{{ orderData.receivedCount || 0 }}
+
+
+
待评价
+
{{ orderData.evaluatedCount || 0 }}
+
+
+
已完成
+
{{ orderData.completeCount || 0 }}
+
+
+
+
+
+
+ 拼团
+ 秒杀
+ 砍价
+
+
+
{{ getStatus(order) }}
+
+
+
+
+
+
{{ cart.productInfo.storeName }}
+
+
+ ¥{{
+ cart.productInfo.attrInfo
+ ? cart.productInfo.attrInfo.price
+ : cart.productInfo.price
+ }}
+
+
x{{ cart.cartNum }}
+
+
+
+
+
+ 共{{ order.cartInfo.length || 0 }}件商品,总金额
+ ¥{{ order.payPrice }}
+
+
+
+ 取消订单
+ 立即付款
+
+
+ 查看详情
+
+
+ 查看物流
+ 确认收货
+
+
+
+
+
+
+
+
+
+
+
+ 去评价
+
+
+ 查看订单
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/order/MyOrder/main.js b/pages/order/MyOrder/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/order/MyOrder/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/order/OrderDetails/index.vue b/pages/order/OrderDetails/index.vue
new file mode 100644
index 0000000..f3b14f0
--- /dev/null
+++ b/pages/order/OrderDetails/index.vue
@@ -0,0 +1,629 @@
+
+
+
+
+
+
+
+
待付款
+
待核销
+
待发货
+
待收货
+
待评价
+
已完成
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ orderInfo.realName
+ }}
+ {{ orderInfo.userPhone }}
+
+
+
{{ orderInfo.userAddress }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
订单编号:
+
+ {{ orderInfo.orderId
+ }}
+ 复制
+
+
+
+
+
订单类型:
+
{{ orderTypeName }}
+
+
+
支付状态:
+
{{ orderInfo.paid ? "已支付" : "未支付" }}
+
+
+
支付方式:
+
{{ orderInfo._status._payType }}
+
+
+
买家留言:
+
{{ orderInfo.mark }}
+
+
+
+
+
+
+
+
快递公司:
+
{{ orderInfo.deliveryName || "" }}
+
+
+
快递号:
+
{{ orderInfo.deliveryId || "" }}
+
+
+
+
+
+
+
配送人:
+
{{ orderInfo.deliveryName || "" }}
+
+
+
配送电话:
+
+ {{ orderInfo.deliveryId || "" }}
+ 拨打
+
+
+
+
+
+
+
+
收货人:
+
{{ orderInfo.realName }}
+
+
+
联系电话:
+
{{ orderInfo.userPhone }}
+
+
+
收货地址:
+
{{ orderInfo.userAddress }}
+
+
+
+
+
支付金额:
+
¥{{ orderInfo.totalPrice }}
+
+
+
优惠券抵扣:
+
-¥{{ orderInfo.couponPrice }}
+
+
+
积分抵扣:
+
-¥{{ orderInfo.deductionPrice }}
+
+
+
运费:
+
¥{{ orderInfo.payPostage }}
+
+
+ 实付款:
+ ¥{{ orderInfo.payPrice }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/order/OrderDetails/main.js b/pages/order/OrderDetails/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/order/OrderDetails/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/order/OrderSubmission/index.vue b/pages/order/OrderSubmission/index.vue
new file mode 100644
index 0000000..2b8bddc
--- /dev/null
+++ b/pages/order/OrderSubmission/index.vue
@@ -0,0 +1,518 @@
+
+
+
+
+
+
+
+ {{ addressInfo.realName }}
+ {{ addressInfo.phone }}
+
+
+ [默认]
+ {{ addressInfo.province }}{{ addressInfo.city
+ }}{{ addressInfo.district }}{{ addressInfo.detail }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
优惠券
+
+ {{ usableCoupon.couponTitle || "请选择" }}
+
+
+
+
+
积分抵扣
+
+
+
+
+
+
+
+
+
+
+
+
+
快递费用
+
+ {{
+ orderGroupInfo.priceGroup.storePostage > 0
+ ? orderGroupInfo.priceGroup.storePostage
+ : "免运费"
+ }}
+
+
+
+
+
+
+
+
支付方式
+
+
+
+
+
+
可用余额:{{ userInfo.nowMoney || 0 }}
+
+
+
+
+
+
+
商品总价:
+
¥{{ orderPrice.totalPrice }}
+
+
+
运费:
+
¥{{ orderPrice.payPostage }}
+
+
+
优惠券抵扣:
+
-¥{{ orderPrice.couponPrice }}
+
+
+
积分抵扣:
+
-¥{{ orderPrice.deductionPrice }}
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/order/OrderSubmission/main.js b/pages/order/OrderSubmission/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/order/OrderSubmission/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/order/PaymentStatus/index.vue b/pages/order/PaymentStatus/index.vue
new file mode 100644
index 0000000..935673c
--- /dev/null
+++ b/pages/order/PaymentStatus/index.vue
@@ -0,0 +1,34 @@
+
+
+
+
+
+
订单支付成功
+
+
+
订单编号
+
wx3265361456134568
+
+
+
下单时间
+
2019-01-09 18:05
+
+
+
+
+
+
+
+
+
+
+
返回查看订单
+
返回首页
+
+
diff --git a/pages/order/PaymentStatus/main.js b/pages/order/PaymentStatus/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/order/PaymentStatus/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/order/ReturnList/index.vue b/pages/order/ReturnList/index.vue
new file mode 100644
index 0000000..69b9fd0
--- /dev/null
+++ b/pages/order/ReturnList/index.vue
@@ -0,0 +1,93 @@
+
+
+
+
+
+
订单号:{{ order.orderId }}
+
+
+
+
+
+
+
{{ cart.productInfo.storeName }}
+
x {{ cart.cartNum }}
+
+
{{ cart.productInfo.attrInfo.suk }}
+
{{ cart.productInfo.storeName }}
+
¥{{ cart.productInfo.price }}
+
+
+
+ 共{{ order.cartInfo.length || 0 }}件商品,总金额
+ ¥{{ order.payPrice }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/order/ReturnList/main.js b/pages/order/ReturnList/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/order/ReturnList/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/orderAdmin/AdminOrder/index.vue b/pages/orderAdmin/AdminOrder/index.vue
new file mode 100644
index 0000000..c690da2
--- /dev/null
+++ b/pages/orderAdmin/AdminOrder/index.vue
@@ -0,0 +1,352 @@
+
+
+
+
{{ orderInfo.nickname }}
+
+
+ {{ orderInfo.realName}}
+ {{ orderInfo.userPhone }}
+
+
{{ orderInfo.userAddress }}
+
+
+
+
+
+
+
+
+
+
+
+
{{ item.productInfo.storeName }}
+
{{ item.productInfo.suk }}
+
+
+
+
¥{{ item.productInfo.price }}
+
x{{ item.cartNum }}
+
¥{{ item.productInfo.otPrice ? item.productInfo.otPrice : 0 }}
+
+
+
+
+ 共{{ orderInfo.totalNum }}件商品,应支付
+ ¥{{ orderInfo.payPrice }}
+ ( 邮费 ¥{{
+ orderInfo.payPostage
+ }}
+ )
+
+
+
+
订单编号:
+
+ {{ orderInfo.orderId
+ }}
+ 复制
+
+
+
+
+
支付状态:
+
{{ orderInfo.paid == 1 ? "已支付" : "未支付" }}
+
+
+
支付方式:
+
{{ payType }}
+
+
+
买家留言:
+
{{ orderInfo.mark }}
+
+
+
+
+
支付金额:
+
¥{{ orderInfo.totalPrice }}
+
+
+
优惠券抵扣:
+
-¥{{ orderInfo.couponPrice }}
+
+
+ 实付款:
+ ¥{{ orderInfo.payPrice }}
+
+
+
+
+
+
快递公司:
+
送货人:
+
{{ orderInfo.delivery_name }}
+
+
+
快递单号:
+
送货人电话:
+
+ {{ orderInfo.delivery_id
+ }}
+ 复制
+
+
+
+
+
+
+
+
+
diff --git a/pages/orderAdmin/AdminOrder/main.js b/pages/orderAdmin/AdminOrder/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/orderAdmin/AdminOrder/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/orderAdmin/AdminOrderList/index.vue b/pages/orderAdmin/AdminOrderList/index.vue
new file mode 100644
index 0000000..0f5c056
--- /dev/null
+++ b/pages/orderAdmin/AdminOrderList/index.vue
@@ -0,0 +1,316 @@
+
+
+
+
待付款
+
待发货
+
待收货
+
待评价
+
已完成
+
退款
+
+
+
+
+ 订单号:{{ item.orderId }}
+
+ 下单时间:
+
+
+
+
+
+
+
+
+
+
+
{{ val.productInfo.storeName }}
+
{{ val.productInfo.suk }}
+
+
+
+
¥{{ val.productInfo.price }}
+
x{{ val.cartNum }}
+
¥{{ val.productInfo.otPrice }}
+
+
+
+
+ 共{{ item.totalNum }}件商品,应支付
+ ¥{{ item.payPrice }}
+ ( 邮费 ¥{{
+ item.totalPostage
+ }}
+ )
+
+
+
+
+
+
+
+
+
+
+
+
+
一键改价
+
立即退款
+
确认付款
+
去发货
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/orderAdmin/AdminOrderList/main.js b/pages/orderAdmin/AdminOrderList/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/orderAdmin/AdminOrderList/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/orderAdmin/GoodsDeliver/index.vue b/pages/orderAdmin/GoodsDeliver/index.vue
new file mode 100644
index 0000000..b698de6
--- /dev/null
+++ b/pages/orderAdmin/GoodsDeliver/index.vue
@@ -0,0 +1,206 @@
+
+
+
+
+
+
发货方式
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
确认提交
+
+
+
diff --git a/pages/orderAdmin/GoodsDeliver/main.js b/pages/orderAdmin/GoodsDeliver/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/orderAdmin/GoodsDeliver/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/orderAdmin/OrderCancellation/index.vue b/pages/orderAdmin/OrderCancellation/index.vue
new file mode 100644
index 0000000..fad1134
--- /dev/null
+++ b/pages/orderAdmin/OrderCancellation/index.vue
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/orderAdmin/OrderCancellation/main.js b/pages/orderAdmin/OrderCancellation/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/orderAdmin/OrderCancellation/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/orderAdmin/OrderIndex/index.vue b/pages/orderAdmin/OrderIndex/index.vue
new file mode 100644
index 0000000..a61fb2e
--- /dev/null
+++ b/pages/orderAdmin/OrderIndex/index.vue
@@ -0,0 +1,176 @@
+
+
+
+
+
+ 数据统计
+
+
+
+
{{ census.orderTimeCount.todayPrice }}
+
今日成交额
+
+
+
{{ census.orderTimeCount.proPrice }}
+
昨日成交额
+
+
+
{{ census.orderTimeCount.monthPrice }}
+
本月成交额
+
+
+
{{ census.orderTimeCount.todayCount }}
+
今日订单数
+
+
+
{{ census.orderTimeCount.proCount }}
+
昨日订单数
+
+
+
{{ census.orderTimeCount.monthCount }}
+
本月订单数
+
+
+
+
+
+ 详细数据
+
+
+
+
+
{{ item.time }}
+
{{ item.count }}
+
{{ item.price }}
+
+
+
+
+
+
+
diff --git a/pages/orderAdmin/OrderIndex/main.js b/pages/orderAdmin/OrderIndex/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/orderAdmin/OrderIndex/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/orderAdmin/Statistics/index.vue b/pages/orderAdmin/Statistics/index.vue
new file mode 100644
index 0000000..6160583
--- /dev/null
+++ b/pages/orderAdmin/Statistics/index.vue
@@ -0,0 +1,432 @@
+
+
+
+
+
{{ title }}{{ this.where.type == 1 ? "营业额(元)" : "订单量(份)" }}
+
{{ time_price }}
+
+
+
+
+ 详细数据
+
+
+
+
+
{{ item.time }}
+
{{ item.count }}
+
{{ item.price }}
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/orderAdmin/Statistics/main.js b/pages/orderAdmin/Statistics/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/orderAdmin/Statistics/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/shop/EvaluateList/index.vue b/pages/shop/EvaluateList/index.vue
new file mode 100644
index 0000000..1307bef
--- /dev/null
+++ b/pages/shop/EvaluateList/index.vue
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+
+
diff --git a/pages/shop/EvaluateList/main.js b/pages/shop/EvaluateList/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/shop/EvaluateList/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/shop/GoodSearch/index.vue b/pages/shop/GoodSearch/index.vue
new file mode 100644
index 0000000..c6a98db
--- /dev/null
+++ b/pages/shop/GoodSearch/index.vue
@@ -0,0 +1,77 @@
+
+
+
+
+
diff --git a/pages/shop/GoodSearch/main.js b/pages/shop/GoodSearch/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/shop/GoodSearch/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/shop/GoodsClass/index.vue b/pages/shop/GoodsClass/index.vue
new file mode 100644
index 0000000..52ae7ca
--- /dev/null
+++ b/pages/shop/GoodsClass/index.vue
@@ -0,0 +1,125 @@
+
+
+
+
+
+ {{ item.cateName }}
+
+
+
+
+
+
+
+
{{ item.cateName }}
+
+
+
+
+
+
+
+
{{ child.cateName }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/shop/GoodsClass/main.js b/pages/shop/GoodsClass/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/shop/GoodsClass/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/shop/GoodsCollection/index.vue b/pages/shop/GoodsCollection/index.vue
new file mode 100644
index 0000000..cffd324
--- /dev/null
+++ b/pages/shop/GoodsCollection/index.vue
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+
+
{{ item.storeName }}
+
+
¥{{ item.price }}
+
删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/shop/GoodsCollection/main.js b/pages/shop/GoodsCollection/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/shop/GoodsCollection/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/shop/GoodsCon/index.vue b/pages/shop/GoodsCon/index.vue
new file mode 100644
index 0000000..2f1d781
--- /dev/null
+++ b/pages/shop/GoodsCon/index.vue
@@ -0,0 +1,801 @@
+
+
+
+
+
+
+ ¥
+
{{ storeInfo.price }}
+
¥{{ storeInfo.vipPrice }}
+
+
+
+
+
{{ storeInfo.storeName }}
+
+
原价:¥{{ storeInfo.otPrice }}
+
库存:{{ storeInfo.stock }}{{ storeInfo.unitName }}
+
销量:{{ storeInfo.sales }}{{ storeInfo.unitName }}
+
+
+
+ 优惠券:
+
满{{ item.use_min_price }}减{{ item.coupon_price }}
+
+
+
+
+
+
+ {{ attrTxt }}:
+ {{ attrValue }}
+
+
+
+
+
门店信息
+
+
+
+
+
+
+
{{ system_store.name }}
+
+
+ {{
+ system_store._detailed_address
+ }}
+
+
+
+
+
+
+
+
+
+
+
用户评价({{ replyCount }})
+
+ {{ replyChance }}%好评率
+
+
+
+
+
+
+
+
+
优品推荐
+
+
+
+
+
+
+
+
+
+
+
+
{{ val.store_name }}}
+
¥{{ val.price }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/shop/GoodsCon/main.js b/pages/shop/GoodsCon/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/shop/GoodsCon/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/shop/GoodsEvaluate/index.vue b/pages/shop/GoodsEvaluate/index.vue
new file mode 100644
index 0000000..51c14b1
--- /dev/null
+++ b/pages/shop/GoodsEvaluate/index.vue
@@ -0,0 +1,206 @@
+
+
+
+
+
+
+
+
{{ orderCon.productInfo.storeName }}
+
+
¥{{ orderCon.productInfo.price }}
+
x{{ orderCon.cartNum }}
+
+
+
+
+
+
{{ item.name }}
+
+
+
+
+ {{
+ item.index === -1 ? "" : item.index + 1 + "分"
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
立即评价
+
+
+
+
+
diff --git a/pages/shop/GoodsEvaluate/main.js b/pages/shop/GoodsEvaluate/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/shop/GoodsEvaluate/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/shop/GoodsList/index.vue b/pages/shop/GoodsList/index.vue
new file mode 100644
index 0000000..1f3de17
--- /dev/null
+++ b/pages/shop/GoodsList/index.vue
@@ -0,0 +1,268 @@
+
+
+
+
+
{{ title ? title : "默认" }}
+
+
+
+
新品
+
+
+
+
+
+
+
+
{{ item.storeName }}
+
+ ¥
+ {{ item.price }}
+
+
+
¥{{ item.otPrice }}
+
已售{{ item.sales }}件
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/shop/GoodsList/main.js b/pages/shop/GoodsList/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/shop/GoodsList/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/shop/GoodsPromotion/index.vue b/pages/shop/GoodsPromotion/index.vue
new file mode 100644
index 0000000..48c772f
--- /dev/null
+++ b/pages/shop/GoodsPromotion/index.vue
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/shop/GoodsPromotion/main.js b/pages/shop/GoodsPromotion/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/shop/GoodsPromotion/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/shop/HotNewGoods/index.vue b/pages/shop/HotNewGoods/index.vue
new file mode 100644
index 0000000..f8256d9
--- /dev/null
+++ b/pages/shop/HotNewGoods/index.vue
@@ -0,0 +1,80 @@
+
+
+
+
diff --git a/pages/shop/HotNewGoods/main.js b/pages/shop/HotNewGoods/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/shop/HotNewGoods/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/shop/ShoppingCart/index.vue b/pages/shop/ShoppingCart/index.vue
new file mode 100644
index 0000000..8e91916
--- /dev/null
+++ b/pages/shop/ShoppingCart/index.vue
@@ -0,0 +1,485 @@
+
+
+
+
diff --git a/pages/shop/ShoppingCart/main.js b/pages/shop/ShoppingCart/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/shop/ShoppingCart/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/shop/news/NewsDetail/index.vue b/pages/shop/news/NewsDetail/index.vue
new file mode 100644
index 0000000..52a9a6e
--- /dev/null
+++ b/pages/shop/news/NewsDetail/index.vue
@@ -0,0 +1,127 @@
+
+
+
{{ articleInfo.title }}
+
+
新闻专区
+
+ {{ articleInfo.addTime }}
+
+
+ {{ articleInfo.visit }}
+
+
+
+
+
+
+
diff --git a/pages/shop/news/NewsDetail/main.js b/pages/shop/news/NewsDetail/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/shop/news/NewsDetail/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/shop/news/NewsList/index.vue b/pages/shop/news/NewsList/index.vue
new file mode 100644
index 0000000..2fac857
--- /dev/null
+++ b/pages/shop/news/NewsList/index.vue
@@ -0,0 +1,106 @@
+
+
+
+
+
+
{{ item.title }}
+
{{ item.addTime }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/shop/news/NewsList/main.js b/pages/shop/news/NewsList/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/shop/news/NewsList/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/BindingPhone/index.vue b/pages/user/BindingPhone/index.vue
new file mode 100644
index 0000000..ad43112
--- /dev/null
+++ b/pages/user/BindingPhone/index.vue
@@ -0,0 +1,172 @@
+
+
+
+
+
+
diff --git a/pages/user/BindingPhone/main.js b/pages/user/BindingPhone/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/BindingPhone/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/ChangePassword/index.vue b/pages/user/ChangePassword/index.vue
new file mode 100644
index 0000000..7dea42b
--- /dev/null
+++ b/pages/user/ChangePassword/index.vue
@@ -0,0 +1,149 @@
+
+
+
+ 当前手机号:
+
+
+
+
确认修改
+
+
+
+
diff --git a/pages/user/ChangePassword/main.js b/pages/user/ChangePassword/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/ChangePassword/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/CustomerList/index.vue b/pages/user/CustomerList/index.vue
new file mode 100644
index 0000000..5b677be
--- /dev/null
+++ b/pages/user/CustomerList/index.vue
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
{{ item.nickname }}
+
+
+
+
+
diff --git a/pages/user/CustomerList/main.js b/pages/user/CustomerList/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/CustomerList/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/Login/index.vue b/pages/user/Login/index.vue
new file mode 100644
index 0000000..2d4ae35
--- /dev/null
+++ b/pages/user/Login/index.vue
@@ -0,0 +1,302 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
登录
+
登录
+
+ 没有账号?
+ 立即注册
+
+
+
+
注册账号
+
+
+
+
+
+
+
+
+
+
+
+
注册
+
+ 已有账号?
+ 立即登录
+
+
+
+
+
+
diff --git a/pages/user/PersonalData/index.vue b/pages/user/PersonalData/index.vue
new file mode 100644
index 0000000..1351c20
--- /dev/null
+++ b/pages/user/PersonalData/index.vue
@@ -0,0 +1,246 @@
+
+
+
+
管理我的账号
+
+
+
+
+
+
+
+
+
+
{{ item.nickname }}
+
绑定手机号:{{ item.phone }}
+
+
+
当前账号
+
使用账号
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user/PersonalData/main.js b/pages/user/PersonalData/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/PersonalData/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/Recharge/index.vue b/pages/user/Recharge/index.vue
new file mode 100644
index 0000000..d953569
--- /dev/null
+++ b/pages/user/Recharge/index.vue
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+ ¥
+
+
+
+ 提示:当前余额为
+ ¥{{ now_money || 0 }}
+
+
{{ active ? "立即转入" : "立即充值" }}
+
+
+
+
+
+
diff --git a/pages/user/Recharge/main.js b/pages/user/Recharge/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/Recharge/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/Register/index.vue b/pages/user/Register/index.vue
new file mode 100644
index 0000000..ad0cf42
--- /dev/null
+++ b/pages/user/Register/index.vue
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
注册账号
+
+
+
+
+
+
+
+
+
+
+
+
注册
+
+ 已有账号?
+ 立即登录
+
+
+
+
+
+
+
diff --git a/pages/user/RetrievePassword/index.vue b/pages/user/RetrievePassword/index.vue
new file mode 100644
index 0000000..133108b
--- /dev/null
+++ b/pages/user/RetrievePassword/index.vue
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+
+
找回密码
+
+
+
+
+
+
+
+
+
+
+
+
确认
+
+ 立即登录
+
+
+
+
+
+
+
diff --git a/pages/user/User/index.vue b/pages/user/User/index.vue
new file mode 100644
index 0000000..93b3dea
--- /dev/null
+++ b/pages/user/User/index.vue
@@ -0,0 +1,319 @@
+
+
+
+
+
+
+
我的余额
+
{{ userInfo.nowMoney || 0 }}
+
+
+
当前佣金
+
{{ userInfo.brokeragePrice || 0 }}
+
+
+
当前积分
+
{{ userInfo.integral || 0 }}
+
+
+
优惠券
+
{{ userInfo.couponCount || 0 }}
+
+
+
+
+
+
+
+
+
{{ orderStatusNum.unpaidCount }}
+
+
待付款
+
+
+
+
+
{{ orderStatusNum.unshippedCount }}
+
+
待发货
+
+
+
+
+
{{ orderStatusNum.receivedCount }}
+
+
待收货
+
+
+
+
+
{{ orderStatusNum.evaluatedCount }}
+
+
待评价
+
+
+
+
+
{{ orderStatusNum.refundCount }}
+
+
售后/退款
+
+
+
+
+
我的服务
+
+
+
+
+
+
+
{{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
By@意象
+
+
+
+
+
+
+
diff --git a/pages/user/User/main.js b/pages/user/User/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/User/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/UserAccount/index.vue b/pages/user/UserAccount/index.vue
new file mode 100644
index 0000000..d2f4c03
--- /dev/null
+++ b/pages/user/UserAccount/index.vue
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+
+
+
账单记录
+
+
+
+
+
+
消费记录
+
+
+
+
+
+
+
+
diff --git a/pages/user/UserAccount/main.js b/pages/user/UserAccount/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/UserAccount/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/UserBill/index.vue b/pages/user/UserBill/index.vue
new file mode 100644
index 0000000..d1c182e
--- /dev/null
+++ b/pages/user/UserBill/index.vue
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
{{ item.time }}
+
+
+
+
{{ val.title }}
+
{{ val.add_time }}
+
+
{{ val.pm == 0 ? "-" : "+" }}{{ val.number }}
+
+
+
+
+
+
+
+
+
diff --git a/pages/user/UserBill/main.js b/pages/user/UserBill/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/UserBill/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/UserVip/index.vue b/pages/user/UserVip/index.vue
new file mode 100644
index 0000000..2266d67
--- /dev/null
+++ b/pages/user/UserVip/index.vue
@@ -0,0 +1,203 @@
+
+
+
+
+
+
+ 会员升级要求
+
+
+ {{ taskCount }}
+ /{{ vipRequire.length }}
+
+
+
+
+
+
+ {{ item.name
+ }}
+
+
+
{{ item.finish ? "已满足条件" : "未满足条件" }}
+
+
+
+
{{ item.taskTypeTitle }}
+
+ {{ item.newNumber }}
+ /{{ item.number }}
+
+
+
+
+
+
+
+
+
+
+
+
{{ illustrate }}
+
+
+
+
+
+
+
diff --git a/pages/user/UserVip/main.js b/pages/user/UserVip/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/UserVip/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/address/AddAddress/index.vue b/pages/user/address/AddAddress/index.vue
new file mode 100644
index 0000000..0a9120f
--- /dev/null
+++ b/pages/user/address/AddAddress/index.vue
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
立即保存
+
导入微信地址
+
+
+
diff --git a/pages/user/address/AddAddress/main.js b/pages/user/address/AddAddress/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/address/AddAddress/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/address/AddressManagement/index.vue b/pages/user/address/AddressManagement/index.vue
new file mode 100644
index 0000000..48df03e
--- /dev/null
+++ b/pages/user/address/AddressManagement/index.vue
@@ -0,0 +1,213 @@
+
+
+
+
+
+
+
+
+ 收货人:{{ item.realName }}
+ {{ item.phone }}
+
+
+ 收货地址:{{ item.province }}{{ item.city }}{{ item.district
+ }}{{ item.detail }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user/address/AddressManagement/main.js b/pages/user/address/AddressManagement/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/address/AddressManagement/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/coupon/GetCoupon/index.vue b/pages/user/coupon/GetCoupon/index.vue
new file mode 100644
index 0000000..bc12157
--- /dev/null
+++ b/pages/user/coupon/GetCoupon/index.vue
@@ -0,0 +1,93 @@
+
+
+
+
+
+ ¥
+ {{ item.couponPrice }}
+
+
+
购物满{{ item.useMinPrice }}元可用
+
+
+ -
+
+
+
不限时
+
已领取
+
已领完
+
立即领取
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user/coupon/GetCoupon/main.js b/pages/user/coupon/GetCoupon/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/coupon/GetCoupon/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/coupon/UserCoupon/index.vue b/pages/user/coupon/UserCoupon/index.vue
new file mode 100644
index 0000000..5e83963
--- /dev/null
+++ b/pages/user/coupon/UserCoupon/index.vue
@@ -0,0 +1,74 @@
+
+
+
+
+
+ ¥{{ item.couponPrice }}
+
+
+
{{ item.couponTitle }}
+
+
不限时
+
-
+
{{ item._msg }}
+
{{ item._msg }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user/coupon/UserCoupon/main.js b/pages/user/coupon/UserCoupon/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/coupon/UserCoupon/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/promotion/CashAudit/index.vue b/pages/user/promotion/CashAudit/index.vue
new file mode 100644
index 0000000..832ecb8
--- /dev/null
+++ b/pages/user/promotion/CashAudit/index.vue
@@ -0,0 +1,30 @@
+
+
+
+
提现申请已提交,等待人工审核
+
{{ time }}
+
+ 好的
+
+
+
+
diff --git a/pages/user/promotion/CashAudit/main.js b/pages/user/promotion/CashAudit/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/promotion/CashAudit/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/promotion/CashRecord/index.vue b/pages/user/promotion/CashRecord/index.vue
new file mode 100644
index 0000000..5bdba49
--- /dev/null
+++ b/pages/user/promotion/CashRecord/index.vue
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
{{ item.time }}
+
+
+
+
{{ val.title }}
+
{{ val.addTime }}
+
+
+{{ val.number }}
+
+ -{{ val.number }}
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user/promotion/CashRecord/main.js b/pages/user/promotion/CashRecord/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/promotion/CashRecord/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/promotion/CommissionDetails/index.vue b/pages/user/promotion/CommissionDetails/index.vue
new file mode 100644
index 0000000..ba839d5
--- /dev/null
+++ b/pages/user/promotion/CommissionDetails/index.vue
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
{{ item.time }}
+
+
+
+
{{ val.title }}
+
{{ val.addTime }}
+
+
+{{ val.number }}
+
+ -{{ val.number }}
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user/promotion/CommissionDetails/main.js b/pages/user/promotion/CommissionDetails/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/promotion/CommissionDetails/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/promotion/Poster/index.vue b/pages/user/promotion/Poster/index.vue
new file mode 100644
index 0000000..44ed405
--- /dev/null
+++ b/pages/user/promotion/Poster/index.vue
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+
+
+
+
+
+
保存海报
+
+
+
+
+
diff --git a/pages/user/promotion/Poster/main.js b/pages/user/promotion/Poster/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/promotion/Poster/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/promotion/PromoterList/index.vue b/pages/user/promotion/PromoterList/index.vue
new file mode 100644
index 0000000..057da79
--- /dev/null
+++ b/pages/user/promotion/PromoterList/index.vue
@@ -0,0 +1,249 @@
+
+
+
+
diff --git a/pages/user/promotion/PromoterList/main.js b/pages/user/promotion/PromoterList/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/promotion/PromoterList/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/promotion/PromoterOrder/index.vue b/pages/user/promotion/PromoterOrder/index.vue
new file mode 100644
index 0000000..4cb5d8e
--- /dev/null
+++ b/pages/user/promotion/PromoterOrder/index.vue
@@ -0,0 +1,96 @@
+
+
+
+
diff --git a/pages/user/promotion/PromoterOrder/main.js b/pages/user/promotion/PromoterOrder/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/promotion/PromoterOrder/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/promotion/UserCash/index.vue b/pages/user/promotion/UserCash/index.vue
new file mode 100644
index 0000000..64958ae
--- /dev/null
+++ b/pages/user/promotion/UserCash/index.vue
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+
当前可提现金额: {{ commissionCount }}
+
提现
+
+
+
+
+
+
当前可提现金额: {{ commissionCount }}
+
提现
+
+
+
+
+
diff --git a/pages/user/promotion/UserCash/main.js b/pages/user/promotion/UserCash/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/promotion/UserCash/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/promotion/UserPromotion/index.vue b/pages/user/promotion/UserPromotion/index.vue
new file mode 100644
index 0000000..6e83b3a
--- /dev/null
+++ b/pages/user/promotion/UserPromotion/index.vue
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
diff --git a/pages/user/promotion/UserPromotion/main.js b/pages/user/promotion/UserPromotion/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/promotion/UserPromotion/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/signIn/Integral/index.vue b/pages/user/signIn/Integral/index.vue
new file mode 100644
index 0000000..fa07082
--- /dev/null
+++ b/pages/user/signIn/Integral/index.vue
@@ -0,0 +1,152 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+{{ item.number }}
+
+ -{{ item.number }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user/signIn/Integral/main.js b/pages/user/signIn/Integral/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/signIn/Integral/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/signIn/Sign/index.vue b/pages/user/signIn/Sign/index.vue
new file mode 100644
index 0000000..b58be2c
--- /dev/null
+++ b/pages/user/signIn/Sign/index.vue
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+
{{ item.day }}
+
+
+{{ item.signNum }}
+
+
+
+
{{ userInfo.isDaySign ? "已签到" : "立即签到" }}
+
+
+
+
已累计签到
+
+
据说连续签到第{{ day }}天可获得超额积分,一定要坚持签到哦~~~
+
+
+
+
{{ item.title }}
+
{{ item.addTime }}
+
+
+{{ item.number }}
+
+
+
+
+
+
+
+
+
+
签到成功
+
获得{{ integral }}积分
+
好的
+
+
+
+
+
+
+
diff --git a/pages/user/signIn/Sign/main.js b/pages/user/signIn/Sign/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/signIn/Sign/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/pages/user/signIn/SignRecord/index.vue b/pages/user/signIn/SignRecord/index.vue
new file mode 100644
index 0000000..9764812
--- /dev/null
+++ b/pages/user/signIn/SignRecord/index.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
{{ item.time }}
+
+
+
+
{{ itemn.title }}
+
{{ itemn.addTime }}
+
+
+{{ itemn.number }}
+
+
+
+
+
+
+
+
diff --git a/pages/user/signIn/SignRecord/main.js b/pages/user/signIn/SignRecord/main.js
new file mode 100644
index 0000000..8fa9146
--- /dev/null
+++ b/pages/user/signIn/SignRecord/main.js
@@ -0,0 +1,5 @@
+import Vue from 'vue'
+import App from './index'
+
+const app = new Vue(App)
+app.$mount()
diff --git a/static/icon-cart-hot.png b/static/icon-cart-hot.png
new file mode 100644
index 0000000000000000000000000000000000000000..66bb9106dd1ef7ec79c63278f6544976cc0eb479
GIT binary patch
literal 1384
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
LNkvXXu0mjfMITWM
literal 0
HcmV?d00001
diff --git a/static/icon-home-hot.png b/static/icon-home-hot.png
new file mode 100644
index 0000000000000000000000000000000000000000..3370aad999989b0580e769dc28825a5dd18bbac5
GIT binary patch
literal 1304
zcmV+z1?T#SP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@
z1ONa40RR91GN1zh1ONa40RR91G5`Po0Cmf+s{jB5f=NU{RA>e5SzT-tRTRGG&P-uR
zD~2Y@ixLwwF$JO9t#3#g>~^;%{zTyce1Js43mDPerD|eE69a9x@L(|bpa~D)0}qmb
zyIW~f3J3|iTS=PbM=(W6lthDpu5GvM-0K;`uKP2;yW4IdGcPmuobUX6=iGZUcZLw>
zaw_0dz^DRXq^wr=(fH7lvzghWsvmHh4NZF*PO_nOR*N^K9V40
zxpsnZMkH_m6>TuFvVH~)PzVd5%F@)Vp#3REXGABU&I+d7EDIBTDCC&R!t<7
z7(uiJc&}u|Q5XHM=&-&veXKwY5bAcbNT*@!eLPSAzorqm7UASLJ8B
z?^*F296-Z=H7`iR1Mq
zp(c*A;c1@Dp4pQ)wOWseW=BF-&o!~hdnb{^OL~U&k;5G#65l|pKVBNYtRr$Nwv0_q
z;>#bB0LZ9kh*G0^jB$GXsJ=NvmJbKVBI`?YC?XO}jVw=3F?es}k14zy72n*fxs$Nvrh?ZsRr1=yxs
zZh0aU#KYK$BLao>VYmN64zLjK_+r`90K)Stmhzps{KVWtpWBAG5&
zW4tSs1P}GfJmg^>V(JNI1TrOp#zn8oM$S|n
z^#ut9unvh#sW{upM6XE29k%Lm5AdwrTGM(|yI`T3xew;Twa+?wfxBE}y$?=Oa
z?-~M}hG+Jz>AI|;Di;AgP%hMv0NkWR>e0{?iA;&8=mC%aT}oja{w-I3D{HNpX(aot
zB#^i8%x`IG4S0NqD5X2m?vJ939t^N3w}HY}QbVJ=*VB1d3sWdVyuC|KB$oW+n#}(z
zl$gTTuG;XI`eDGHr~lC(UKwi6GMtnTE |