commit 40e5198c79727f18e55739433c16dc7029ed5ed4
Author: 小陌 <xiaomo.drip@gmail.com>
Date:   Tue Jan 16 22:53:42 2024 +0800

    no message

diff --git a/@babel/runtime/helpers/Arrayincludes.js b/@babel/runtime/helpers/Arrayincludes.js
new file mode 100644
index 0000000..cc51742
--- /dev/null
+++ b/@babel/runtime/helpers/Arrayincludes.js
@@ -0,0 +1,22 @@
+Array.prototype.includes ||
+  Object.defineProperty(Array.prototype, "includes", {
+    value: function (r, e) {
+      if (null == this) throw new TypeError('"this" is null or not defined');
+      var t = Object(this),
+        n = t.length >>> 0;
+      if (0 == n) return !1;
+      for (
+        var i, o, a = 0 | e, u = Math.max(0 <= a ? a : n - Math.abs(a), 0);
+        u < n;
+
+      ) {
+        if (
+          (i = t[u]) === (o = r) ||
+          ("number" == typeof i && "number" == typeof o && isNaN(i) && isNaN(o))
+        )
+          return !0;
+        u++;
+      }
+      return !1;
+    },
+  });
diff --git a/@babel/runtime/helpers/Objectvalues.js b/@babel/runtime/helpers/Objectvalues.js
new file mode 100644
index 0000000..55ec399
--- /dev/null
+++ b/@babel/runtime/helpers/Objectvalues.js
@@ -0,0 +1,9 @@
+Object.values ||
+  (Object.values = function (e) {
+    if (e !== Object(e))
+      throw new TypeError("Object.values called on a non-object");
+    var t,
+      r = [];
+    for (t in e) Object.prototype.hasOwnProperty.call(e, t) && r.push(e[t]);
+    return r;
+  });
diff --git a/@babel/runtime/helpers/arrayLikeToArray.js b/@babel/runtime/helpers/arrayLikeToArray.js
new file mode 100644
index 0000000..34796b6
--- /dev/null
+++ b/@babel/runtime/helpers/arrayLikeToArray.js
@@ -0,0 +1,6 @@
+function _arrayLikeToArray(r, a) {
+  (null == a || a > r.length) && (a = r.length);
+  for (var e = 0, n = new Array(a); e < a; e++) n[e] = r[e];
+  return n;
+}
+module.exports = _arrayLikeToArray;
diff --git a/@babel/runtime/helpers/arrayWithHoles.js b/@babel/runtime/helpers/arrayWithHoles.js
new file mode 100644
index 0000000..d4cb1b6
--- /dev/null
+++ b/@babel/runtime/helpers/arrayWithHoles.js
@@ -0,0 +1,4 @@
+function _arrayWithHoles(r) {
+  if (Array.isArray(r)) return r;
+}
+module.exports = _arrayWithHoles;
diff --git a/@babel/runtime/helpers/arrayWithoutHoles.js b/@babel/runtime/helpers/arrayWithoutHoles.js
new file mode 100644
index 0000000..ecd0ad7
--- /dev/null
+++ b/@babel/runtime/helpers/arrayWithoutHoles.js
@@ -0,0 +1,5 @@
+var arrayLikeToArray = require("./arrayLikeToArray");
+function _arrayWithoutHoles(r) {
+  if (Array.isArray(r)) return arrayLikeToArray(r);
+}
+module.exports = _arrayWithoutHoles;
diff --git a/@babel/runtime/helpers/assertThisInitialized.js b/@babel/runtime/helpers/assertThisInitialized.js
new file mode 100644
index 0000000..6337313
--- /dev/null
+++ b/@babel/runtime/helpers/assertThisInitialized.js
@@ -0,0 +1,8 @@
+function _assertThisInitialized(e) {
+  if (void 0 === e)
+    throw new ReferenceError(
+      "this hasn't been initialised - super() hasn't been called"
+    );
+  return e;
+}
+module.exports = _assertThisInitialized;
diff --git a/@babel/runtime/helpers/asyncToGenerator.js b/@babel/runtime/helpers/asyncToGenerator.js
new file mode 100644
index 0000000..f44f6c5
--- /dev/null
+++ b/@babel/runtime/helpers/asyncToGenerator.js
@@ -0,0 +1,26 @@
+function asyncGeneratorStep(n, e, r, t, o, a, c) {
+  try {
+    var i = n[a](c),
+      u = i.value;
+  } catch (n) {
+    return void r(n);
+  }
+  i.done ? e(u) : Promise.resolve(u).then(t, o);
+}
+function _asyncToGenerator(n) {
+  return function () {
+    var e = this,
+      r = arguments;
+    return new Promise(function (t, o) {
+      var a = n.apply(e, r);
+      function c(n) {
+        asyncGeneratorStep(a, t, o, c, i, "next", n);
+      }
+      function i(n) {
+        asyncGeneratorStep(a, t, o, c, i, "throw", n);
+      }
+      c(void 0);
+    });
+  };
+}
+module.exports = _asyncToGenerator;
diff --git a/@babel/runtime/helpers/classCallCheck.js b/@babel/runtime/helpers/classCallCheck.js
new file mode 100644
index 0000000..23042cd
--- /dev/null
+++ b/@babel/runtime/helpers/classCallCheck.js
@@ -0,0 +1,5 @@
+function _classCallCheck(a, l) {
+  if (!(a instanceof l))
+    throw new TypeError("Cannot call a class as a function");
+}
+module.exports = _classCallCheck;
diff --git a/@babel/runtime/helpers/construct.js b/@babel/runtime/helpers/construct.js
new file mode 100644
index 0000000..dca0169
--- /dev/null
+++ b/@babel/runtime/helpers/construct.js
@@ -0,0 +1,17 @@
+var setPrototypeOf = require("./setPrototypeOf"),
+  isNativeReflectConstruct = require("./isNativeReflectConstruct");
+function _construct(t, e, r) {
+  return (
+    isNativeReflectConstruct()
+      ? (module.exports = _construct = Reflect.construct.bind())
+      : (module.exports = _construct =
+          function (t, e, r) {
+            var o = [null];
+            o.push.apply(o, e);
+            var c = new (Function.bind.apply(t, o))();
+            return r && setPrototypeOf(c, r.prototype), c;
+          }),
+    _construct.apply(null, arguments)
+  );
+}
+module.exports = _construct;
diff --git a/@babel/runtime/helpers/createClass.js b/@babel/runtime/helpers/createClass.js
new file mode 100644
index 0000000..4bd71c1
--- /dev/null
+++ b/@babel/runtime/helpers/createClass.js
@@ -0,0 +1,19 @@
+var toPropertyKey = require("./toPropertyKey");
+function _defineProperties(e, r) {
+  for (var t = 0; t < r.length; t++) {
+    var o = r[t];
+    (o.enumerable = o.enumerable || !1),
+      (o.configurable = !0),
+      "value" in o && (o.writable = !0),
+      Object.defineProperty(e, toPropertyKey(o.key), o);
+  }
+}
+function _createClass(e, r, t) {
+  return (
+    r && _defineProperties(e.prototype, r),
+    t && _defineProperties(e, t),
+    Object.defineProperty(e, "prototype", { writable: !1 }),
+    e
+  );
+}
+module.exports = _createClass;
diff --git a/@babel/runtime/helpers/createForOfIteratorHelper.js b/@babel/runtime/helpers/createForOfIteratorHelper.js
new file mode 100644
index 0000000..73c2ce9
--- /dev/null
+++ b/@babel/runtime/helpers/createForOfIteratorHelper.js
@@ -0,0 +1,52 @@
+var unsupportedIterableToArray = require("./unsupportedIterableToArray");
+function _createForOfIteratorHelper(r, e) {
+  var t =
+    ("undefined" != typeof Symbol && r[Symbol.iterator]) || r["@@iterator"];
+  if (!t) {
+    if (
+      Array.isArray(r) ||
+      (t = unsupportedIterableToArray(r)) ||
+      (e && r && "number" == typeof r.length)
+    ) {
+      t && (r = t);
+      var n = 0,
+        o = function () {};
+      return {
+        s: o,
+        n: function () {
+          return n >= r.length ? { done: !0 } : { done: !1, value: r[n++] };
+        },
+        e: function (r) {
+          throw r;
+        },
+        f: o,
+      };
+    }
+    throw new TypeError(
+      "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
+    );
+  }
+  var a,
+    u = !0,
+    i = !1;
+  return {
+    s: function () {
+      t = t.call(r);
+    },
+    n: function () {
+      var r = t.next();
+      return (u = r.done), r;
+    },
+    e: function (r) {
+      (i = !0), (a = r);
+    },
+    f: function () {
+      try {
+        u || null == t.return || t.return();
+      } finally {
+        if (i) throw a;
+      }
+    },
+  };
+}
+module.exports = _createForOfIteratorHelper;
diff --git a/@babel/runtime/helpers/createSuper.js b/@babel/runtime/helpers/createSuper.js
new file mode 100644
index 0000000..cf6edc1
--- /dev/null
+++ b/@babel/runtime/helpers/createSuper.js
@@ -0,0 +1,16 @@
+var getPrototypeOf = require("./getPrototypeOf"),
+  isNativeReflectConstruct = require("./isNativeReflectConstruct"),
+  possibleConstructorReturn = require("./possibleConstructorReturn");
+function _createSuper(t) {
+  var e = isNativeReflectConstruct();
+  return function () {
+    var r,
+      o = getPrototypeOf(t);
+    if (e) {
+      var s = getPrototypeOf(this).constructor;
+      r = Reflect.construct(o, arguments, s);
+    } else r = o.apply(this, arguments);
+    return possibleConstructorReturn(this, r);
+  };
+}
+module.exports = _createSuper;
diff --git a/@babel/runtime/helpers/defineProperty.js b/@babel/runtime/helpers/defineProperty.js
new file mode 100644
index 0000000..2da77c5
--- /dev/null
+++ b/@babel/runtime/helpers/defineProperty.js
@@ -0,0 +1,15 @@
+var toPropertyKey = require("./toPropertyKey");
+function _defineProperty(e, r, t) {
+  return (
+    (r = toPropertyKey(r)) in e
+      ? Object.defineProperty(e, r, {
+          value: t,
+          enumerable: !0,
+          configurable: !0,
+          writable: !0,
+        })
+      : (e[r] = t),
+    e
+  );
+}
+module.exports = _defineProperty;
diff --git a/@babel/runtime/helpers/getPrototypeOf.js b/@babel/runtime/helpers/getPrototypeOf.js
new file mode 100644
index 0000000..c4f45e1
--- /dev/null
+++ b/@babel/runtime/helpers/getPrototypeOf.js
@@ -0,0 +1,12 @@
+function _getPrototypeOf(t) {
+  return (
+    (module.exports = _getPrototypeOf =
+      Object.setPrototypeOf
+        ? Object.getPrototypeOf.bind()
+        : function (t) {
+            return t.__proto__ || Object.getPrototypeOf(t);
+          }),
+    _getPrototypeOf(t)
+  );
+}
+module.exports = _getPrototypeOf;
diff --git a/@babel/runtime/helpers/inherits.js b/@babel/runtime/helpers/inherits.js
new file mode 100644
index 0000000..c390255
--- /dev/null
+++ b/@babel/runtime/helpers/inherits.js
@@ -0,0 +1,11 @@
+var setPrototypeOf = require("./setPrototypeOf");
+function _inherits(e, t) {
+  if ("function" != typeof t && null !== t)
+    throw new TypeError("Super expression must either be null or a function");
+  (e.prototype = Object.create(t && t.prototype, {
+    constructor: { value: e, writable: !0, configurable: !0 },
+  })),
+    Object.defineProperty(e, "prototype", { writable: !1 }),
+    t && setPrototypeOf(e, t);
+}
+module.exports = _inherits;
diff --git a/@babel/runtime/helpers/isNativeFunction.js b/@babel/runtime/helpers/isNativeFunction.js
new file mode 100644
index 0000000..cb77f4a
--- /dev/null
+++ b/@babel/runtime/helpers/isNativeFunction.js
@@ -0,0 +1,4 @@
+function _isNativeFunction(n) {
+  return -1 !== Function.toString.call(n).indexOf("[native code]");
+}
+module.exports = _isNativeFunction;
diff --git a/@babel/runtime/helpers/isNativeReflectConstruct.js b/@babel/runtime/helpers/isNativeReflectConstruct.js
new file mode 100644
index 0000000..671dbcc
--- /dev/null
+++ b/@babel/runtime/helpers/isNativeReflectConstruct.js
@@ -0,0 +1,16 @@
+function _isNativeReflectConstruct() {
+  if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
+  if (Reflect.construct.sham) return !1;
+  if ("function" == typeof Proxy) return !0;
+  try {
+    return (
+      Boolean.prototype.valueOf.call(
+        Reflect.construct(Boolean, [], function () {})
+      ),
+      !0
+    );
+  } catch (t) {
+    return !1;
+  }
+}
+module.exports = _isNativeReflectConstruct;
diff --git a/@babel/runtime/helpers/iterableToArray.js b/@babel/runtime/helpers/iterableToArray.js
new file mode 100644
index 0000000..83cd812
--- /dev/null
+++ b/@babel/runtime/helpers/iterableToArray.js
@@ -0,0 +1,8 @@
+function _iterableToArray(r) {
+  if (
+    ("undefined" != typeof Symbol && null != r[Symbol.iterator]) ||
+    null != r["@@iterator"]
+  )
+    return Array.from(r);
+}
+module.exports = _iterableToArray;
diff --git a/@babel/runtime/helpers/iterableToArrayLimit.js b/@babel/runtime/helpers/iterableToArrayLimit.js
new file mode 100644
index 0000000..d16e3bb
--- /dev/null
+++ b/@babel/runtime/helpers/iterableToArrayLimit.js
@@ -0,0 +1,37 @@
+function _iterableToArrayLimit(r, e) {
+  var l =
+    null == r
+      ? null
+      : ("undefined" != typeof Symbol && r[Symbol.iterator]) || r["@@iterator"];
+  if (null != l) {
+    var t,
+      n,
+      i,
+      a,
+      u = [],
+      o = !0,
+      f = !1;
+    try {
+      if (((i = (l = l.call(r)).next), 0 === e)) {
+        if (Object(l) !== l) return;
+        o = !1;
+      } else
+        for (
+          ;
+          !(o = (t = i.call(l)).done) && (u.push(t.value), u.length !== e);
+          o = !0
+        );
+    } catch (r) {
+      (f = !0), (n = r);
+    } finally {
+      try {
+        if (!o && null != l.return && ((a = l.return()), Object(a) !== a))
+          return;
+      } finally {
+        if (f) throw n;
+      }
+    }
+    return u;
+  }
+}
+module.exports = _iterableToArrayLimit;
diff --git a/@babel/runtime/helpers/nonIterableRest.js b/@babel/runtime/helpers/nonIterableRest.js
new file mode 100644
index 0000000..16486c5
--- /dev/null
+++ b/@babel/runtime/helpers/nonIterableRest.js
@@ -0,0 +1,6 @@
+function _nonIterableRest() {
+  throw new TypeError(
+    "Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
+  );
+}
+module.exports = _nonIterableRest;
diff --git a/@babel/runtime/helpers/nonIterableSpread.js b/@babel/runtime/helpers/nonIterableSpread.js
new file mode 100644
index 0000000..3b8597e
--- /dev/null
+++ b/@babel/runtime/helpers/nonIterableSpread.js
@@ -0,0 +1,6 @@
+function _nonIterableSpread() {
+  throw new TypeError(
+    "Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
+  );
+}
+module.exports = _nonIterableSpread;
diff --git a/@babel/runtime/helpers/objectSpread2.js b/@babel/runtime/helpers/objectSpread2.js
new file mode 100644
index 0000000..b0290d8
--- /dev/null
+++ b/@babel/runtime/helpers/objectSpread2.js
@@ -0,0 +1,29 @@
+var defineProperty = require("./defineProperty");
+function ownKeys(e, r) {
+  var t = Object.keys(e);
+  if (Object.getOwnPropertySymbols) {
+    var o = Object.getOwnPropertySymbols(e);
+    r &&
+      (o = o.filter(function (r) {
+        return Object.getOwnPropertyDescriptor(e, r).enumerable;
+      })),
+      t.push.apply(t, o);
+  }
+  return t;
+}
+function _objectSpread2(e) {
+  for (var r = 1; r < arguments.length; r++) {
+    var t = null != arguments[r] ? arguments[r] : {};
+    r % 2
+      ? ownKeys(Object(t), !0).forEach(function (r) {
+          defineProperty(e, r, t[r]);
+        })
+      : Object.getOwnPropertyDescriptors
+      ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t))
+      : ownKeys(Object(t)).forEach(function (r) {
+          Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
+        });
+  }
+  return e;
+}
+module.exports = _objectSpread2;
diff --git a/@babel/runtime/helpers/possibleConstructorReturn.js b/@babel/runtime/helpers/possibleConstructorReturn.js
new file mode 100644
index 0000000..ee00fc2
--- /dev/null
+++ b/@babel/runtime/helpers/possibleConstructorReturn.js
@@ -0,0 +1,11 @@
+var _typeof = require("./typeof"),
+  assertThisInitialized = require("./assertThisInitialized");
+function _possibleConstructorReturn(e, r) {
+  if (r && ("object" === _typeof(r) || "function" == typeof r)) return r;
+  if (void 0 !== r)
+    throw new TypeError(
+      "Derived constructors may only return object or undefined"
+    );
+  return assertThisInitialized(e);
+}
+module.exports = _possibleConstructorReturn;
diff --git a/@babel/runtime/helpers/regeneratorRuntime.js b/@babel/runtime/helpers/regeneratorRuntime.js
new file mode 100644
index 0000000..7035532
--- /dev/null
+++ b/@babel/runtime/helpers/regeneratorRuntime.js
@@ -0,0 +1,406 @@
+var t = require("./typeof");
+function r() {
+  (module.exports = r =
+    function () {
+      return e;
+    }),
+    (module.exports.__esModule = !0),
+    (module.exports.default = module.exports);
+  var e = {},
+    n = Object.prototype,
+    o = n.hasOwnProperty,
+    i =
+      Object.defineProperty ||
+      function (t, r, e) {
+        t[r] = e.value;
+      },
+    a = "function" == typeof Symbol ? Symbol : {},
+    c = a.iterator || "@@iterator",
+    u = a.asyncIterator || "@@asyncIterator",
+    l = a.toStringTag || "@@toStringTag";
+  function h(t, r, e) {
+    return (
+      Object.defineProperty(t, r, {
+        value: e,
+        enumerable: !0,
+        configurable: !0,
+        writable: !0,
+      }),
+      t[r]
+    );
+  }
+  try {
+    h({}, "");
+  } catch (t) {
+    h = function (t, r, e) {
+      return (t[r] = e);
+    };
+  }
+  function f(t, r, e, n) {
+    var o = r && r.prototype instanceof d ? r : d,
+      a = Object.create(o.prototype),
+      c = new k(n || []);
+    return i(a, "_invoke", { value: E(t, e, c) }), a;
+  }
+  function s(t, r, e) {
+    try {
+      return { type: "normal", arg: t.call(r, e) };
+    } catch (t) {
+      return { type: "throw", arg: t };
+    }
+  }
+  e.wrap = f;
+  var p = {};
+  function d() {}
+  function v() {}
+  function y() {}
+  var g = {};
+  h(g, c, function () {
+    return this;
+  });
+  var m = Object.getPrototypeOf,
+    w = m && m(m(G([])));
+  w && w !== n && o.call(w, c) && (g = w);
+  var x = (y.prototype = d.prototype = Object.create(g));
+  function L(t) {
+    ["next", "throw", "return"].forEach(function (r) {
+      h(t, r, function (t) {
+        return this._invoke(r, t);
+      });
+    });
+  }
+  function b(r, e) {
+    function n(i, a, c, u) {
+      var l = s(r[i], r, a);
+      if ("throw" !== l.type) {
+        var h = l.arg,
+          f = h.value;
+        return f && "object" == t(f) && o.call(f, "__await")
+          ? e.resolve(f.__await).then(
+              function (t) {
+                n("next", t, c, u);
+              },
+              function (t) {
+                n("throw", t, c, u);
+              }
+            )
+          : e.resolve(f).then(
+              function (t) {
+                (h.value = t), c(h);
+              },
+              function (t) {
+                return n("throw", t, c, u);
+              }
+            );
+      }
+      u(l.arg);
+    }
+    var a;
+    i(this, "_invoke", {
+      value: function (t, r) {
+        function o() {
+          return new e(function (e, o) {
+            n(t, r, e, o);
+          });
+        }
+        return (a = a ? a.then(o, o) : o());
+      },
+    });
+  }
+  function E(t, r, e) {
+    var n = "suspendedStart";
+    return function (o, i) {
+      if ("executing" === n) throw new Error("Generator is already running");
+      if ("completed" === n) {
+        if ("throw" === o) throw i;
+        return N();
+      }
+      for (e.method = o, e.arg = i; ; ) {
+        var a = e.delegate;
+        if (a) {
+          var c = _(a, e);
+          if (c) {
+            if (c === p) continue;
+            return c;
+          }
+        }
+        if ("next" === e.method) e.sent = e._sent = e.arg;
+        else if ("throw" === e.method) {
+          if ("suspendedStart" === n) throw ((n = "completed"), e.arg);
+          e.dispatchException(e.arg);
+        } else "return" === e.method && e.abrupt("return", e.arg);
+        n = "executing";
+        var u = s(t, r, e);
+        if ("normal" === u.type) {
+          if (((n = e.done ? "completed" : "suspendedYield"), u.arg === p))
+            continue;
+          return { value: u.arg, done: e.done };
+        }
+        "throw" === u.type &&
+          ((n = "completed"), (e.method = "throw"), (e.arg = u.arg));
+      }
+    };
+  }
+  function _(t, r) {
+    var e = r.method,
+      n = t.iterator[e];
+    if (void 0 === n)
+      return (
+        (r.delegate = null),
+        ("throw" === e &&
+          t.iterator.return &&
+          ((r.method = "return"),
+          (r.arg = void 0),
+          _(t, r),
+          "throw" === r.method)) ||
+          ("return" !== e &&
+            ((r.method = "throw"),
+            (r.arg = new TypeError(
+              "The iterator does not provide a '" + e + "' method"
+            )))),
+        p
+      );
+    var o = s(n, t.iterator, r.arg);
+    if ("throw" === o.type)
+      return (r.method = "throw"), (r.arg = o.arg), (r.delegate = null), p;
+    var i = o.arg;
+    return i
+      ? i.done
+        ? ((r[t.resultName] = i.value),
+          (r.next = t.nextLoc),
+          "return" !== r.method && ((r.method = "next"), (r.arg = void 0)),
+          (r.delegate = null),
+          p)
+        : i
+      : ((r.method = "throw"),
+        (r.arg = new TypeError("iterator result is not an object")),
+        (r.delegate = null),
+        p);
+  }
+  function O(t) {
+    var r = { tryLoc: t[0] };
+    1 in t && (r.catchLoc = t[1]),
+      2 in t && ((r.finallyLoc = t[2]), (r.afterLoc = t[3])),
+      this.tryEntries.push(r);
+  }
+  function j(t) {
+    var r = t.completion || {};
+    (r.type = "normal"), delete r.arg, (t.completion = r);
+  }
+  function k(t) {
+    (this.tryEntries = [{ tryLoc: "root" }]),
+      t.forEach(O, this),
+      this.reset(!0);
+  }
+  function G(t) {
+    if (t) {
+      var r = t[c];
+      if (r) return r.call(t);
+      if ("function" == typeof t.next) return t;
+      if (!isNaN(t.length)) {
+        var e = -1,
+          n = function r() {
+            for (; ++e < t.length; )
+              if (o.call(t, e)) return (r.value = t[e]), (r.done = !1), r;
+            return (r.value = void 0), (r.done = !0), r;
+          };
+        return (n.next = n);
+      }
+    }
+    return { next: N };
+  }
+  function N() {
+    return { value: void 0, done: !0 };
+  }
+  return (
+    (v.prototype = y),
+    i(x, "constructor", { value: y, configurable: !0 }),
+    i(y, "constructor", { value: v, configurable: !0 }),
+    (v.displayName = h(y, l, "GeneratorFunction")),
+    (e.isGeneratorFunction = function (t) {
+      var r = "function" == typeof t && t.constructor;
+      return (
+        !!r && (r === v || "GeneratorFunction" === (r.displayName || r.name))
+      );
+    }),
+    (e.mark = function (t) {
+      return (
+        Object.setPrototypeOf
+          ? Object.setPrototypeOf(t, y)
+          : ((t.__proto__ = y), h(t, l, "GeneratorFunction")),
+        (t.prototype = Object.create(x)),
+        t
+      );
+    }),
+    (e.awrap = function (t) {
+      return { __await: t };
+    }),
+    L(b.prototype),
+    h(b.prototype, u, function () {
+      return this;
+    }),
+    (e.AsyncIterator = b),
+    (e.async = function (t, r, n, o, i) {
+      void 0 === i && (i = Promise);
+      var a = new b(f(t, r, n, o), i);
+      return e.isGeneratorFunction(r)
+        ? a
+        : a.next().then(function (t) {
+            return t.done ? t.value : a.next();
+          });
+    }),
+    L(x),
+    h(x, l, "Generator"),
+    h(x, c, function () {
+      return this;
+    }),
+    h(x, "toString", function () {
+      return "[object Generator]";
+    }),
+    (e.keys = function (t) {
+      var r = Object(t),
+        e = [];
+      for (var n in r) e.push(n);
+      return (
+        e.reverse(),
+        function t() {
+          for (; e.length; ) {
+            var n = e.pop();
+            if (n in r) return (t.value = n), (t.done = !1), t;
+          }
+          return (t.done = !0), t;
+        }
+      );
+    }),
+    (e.values = G),
+    (k.prototype = {
+      constructor: k,
+      reset: function (t) {
+        if (
+          ((this.prev = 0),
+          (this.next = 0),
+          (this.sent = this._sent = void 0),
+          (this.done = !1),
+          (this.delegate = null),
+          (this.method = "next"),
+          (this.arg = void 0),
+          this.tryEntries.forEach(j),
+          !t)
+        )
+          for (var r in this)
+            "t" === r.charAt(0) &&
+              o.call(this, r) &&
+              !isNaN(+r.slice(1)) &&
+              (this[r] = void 0);
+      },
+      stop: function () {
+        this.done = !0;
+        var t = this.tryEntries[0].completion;
+        if ("throw" === t.type) throw t.arg;
+        return this.rval;
+      },
+      dispatchException: function (t) {
+        if (this.done) throw t;
+        var r = this;
+        function e(e, n) {
+          return (
+            (a.type = "throw"),
+            (a.arg = t),
+            (r.next = e),
+            n && ((r.method = "next"), (r.arg = void 0)),
+            !!n
+          );
+        }
+        for (var n = this.tryEntries.length - 1; n >= 0; --n) {
+          var i = this.tryEntries[n],
+            a = i.completion;
+          if ("root" === i.tryLoc) return e("end");
+          if (i.tryLoc <= this.prev) {
+            var c = o.call(i, "catchLoc"),
+              u = o.call(i, "finallyLoc");
+            if (c && u) {
+              if (this.prev < i.catchLoc) return e(i.catchLoc, !0);
+              if (this.prev < i.finallyLoc) return e(i.finallyLoc);
+            } else if (c) {
+              if (this.prev < i.catchLoc) return e(i.catchLoc, !0);
+            } else {
+              if (!u) throw new Error("try statement without catch or finally");
+              if (this.prev < i.finallyLoc) return e(i.finallyLoc);
+            }
+          }
+        }
+      },
+      abrupt: function (t, r) {
+        for (var e = this.tryEntries.length - 1; e >= 0; --e) {
+          var n = this.tryEntries[e];
+          if (
+            n.tryLoc <= this.prev &&
+            o.call(n, "finallyLoc") &&
+            this.prev < n.finallyLoc
+          ) {
+            var i = n;
+            break;
+          }
+        }
+        i &&
+          ("break" === t || "continue" === t) &&
+          i.tryLoc <= r &&
+          r <= i.finallyLoc &&
+          (i = null);
+        var a = i ? i.completion : {};
+        return (
+          (a.type = t),
+          (a.arg = r),
+          i
+            ? ((this.method = "next"), (this.next = i.finallyLoc), p)
+            : this.complete(a)
+        );
+      },
+      complete: function (t, r) {
+        if ("throw" === t.type) throw t.arg;
+        return (
+          "break" === t.type || "continue" === t.type
+            ? (this.next = t.arg)
+            : "return" === t.type
+            ? ((this.rval = this.arg = t.arg),
+              (this.method = "return"),
+              (this.next = "end"))
+            : "normal" === t.type && r && (this.next = r),
+          p
+        );
+      },
+      finish: function (t) {
+        for (var r = this.tryEntries.length - 1; r >= 0; --r) {
+          var e = this.tryEntries[r];
+          if (e.finallyLoc === t)
+            return this.complete(e.completion, e.afterLoc), j(e), p;
+        }
+      },
+      catch: function (t) {
+        for (var r = this.tryEntries.length - 1; r >= 0; --r) {
+          var e = this.tryEntries[r];
+          if (e.tryLoc === t) {
+            var n = e.completion;
+            if ("throw" === n.type) {
+              var o = n.arg;
+              j(e);
+            }
+            return o;
+          }
+        }
+        throw new Error("illegal catch attempt");
+      },
+      delegateYield: function (t, r, e) {
+        return (
+          (this.delegate = { iterator: G(t), resultName: r, nextLoc: e }),
+          "next" === this.method && (this.arg = void 0),
+          p
+        );
+      },
+    }),
+    e
+  );
+}
+(module.exports = r),
+  (module.exports.__esModule = !0),
+  (module.exports.default = module.exports);
diff --git a/@babel/runtime/helpers/setPrototypeOf.js b/@babel/runtime/helpers/setPrototypeOf.js
new file mode 100644
index 0000000..b235a8c
--- /dev/null
+++ b/@babel/runtime/helpers/setPrototypeOf.js
@@ -0,0 +1,12 @@
+function _setPrototypeOf(t, e) {
+  return (
+    (module.exports = _setPrototypeOf =
+      Object.setPrototypeOf
+        ? Object.setPrototypeOf.bind()
+        : function (t, e) {
+            return (t.__proto__ = e), t;
+          }),
+    _setPrototypeOf(t, e)
+  );
+}
+module.exports = _setPrototypeOf;
diff --git a/@babel/runtime/helpers/slicedToArray.js b/@babel/runtime/helpers/slicedToArray.js
new file mode 100644
index 0000000..0af9d8f
--- /dev/null
+++ b/@babel/runtime/helpers/slicedToArray.js
@@ -0,0 +1,13 @@
+var arrayWithHoles = require("./arrayWithHoles"),
+  iterableToArrayLimit = require("./iterableToArrayLimit"),
+  unsupportedIterableToArray = require("./unsupportedIterableToArray"),
+  nonIterableRest = require("./nonIterableRest");
+function _slicedToArray(r, e) {
+  return (
+    arrayWithHoles(r) ||
+    iterableToArrayLimit(r, e) ||
+    unsupportedIterableToArray(r, e) ||
+    nonIterableRest()
+  );
+}
+module.exports = _slicedToArray;
diff --git a/@babel/runtime/helpers/toConsumableArray.js b/@babel/runtime/helpers/toConsumableArray.js
new file mode 100644
index 0000000..fdd9096
--- /dev/null
+++ b/@babel/runtime/helpers/toConsumableArray.js
@@ -0,0 +1,13 @@
+var arrayWithoutHoles = require("./arrayWithoutHoles"),
+  iterableToArray = require("./iterableToArray"),
+  unsupportedIterableToArray = require("./unsupportedIterableToArray"),
+  nonIterableSpread = require("./nonIterableSpread");
+function _toConsumableArray(r) {
+  return (
+    arrayWithoutHoles(r) ||
+    iterableToArray(r) ||
+    unsupportedIterableToArray(r) ||
+    nonIterableSpread()
+  );
+}
+module.exports = _toConsumableArray;
diff --git a/@babel/runtime/helpers/toPrimitive.js b/@babel/runtime/helpers/toPrimitive.js
new file mode 100644
index 0000000..f15d424
--- /dev/null
+++ b/@babel/runtime/helpers/toPrimitive.js
@@ -0,0 +1,12 @@
+var _typeof = require("./typeof");
+function _toPrimitive(r, t) {
+  if ("object" !== _typeof(r) || null === r) return r;
+  var e = r[Symbol.toPrimitive];
+  if (void 0 !== e) {
+    var i = e.call(r, t || "default");
+    if ("object" !== _typeof(i)) return i;
+    throw new TypeError("@@toPrimitive must return a primitive value.");
+  }
+  return ("string" === t ? String : Number)(r);
+}
+module.exports = _toPrimitive;
diff --git a/@babel/runtime/helpers/toPropertyKey.js b/@babel/runtime/helpers/toPropertyKey.js
new file mode 100644
index 0000000..92a9c4e
--- /dev/null
+++ b/@babel/runtime/helpers/toPropertyKey.js
@@ -0,0 +1,7 @@
+var _typeof = require("./typeof"),
+  toPrimitive = require("./toPrimitive");
+function _toPropertyKey(r) {
+  var t = toPrimitive(r, "string");
+  return "symbol" === _typeof(t) ? t : String(t);
+}
+module.exports = _toPropertyKey;
diff --git a/@babel/runtime/helpers/typeof.js b/@babel/runtime/helpers/typeof.js
new file mode 100644
index 0000000..f287981
--- /dev/null
+++ b/@babel/runtime/helpers/typeof.js
@@ -0,0 +1,18 @@
+function _typeof2(o) {
+  "@babel/helpers - typeof";
+  return (_typeof2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
+    return typeof o;
+  } : function (o) {
+    return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
+  })(o);
+}
+
+function _typeof(o) {
+  return "function" == typeof Symbol && "symbol" === _typeof2(Symbol.iterator) ? module.exports = _typeof = function (o) {
+    return _typeof2(o);
+  } : module.exports = _typeof = function (o) {
+    return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : _typeof2(o);
+  }, _typeof(o);
+}
+
+module.exports = _typeof;
\ No newline at end of file
diff --git a/@babel/runtime/helpers/unsupportedIterableToArray.js b/@babel/runtime/helpers/unsupportedIterableToArray.js
new file mode 100644
index 0000000..4fea3d7
--- /dev/null
+++ b/@babel/runtime/helpers/unsupportedIterableToArray.js
@@ -0,0 +1,17 @@
+var arrayLikeToArray = require("./arrayLikeToArray");
+function _unsupportedIterableToArray(r, e) {
+  if (r) {
+    if ("string" == typeof r) return arrayLikeToArray(r, e);
+    var t = Object.prototype.toString.call(r).slice(8, -1);
+    return (
+      "Object" === t && r.constructor && (t = r.constructor.name),
+      "Map" === t || "Set" === t
+        ? Array.from(r)
+        : "Arguments" === t ||
+          /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)
+        ? arrayLikeToArray(r, e)
+        : void 0
+    );
+  }
+}
+module.exports = _unsupportedIterableToArray;
diff --git a/@babel/runtime/helpers/wrapNativeSuper.js b/@babel/runtime/helpers/wrapNativeSuper.js
new file mode 100644
index 0000000..3cf4fbf
--- /dev/null
+++ b/@babel/runtime/helpers/wrapNativeSuper.js
@@ -0,0 +1,37 @@
+var getPrototypeOf = require("./getPrototypeOf"),
+  setPrototypeOf = require("./setPrototypeOf"),
+  isNativeFunction = require("./isNativeFunction"),
+  construct = require("./construct");
+function _wrapNativeSuper(t) {
+  var e = "function" == typeof Map ? new Map() : void 0;
+  return (
+    (module.exports = _wrapNativeSuper =
+      function (t) {
+        if (null === t || !isNativeFunction(t)) return t;
+        if ("function" != typeof t)
+          throw new TypeError(
+            "Super expression must either be null or a function"
+          );
+        if (void 0 !== e) {
+          if (e.has(t)) return e.get(t);
+          e.set(t, r);
+        }
+        function r() {
+          return construct(t, arguments, getPrototypeOf(this).constructor);
+        }
+        return (
+          (r.prototype = Object.create(t.prototype, {
+            constructor: {
+              value: r,
+              enumerable: !1,
+              writable: !0,
+              configurable: !0,
+            },
+          })),
+          setPrototypeOf(r, t)
+        );
+      }),
+    _wrapNativeSuper(t)
+  );
+}
+module.exports = _wrapNativeSuper;
diff --git a/App.wxml b/App.wxml
new file mode 100644
index 0000000..e69de29
diff --git a/app.js b/app.js
new file mode 100644
index 0000000..4f4f80a
--- /dev/null
+++ b/app.js
@@ -0,0 +1,38 @@
+Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
+var e = require("./common/vendor.js");
+require("./constant/index.js");
+var t = require("./utils/ald-stat.js"),
+  n = require("./utils/mtj-wx-sdk.js"),
+  i = require("./utils/util.js");
+Math;
+var a = {
+  __name: "App",
+  setup: function (t) {
+    return (
+      e.onLaunch(function () {
+        i.checkForUpdate(),
+          setTimeout(function () {
+            var t = e.index.getStorageSync("openId");
+            t && (e.wx$1.aldstat.sendOpenid(t), e.wx$1.uma.setOpenid(t));
+          }, 5e3);
+      }),
+      function (e, t) {
+        return {};
+      }
+    );
+  },
+};
+function r() {
+  var t = e.createSSRApp(a);
+  return t.use(e.createPinia()), { app: t, Pinia: e.Pinia };
+}
+t.aldInit(),
+  n.mtjInit({}),
+  e.lib.init({
+    appKey: "65793213a7208a5af185764c",
+    useOpenid: !0,
+    autoGetOpenid: !1,
+    debug: !0,
+  }),
+  r().app.mount("#app"),
+  (exports.createApp = r);
diff --git a/app.json b/app.json
new file mode 100644
index 0000000..f958a0c
--- /dev/null
+++ b/app.json
@@ -0,0 +1,69 @@
+{
+  "pages": [
+    "pages/splash/index",
+    "pages/home/index",
+    "pages/order-list/index",
+    "pages/order-list-mine/index",
+    "pages/user/index",
+    "pages/vin-info/index",
+    "pages/web-view/index",
+    "pages/report-query/index",
+    "pages/insurance-maintain-detail/index",
+    "pages/insurance-maintain-blank/index",
+    "pages/accident-detail/index",
+    "pages/accident-blank/index",
+    "pages/accident-web-view/index",
+    "pages/vehicle-info-query/index",
+    "pages/vehicle-info-detail/index",
+    "pages/vehicle-five-query/index",
+    "pages/vehicle-five-detail/index",
+    "pages/commercial-insurance-query/index",
+    "pages/commercial-insurance-detail/index",
+    "pages/sali-query/index",
+    "pages/sali-detail/index",
+    "pages/sali-check-query/index",
+    "pages/sali-check-detail/index",
+    "pages/vehicle-status-query/index",
+    "pages/vehicle-status-detail/index",
+    "pages/order-confirm/index",
+    "pages/order-detail/index",
+    "pages/pay-success/index",
+    "pages/pay-fail/index",
+    "pages/upload-success/index",
+    "pages/question/index",
+    "pages/easter-egg/index"
+  ],
+  "window": {
+    "navigationBarTextStyle": "white",
+    "navigationBarBackgroundColor": "#1F68E9",
+    "backgroundColor": "#f8f9fe",
+    "backgroundColorTop": "#f8f9fe",
+    "backgroundTextStyle": "dark"
+  },
+  "tabBar": {
+    "color": "#7A7E83",
+    "selectedColor": "#1F68E9",
+    "borderStyle": "black",
+    "backgroundColor": "#ffffff",
+    "list": [
+      {
+        "pagePath": "pages/home/index",
+        "text": "首页",
+        "iconPath": "static/images/tabs/icon_home_default.png",
+        "selectedIconPath": "static/images/tabs/icon_home_selected.png"
+      },
+      {
+        "pagePath": "pages/order-list/index",
+        "text": "订单",
+        "iconPath": "static/images/tabs/icon_order_list_default.png",
+        "selectedIconPath": "static/images/tabs/icon_order_list_selected.png"
+      },
+      {
+        "pagePath": "pages/user/index",
+        "text": "我的",
+        "iconPath": "static/images/tabs/icon_user_default.png",
+        "selectedIconPath": "static/images/tabs/icon_user_selected.png"
+      }
+    ]
+  }
+}
diff --git a/app.wxss b/app.wxss
new file mode 100644
index 0000000..2fe5471
--- /dev/null
+++ b/app.wxss
@@ -0,0 +1,72 @@
+page {
+  background-color: #f8f9fe;
+  color: #2c2c34;
+  word-break: break-all;
+}
+view {
+  display: block;
+}
+scroll-view,
+text,
+view {
+  box-sizing: border-box;
+}
+image {
+  display: block;
+  width: 100%;
+}
+button:after {
+  display: none;
+}
+.default-hover-class {
+  opacity: 0.8;
+}
+.divider {
+  background-color: #f7f8fa;
+  height: 2px;
+  width: 100%;
+}
+.divider-box {
+  background-color: #f8f9fe;
+  height: 18rpx;
+  width: 100%;
+}
+.uni-collapse-item__title-arrow {
+  margin-right: 0 !important;
+}
+page::after {
+  animation: shadow-preload 0.1s;
+  animation-delay: 3s;
+  content: "";
+  left: -1000px;
+  position: fixed;
+  top: -1000px;
+}
+@-webkit-keyframes shadow-preload {
+  0% {
+    background-image: url(https://cdn1.dcloud.net.cn/img/shadow-grey.png);
+  }
+  100% {
+    background-image: url(https://cdn1.dcloud.net.cn/img/shadow-grey.png);
+  }
+}
+@keyframes shadow-preload {
+  0% {
+    background-image: url(https://cdn1.dcloud.net.cn/img/shadow-grey.png);
+  }
+  100% {
+    background-image: url(https://cdn1.dcloud.net.cn/img/shadow-grey.png);
+  }
+}
+page {
+  --status-bar-height: 25px;
+  --top-window-height: 0px;
+  --window-top: 0px;
+  --window-bottom: 0px;
+  --window-left: 0px;
+  --window-right: 0px;
+  --window-magin: 0px;
+}
+[data-c-h="true"] {
+  display: none !important;
+}
diff --git a/common/vendor.js b/common/vendor.js
new file mode 100644
index 0000000..f45a95c
--- /dev/null
+++ b/common/vendor.js
@@ -0,0 +1,24690 @@
+var e = require("../@babel/runtime/helpers/assertThisInitialized");
+require("../@babel/runtime/helpers/Arrayincludes");
+var t = require("../@babel/runtime/helpers/regeneratorRuntime"),
+  n = require("../@babel/runtime/helpers/asyncToGenerator"),
+  r = require("../@babel/runtime/helpers/objectSpread2"),
+  i = require("../@babel/runtime/helpers/inherits"),
+  o = require("../@babel/runtime/helpers/createSuper"),
+  a = require("../@babel/runtime/helpers/wrapNativeSuper"),
+  u = require("../@babel/runtime/helpers/createForOfIteratorHelper"),
+  s = require("../@babel/runtime/helpers/classCallCheck"),
+  c = require("../@babel/runtime/helpers/createClass"),
+  f = require("../@babel/runtime/helpers/typeof"),
+  l = require("../@babel/runtime/helpers/defineProperty"),
+  h = require("../@babel/runtime/helpers/slicedToArray"),
+  p = require("../@babel/runtime/helpers/toConsumableArray");
+function d(e, t) {
+  for (var n = Object.create(null), r = e.split(","), i = 0; i < r.length; i++)
+    n[r[i]] = !0;
+  return t
+    ? function (e) {
+        return !!n[e.toLowerCase()];
+      }
+    : function (e) {
+        return !!n[e];
+      };
+}
+var v = /;(?![^(]*\))/g,
+  g = /:([^]+)/,
+  y = /\/\*[\s\S]*?\*\//g;
+function _(e) {
+  var t = {};
+  return (
+    e
+      .replace(y, "")
+      .split(v)
+      .forEach(function (e) {
+        if (e) {
+          var n = e.split(g);
+          n.length > 1 && (t[n[0].trim()] = n[1].trim());
+        }
+      }),
+    t
+  );
+}
+var m = function e(t, n) {
+    return n && n.__v_isRef
+      ? e(t, n.value)
+      : R(n)
+      ? l(
+          {},
+          "Map(".concat(n.size, ")"),
+          p(n.entries()).reduce(function (e, t) {
+            var n = h(t, 2),
+              r = n[0],
+              i = n[1];
+            return (e["".concat(r, " =>")] = i), e;
+          }, {})
+        )
+      : L(n)
+      ? l({}, "Set(".concat(n.size, ")"), p(n.values()))
+      : !U(n) || C(n) || F(n)
+      ? n
+      : String(n);
+  },
+  w = {},
+  k = [],
+  b = function () {},
+  x = function () {
+    return !1;
+  },
+  S = /^on[^a-z]/,
+  A = function (e) {
+    return S.test(e);
+  },
+  I = function (e) {
+    return e.startsWith("onUpdate:");
+  },
+  O = Object.assign,
+  P = function (e, t) {
+    var n = e.indexOf(t);
+    n > -1 && e.splice(n, 1);
+  },
+  T = Object.prototype.hasOwnProperty,
+  E = function (e, t) {
+    return T.call(e, t);
+  },
+  C = Array.isArray,
+  R = function (e) {
+    return "[object Map]" === $(e);
+  },
+  L = function (e) {
+    return "[object Set]" === $(e);
+  },
+  D = function (e) {
+    return "function" == typeof e;
+  },
+  B = function (e) {
+    return "string" == typeof e;
+  },
+  N = function (e) {
+    return "symbol" == f(e);
+  },
+  U = function (e) {
+    return null !== e && "object" == f(e);
+  },
+  j = function (e) {
+    return U(e) && D(e.then) && D(e.catch);
+  },
+  M = Object.prototype.toString,
+  $ = function (e) {
+    return M.call(e);
+  },
+  F = function (e) {
+    return "[object Object]" === $(e);
+  },
+  H = function (e) {
+    return B(e) && "NaN" !== e && "-" !== e[0] && "" + parseInt(e, 10) === e;
+  },
+  q = d(
+    ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"
+  ),
+  z = function (e) {
+    var t = Object.create(null);
+    return function (n) {
+      return t[n] || (t[n] = e(n));
+    };
+  },
+  W = /-(\w)/g,
+  V = z(function (e) {
+    return e.replace(W, function (e, t) {
+      return t ? t.toUpperCase() : "";
+    });
+  }),
+  K = /\B([A-Z])/g,
+  J = z(function (e) {
+    return e.replace(K, "-$1").toLowerCase();
+  }),
+  G = z(function (e) {
+    return e.charAt(0).toUpperCase() + e.slice(1);
+  }),
+  Y = z(function (e) {
+    return e ? "on".concat(G(e)) : "";
+  }),
+  X = function (e, t) {
+    return !Object.is(e, t);
+  },
+  Q = function (e, t) {
+    for (var n = 0; n < e.length; n++) e[n](t);
+  },
+  Z = function (e) {
+    var t = parseFloat(e);
+    return isNaN(t) ? e : t;
+  },
+  ee = "onShow",
+  te = "onHide",
+  ne = "onLaunch",
+  re = "onError",
+  ie = "onThemeChange",
+  oe = "onPageNotFound",
+  ae = "onUnhandledRejection",
+  ue = "onLoad",
+  se = "onReady",
+  ce = "onUnload",
+  fe = "onSaveExitState",
+  le = "onResize",
+  he = "onBackPress",
+  pe = "onPageScroll",
+  de = "onTabItemTap",
+  ve = "onReachBottom",
+  ge = "onPullDownRefresh",
+  ye = "onShareTimeline",
+  _e = "onAddToFavorites",
+  me = "onShareAppMessage",
+  we = "onNavigationBarButtonTap",
+  ke = "onNavigationBarSearchInputClicked",
+  be = "onNavigationBarSearchInputChanged",
+  xe = "onNavigationBarSearchInputConfirmed",
+  Se = "onNavigationBarSearchInputFocusChanged",
+  Ae = /:/g;
+function Ie(e) {
+  var t,
+    n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null;
+  return function () {
+    for (var r = arguments.length, i = new Array(r), o = 0; o < r; o++)
+      i[o] = arguments[o];
+    return e && ((t = e.apply(n, i)), (e = null)), t;
+  };
+}
+function Oe(e) {
+  var t = {};
+  return (
+    F(e) &&
+      Object.keys(e)
+        .sort()
+        .forEach(function (n) {
+          var r = n;
+          t[r] = e[r];
+        }),
+    Object.keys(t) ? t : e
+  );
+}
+var Pe = encodeURIComponent;
+function Te(e) {
+  var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Pe,
+    n = e
+      ? Object.keys(e)
+          .map(function (n) {
+            var r = e[n];
+            return (
+              void 0 === f(r) || null === r
+                ? (r = "")
+                : F(r) && (r = JSON.stringify(r)),
+              t(n) + "=" + t(r)
+            );
+          })
+          .filter(function (e) {
+            return e.length > 0;
+          })
+          .join("&")
+      : null;
+  return n ? "?".concat(n) : "";
+}
+var Ee,
+  Ce = [
+    "onInit",
+    ue,
+    ee,
+    te,
+    ce,
+    he,
+    pe,
+    de,
+    ve,
+    ge,
+    ye,
+    me,
+    _e,
+    fe,
+    we,
+    ke,
+    be,
+    xe,
+    Se,
+  ],
+  Re = [
+    ee,
+    te,
+    ne,
+    re,
+    ie,
+    oe,
+    ae,
+    "onExit",
+    "onInit",
+    ue,
+    se,
+    ce,
+    le,
+    he,
+    pe,
+    de,
+    ve,
+    ge,
+    ye,
+    _e,
+    me,
+    fe,
+    we,
+    ke,
+    be,
+    xe,
+    Se,
+  ],
+  Le = { onPageScroll: 1, onShareAppMessage: 2, onShareTimeline: 4 };
+function De(e, t) {
+  var n = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2];
+  return !(n && !D(t)) && (Re.indexOf(e) > -1 || 0 === e.indexOf("on"));
+}
+var Be = [],
+  Ne = Ie(function (e, t) {
+    if (D(e._component.onError)) return t(e);
+  }),
+  Ue = function () {};
+Ue.prototype = {
+  on: function (e, t, n) {
+    var r = this.e || (this.e = {});
+    return (r[e] || (r[e] = [])).push({ fn: t, ctx: n }), this;
+  },
+  once: function (e, t, n) {
+    var r = this;
+    function i() {
+      r.off(e, i), t.apply(n, arguments);
+    }
+    return (i._ = t), this.on(e, i, n);
+  },
+  emit: function (e) {
+    for (
+      var t = [].slice.call(arguments, 1),
+        n = ((this.e || (this.e = {}))[e] || []).slice(),
+        r = 0,
+        i = n.length;
+      r < i;
+      r++
+    )
+      n[r].fn.apply(n[r].ctx, t);
+    return this;
+  },
+  off: function (e, t) {
+    var n = this.e || (this.e = {}),
+      r = n[e],
+      i = [];
+    if (r && t)
+      for (var o = 0, a = r.length; o < a; o++)
+        r[o].fn !== t && r[o].fn._ !== t && i.push(r[o]);
+    return i.length ? (n[e] = i) : delete n[e], this;
+  },
+};
+var je = Ue,
+  Me = ["{", "}"],
+  $e = /^(?:\d)+/,
+  Fe = /^(?:\w)+/,
+  He = "zh-Hans",
+  qe = "zh-Hant",
+  ze = "en",
+  We = Object.prototype.hasOwnProperty,
+  Ve = function (e, t) {
+    return We.call(e, t);
+  },
+  Ke = new ((function () {
+    function e() {
+      s(this, e), (this._caches = Object.create(null));
+    }
+    return (
+      c(e, [
+        {
+          key: "interpolate",
+          value: function (e, t) {
+            var n =
+              arguments.length > 2 && void 0 !== arguments[2]
+                ? arguments[2]
+                : Me;
+            if (!t) return [e];
+            var r = this._caches[e];
+            return (
+              r ||
+                ((r = (function (e, t) {
+                  for (
+                    var n = h(t, 2), r = n[0], i = n[1], o = [], a = 0, u = "";
+                    a < e.length;
+
+                  ) {
+                    var s = e[a++];
+                    if (s === r) {
+                      u && o.push({ type: "text", value: u }), (u = "");
+                      var c = "";
+                      for (s = e[a++]; void 0 !== s && s !== i; )
+                        (c += s), (s = e[a++]);
+                      var f = s === i,
+                        l = $e.test(c)
+                          ? "list"
+                          : f && Fe.test(c)
+                          ? "named"
+                          : "unknown";
+                      o.push({ value: c, type: l });
+                    } else u += s;
+                  }
+                  return u && o.push({ type: "text", value: u }), o;
+                })(e, n)),
+                (this._caches[e] = r)),
+              (function (e, t) {
+                var n,
+                  r = [],
+                  i = 0,
+                  o = Array.isArray(t)
+                    ? "list"
+                    : null !== (n = t) && "object" == f(n)
+                    ? "named"
+                    : "unknown";
+                if ("unknown" === o) return r;
+                for (; i < e.length; ) {
+                  var a = e[i];
+                  switch (a.type) {
+                    case "text":
+                      r.push(a.value);
+                      break;
+                    case "list":
+                      r.push(t[parseInt(a.value, 10)]);
+                      break;
+                    case "named":
+                      "named" === o && r.push(t[a.value]);
+                  }
+                  i++;
+                }
+                return r;
+              })(r, t)
+            );
+          },
+        },
+      ]),
+      e
+    );
+  })())();
+function Je(e, t) {
+  if (e) {
+    if (((e = e.trim().replace(/_/g, "-")), t && t[e])) return e;
+    if ("chinese" === (e = e.toLowerCase())) return He;
+    if (0 === e.indexOf("zh"))
+      return e.indexOf("-hans") > -1
+        ? He
+        : e.indexOf("-hant") > -1
+        ? qe
+        : ((n = e),
+          ["-tw", "-hk", "-mo", "-cht"].find(function (e) {
+            return -1 !== n.indexOf(e);
+          })
+            ? qe
+            : He);
+    var n,
+      r = [ze, "fr", "es"];
+    return (
+      t && Object.keys(t).length > 0 && (r = Object.keys(t)),
+      (function (e, t) {
+        return t.find(function (t) {
+          return 0 === e.indexOf(t);
+        });
+      })(e, r) || void 0
+    );
+  }
+}
+var Ge = (function () {
+  function e(t) {
+    var n = t.locale,
+      r = t.fallbackLocale,
+      i = t.messages,
+      o = t.watcher,
+      a = t.formater;
+    s(this, e),
+      (this.locale = ze),
+      (this.fallbackLocale = ze),
+      (this.message = {}),
+      (this.messages = {}),
+      (this.watchers = []),
+      r && (this.fallbackLocale = r),
+      (this.formater = a || Ke),
+      (this.messages = i || {}),
+      this.setLocale(n || ze),
+      o && this.watchLocale(o);
+  }
+  return (
+    c(e, [
+      {
+        key: "setLocale",
+        value: function (e) {
+          var t = this,
+            n = this.locale;
+          (this.locale = Je(e, this.messages) || this.fallbackLocale),
+            this.messages[this.locale] || (this.messages[this.locale] = {}),
+            (this.message = this.messages[this.locale]),
+            n !== this.locale &&
+              this.watchers.forEach(function (e) {
+                e(t.locale, n);
+              });
+        },
+      },
+      {
+        key: "getLocale",
+        value: function () {
+          return this.locale;
+        },
+      },
+      {
+        key: "watchLocale",
+        value: function (e) {
+          var t = this,
+            n = this.watchers.push(e) - 1;
+          return function () {
+            t.watchers.splice(n, 1);
+          };
+        },
+      },
+      {
+        key: "add",
+        value: function (e, t) {
+          var n =
+              !(arguments.length > 2 && void 0 !== arguments[2]) ||
+              arguments[2],
+            r = this.messages[e];
+          r
+            ? n
+              ? Object.assign(r, t)
+              : Object.keys(t).forEach(function (e) {
+                  Ve(r, e) || (r[e] = t[e]);
+                })
+            : (this.messages[e] = t);
+        },
+      },
+      {
+        key: "f",
+        value: function (e, t, n) {
+          return this.formater.interpolate(e, t, n).join("");
+        },
+      },
+      {
+        key: "t",
+        value: function (e, t, n) {
+          var r = this.message;
+          return (
+            "string" == typeof t
+              ? (t = Je(t, this.messages)) && (r = this.messages[t])
+              : (n = t),
+            Ve(r, e)
+              ? this.formater.interpolate(r[e], n).join("")
+              : (console.warn(
+                  "Cannot translate the value of keypath ".concat(
+                    e,
+                    ". Use the value of keypath as default."
+                  )
+                ),
+                e)
+          );
+        },
+      },
+    ]),
+    e
+  );
+})();
+function Ye(e) {
+  return function () {
+    try {
+      return e.apply(e, arguments);
+    } catch (e) {
+      console.error(e);
+    }
+  };
+}
+var Xe = 1,
+  Qe = {};
+function Ze(e, t, n) {
+  if ("number" == typeof e) {
+    var r = Qe[e];
+    if (r) return r.keepAlive || delete Qe[e], r.callback(t, n);
+  }
+  return t;
+}
+var et = "success",
+  tt = "fail",
+  nt = "complete";
+var rt = "success",
+  it = "fail",
+  ot = "complete",
+  at = {},
+  ut = {};
+function st(e, t) {
+  return function (n) {
+    return e(n, t) || n;
+  };
+}
+function ct(e, t, n) {
+  for (var r = !1, i = 0; i < e.length; i++) {
+    var o = e[i];
+    if (r) r = Promise.resolve(st(o, n));
+    else {
+      var a = o(t, n);
+      if ((j(a) && (r = Promise.resolve(a)), !1 === a))
+        return { then: function () {}, catch: function () {} };
+    }
+  }
+  return (
+    r || {
+      then: function (e) {
+        return e(t);
+      },
+      catch: function () {},
+    }
+  );
+}
+function ft(e) {
+  var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
+  return (
+    [rt, it, ot].forEach(function (n) {
+      var r = e[n];
+      if (C(r)) {
+        var i = t[n];
+        t[n] = function (e) {
+          ct(r, e, t).then(function (e) {
+            return (D(i) && i(e)) || e;
+          });
+        };
+      }
+    }),
+    t
+  );
+}
+function lt(e, t) {
+  var n = [];
+  C(at.returnValue) && n.push.apply(n, p(at.returnValue));
+  var r = ut[e];
+  return (
+    r && C(r.returnValue) && n.push.apply(n, p(r.returnValue)),
+    n.forEach(function (e) {
+      t = e(t) || t;
+    }),
+    t
+  );
+}
+function ht(e) {
+  var t = Object.create(null);
+  Object.keys(at).forEach(function (e) {
+    "returnValue" !== e && (t[e] = at[e].slice());
+  });
+  var n = ut[e];
+  return (
+    n &&
+      Object.keys(n).forEach(function (e) {
+        "returnValue" !== e && (t[e] = (t[e] || []).concat(n[e]));
+      }),
+    t
+  );
+}
+function pt(e, t, n, r) {
+  var i = ht(e);
+  return i && Object.keys(i).length
+    ? C(i.invoke)
+      ? ct(i.invoke, n).then(function (n) {
+          return t.apply(void 0, [ft(ht(e), n)].concat(p(r)));
+        })
+      : t.apply(void 0, [ft(i, n)].concat(p(r)))
+    : t.apply(void 0, [n].concat(p(r)));
+}
+function dt(e, t, n, r) {
+  return Ze(e, O({ errMsg: t + ":fail" + (n ? " " + n : "") }, r));
+}
+function vt(e, t, n, r) {
+  if (r && r.beforeInvoke) {
+    var i = r.beforeInvoke(t);
+    if (B(i)) return i;
+  }
+  var o = (function (e, t) {
+    var n = e[0];
+    if (t && (F(t.formatArgs) || !F(n)))
+      for (var r = t.formatArgs, i = Object.keys(r), o = 0; o < i.length; o++) {
+        var a = i[o],
+          u = r[a];
+        if (D(u)) {
+          var s = u(e[0][a], n);
+          if (B(s)) return s;
+        } else E(n, a) || (n[a] = u);
+      }
+  })(t, r);
+  if (o) return o;
+}
+function gt(e, t, n, r) {
+  return function (n) {
+    var i = (function (e) {
+        var t =
+            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
+          n =
+            arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
+          r = n.beforeAll,
+          i = n.beforeSuccess;
+        F(t) || (t = {});
+        var o = (function (e) {
+            var t = {};
+            for (var n in e) {
+              var r = e[n];
+              D(r) && ((t[n] = Ye(r)), delete e[n]);
+            }
+            return t;
+          })(t),
+          a = o.success,
+          u = o.fail,
+          s = o.complete,
+          c = D(a),
+          f = D(u),
+          l = D(s),
+          h = Xe++;
+        return (
+          (function (e, t, n) {
+            var r =
+              arguments.length > 3 && void 0 !== arguments[3] && arguments[3];
+            Qe[e] = { name: t, keepAlive: r, callback: n };
+          })(h, e, function (n) {
+            ((n = n || {}).errMsg = (function (e, t) {
+              return e && -1 !== e.indexOf(":fail")
+                ? t + e.substring(e.indexOf(":fail"))
+                : t + ":ok";
+            })(n.errMsg, e)),
+              D(r) && r(n),
+              n.errMsg === e + ":ok" ? (D(i) && i(n, t), c && a(n)) : f && u(n),
+              l && s(n);
+          }),
+          h
+        );
+      })(e, n, r),
+      o = vt(0, [n], 0, r);
+    return o
+      ? dt(i, e, o)
+      : t(n, {
+          resolve: function (t) {
+            return (function (e, t, n) {
+              return Ze(e, O(n || {}, { errMsg: t + ":ok" }));
+            })(i, e, t);
+          },
+          reject: function (t, n) {
+            return dt(
+              i,
+              e,
+              (function (e) {
+                return !e || B(e)
+                  ? e
+                  : e.stack
+                  ? (console.error(e.message + "\n" + e.stack), e.message)
+                  : e;
+              })(t),
+              n
+            );
+          },
+        });
+  };
+}
+function yt(e, t, n, r) {
+  return (function (e, t, n, r) {
+    return function () {
+      for (var e = arguments.length, n = new Array(e), i = 0; i < e; i++)
+        n[i] = arguments[i];
+      var o = vt(0, n, 0, r);
+      if (o) throw new Error(o);
+      return t.apply(null, n);
+    };
+  })(0, t, 0, r);
+}
+var _t = !1,
+  mt = 0,
+  wt = 0;
+var kt = yt(0, function (e, t) {
+  if (
+    (0 === mt &&
+      (function () {
+        var e = wx.getSystemInfoSync(),
+          t = e.platform,
+          n = e.pixelRatio,
+          r = e.windowWidth;
+        (mt = r), (wt = n), (_t = "ios" === t);
+      })(),
+    0 === (e = Number(e)))
+  )
+    return 0;
+  var n = (e / 750) * (t || mt);
+  return (
+    n < 0 && (n = -n),
+    0 === (n = Math.floor(n + 1e-4)) && (n = 1 !== wt && _t ? 0.5 : 1),
+    e < 0 ? -n : n
+  );
+});
+function bt(e, t) {
+  Object.keys(t).forEach(function (n) {
+    D(t[n]) &&
+      (e[n] = (function (e, t) {
+        var n = t ? (e ? e.concat(t) : C(t) ? t : [t]) : e;
+        return n
+          ? (function (e) {
+              for (var t = [], n = 0; n < e.length; n++)
+                -1 === t.indexOf(e[n]) && t.push(e[n]);
+              return t;
+            })(n)
+          : n;
+      })(e[n], t[n]));
+  });
+}
+function xt(e, t) {
+  e &&
+    t &&
+    Object.keys(t).forEach(function (n) {
+      var r = e[n],
+        i = t[n];
+      C(r) && D(i) && P(r, i);
+    });
+}
+var St,
+  At,
+  It,
+  Ot = yt(0, function (e, t) {
+    B(e) && F(t) ? bt(ut[e] || (ut[e] = {}), t) : F(e) && bt(at, e);
+  }),
+  Pt = yt(0, function (e, t) {
+    B(e) ? (F(t) ? xt(ut[e], t) : delete ut[e]) : F(e) && xt(at, e);
+  }),
+  Tt = new je(),
+  Et = yt(0, function (e, t) {
+    return (
+      Tt.on(e, t),
+      function () {
+        return Tt.off(e, t);
+      }
+    );
+  }),
+  Ct = yt(0, function (e, t) {
+    return (
+      Tt.once(e, t),
+      function () {
+        return Tt.off(e, t);
+      }
+    );
+  }),
+  Rt = yt(0, function (e, t) {
+    e
+      ? (C(e) || (e = [e]),
+        e.forEach(function (e) {
+          return Tt.off(e, t);
+        }))
+      : (Tt.e = {});
+  }),
+  Lt = yt(0, function (e) {
+    for (
+      var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1;
+      r < t;
+      r++
+    )
+      n[r - 1] = arguments[r];
+    Tt.emit.apply(Tt, [e].concat(n));
+  });
+function Dt(e) {
+  try {
+    return JSON.parse(e);
+  } catch (e) {}
+  return e;
+}
+var Bt = [];
+function Nt(e, t) {
+  Bt.forEach(function (n) {
+    n(e, t);
+  }),
+    (Bt.length = 0);
+}
+var Ut = (function (e, t) {
+    return function () {
+      for (
+        var n =
+            arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+          r = arguments.length,
+          i = new Array(r > 1 ? r - 1 : 0),
+          o = 1;
+        o < r;
+        o++
+      )
+        i[o - 1] = arguments[o];
+      return (function (e) {
+        return !(
+          !F(e) ||
+          ![et, tt, nt].find(function (t) {
+            return D(e[t]);
+          })
+        );
+      })(n)
+        ? lt(e, pt(e, t, n, i))
+        : lt(
+            e,
+            new Promise(function (r, o) {
+              pt(e, t, O(n, { success: r, fail: o }), i);
+            })
+          );
+    };
+  })(
+    "getPushClientId",
+    gt(
+      "getPushClientId",
+      function (e, t) {
+        var n = t.resolve,
+          r = t.reject;
+        Promise.resolve().then(function () {
+          void 0 === It &&
+            ((It = !1), (St = ""), (At = "uniPush is not enabled")),
+            Bt.push(function (e, t) {
+              e ? n({ cid: e }) : r(t);
+            }),
+            void 0 !== St && Nt(St, At);
+        });
+      },
+      0,
+      void 0
+    )
+  ),
+  jt = [],
+  Mt =
+    /^\$|getLocale|setLocale|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getDeviceInfo|getAppBaseInfo|getWindowInfo|getSystemSetting|getAppAuthorizeSetting/,
+  $t = /^create|Manager$/,
+  Ft = ["createBLEConnection"],
+  Ht = ["createBLEConnection"],
+  qt = /^on|^off/;
+function zt(e) {
+  return $t.test(e) && -1 === Ft.indexOf(e);
+}
+function Wt(e) {
+  return Mt.test(e) && -1 === Ht.indexOf(e);
+}
+function Vt(e, t) {
+  return (function (e) {
+    return !(
+      zt(e) ||
+      Wt(e) ||
+      (function (e) {
+        return qt.test(e) && "onPush" !== e;
+      })(e)
+    );
+  })(e) && D(t)
+    ? function () {
+        for (
+          var n =
+              arguments.length > 0 && void 0 !== arguments[0]
+                ? arguments[0]
+                : {},
+            r = arguments.length,
+            i = new Array(r > 1 ? r - 1 : 0),
+            o = 1;
+          o < r;
+          o++
+        )
+          i[o - 1] = arguments[o];
+        return D(n.success) || D(n.fail) || D(n.complete)
+          ? lt(e, pt(e, t, n, i))
+          : lt(
+              e,
+              new Promise(function (r, o) {
+                pt(e, t, O({}, n, { success: r, fail: o }), i);
+              })
+            );
+      }
+    : t;
+}
+Promise.prototype.finally ||
+  (Promise.prototype.finally = function (e) {
+    var t = this.constructor;
+    return this.then(
+      function (n) {
+        return t.resolve(e && e()).then(function () {
+          return n;
+        });
+      },
+      function (n) {
+        return t.resolve(e && e()).then(function () {
+          throw n;
+        });
+      }
+    );
+  });
+var Kt = ["success", "fail", "cancel", "complete"],
+  Jt = function () {
+    var e = D(getApp) && getApp({ allowDefault: !0 });
+    return e && e.$vm
+      ? e.$vm.$locale
+      : Je(wx.getSystemInfoSync().language) || ze;
+  },
+  Gt = [];
+"undefined" != typeof global && (global.getLocale = Jt);
+var Yt,
+  Xt = "__DC_STAT_UUID";
+function Qt() {
+  var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : wx;
+  return function (t, n) {
+    (Yt = Yt || e.getStorageSync(Xt)) ||
+      ((Yt = Date.now() + "" + Math.floor(1e7 * Math.random())),
+      wx.setStorage({ key: Xt, data: Yt })),
+      (n.deviceId = Yt);
+  };
+}
+function Zt(e, t) {
+  if (e.safeArea) {
+    var n = e.safeArea;
+    t.safeAreaInsets = {
+      top: n.top,
+      left: n.left,
+      right: e.windowWidth - n.right,
+      bottom: e.screenHeight - n.bottom,
+    };
+  }
+}
+function en(e, t) {
+  for (
+    var n = e.deviceType || "phone",
+      r = { ipad: "pad", windows: "pc", mac: "pc" },
+      i = Object.keys(r),
+      o = t.toLocaleLowerCase(),
+      a = 0;
+    a < i.length;
+    a++
+  ) {
+    var u = i[a];
+    if (-1 !== o.indexOf(u)) {
+      n = r[u];
+      break;
+    }
+  }
+  return n;
+}
+function tn(e) {
+  var t = e;
+  return t && (t = t.toLocaleLowerCase()), t;
+}
+function nn(e) {
+  return Jt ? Jt() : e;
+}
+function rn(e) {
+  var t = e.hostName || "WeChat";
+  return (
+    e.environment
+      ? (t = e.environment)
+      : e.host && e.host.env && (t = e.host.env),
+    t
+  );
+}
+var on = {
+    returnValue: function (e, t) {
+      Zt(e, t),
+        Qt()(e, t),
+        (function (e, t) {
+          var n,
+            r = e.brand,
+            i = void 0 === r ? "" : r,
+            o = e.model,
+            a = void 0 === o ? "" : o,
+            u = e.system,
+            s = void 0 === u ? "" : u,
+            c = e.language,
+            f = void 0 === c ? "" : c,
+            l = e.theme,
+            h = e.version,
+            p = (e.platform, e.fontSizeSetting),
+            d = e.SDKVersion,
+            v = e.pixelRatio,
+            g = e.deviceOrientation,
+            y = "";
+          (y = s.split(" ")[0] || ""), (n = s.split(" ")[1] || "");
+          var _ = h,
+            m = en(e, a),
+            w = tn(i),
+            k = rn(e),
+            b = g,
+            x = v,
+            S = d,
+            A = f.replace(/_/g, "-"),
+            I = {
+              appId: "__UNI__4AC81CE",
+              appName: "优选查车",
+              appVersion: "1.1.006",
+              appVersionCode: 11006,
+              appLanguage: nn(A),
+              uniCompileVersion: "3.99",
+              uniRuntimeVersion: "3.99",
+              uniPlatform: "mp-weixin",
+              deviceBrand: w,
+              deviceModel: a,
+              deviceType: m,
+              devicePixelRatio: x,
+              deviceOrientation: b,
+              osName: y.toLocaleLowerCase(),
+              osVersion: n,
+              hostTheme: l,
+              hostVersion: _,
+              hostLanguage: A,
+              hostName: k,
+              hostSDKVersion: S,
+              hostFontSizeSetting: p,
+              windowTop: 0,
+              windowBottom: 0,
+              osLanguage: void 0,
+              osTheme: void 0,
+              ua: void 0,
+              hostPackageName: void 0,
+              browserName: void 0,
+              browserVersion: void 0,
+            };
+          O(t, I);
+        })(e, t);
+    },
+  },
+  an = on,
+  un = {
+    args: function (e, t) {
+      var n = parseInt(e.current);
+      if (!isNaN(n)) {
+        var r = e.urls;
+        if (C(r)) {
+          var i = r.length;
+          return i
+            ? (n < 0 ? (n = 0) : n >= i && (n = i - 1),
+              n > 0
+                ? ((t.current = r[n]),
+                  (t.urls = r.filter(function (e, t) {
+                    return !(t < n) || e !== r[n];
+                  })))
+                : (t.current = r[0]),
+              { indicator: !1, loop: !1 })
+            : void 0;
+        }
+      }
+    },
+  },
+  sn = {
+    returnValue: function (e, t) {
+      var n = e.brand,
+        r = e.model,
+        i = en(e, r),
+        o = tn(n);
+      Qt()(e, t),
+        (t = Oe(O(t, { deviceType: i, deviceBrand: o, deviceModel: r })));
+    },
+  },
+  cn = {
+    returnValue: function (e, t) {
+      var n = e.version,
+        r = e.language,
+        i = e.SDKVersion,
+        o = e.theme,
+        a = rn(e),
+        u = r.replace(/_/g, "-");
+      t = Oe(
+        O(t, {
+          hostVersion: n,
+          hostLanguage: u,
+          hostName: a,
+          hostSDKVersion: i,
+          hostTheme: o,
+          appId: "__UNI__4AC81CE",
+          appName: "优选查车",
+          appVersion: "1.1.006",
+          appVersionCode: 11006,
+          appLanguage: nn(u),
+        })
+      );
+    },
+  },
+  fn = {
+    returnValue: function (e, t) {
+      Zt(e, t), (t = Oe(O(t, { windowTop: 0, windowBottom: 0 })));
+    },
+  },
+  ln = {
+    $on: Et,
+    $off: Rt,
+    $once: Ct,
+    $emit: Lt,
+    upx2px: kt,
+    interceptors: {},
+    addInterceptor: Ot,
+    removeInterceptor: Pt,
+    onCreateVueApp: function (e) {
+      if (Ee) return e(Ee);
+      Be.push(e);
+    },
+    invokeCreateVueAppHook: function (e) {
+      (Ee = e),
+        Be.forEach(function (t) {
+          return t(e);
+        });
+    },
+    getLocale: Jt,
+    setLocale: function (e) {
+      var t = D(getApp) && getApp();
+      return (
+        !!t &&
+        t.$vm.$locale !== e &&
+        ((t.$vm.$locale = e),
+        Gt.forEach(function (t) {
+          return t({ locale: e });
+        }),
+        !0)
+      );
+    },
+    onLocaleChange: function (e) {
+      -1 === Gt.indexOf(e) && Gt.push(e);
+    },
+    getPushClientId: Ut,
+    onPushMessage: function (e) {
+      -1 === jt.indexOf(e) && jt.push(e);
+    },
+    offPushMessage: function (e) {
+      if (e) {
+        var t = jt.indexOf(e);
+        t > -1 && jt.splice(t, 1);
+      } else jt.length = 0;
+    },
+    invokePushCallback: function (e) {
+      if ("enabled" === e.type) It = !0;
+      else if ("clientId" === e.type)
+        (St = e.cid), (At = e.errMsg), Nt(St, e.errMsg);
+      else if ("pushMsg" === e.type)
+        for (
+          var t = { type: "receive", data: Dt(e.message) }, n = 0;
+          n < jt.length && ((0, jt[n])(t), !t.stopped);
+          n++
+        );
+      else
+        "click" === e.type &&
+          jt.forEach(function (t) {
+            t({ type: "click", data: Dt(e.message) });
+          });
+    },
+  },
+  hn = [
+    "qy",
+    "env",
+    "error",
+    "version",
+    "lanDebug",
+    "cloud",
+    "serviceMarket",
+    "router",
+    "worklet",
+    "__webpack_require_UNI_MP_PLUGIN__",
+  ],
+  pn = ["lanDebug", "router", "worklet"],
+  dn = wx.getLaunchOptionsSync ? wx.getLaunchOptionsSync() : null;
+function vn(e) {
+  return (
+    (!dn || 1154 !== dn.scene || !pn.includes(e)) &&
+    (hn.indexOf(e) > -1 || "function" == typeof wx[e])
+  );
+}
+function gn() {
+  var e = {};
+  for (var t in wx) vn(t) && (e[t] = wx[t]);
+  return (
+    "undefined" != typeof globalThis &&
+      "undefined" == typeof requireMiniProgram &&
+      (globalThis.wx = e),
+    e
+  );
+}
+var yn,
+  _n = ["__route__", "__wxExparserNodeId__", "__wxWebviewId__"],
+  mn =
+    ((yn = {
+      oauth: ["weixin"],
+      share: ["weixin"],
+      payment: ["wxpay"],
+      push: ["weixin"],
+    }),
+    function (e) {
+      var t,
+        n = e.service,
+        r = e.success,
+        i = e.fail,
+        o = e.complete;
+      yn[n]
+        ? ((t = { errMsg: "getProvider:ok", service: n, provider: yn[n] }),
+          D(r) && r(t))
+        : ((t = { errMsg: "getProvider:fail:服务[" + n + "]不存在" }),
+          D(i) && i(t)),
+        D(o) && o(t);
+    }),
+  wn = gn(),
+  kn = wn.getAppBaseInfo && wn.getAppBaseInfo();
+kn || (kn = wn.getSystemInfoSync());
+var bn,
+  xn = kn ? kn.host : null,
+  Sn =
+    xn && "SAAASDK" === xn.env
+      ? wn.miniapp.shareVideoMessage
+      : wn.shareVideoMessage,
+  An = Object.freeze({
+    __proto__: null,
+    createSelectorQuery: function () {
+      var e = wn.createSelectorQuery(),
+        t = e.in;
+      return (
+        (e.in = function (e) {
+          return t.call(
+            this,
+            (function (e) {
+              var t = Object.create(null);
+              return (
+                _n.forEach(function (n) {
+                  t[n] = e[n];
+                }),
+                t
+              );
+            })(e)
+          );
+        }),
+        e
+      );
+    },
+    getProvider: mn,
+    shareVideoMessage: Sn,
+  }),
+  In = Object.freeze({
+    __proto__: null,
+    compressImage: {
+      args: function (e, t) {
+        e.compressedHeight &&
+          !t.compressHeight &&
+          (t.compressHeight = e.compressedHeight),
+          e.compressedWidth &&
+            !t.compressWidth &&
+            (t.compressWidth = e.compressedWidth);
+      },
+    },
+    getAppAuthorizeSetting: {
+      returnValue: function (e, t) {
+        var n = e.locationReducedAccuracy;
+        (t.locationAccuracy = "unsupported"),
+          !0 === n
+            ? (t.locationAccuracy = "reduced")
+            : !1 === n && (t.locationAccuracy = "full");
+      },
+    },
+    getAppBaseInfo: cn,
+    getDeviceInfo: sn,
+    getSystemInfo: on,
+    getSystemInfoSync: an,
+    getWindowInfo: fn,
+    previewImage: un,
+    redirectTo: {},
+    showActionSheet: {
+      args: function (e, t) {
+        t.alertText = e.title;
+      },
+    },
+  }),
+  On = gn(),
+  Pn = (function (e, t) {
+    var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : wx,
+      r = (function (e) {
+        function t(e, t, n) {
+          return function (i) {
+            return t(r(e, i, n));
+          };
+        }
+        function n(e, n) {
+          var r =
+              arguments.length > 2 && void 0 !== arguments[2]
+                ? arguments[2]
+                : {},
+            i =
+              arguments.length > 3 && void 0 !== arguments[3]
+                ? arguments[3]
+                : {},
+            o = arguments.length > 4 && void 0 !== arguments[4] && arguments[4];
+          if (F(n)) {
+            var a = !0 === o ? n : {};
+            for (var u in (D(r) && (r = r(n, a) || {}), n))
+              if (E(r, u)) {
+                var s = r[u];
+                D(s) && (s = s(n[u], n, a)),
+                  s
+                    ? B(s)
+                      ? (a[s] = n[u])
+                      : F(s) && (a[s.name ? s.name : u] = s.value)
+                    : console.warn(
+                        "微信小程序 ".concat(e, " 暂不支持 ").concat(u)
+                      );
+              } else if (-1 !== Kt.indexOf(u)) {
+                var c = n[u];
+                D(c) && (a[u] = t(e, c, i));
+              } else o || E(a, u) || (a[u] = n[u]);
+            return a;
+          }
+          return D(n) && (n = t(e, n, i)), n;
+        }
+        function r(t, r, i) {
+          var o =
+            arguments.length > 3 && void 0 !== arguments[3] && arguments[3];
+          return (
+            D(e.returnValue) && (r = e.returnValue(t, r)), n(t, r, i, {}, o)
+          );
+        }
+        return function (t, i) {
+          if (!E(e, t)) return i;
+          var o = e[t];
+          return o
+            ? function (e, i) {
+                var a = o;
+                D(o) && (a = o(e));
+                var u = [(e = n(t, e, a.args, a.returnValue))];
+                void 0 !== i && u.push(i);
+                var s = wx[a.name || t].apply(wx, u);
+                return Wt(t) ? r(t, s, a.returnValue, zt(t)) : s;
+              }
+            : function () {
+                console.error("微信小程序 暂不支持".concat(t));
+              };
+        };
+      })(t);
+    return new Proxy(
+      {},
+      {
+        get: function (t, i) {
+          return E(t, i)
+            ? t[i]
+            : E(e, i)
+            ? Vt(i, e[i])
+            : E(ln, i)
+            ? Vt(i, ln[i])
+            : Vt(i, r(i, n[i]));
+        },
+      }
+    );
+  })(An, In, On),
+  Tn = (function () {
+    function e() {
+      var t = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
+      s(this, e),
+        (this.detached = t),
+        (this._active = !0),
+        (this.effects = []),
+        (this.cleanups = []),
+        (this.parent = bn),
+        !t &&
+          bn &&
+          (this.index = (bn.scopes || (bn.scopes = [])).push(this) - 1);
+    }
+    return (
+      c(e, [
+        {
+          key: "active",
+          get: function () {
+            return this._active;
+          },
+        },
+        {
+          key: "run",
+          value: function (e) {
+            if (this._active) {
+              var t = bn;
+              try {
+                return (bn = this), e();
+              } finally {
+                bn = t;
+              }
+            }
+          },
+        },
+        {
+          key: "on",
+          value: function () {
+            bn = this;
+          },
+        },
+        {
+          key: "off",
+          value: function () {
+            bn = this.parent;
+          },
+        },
+        {
+          key: "stop",
+          value: function (e) {
+            if (this._active) {
+              var t, n;
+              for (t = 0, n = this.effects.length; t < n; t++)
+                this.effects[t].stop();
+              for (t = 0, n = this.cleanups.length; t < n; t++)
+                this.cleanups[t]();
+              if (this.scopes)
+                for (t = 0, n = this.scopes.length; t < n; t++)
+                  this.scopes[t].stop(!0);
+              if (!this.detached && this.parent && !e) {
+                var r = this.parent.scopes.pop();
+                r &&
+                  r !== this &&
+                  ((this.parent.scopes[this.index] = r),
+                  (r.index = this.index));
+              }
+              (this.parent = void 0), (this._active = !1);
+            }
+          },
+        },
+      ]),
+      e
+    );
+  })();
+function En(e) {
+  return new Tn(e);
+}
+function Cn() {
+  return bn;
+}
+var Rn,
+  Ln = function (e) {
+    var t = new Set(e);
+    return (t.w = 0), (t.n = 0), t;
+  },
+  Dn = function (e) {
+    return (e.w & jn) > 0;
+  },
+  Bn = function (e) {
+    return (e.n & jn) > 0;
+  },
+  Nn = new WeakMap(),
+  Un = 0,
+  jn = 1,
+  Mn = Symbol(""),
+  $n = Symbol(""),
+  Fn = (function () {
+    function e(t) {
+      var n =
+          arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null,
+        r = arguments.length > 2 ? arguments[2] : void 0;
+      s(this, e),
+        (this.fn = t),
+        (this.scheduler = n),
+        (this.active = !0),
+        (this.deps = []),
+        (this.parent = void 0),
+        (function (e) {
+          var t =
+            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : bn;
+          t && t.active && t.effects.push(e);
+        })(this, r);
+    }
+    return (
+      c(e, [
+        {
+          key: "run",
+          value: function () {
+            if (!this.active) return this.fn();
+            for (var e = Rn, t = qn; e; ) {
+              if (e === this) return;
+              e = e.parent;
+            }
+            try {
+              return (
+                (this.parent = Rn),
+                (Rn = this),
+                (qn = !0),
+                (jn = 1 << ++Un),
+                Un <= 30
+                  ? (function (e) {
+                      var t = e.deps;
+                      if (t.length)
+                        for (var n = 0; n < t.length; n++) t[n].w |= jn;
+                    })(this)
+                  : Hn(this),
+                this.fn()
+              );
+            } finally {
+              Un <= 30 &&
+                (function (e) {
+                  var t = e.deps;
+                  if (t.length) {
+                    for (var n = 0, r = 0; r < t.length; r++) {
+                      var i = t[r];
+                      Dn(i) && !Bn(i) ? i.delete(e) : (t[n++] = i),
+                        (i.w &= ~jn),
+                        (i.n &= ~jn);
+                    }
+                    t.length = n;
+                  }
+                })(this),
+                (jn = 1 << --Un),
+                (Rn = this.parent),
+                (qn = t),
+                (this.parent = void 0),
+                this.deferStop && this.stop();
+            }
+          },
+        },
+        {
+          key: "stop",
+          value: function () {
+            Rn === this
+              ? (this.deferStop = !0)
+              : this.active &&
+                (Hn(this), this.onStop && this.onStop(), (this.active = !1));
+          },
+        },
+      ]),
+      e
+    );
+  })();
+function Hn(e) {
+  var t = e.deps;
+  if (t.length) {
+    for (var n = 0; n < t.length; n++) t[n].delete(e);
+    t.length = 0;
+  }
+}
+var qn = !0,
+  zn = [];
+function Wn() {
+  zn.push(qn), (qn = !1);
+}
+function Vn() {
+  var e = zn.pop();
+  qn = void 0 === e || e;
+}
+function Kn(e, t, n) {
+  if (qn && Rn) {
+    var r = Nn.get(e);
+    r || Nn.set(e, (r = new Map()));
+    var i = r.get(n);
+    i || r.set(n, (i = Ln())), Jn(i);
+  }
+}
+function Jn(e, t) {
+  var n = !1;
+  Un <= 30 ? Bn(e) || ((e.n |= jn), (n = !Dn(e))) : (n = !e.has(Rn)),
+    n && (e.add(Rn), Rn.deps.push(e));
+}
+function Gn(e, t, n, r, i, o) {
+  var a = Nn.get(e);
+  if (a) {
+    var s = [];
+    if ("clear" === t) s = p(a.values());
+    else if ("length" === n && C(e)) {
+      var c = Number(r);
+      a.forEach(function (e, t) {
+        ("length" === t || t >= c) && s.push(e);
+      });
+    } else
+      switch ((void 0 !== n && s.push(a.get(n)), t)) {
+        case "add":
+          C(e)
+            ? H(n) && s.push(a.get("length"))
+            : (s.push(a.get(Mn)), R(e) && s.push(a.get($n)));
+          break;
+        case "delete":
+          C(e) || (s.push(a.get(Mn)), R(e) && s.push(a.get($n)));
+          break;
+        case "set":
+          R(e) && s.push(a.get(Mn));
+      }
+    if (1 === s.length) s[0] && Yn(s[0]);
+    else {
+      var f,
+        l = [],
+        h = u(s);
+      try {
+        for (h.s(); !(f = h.n()).done; ) {
+          var d = f.value;
+          d && l.push.apply(l, p(d));
+        }
+      } catch (e) {
+        h.e(e);
+      } finally {
+        h.f();
+      }
+      Yn(Ln(l));
+    }
+  }
+}
+function Yn(e, t) {
+  var n,
+    r = C(e) ? e : p(e),
+    i = u(r);
+  try {
+    for (i.s(); !(n = i.n()).done; ) {
+      var o = n.value;
+      o.computed && Xn(o);
+    }
+  } catch (e) {
+    i.e(e);
+  } finally {
+    i.f();
+  }
+  var a,
+    s = u(r);
+  try {
+    for (s.s(); !(a = s.n()).done; ) {
+      var c = a.value;
+      c.computed || Xn(c);
+    }
+  } catch (e) {
+    s.e(e);
+  } finally {
+    s.f();
+  }
+}
+function Xn(e, t) {
+  (e !== Rn || e.allowRecurse) && (e.scheduler ? e.scheduler() : e.run());
+}
+var Qn = d("__proto__,__v_isRef,__isVue"),
+  Zn = new Set(
+    Object.getOwnPropertyNames(Symbol)
+      .filter(function (e) {
+        return "arguments" !== e && "caller" !== e;
+      })
+      .map(function (e) {
+        return Symbol[e];
+      })
+      .filter(N)
+  ),
+  er = or(),
+  tr = or(!1, !0),
+  nr = or(!0),
+  rr = (function () {
+    var e = {};
+    return (
+      ["includes", "indexOf", "lastIndexOf"].forEach(function (t) {
+        e[t] = function () {
+          for (var e = Hr(this), n = 0, r = this.length; n < r; n++)
+            Kn(e, 0, n + "");
+          for (var i = arguments.length, o = new Array(i), a = 0; a < i; a++)
+            o[a] = arguments[a];
+          var u = e[t].apply(e, o);
+          return -1 === u || !1 === u ? e[t].apply(e, p(o.map(Hr))) : u;
+        };
+      }),
+      ["push", "pop", "shift", "unshift", "splice"].forEach(function (t) {
+        e[t] = function () {
+          Wn();
+          for (var e = arguments.length, n = new Array(e), r = 0; r < e; r++)
+            n[r] = arguments[r];
+          var i = Hr(this)[t].apply(this, n);
+          return Vn(), i;
+        };
+      }),
+      e
+    );
+  })();
+function ir(e) {
+  var t = Hr(this);
+  return Kn(t, 0, e), t.hasOwnProperty(e);
+}
+function or() {
+  var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0],
+    t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
+  return function (n, r, i) {
+    if ("__v_isReactive" === r) return !e;
+    if ("__v_isReadonly" === r) return e;
+    if ("__v_isShallow" === r) return t;
+    if ("__v_raw" === r && i === (e ? (t ? Br : Dr) : t ? Lr : Rr).get(n))
+      return n;
+    var o = C(n);
+    if (!e) {
+      if (o && E(rr, r)) return Reflect.get(rr, r, i);
+      if ("hasOwnProperty" === r) return ir;
+    }
+    var a = Reflect.get(n, r, i);
+    return (N(r) ? Zn.has(r) : Qn(r))
+      ? a
+      : (e || Kn(n, 0, r),
+        t
+          ? a
+          : Jr(a)
+          ? o && H(r)
+            ? a
+            : a.value
+          : U(a)
+          ? e
+            ? Ur(a)
+            : Nr(a)
+          : a);
+  };
+}
+function ar() {
+  var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
+  return function (t, n, r, i) {
+    var o = t[n];
+    if ($r(o) && Jr(o) && !Jr(r)) return !1;
+    if (
+      !e &&
+      (Fr(r) || $r(r) || ((o = Hr(o)), (r = Hr(r))), !C(t) && Jr(o) && !Jr(r))
+    )
+      return (o.value = r), !0;
+    var a = C(t) && H(n) ? Number(n) < t.length : E(t, n),
+      u = Reflect.set(t, n, r, i);
+    return (
+      t === Hr(i) && (a ? X(r, o) && Gn(t, "set", n, r) : Gn(t, "add", n, r)), u
+    );
+  };
+}
+var ur = {
+    get: er,
+    set: ar(),
+    deleteProperty: function (e, t) {
+      var n = E(e, t);
+      e[t];
+      var r = Reflect.deleteProperty(e, t);
+      return r && n && Gn(e, "delete", t, void 0), r;
+    },
+    has: function (e, t) {
+      var n = Reflect.has(e, t);
+      return (N(t) && Zn.has(t)) || Kn(e, 0, t), n;
+    },
+    ownKeys: function (e) {
+      return Kn(e, 0, C(e) ? "length" : Mn), Reflect.ownKeys(e);
+    },
+  },
+  sr = {
+    get: nr,
+    set: function (e, t) {
+      return !0;
+    },
+    deleteProperty: function (e, t) {
+      return !0;
+    },
+  },
+  cr = O({}, ur, { get: tr, set: ar(!0) }),
+  fr = function (e) {
+    return e;
+  },
+  lr = function (e) {
+    return Reflect.getPrototypeOf(e);
+  };
+function hr(e, t) {
+  var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2],
+    r = arguments.length > 3 && void 0 !== arguments[3] && arguments[3],
+    i = Hr((e = e.__v_raw)),
+    o = Hr(t);
+  n || (t !== o && Kn(i, 0, t), Kn(i, 0, o));
+  var a = lr(i),
+    u = a.has,
+    s = r ? fr : n ? Wr : zr;
+  return u.call(i, t)
+    ? s(e.get(t))
+    : u.call(i, o)
+    ? s(e.get(o))
+    : void (e !== i && e.get(t));
+}
+function pr(e) {
+  var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
+    n = this.__v_raw,
+    r = Hr(n),
+    i = Hr(e);
+  return (
+    t || (e !== i && Kn(r, 0, e), Kn(r, 0, i)),
+    e === i ? n.has(e) : n.has(e) || n.has(i)
+  );
+}
+function dr(e) {
+  var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
+  return (e = e.__v_raw), !t && Kn(Hr(e), 0, Mn), Reflect.get(e, "size", e);
+}
+function vr(e) {
+  e = Hr(e);
+  var t = Hr(this);
+  return lr(t).has.call(t, e) || (t.add(e), Gn(t, "add", e, e)), this;
+}
+function gr(e, t) {
+  t = Hr(t);
+  var n = Hr(this),
+    r = lr(n),
+    i = r.has,
+    o = r.get,
+    a = i.call(n, e);
+  a || ((e = Hr(e)), (a = i.call(n, e)));
+  var u = o.call(n, e);
+  return (
+    n.set(e, t), a ? X(t, u) && Gn(n, "set", e, t) : Gn(n, "add", e, t), this
+  );
+}
+function yr(e) {
+  var t = Hr(this),
+    n = lr(t),
+    r = n.has,
+    i = n.get,
+    o = r.call(t, e);
+  o || ((e = Hr(e)), (o = r.call(t, e))), i && i.call(t, e);
+  var a = t.delete(e);
+  return o && Gn(t, "delete", e, void 0), a;
+}
+function _r() {
+  var e = Hr(this),
+    t = 0 !== e.size,
+    n = e.clear();
+  return t && Gn(e, "clear", void 0, void 0), n;
+}
+function mr(e, t) {
+  return function (n, r) {
+    var i = this,
+      o = i.__v_raw,
+      a = Hr(o),
+      u = t ? fr : e ? Wr : zr;
+    return (
+      !e && Kn(a, 0, Mn),
+      o.forEach(function (e, t) {
+        return n.call(r, u(e), u(t), i);
+      })
+    );
+  };
+}
+function wr(e, t, n) {
+  return function () {
+    var r = this.__v_raw,
+      i = Hr(r),
+      o = R(i),
+      a = "entries" === e || (e === Symbol.iterator && o),
+      u = "keys" === e && o,
+      s = r[e].apply(r, arguments),
+      c = n ? fr : t ? Wr : zr;
+    return (
+      !t && Kn(i, 0, u ? $n : Mn),
+      l(
+        {
+          next: function () {
+            var e = s.next(),
+              t = e.value,
+              n = e.done;
+            return n
+              ? { value: t, done: n }
+              : { value: a ? [c(t[0]), c(t[1])] : c(t), done: n };
+          },
+        },
+        Symbol.iterator,
+        function () {
+          return this;
+        }
+      )
+    );
+  };
+}
+function kr(e) {
+  return function () {
+    return "delete" !== e && this;
+  };
+}
+var br = (function () {
+    var e = {
+        get: function (e) {
+          return hr(this, e);
+        },
+        get size() {
+          return dr(this);
+        },
+        has: pr,
+        add: vr,
+        set: gr,
+        delete: yr,
+        clear: _r,
+        forEach: mr(!1, !1),
+      },
+      t = {
+        get: function (e) {
+          return hr(this, e, !1, !0);
+        },
+        get size() {
+          return dr(this);
+        },
+        has: pr,
+        add: vr,
+        set: gr,
+        delete: yr,
+        clear: _r,
+        forEach: mr(!1, !0),
+      },
+      n = {
+        get: function (e) {
+          return hr(this, e, !0);
+        },
+        get size() {
+          return dr(this, !0);
+        },
+        has: function (e) {
+          return pr.call(this, e, !0);
+        },
+        add: kr("add"),
+        set: kr("set"),
+        delete: kr("delete"),
+        clear: kr("clear"),
+        forEach: mr(!0, !1),
+      },
+      r = {
+        get: function (e) {
+          return hr(this, e, !0, !0);
+        },
+        get size() {
+          return dr(this, !0);
+        },
+        has: function (e) {
+          return pr.call(this, e, !0);
+        },
+        add: kr("add"),
+        set: kr("set"),
+        delete: kr("delete"),
+        clear: kr("clear"),
+        forEach: mr(!0, !0),
+      };
+    return (
+      ["keys", "values", "entries", Symbol.iterator].forEach(function (i) {
+        (e[i] = wr(i, !1, !1)),
+          (n[i] = wr(i, !0, !1)),
+          (t[i] = wr(i, !1, !0)),
+          (r[i] = wr(i, !0, !0));
+      }),
+      [e, n, t, r]
+    );
+  })(),
+  xr = h(br, 4),
+  Sr = xr[0],
+  Ar = xr[1],
+  Ir = xr[2],
+  Or = xr[3];
+function Pr(e, t) {
+  var n = t ? (e ? Or : Ir) : e ? Ar : Sr;
+  return function (t, r, i) {
+    return "__v_isReactive" === r
+      ? !e
+      : "__v_isReadonly" === r
+      ? e
+      : "__v_raw" === r
+      ? t
+      : Reflect.get(E(n, r) && r in t ? n : t, r, i);
+  };
+}
+var Tr = { get: Pr(!1, !1) },
+  Er = { get: Pr(!1, !0) },
+  Cr = { get: Pr(!0, !1) },
+  Rr = new WeakMap(),
+  Lr = new WeakMap(),
+  Dr = new WeakMap(),
+  Br = new WeakMap();
+function Nr(e) {
+  return $r(e) ? e : jr(e, !1, ur, Tr, Rr);
+}
+function Ur(e) {
+  return jr(e, !0, sr, Cr, Dr);
+}
+function jr(e, t, n, r, i) {
+  if (!U(e)) return e;
+  if (e.__v_raw && (!t || !e.__v_isReactive)) return e;
+  var o = i.get(e);
+  if (o) return o;
+  var a,
+    u =
+      (a = e).__v_skip || !Object.isExtensible(a)
+        ? 0
+        : (function (e) {
+            switch (e) {
+              case "Object":
+              case "Array":
+                return 1;
+              case "Map":
+              case "Set":
+              case "WeakMap":
+              case "WeakSet":
+                return 2;
+              default:
+                return 0;
+            }
+          })(
+            (function (e) {
+              return $(e).slice(8, -1);
+            })(a)
+          );
+  if (0 === u) return e;
+  var s = new Proxy(e, 2 === u ? r : n);
+  return i.set(e, s), s;
+}
+function Mr(e) {
+  return $r(e) ? Mr(e.__v_raw) : !(!e || !e.__v_isReactive);
+}
+function $r(e) {
+  return !(!e || !e.__v_isReadonly);
+}
+function Fr(e) {
+  return !(!e || !e.__v_isShallow);
+}
+function Hr(e) {
+  var t = e && e.__v_raw;
+  return t ? Hr(t) : e;
+}
+function qr(e) {
+  return (
+    (function (e, t, n) {
+      Object.defineProperty(e, t, {
+        configurable: !0,
+        enumerable: !1,
+        value: n,
+      });
+    })(e, "__v_skip", !0),
+    e
+  );
+}
+var zr = function (e) {
+    return U(e) ? Nr(e) : e;
+  },
+  Wr = function (e) {
+    return U(e) ? Ur(e) : e;
+  };
+function Vr(e) {
+  qn && Rn && Jn((e = Hr(e)).dep || (e.dep = Ln()));
+}
+function Kr(e, t) {
+  var n = (e = Hr(e)).dep;
+  n && Yn(n);
+}
+function Jr(e) {
+  return !(!e || !0 !== e.__v_isRef);
+}
+function Gr(e) {
+  return (function (e, t) {
+    return Jr(e) ? e : new Yr(e, !1);
+  })(e);
+}
+var Yr = (function () {
+  function e(t, n) {
+    s(this, e),
+      (this.__v_isShallow = n),
+      (this.dep = void 0),
+      (this.__v_isRef = !0),
+      (this._rawValue = n ? t : Hr(t)),
+      (this._value = n ? t : zr(t));
+  }
+  return (
+    c(e, [
+      {
+        key: "value",
+        get: function () {
+          return Vr(this), this._value;
+        },
+        set: function (e) {
+          var t = this.__v_isShallow || Fr(e) || $r(e);
+          (e = t ? e : Hr(e)),
+            X(e, this._rawValue) &&
+              ((this._rawValue = e), (this._value = t ? e : zr(e)), Kr(this));
+        },
+      },
+    ]),
+    e
+  );
+})();
+function Xr(e) {
+  return Jr(e) ? e.value : e;
+}
+var Qr = {
+  get: function (e, t, n) {
+    return Xr(Reflect.get(e, t, n));
+  },
+  set: function (e, t, n, r) {
+    var i = e[t];
+    return Jr(i) && !Jr(n) ? ((i.value = n), !0) : Reflect.set(e, t, n, r);
+  },
+};
+function Zr(e) {
+  return Mr(e) ? e : new Proxy(e, Qr);
+}
+var ei,
+  ti = (function () {
+    function e(t, n, r) {
+      s(this, e),
+        (this._object = t),
+        (this._key = n),
+        (this._defaultValue = r),
+        (this.__v_isRef = !0);
+    }
+    return (
+      c(e, [
+        {
+          key: "value",
+          get: function () {
+            var e = this._object[this._key];
+            return void 0 === e ? this._defaultValue : e;
+          },
+          set: function (e) {
+            this._object[this._key] = e;
+          },
+        },
+        {
+          key: "dep",
+          get: function () {
+            return (
+              (e = Hr(this._object)),
+              (t = this._key),
+              null === (n = Nn.get(e)) || void 0 === n ? void 0 : n.get(t)
+            );
+            var e, t, n;
+          },
+        },
+      ]),
+      e
+    );
+  })();
+function ni(e, t, n) {
+  var r = e[t];
+  return Jr(r) ? r : new ti(e, t, n);
+}
+var ri = (function () {
+  function e(t, n, r, i) {
+    var o = this;
+    s(this, e),
+      (this._setter = n),
+      (this.dep = void 0),
+      (this.__v_isRef = !0),
+      (this[ei] = !1),
+      (this._dirty = !0),
+      (this.effect = new Fn(t, function () {
+        o._dirty || ((o._dirty = !0), Kr(o));
+      })),
+      (this.effect.computed = this),
+      (this.effect.active = this._cacheable = !i),
+      (this.__v_isReadonly = r);
+  }
+  return (
+    c(e, [
+      {
+        key: "value",
+        get: function () {
+          var e = Hr(this);
+          return (
+            Vr(e),
+            (!e._dirty && e._cacheable) ||
+              ((e._dirty = !1), (e._value = e.effect.run())),
+            e._value
+          );
+        },
+        set: function (e) {
+          this._setter(e);
+        },
+      },
+    ]),
+    e
+  );
+})();
+function ii(e, t, n, r) {
+  var i;
+  try {
+    i = r ? e.apply(void 0, p(r)) : e();
+  } catch (e) {
+    ai(e, t, n);
+  }
+  return i;
+}
+function oi(e, t, n, r) {
+  if (D(e)) {
+    var i = ii(e, t, n, r);
+    return (
+      i &&
+        j(i) &&
+        i.catch(function (e) {
+          ai(e, t, n);
+        }),
+      i
+    );
+  }
+  for (var o = [], a = 0; a < e.length; a++) o.push(oi(e[a], t, n, r));
+  return o;
+}
+function ai(e, t, n) {
+  var r = !(arguments.length > 3 && void 0 !== arguments[3]) || arguments[3];
+  if ((t && t.vnode, t)) {
+    for (var i = t.parent, o = t.proxy, a = n; i; ) {
+      var u = i.ec;
+      if (u)
+        for (var s = 0; s < u.length; s++) if (!1 === u[s](e, o, a)) return;
+      i = i.parent;
+    }
+    var c = t.appContext.config.errorHandler;
+    if (c) return void ii(c, null, 10, [e, o, a]);
+  }
+  !(function (e, t, n) {
+    console.error(e);
+  })(e, 0, 0, r);
+}
+ei = "__v_isReadonly";
+var ui = !1,
+  si = !1,
+  ci = [],
+  fi = 0,
+  li = [],
+  hi = null,
+  pi = 0,
+  di = Promise.resolve(),
+  vi = null;
+function gi(e) {
+  var t = vi || di;
+  return e ? t.then(this ? e.bind(this) : e) : t;
+}
+function yi(e) {
+  (ci.length && ci.includes(e, ui && e.allowRecurse ? fi + 1 : fi)) ||
+    (null == e.id
+      ? ci.push(e)
+      : ci.splice(
+          (function (e) {
+            for (var t = fi + 1, n = ci.length; t < n; ) {
+              var r = (t + n) >>> 1;
+              ki(ci[r]) < e ? (t = r + 1) : (n = r);
+            }
+            return t;
+          })(e.id),
+          0,
+          e
+        ),
+    _i());
+}
+function _i() {
+  ui || si || ((si = !0), (vi = di.then(xi)));
+}
+function mi(e) {
+  C(e)
+    ? li.push.apply(li, p(e))
+    : (hi && hi.includes(e, e.allowRecurse ? pi + 1 : pi)) || li.push(e),
+    _i();
+}
+function wi(e) {
+  for (
+    var t =
+      arguments.length > 1 && void 0 !== arguments[1]
+        ? arguments[1]
+        : ui
+        ? fi + 1
+        : 0;
+    t < ci.length;
+    t++
+  ) {
+    var n = ci[t];
+    n && n.pre && (ci.splice(t, 1), t--, n());
+  }
+}
+var ki = function (e) {
+    return null == e.id ? 1 / 0 : e.id;
+  },
+  bi = function (e, t) {
+    var n = ki(e) - ki(t);
+    if (0 === n) {
+      if (e.pre && !t.pre) return -1;
+      if (t.pre && !e.pre) return 1;
+    }
+    return n;
+  };
+function xi(e) {
+  (si = !1), (ui = !0), ci.sort(bi);
+  try {
+    for (fi = 0; fi < ci.length; fi++) {
+      var t = ci[fi];
+      t && !1 !== t.active && ii(t, null, 14);
+    }
+  } finally {
+    (fi = 0),
+      (ci.length = 0),
+      (function (e) {
+        if (li.length) {
+          var t,
+            n = p(new Set(li));
+          if (((li.length = 0), hi)) return void (t = hi).push.apply(t, p(n));
+          for (
+            (hi = n).sort(function (e, t) {
+              return ki(e) - ki(t);
+            }),
+              pi = 0;
+            pi < hi.length;
+            pi++
+          )
+            hi[pi]();
+          (hi = null), (pi = 0);
+        }
+      })(),
+      (ui = !1),
+      (vi = null),
+      (ci.length || li.length) && xi();
+  }
+}
+function Si(e, t) {
+  if (!e.isUnmounted) {
+    for (
+      var n = e.vnode.props || w,
+        r = arguments.length,
+        i = new Array(r > 2 ? r - 2 : 0),
+        o = 2;
+      o < r;
+      o++
+    )
+      i[o - 2] = arguments[o];
+    var a = i,
+      u = t.startsWith("update:"),
+      s = u && t.slice(7);
+    if (s && s in n) {
+      var c = "".concat("modelValue" === s ? "model" : s, "Modifiers"),
+        f = n[c] || w,
+        l = f.number,
+        h = f.trim;
+      h &&
+        (a = i.map(function (e) {
+          return B(e) ? e.trim() : e;
+        })),
+        l && (a = i.map(Z));
+    }
+    var p,
+      d = n[(p = Y(t))] || n[(p = Y(V(t)))];
+    !d && u && (d = n[(p = Y(J(t)))]), d && oi(d, e, 6, a);
+    var v = n[p + "Once"];
+    if (v) {
+      if (e.emitted) {
+        if (e.emitted[p]) return;
+      } else e.emitted = {};
+      (e.emitted[p] = !0), oi(v, e, 6, a);
+    }
+  }
+}
+function Ai(e, t) {
+  var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2],
+    r = t.emitsCache,
+    i = r.get(e);
+  if (void 0 !== i) return i;
+  var o = e.emits,
+    a = {},
+    u = !1;
+  if (!D(e)) {
+    var s = function (e) {
+      var n = Ai(e, t, !0);
+      n && ((u = !0), O(a, n));
+    };
+    !n && t.mixins.length && t.mixins.forEach(s),
+      e.extends && s(e.extends),
+      e.mixins && e.mixins.forEach(s);
+  }
+  return o || u
+    ? (C(o)
+        ? o.forEach(function (e) {
+            return (a[e] = null);
+          })
+        : O(a, o),
+      U(e) && r.set(e, a),
+      a)
+    : (U(e) && r.set(e, null), null);
+}
+function Ii(e, t) {
+  return (
+    !(!e || !A(t)) &&
+    ((t = t.slice(2).replace(/Once$/, "")),
+    E(e, t[0].toLowerCase() + t.slice(1)) || E(e, J(t)) || E(e, t))
+  );
+}
+var Oi = null;
+function Pi(e) {
+  var t = Oi;
+  return (Oi = e), e && e.type.__scopeId, t;
+}
+function Ti(e, t) {
+  var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2],
+    r = Eo || Oi;
+  if (r) {
+    var i =
+      null == r.parent
+        ? r.vnode.appContext && r.vnode.appContext.provides
+        : r.parent.provides;
+    if (i && e in i) return i[e];
+    if (arguments.length > 1) return n && D(t) ? t.call(r.proxy) : t;
+  }
+}
+var Ei = {};
+function Ci(e, t, n) {
+  return Ri(e, t, n);
+}
+function Ri(e, t) {
+  var n,
+    r,
+    i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : w,
+    o = i.immediate,
+    a = i.deep,
+    u = i.flush,
+    s =
+      (i.onTrack,
+      i.onTrigger,
+      Cn() === (null == Eo ? void 0 : Eo.scope) ? Eo : null),
+    c = !1,
+    f = !1;
+  if (
+    (Jr(e)
+      ? ((n = function () {
+          return e.value;
+        }),
+        (c = Fr(e)))
+      : Mr(e)
+      ? ((n = function () {
+          return e;
+        }),
+        (a = !0))
+      : C(e)
+      ? ((f = !0),
+        (c = e.some(function (e) {
+          return Mr(e) || Fr(e);
+        })),
+        (n = function () {
+          return e.map(function (e) {
+            return Jr(e)
+              ? e.value
+              : Mr(e)
+              ? Bi(e)
+              : D(e)
+              ? ii(e, s, 2)
+              : void 0;
+          });
+        }))
+      : (n = D(e)
+          ? t
+            ? function () {
+                return ii(e, s, 2);
+              }
+            : function () {
+                if (!s || !s.isUnmounted) return r && r(), oi(e, s, 3, [p]);
+              }
+          : b),
+    t && a)
+  ) {
+    var l = n;
+    n = function () {
+      return Bi(l());
+    };
+  }
+  var h,
+    p = function (e) {
+      r = g.onStop = function () {
+        ii(e, s, 4);
+      };
+    },
+    d = f ? new Array(e.length).fill(Ei) : Ei,
+    v = function () {
+      if (g.active)
+        if (t) {
+          var e = g.run();
+          (a ||
+            c ||
+            (f
+              ? e.some(function (e, t) {
+                  return X(e, d[t]);
+                })
+              : X(e, d))) &&
+            (r && r(),
+            oi(t, s, 3, [e, d === Ei ? void 0 : f && d[0] === Ei ? [] : d, p]),
+            (d = e));
+        } else g.run();
+    };
+  (v.allowRecurse = !!t),
+    "sync" === u
+      ? (h = v)
+      : "post" === u
+      ? (h = function () {
+          return Io(v, s && s.suspense);
+        })
+      : ((v.pre = !0),
+        s && (v.id = s.uid),
+        (h = function () {
+          return yi(v);
+        }));
+  var g = new Fn(n, h);
+  return (
+    t
+      ? o
+        ? v()
+        : (d = g.run())
+      : "post" === u
+      ? Io(g.run.bind(g), s && s.suspense)
+      : g.run(),
+    function () {
+      g.stop(), s && s.scope && P(s.scope.effects, g);
+    }
+  );
+}
+function Li(e, t, n) {
+  var r,
+    i = this.proxy,
+    o = B(e)
+      ? e.includes(".")
+        ? Di(i, e)
+        : function () {
+            return i[e];
+          }
+      : e.bind(i, i);
+  D(t) ? (r = t) : ((r = t.handler), (n = t));
+  var a = Eo;
+  Ro(this);
+  var u = Ri(o, r.bind(i), n);
+  return a ? Ro(a) : Lo(), u;
+}
+function Di(e, t) {
+  var n = t.split(".");
+  return function () {
+    for (var t = e, r = 0; r < n.length && t; r++) t = t[n[r]];
+    return t;
+  };
+}
+function Bi(e, t) {
+  if (!U(e) || e.__v_skip) return e;
+  if ((t = t || new Set()).has(e)) return e;
+  if ((t.add(e), Jr(e))) Bi(e.value, t);
+  else if (C(e)) for (var n = 0; n < e.length; n++) Bi(e[n], t);
+  else if (L(e) || R(e))
+    e.forEach(function (e) {
+      Bi(e, t);
+    });
+  else if (F(e)) for (var r in e) Bi(e[r], t);
+  return e;
+}
+var Ni = function (e) {
+  return e.type.__isKeepAlive;
+};
+function Ui(e, t) {
+  Mi(e, "a", t);
+}
+function ji(e, t) {
+  Mi(e, "da", t);
+}
+function Mi(e, t) {
+  var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : Eo,
+    r =
+      e.__wdc ||
+      (e.__wdc = function () {
+        for (var t = n; t; ) {
+          if (t.isDeactivated) return;
+          t = t.parent;
+        }
+        return e();
+      });
+  if ((Fi(t, r, n), n))
+    for (var i = n.parent; i && i.parent; )
+      Ni(i.parent.vnode) && $i(r, t, n, i), (i = i.parent);
+}
+function $i(e, t, n, r) {
+  var i = Fi(t, e, r, !0);
+  Ji(function () {
+    P(r[t], i);
+  }, n);
+}
+function Fi(e, t) {
+  var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : Eo,
+    r = arguments.length > 3 && void 0 !== arguments[3] && arguments[3];
+  if (n) {
+    (function (e) {
+      return Ce.indexOf(e) > -1;
+    })(e) && (n = n.root);
+    var i = n[e] || (n[e] = []),
+      o =
+        t.__weh ||
+        (t.__weh = function () {
+          if (!n.isUnmounted) {
+            Wn(), Ro(n);
+            for (var r = arguments.length, i = new Array(r), o = 0; o < r; o++)
+              i[o] = arguments[o];
+            var a = oi(t, n, e, i);
+            return Lo(), Vn(), a;
+          }
+        });
+    return r ? i.unshift(o) : i.push(o), o;
+  }
+}
+var Hi = function (e) {
+    return function (t) {
+      var n =
+        arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Eo;
+      return (
+        (!Bo || "sp" === e) &&
+        Fi(
+          e,
+          function () {
+            return t.apply(void 0, arguments);
+          },
+          n
+        )
+      );
+    };
+  },
+  qi = Hi("bm"),
+  zi = Hi("m"),
+  Wi = Hi("bu"),
+  Vi = Hi("u"),
+  Ki = Hi("bum"),
+  Ji = Hi("um"),
+  Gi = Hi("sp"),
+  Yi = Hi("rtg"),
+  Xi = Hi("rtc");
+function Qi(e) {
+  var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Eo;
+  Fi("ec", e, t);
+}
+var Zi = "components";
+function eo(e, t) {
+  return e && (e[t] || e[V(t)] || e[G(V(t))]);
+}
+var to = function e(t) {
+    return t ? (Do(t) ? Uo(t) || t.proxy : e(t.parent)) : null;
+  },
+  no = O(Object.create(null), {
+    $: function (e) {
+      return e;
+    },
+    $el: function (e) {
+      return e.__$el || (e.__$el = {});
+    },
+    $data: function (e) {
+      return e.data;
+    },
+    $props: function (e) {
+      return e.props;
+    },
+    $attrs: function (e) {
+      return e.attrs;
+    },
+    $slots: function (e) {
+      return e.slots;
+    },
+    $refs: function (e) {
+      return e.refs;
+    },
+    $parent: function (e) {
+      return to(e.parent);
+    },
+    $root: function (e) {
+      return to(e.root);
+    },
+    $emit: function (e) {
+      return e.emit;
+    },
+    $options: function (e) {
+      return so(e);
+    },
+    $forceUpdate: function (e) {
+      return (
+        e.f ||
+        (e.f = function () {
+          return yi(e.update);
+        })
+      );
+    },
+    $watch: function (e) {
+      return Li.bind(e);
+    },
+  }),
+  ro = function (e, t) {
+    return e !== w && !e.__isScriptSetup && E(e, t);
+  },
+  io = {
+    get: function (e, t) {
+      var n,
+        r = e._,
+        i = r.ctx,
+        o = r.setupState,
+        a = r.data,
+        u = r.props,
+        s = r.accessCache,
+        c = r.type,
+        f = r.appContext;
+      if ("$" !== t[0]) {
+        var l = s[t];
+        if (void 0 !== l)
+          switch (l) {
+            case 1:
+              return o[t];
+            case 2:
+              return a[t];
+            case 4:
+              return i[t];
+            case 3:
+              return u[t];
+          }
+        else {
+          if (ro(o, t)) return (s[t] = 1), o[t];
+          if (a !== w && E(a, t)) return (s[t] = 2), a[t];
+          if ((n = r.propsOptions[0]) && E(n, t)) return (s[t] = 3), u[t];
+          if (i !== w && E(i, t)) return (s[t] = 4), i[t];
+          oo && (s[t] = 0);
+        }
+      }
+      var h,
+        p,
+        d = no[t];
+      return d
+        ? ("$attrs" === t && Kn(r, 0, t), d(r))
+        : (h = c.__cssModules) && (h = h[t])
+        ? h
+        : i !== w && E(i, t)
+        ? ((s[t] = 4), i[t])
+        : ((p = f.config.globalProperties), E(p, t) ? p[t] : void 0);
+    },
+    set: function (e, t, n) {
+      var r = e._,
+        i = r.data,
+        o = r.setupState,
+        a = r.ctx;
+      return ro(o, t)
+        ? ((o[t] = n), !0)
+        : i !== w && E(i, t)
+        ? ((i[t] = n), !0)
+        : !(
+            E(r.props, t) ||
+            ("$" === t[0] && t.slice(1) in r) ||
+            ((a[t] = n), 0)
+          );
+    },
+    has: function (e, t) {
+      var n,
+        r = e._,
+        i = r.data,
+        o = r.setupState,
+        a = r.accessCache,
+        u = r.ctx,
+        s = r.appContext,
+        c = r.propsOptions;
+      return (
+        !!a[t] ||
+        (i !== w && E(i, t)) ||
+        ro(o, t) ||
+        ((n = c[0]) && E(n, t)) ||
+        E(u, t) ||
+        E(no, t) ||
+        E(s.config.globalProperties, t)
+      );
+    },
+    defineProperty: function (e, t, n) {
+      return (
+        null != n.get
+          ? (e._.accessCache[t] = 0)
+          : E(n, "value") && this.set(e, t, n.value, null),
+        Reflect.defineProperty(e, t, n)
+      );
+    },
+  },
+  oo = !0;
+function ao(e, t, n) {
+  oi(
+    C(e)
+      ? e.map(function (e) {
+          return e.bind(t.proxy);
+        })
+      : e.bind(t.proxy),
+    t,
+    n
+  );
+}
+function uo(e, t, n, r) {
+  var i = r.includes(".")
+    ? Di(n, r)
+    : function () {
+        return n[r];
+      };
+  if (B(e)) {
+    var o = t[e];
+    D(o) && Ci(i, o);
+  } else if (D(e)) Ci(i, e.bind(n));
+  else if (U(e))
+    if (C(e))
+      e.forEach(function (e) {
+        return uo(e, t, n, r);
+      });
+    else {
+      var a = D(e.handler) ? e.handler.bind(n) : t[e.handler];
+      D(a) && Ci(i, a, e);
+    }
+}
+function so(e) {
+  var t,
+    n = e.type,
+    r = n.mixins,
+    i = n.extends,
+    o = e.appContext,
+    a = o.mixins,
+    u = o.optionsCache,
+    s = o.config.optionMergeStrategies,
+    c = u.get(n);
+  return (
+    c
+      ? (t = c)
+      : a.length || r || i
+      ? ((t = {}),
+        a.length &&
+          a.forEach(function (e) {
+            return co(t, e, s, !0);
+          }),
+        co(t, n, s))
+      : (t = n),
+    U(n) && u.set(n, t),
+    t
+  );
+}
+function co(e, t, n) {
+  var r = arguments.length > 3 && void 0 !== arguments[3] && arguments[3],
+    i = t.mixins,
+    o = t.extends;
+  for (var a in (o && co(e, o, n, !0),
+  i &&
+    i.forEach(function (t) {
+      return co(e, t, n, !0);
+    }),
+  t))
+    if (r && "expose" === a);
+    else {
+      var u = fo[a] || (n && n[a]);
+      e[a] = u ? u(e[a], t[a]) : t[a];
+    }
+  return e;
+}
+var fo = {
+  data: lo,
+  props: vo,
+  emits: vo,
+  methods: vo,
+  computed: vo,
+  beforeCreate: po,
+  created: po,
+  beforeMount: po,
+  mounted: po,
+  beforeUpdate: po,
+  updated: po,
+  beforeDestroy: po,
+  beforeUnmount: po,
+  destroyed: po,
+  unmounted: po,
+  activated: po,
+  deactivated: po,
+  errorCaptured: po,
+  serverPrefetch: po,
+  components: vo,
+  directives: vo,
+  watch: function (e, t) {
+    if (!e) return t;
+    if (!t) return e;
+    var n = O(Object.create(null), e);
+    for (var r in t) n[r] = po(e[r], t[r]);
+    return n;
+  },
+  provide: lo,
+  inject: function (e, t) {
+    return vo(ho(e), ho(t));
+  },
+};
+function lo(e, t) {
+  return t
+    ? e
+      ? function () {
+          return O(
+            D(e) ? e.call(this, this) : e,
+            D(t) ? t.call(this, this) : t
+          );
+        }
+      : t
+    : e;
+}
+function ho(e) {
+  if (C(e)) {
+    for (var t = {}, n = 0; n < e.length; n++) t[e[n]] = e[n];
+    return t;
+  }
+  return e;
+}
+function po(e, t) {
+  return e ? p(new Set([].concat(e, t))) : t;
+}
+function vo(e, t) {
+  return e ? O(O(Object.create(null), e), t) : t;
+}
+function go(e, t, n) {
+  var r = arguments.length > 3 && void 0 !== arguments[3] && arguments[3],
+    i = {},
+    o = {};
+  for (var a in ((e.propsDefaults = Object.create(null)),
+  yo(e, t, i, o),
+  e.propsOptions[0]))
+    a in i || (i[a] = void 0);
+  n
+    ? (e.props = r ? i : jr(i, !1, cr, Er, Lr))
+    : e.type.props
+    ? (e.props = i)
+    : (e.props = o),
+    (e.attrs = o);
+}
+function yo(e, t, n, r) {
+  var i,
+    o = h(e.propsOptions, 2),
+    a = o[0],
+    u = o[1],
+    s = !1;
+  if (t)
+    for (var c in t)
+      if (!q(c)) {
+        var f = t[c],
+          l = void 0;
+        a && E(a, (l = V(c)))
+          ? u && u.includes(l)
+            ? ((i || (i = {}))[l] = f)
+            : (n[l] = f)
+          : Ii(e.emitsOptions, c) ||
+            (c in r && f === r[c]) ||
+            ((r[c] = f), (s = !0));
+      }
+  if (u)
+    for (var p = Hr(n), d = i || w, v = 0; v < u.length; v++) {
+      var g = u[v];
+      n[g] = _o(a, p, g, d[g], e, !E(d, g));
+    }
+  return s;
+}
+function _o(e, t, n, r, i, o) {
+  var a = e[n];
+  if (null != a) {
+    var u = E(a, "default");
+    if (u && void 0 === r) {
+      var s = a.default;
+      if (a.type !== Function && D(s)) {
+        var c = i.propsDefaults;
+        n in c ? (r = c[n]) : (Ro(i), (r = c[n] = s.call(null, t)), Lo());
+      } else r = s;
+    }
+    a[0] &&
+      (o && !u ? (r = !1) : !a[1] || ("" !== r && r !== J(n)) || (r = !0));
+  }
+  return r;
+}
+function mo(e, t) {
+  var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2],
+    r = t.propsCache,
+    i = r.get(e);
+  if (i) return i;
+  var o = e.props,
+    a = {},
+    u = [],
+    s = !1;
+  if (!D(e)) {
+    var c = function (e) {
+      s = !0;
+      var n = mo(e, t, !0),
+        r = h(n, 2),
+        i = r[0],
+        o = r[1];
+      O(a, i), o && u.push.apply(u, p(o));
+    };
+    !n && t.mixins.length && t.mixins.forEach(c),
+      e.extends && c(e.extends),
+      e.mixins && e.mixins.forEach(c);
+  }
+  if (!o && !s) return U(e) && r.set(e, k), k;
+  if (C(o))
+    for (var f = 0; f < o.length; f++) {
+      var l = V(o[f]);
+      wo(l) && (a[l] = w);
+    }
+  else if (o)
+    for (var d in o) {
+      var v = V(d);
+      if (wo(v)) {
+        var g = o[d],
+          y = (a[v] = C(g) || D(g) ? { type: g } : Object.assign({}, g));
+        if (y) {
+          var _ = xo(Boolean, y.type),
+            m = xo(String, y.type);
+          (y[0] = _ > -1),
+            (y[1] = m < 0 || _ < m),
+            (_ > -1 || E(y, "default")) && u.push(v);
+        }
+      }
+    }
+  var b = [a, u];
+  return U(e) && r.set(e, b), b;
+}
+function wo(e) {
+  return "$" !== e[0];
+}
+function ko(e) {
+  var t = e && e.toString().match(/^\s*(function|class) (\w+)/);
+  return t ? t[2] : null === e ? "null" : "";
+}
+function bo(e, t) {
+  return ko(e) === ko(t);
+}
+function xo(e, t) {
+  return C(t)
+    ? t.findIndex(function (t) {
+        return bo(t, e);
+      })
+    : D(t) && bo(t, e)
+    ? 0
+    : -1;
+}
+function So() {
+  return {
+    app: null,
+    config: {
+      isNativeTag: x,
+      performance: !1,
+      globalProperties: {},
+      optionMergeStrategies: {},
+      errorHandler: void 0,
+      warnHandler: void 0,
+      compilerOptions: {},
+    },
+    mixins: [],
+    components: {},
+    directives: {},
+    provides: Object.create(null),
+    optionsCache: new WeakMap(),
+    propsCache: new WeakMap(),
+    emitsCache: new WeakMap(),
+  };
+}
+var Ao = 0,
+  Io = mi;
+var Oo = So(),
+  Po = 0;
+function To(e, t, n) {
+  var r = e.type,
+    i = (t ? t.appContext : e.appContext) || Oo,
+    o = {
+      uid: Po++,
+      vnode: e,
+      type: r,
+      parent: t,
+      appContext: i,
+      root: null,
+      next: null,
+      subTree: null,
+      effect: null,
+      update: null,
+      scope: new Tn(!0),
+      render: null,
+      proxy: null,
+      exposed: null,
+      exposeProxy: null,
+      withProxy: null,
+      provides: t ? t.provides : Object.create(i.provides),
+      accessCache: null,
+      renderCache: [],
+      components: null,
+      directives: null,
+      propsOptions: mo(r, i),
+      emitsOptions: Ai(r, i),
+      emit: null,
+      emitted: null,
+      propsDefaults: w,
+      inheritAttrs: r.inheritAttrs,
+      ctx: w,
+      data: w,
+      props: w,
+      attrs: w,
+      slots: w,
+      refs: w,
+      setupState: w,
+      setupContext: null,
+      suspense: n,
+      suspenseId: n ? n.pendingId : 0,
+      asyncDep: null,
+      asyncResolved: !1,
+      isMounted: !1,
+      isUnmounted: !1,
+      isDeactivated: !1,
+      bc: null,
+      c: null,
+      bm: null,
+      m: null,
+      bu: null,
+      u: null,
+      um: null,
+      bum: null,
+      da: null,
+      a: null,
+      rtg: null,
+      rtc: null,
+      ec: null,
+      sp: null,
+    };
+  return (
+    (o.ctx = { _: o }),
+    (o.root = t ? t.root : o),
+    (o.emit = Si.bind(null, o)),
+    e.ce && e.ce(o),
+    o
+  );
+}
+var Eo = null,
+  Co = function () {
+    return Eo || Oi;
+  },
+  Ro = function (e) {
+    (Eo = e), e.scope.on();
+  },
+  Lo = function () {
+    Eo && Eo.scope.off(), (Eo = null);
+  };
+function Do(e) {
+  return 4 & e.vnode.shapeFlag;
+}
+var Bo = !1;
+function No(e, t, n) {
+  var r = e.type;
+  e.render || (e.render = r.render || b),
+    Ro(e),
+    Wn(),
+    (function (e) {
+      var t = so(e),
+        n = e.proxy,
+        r = e.ctx;
+      (oo = !1), t.beforeCreate && ao(t.beforeCreate, e, "bc");
+      var i = t.data,
+        o = t.computed,
+        a = t.methods,
+        u = t.watch,
+        s = t.provide,
+        c = t.inject,
+        f = t.created,
+        l = t.beforeMount,
+        h = t.mounted,
+        p = t.beforeUpdate,
+        d = t.updated,
+        v = t.activated,
+        g = t.deactivated,
+        y = (t.beforeDestroy, t.beforeUnmount),
+        _ = (t.destroyed, t.unmounted),
+        m = t.render,
+        w = t.renderTracked,
+        k = t.renderTriggered,
+        x = t.errorCaptured,
+        S = t.serverPrefetch,
+        A = t.expose,
+        I = t.inheritAttrs,
+        O = t.components,
+        P = t.directives;
+      if (
+        (t.filters,
+        c &&
+          (function (e, t) {
+            var n =
+              arguments.length > 3 && void 0 !== arguments[3] && arguments[3];
+            C(e) && (e = ho(e));
+            var r = function () {
+              var r,
+                o = e[i];
+              Jr(
+                (r = U(o)
+                  ? "default" in o
+                    ? Ti(o.from || i, o.default, !0)
+                    : Ti(o.from || i)
+                  : Ti(o))
+              ) && n
+                ? Object.defineProperty(t, i, {
+                    enumerable: !0,
+                    configurable: !0,
+                    get: function () {
+                      return r.value;
+                    },
+                    set: function (e) {
+                      return (r.value = e);
+                    },
+                  })
+                : (t[i] = r);
+            };
+            for (var i in e) r();
+          })(c, r, null, e.appContext.config.unwrapInjectedRef),
+        a)
+      )
+        for (var T in a) {
+          var E = a[T];
+          D(E) && (r[T] = E.bind(n));
+        }
+      if (i) {
+        var R = i.call(n, n);
+        U(R) && (e.data = Nr(R));
+      }
+      if (((oo = !0), o)) {
+        var L = function () {
+          var e = o[B],
+            t = D(e) ? e.bind(n, n) : D(e.get) ? e.get.bind(n, n) : b,
+            i = !D(e) && D(e.set) ? e.set.bind(n) : b,
+            a = jo({ get: t, set: i });
+          Object.defineProperty(r, B, {
+            enumerable: !0,
+            configurable: !0,
+            get: function () {
+              return a.value;
+            },
+            set: function (e) {
+              return (a.value = e);
+            },
+          });
+        };
+        for (var B in o) L();
+      }
+      if (u) for (var N in u) uo(u[N], r, n, N);
+      if (s) {
+        var j = D(s) ? s.call(n) : s;
+        Reflect.ownKeys(j).forEach(function (e) {
+          !(function (e, t) {
+            if (Eo) {
+              var n = Eo.provides,
+                r = Eo.parent && Eo.parent.provides;
+              r === n && (n = Eo.provides = Object.create(r)),
+                (n[e] = t),
+                "app" === Eo.type.mpType && Eo.appContext.app.provide(e, t);
+            }
+          })(e, j[e]);
+        });
+      }
+      function M(e, t) {
+        C(t)
+          ? t.forEach(function (t) {
+              return e(t.bind(n));
+            })
+          : t && e(t.bind(n));
+      }
+      if (
+        (f && ao(f, e, "c"),
+        M(qi, l),
+        M(zi, h),
+        M(Wi, p),
+        M(Vi, d),
+        M(Ui, v),
+        M(ji, g),
+        M(Qi, x),
+        M(Xi, w),
+        M(Yi, k),
+        M(Ki, y),
+        M(Ji, _),
+        M(Gi, S),
+        C(A))
+      )
+        if (A.length) {
+          var $ = e.exposed || (e.exposed = {});
+          A.forEach(function (e) {
+            Object.defineProperty($, e, {
+              get: function () {
+                return n[e];
+              },
+              set: function (t) {
+                return (n[e] = t);
+              },
+            });
+          });
+        } else e.exposed || (e.exposed = {});
+      m && e.render === b && (e.render = m),
+        null != I && (e.inheritAttrs = I),
+        O && (e.components = O),
+        P && (e.directives = P),
+        e.ctx.$onApplyOptions && e.ctx.$onApplyOptions(t, e, n);
+    })(e),
+    Vn(),
+    Lo();
+}
+function Uo(e) {
+  if (e.exposed)
+    return (
+      e.exposeProxy ||
+      (e.exposeProxy = new Proxy(Zr(qr(e.exposed)), {
+        get: function (t, n) {
+          return n in t ? t[n] : e.proxy[n];
+        },
+        has: function (e, t) {
+          return t in e || t in no;
+        },
+      }))
+    );
+}
+var jo = function (e, t) {
+  return (function (e, t) {
+    var n,
+      r,
+      i = arguments.length > 2 && void 0 !== arguments[2] && arguments[2],
+      o = D(e);
+    return (
+      o ? ((n = e), (r = b)) : ((n = e.get), (r = e.set)),
+      new ri(n, r, o || !r, i)
+    );
+  })(e, 0, Bo);
+};
+function Mo(e) {
+  return Xr(e);
+}
+var $o,
+  Fo,
+  Ho = "[object Array]",
+  qo = "[object Object]";
+function zo(e, t) {
+  var n = {};
+  return (
+    (function e(t, n) {
+      if ((t = Mo(t)) === n) return;
+      var r = $(t),
+        i = $(n);
+      if (r == qo && i == qo)
+        for (var o in n) {
+          var a = t[o];
+          void 0 === a ? (t[o] = null) : e(a, n[o]);
+        }
+      else
+        r == Ho &&
+          i == Ho &&
+          t.length >= n.length &&
+          n.forEach(function (n, r) {
+            e(t[r], n);
+          });
+    })(e, t),
+    (function e(t, n, r, i) {
+      if ((t = Mo(t)) === n) return;
+      var o = $(t),
+        a = $(n);
+      if (o == qo)
+        if (a != qo || Object.keys(t).length < Object.keys(n).length)
+          Wo(i, r, t);
+        else {
+          var u = function (o) {
+            var a = Mo(t[o]),
+              u = n[o],
+              s = $(a),
+              c = $(u);
+            if (s != Ho && s != qo)
+              a != u && Wo(i, ("" == r ? "" : r + ".") + o, a);
+            else if (s == Ho)
+              c != Ho || a.length < u.length
+                ? Wo(i, ("" == r ? "" : r + ".") + o, a)
+                : a.forEach(function (t, n) {
+                    e(t, u[n], ("" == r ? "" : r + ".") + o + "[" + n + "]", i);
+                  });
+            else if (s == qo)
+              if (c != qo || Object.keys(a).length < Object.keys(u).length)
+                Wo(i, ("" == r ? "" : r + ".") + o, a);
+              else
+                for (var f in a)
+                  e(a[f], u[f], ("" == r ? "" : r + ".") + o + "." + f, i);
+          };
+          for (var s in t) u(s);
+        }
+      else
+        o == Ho
+          ? a != Ho || t.length < n.length
+            ? Wo(i, r, t)
+            : t.forEach(function (t, o) {
+                e(t, n[o], r + "[" + o + "]", i);
+              })
+          : Wo(i, r, t);
+    })(e, t, "", n),
+    n
+  );
+}
+function Wo(e, t, n) {
+  e[t] = n;
+}
+function Vo(e) {
+  var t = e.ctx.__next_tick_callbacks;
+  if (t && t.length) {
+    var n = t.slice(0);
+    t.length = 0;
+    for (var r = 0; r < n.length; r++) n[r]();
+  }
+}
+function Ko(e, t) {
+  var n,
+    r = e.ctx;
+  return r.__next_tick_pending ||
+    (function (e) {
+      return ci.includes(e.update);
+    })(e)
+    ? (r.__next_tick_callbacks || (r.__next_tick_callbacks = []),
+      r.__next_tick_callbacks.push(function () {
+        t ? ii(t.bind(e.proxy), e, 14) : n && n(e.proxy);
+      }),
+      new Promise(function (e) {
+        n = e;
+      }))
+    : gi(t && t.bind(e.proxy));
+}
+function Jo(e) {
+  return (function e(t, n) {
+    var r = f((t = Mo(t)));
+    if ("object" === r && null !== t) {
+      var i = n.get(t);
+      if (void 0 !== i) return i;
+      if (C(t)) {
+        var o = t.length;
+        (i = new Array(o)), n.set(t, i);
+        for (var a = 0; a < o; a++) i[a] = e(t[a], n);
+      } else
+        for (var u in ((i = {}), n.set(t, i), t))
+          E(t, u) && (i[u] = e(t[u], n));
+      return i;
+    }
+    if ("symbol" !== r) return t;
+  })(e, "undefined" != typeof WeakMap ? new WeakMap() : new Map());
+}
+function Go(e, t, n) {
+  if (t) {
+    t = Jo(t);
+    var r = e.ctx,
+      i = r.mpType;
+    if ("page" === i || "component" === i) {
+      t.r0 = 1;
+      var o = r.$scope,
+        a = Object.keys(t),
+        u = zo(
+          t,
+          n ||
+            (function (e, t) {
+              var n = e.data,
+                r = Object.create(null);
+              return (
+                t.forEach(function (e) {
+                  r[e] = n[e];
+                }),
+                r
+              );
+            })(o, a)
+        );
+      Object.keys(u).length
+        ? ((r.__next_tick_pending = !0),
+          o.setData(u, function () {
+            (r.__next_tick_pending = !1), Vo(e);
+          }),
+          wi())
+        : Vo(e);
+    }
+  }
+}
+function Yo(e, t, n) {
+  t.appContext.config.globalProperties.$applyOptions(e, t, n);
+  var r = e.computed;
+  if (r) {
+    var i = Object.keys(r);
+    if (i.length) {
+      var o,
+        a = t.ctx;
+      a.$computedKeys || (a.$computedKeys = []),
+        (o = a.$computedKeys).push.apply(o, i);
+    }
+  }
+  delete t.ctx.$onApplyOptions;
+}
+function Xo(e) {
+  var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
+    n = e.setupState,
+    r = e.$templateRefs,
+    i = e.ctx,
+    o = i.$scope,
+    a = i.$mpPlatform;
+  if ("mp-alipay" !== a && r && o) {
+    if (t)
+      return r.forEach(function (e) {
+        return Qo(e, null, n);
+      });
+    var u = "mp-baidu" === a || "mp-toutiao" === a,
+      s = function (e) {
+        var t = (o.selectAllComponents(".r") || []).concat(
+          o.selectAllComponents(".r-i-f") || []
+        );
+        return e.filter(function (e) {
+          var r = (function (e, t) {
+            var n = e.find(function (e) {
+              return e && (e.properties || e.props).uI === t;
+            });
+            if (n) {
+              var r = n.$vm;
+              return r
+                ? Uo(r.$) || r
+                : (function (e) {
+                    return U(e) && qr(e), e;
+                  })(n);
+            }
+            return null;
+          })(t, e.i);
+          return !(!u || null !== r) || (Qo(e, r, n), !1);
+        });
+      },
+      c = function () {
+        var t = s(r);
+        t.length &&
+          e.proxy &&
+          e.proxy.$scope &&
+          e.proxy.$scope.setData({ r1: 1 }, function () {
+            s(t);
+          });
+      };
+    o._$setRef ? o._$setRef(c) : Ko(e, c);
+  }
+}
+function Qo(e, t, n) {
+  var r = e.r,
+    i = e.f;
+  if (D(r)) r(t, {});
+  else {
+    var o = B(r),
+      a = Jr(r);
+    if (o || a)
+      if (i) {
+        if (!a) return;
+        C(r.value) || (r.value = []);
+        var u = r.value;
+        if (-1 === u.indexOf(t)) {
+          if ((u.push(t), !t)) return;
+          Ki(function () {
+            return P(u, t);
+          }, t.$);
+        }
+      } else o ? E(n, r) && (n[r] = t) : Jr(r) && (r.value = t);
+  }
+}
+((Fo = $o || ($o = {})).APP = "app"),
+  (Fo.PAGE = "page"),
+  (Fo.COMPONENT = "component");
+var Zo = mi;
+function ea(e, t) {
+  var n = (e.component = To(e, t.parentComponent, null));
+  return (
+    (n.ctx.$onApplyOptions = Yo),
+    (n.ctx.$children = []),
+    "app" === t.mpType && (n.render = b),
+    t.onBeforeSetup && t.onBeforeSetup(n, t),
+    (function (e) {
+      var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
+      Bo = t;
+      var n = e.vnode.props,
+        r = Do(e);
+      go(e, n, r, t);
+      var i = r
+        ? (function (e, t) {
+            var n = e.type;
+            (e.accessCache = Object.create(null)),
+              (e.proxy = qr(new Proxy(e.ctx, io)));
+            var r = n.setup;
+            if (r) {
+              var i = (e.setupContext =
+                r.length > 1
+                  ? (function (e) {
+                      var t;
+                      return {
+                        get attrs() {
+                          return (
+                            t ||
+                            (t = (function (e) {
+                              return new Proxy(e.attrs, {
+                                get: function (t, n) {
+                                  return Kn(e, 0, "$attrs"), t[n];
+                                },
+                              });
+                            })(e))
+                          );
+                        },
+                        slots: e.slots,
+                        emit: e.emit,
+                        expose: function (t) {
+                          e.exposed = t || {};
+                        },
+                      };
+                    })(e)
+                  : null);
+              Ro(e), Wn();
+              var o = ii(r, e, 0, [e.props, i]);
+              Vn(),
+                Lo(),
+                j(o)
+                  ? o.then(Lo, Lo)
+                  : (function (e, t, n) {
+                      D(t) ? (e.render = t) : U(t) && (e.setupState = Zr(t)),
+                        No(e);
+                    })(e, o);
+            } else No(e);
+          })(e)
+        : void 0;
+      Bo = !1;
+    })(n),
+    t.parentComponent &&
+      n.proxy &&
+      t.parentComponent.ctx.$children.push(Uo(n) || n.proxy),
+    (function (e) {
+      var t = oa.bind(e);
+      e.$updateScopedSlots = function () {
+        return gi(function () {
+          return yi(t);
+        });
+      };
+      var n = (e.effect = new Fn(
+          function () {
+            if (e.isMounted) {
+              e.next;
+              var t = e.bu,
+                n = e.u;
+              aa(e, !1), ia(), t && Q(t), aa(e, !0), Go(e, na(e)), n && Zo(n);
+            } else
+              Ki(function () {
+                Xo(e, !0);
+              }, e),
+                Go(e, na(e));
+          },
+          function () {
+            return yi(e.update);
+          },
+          e.scope
+        )),
+        r = (e.update = n.run.bind(n));
+      (r.id = e.uid), aa(e, !0), r();
+    })(n),
+    n.proxy
+  );
+}
+var ta = function (e) {
+  var t;
+  for (var n in e)
+    ("class" === n || "style" === n || A(n)) && ((t || (t = {}))[n] = e[n]);
+  return t;
+};
+function na(e) {
+  var t,
+    n = e.type,
+    r = e.vnode,
+    i = e.proxy,
+    o = e.withProxy,
+    a = e.props,
+    u = h(e.propsOptions, 1)[0],
+    s = e.slots,
+    c = e.attrs,
+    f = e.emit,
+    l = e.render,
+    p = e.renderCache,
+    d = e.data,
+    v = e.setupState,
+    g = e.ctx,
+    y = e.uid,
+    _ = e.appContext.app.config.globalProperties.pruneComponentPropsCache,
+    m = e.inheritAttrs;
+  (e.$templateRefs = []),
+    (e.$ei = 0),
+    _(y),
+    (e.__counter = 0 === e.__counter ? 1 : 0);
+  var w = Pi(e);
+  try {
+    if (4 & r.shapeFlag) {
+      ra(m, a, u, c);
+      var k = o || i;
+      t = l.call(k, k, p, a, v, d, g);
+    } else {
+      ra(m, a, u, n.props ? c : ta(c));
+      var b = n;
+      t = b.length > 1 ? b(a, { attrs: c, slots: s, emit: f }) : b(a, null);
+    }
+  } catch (n) {
+    ai(n, e, 1), (t = !1);
+  }
+  return Xo(e), Pi(w), t;
+}
+function ra(e, t, n, r) {
+  if (t && r && !1 !== e) {
+    var i = Object.keys(r).filter(function (e) {
+      return "class" !== e && "style" !== e;
+    });
+    if (!i.length) return;
+    n && i.some(I)
+      ? i.forEach(function (e) {
+          (I(e) && e.slice(9) in n) || (t[e] = r[e]);
+        })
+      : i.forEach(function (e) {
+          return (t[e] = r[e]);
+        });
+  }
+}
+var ia = function (e) {
+  Wn(), wi(), Vn();
+};
+function oa() {
+  var e = this.$scopedSlotsData;
+  if (e && 0 !== e.length) {
+    var t = this.ctx.$scope,
+      n = t.data,
+      r = Object.create(null);
+    e.forEach(function (e) {
+      var t = e.path,
+        i = e.index,
+        o = e.data,
+        a = (function e(t, n) {
+          if (B(n)) {
+            var r = (n = n.replace(/\[(\d+)\]/g, ".$1")).split("."),
+              i = r[0];
+            return (
+              t || (t = {}),
+              1 === r.length ? t[i] : e(t[i], r.slice(1).join("."))
+            );
+          }
+        })(n, t),
+        u = B(i)
+          ? "".concat(t, ".").concat(i)
+          : "".concat(t, "[").concat(i, "]");
+      if (void 0 === a || void 0 === a[i]) r[u] = o;
+      else {
+        var s = zo(o, a[i]);
+        Object.keys(s).forEach(function (e) {
+          r[u + "." + e] = s[e];
+        });
+      }
+    }),
+      (e.length = 0),
+      Object.keys(r).length && t.setData(r);
+  }
+}
+function aa(e, t) {
+  var n = e.effect,
+    r = e.update;
+  n.allowRecurse = r.allowRecurse = t;
+}
+var ua,
+  sa = function (e) {
+    var t =
+      arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null;
+    D(e) || (e = Object.assign({}, e)), null == t || U(t) || (t = null);
+    var n = So(),
+      r = new Set(),
+      i = (n.app = {
+        _uid: Ao++,
+        _component: e,
+        _props: t,
+        _container: null,
+        _context: n,
+        _instance: null,
+        version: "3.2.47",
+        get config() {
+          return n.config;
+        },
+        set config(e) {},
+        use: function (e) {
+          for (
+            var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), o = 1;
+            o < t;
+            o++
+          )
+            n[o - 1] = arguments[o];
+          return (
+            r.has(e) ||
+              (e && D(e.install)
+                ? (r.add(e), e.install.apply(e, [i].concat(n)))
+                : D(e) && (r.add(e), e.apply(void 0, [i].concat(n)))),
+            i
+          );
+        },
+        mixin: function (e) {
+          return n.mixins.includes(e) || n.mixins.push(e), i;
+        },
+        component: function (e, t) {
+          return t ? ((n.components[e] = t), i) : n.components[e];
+        },
+        directive: function (e, t) {
+          return t ? ((n.directives[e] = t), i) : n.directives[e];
+        },
+        mount: function () {},
+        unmount: function () {},
+        provide: function (e, t) {
+          return (n.provides[e] = t), i;
+        },
+      });
+    return i;
+  };
+function ca(e) {
+  var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null;
+  ("undefined" != typeof window
+    ? window
+    : "undefined" != typeof globalThis
+    ? globalThis
+    : "undefined" != typeof global
+    ? global
+    : "undefined" != typeof my
+    ? my
+    : void 0
+  ).__VUE__ = !0;
+  var n = sa(e, t),
+    r = n._context;
+  r.config.globalProperties.$nextTick = function (e) {
+    return Ko(this.$, e);
+  };
+  var i = function (e) {
+      return (e.appContext = r), (e.shapeFlag = 6), e;
+    },
+    o = function (e, t) {
+      return ea(i(e), t);
+    },
+    a = function (e) {
+      return (
+        e &&
+        (function (e) {
+          var t = e.bum,
+            n = e.scope,
+            r = e.update,
+            i = e.um;
+          t && Q(t),
+            n.stop(),
+            r && (r.active = !1),
+            i && Zo(i),
+            Zo(function () {
+              e.isUnmounted = !0;
+            });
+        })(e.$)
+      );
+    };
+  return (
+    (n.mount = function () {
+      e.render = b;
+      var t = ea(i({ type: e }), {
+        mpType: $o.APP,
+        mpInstance: null,
+        parentComponent: null,
+        slots: [],
+        props: null,
+      });
+      return (
+        (n._instance = t.$),
+        (t.$app = n),
+        (t.$createComponent = o),
+        (t.$destroyComponent = a),
+        (r.$appInstance = t),
+        t
+      );
+    }),
+    (n.unmount = function () {}),
+    n
+  );
+}
+function fa(e, t, n, r) {
+  D(t) && Fi(e, t.bind(n), r);
+}
+function la(e, t, n) {
+  !(function (e, t, n) {
+    var r = e.mpType || n.$mpType;
+    r &&
+      "component" !== r &&
+      Object.keys(e).forEach(function (r) {
+        if (De(r, e[r], !1)) {
+          var i = e[r];
+          C(i)
+            ? i.forEach(function (e) {
+                return fa(r, e, n, t);
+              })
+            : fa(r, i, n, t);
+        }
+      });
+  })(e, t, n);
+}
+function ha(e, t, n) {
+  return (e[t] = n);
+}
+function pa(e) {
+  for (
+    var t = this[e],
+      n = arguments.length,
+      r = new Array(n > 1 ? n - 1 : 0),
+      i = 1;
+    i < n;
+    i++
+  )
+    r[i - 1] = arguments[i];
+  return t
+    ? t.apply(void 0, r)
+    : (console.error("method ".concat(e, " not found")), null);
+}
+function da(e) {
+  return function (t, n, r) {
+    if (!n) throw t;
+    var i = e._instance;
+    if (!i || !i.proxy) throw t;
+    i.proxy.$callHook(re, t);
+  };
+}
+function va(e, t) {
+  return e ? p(new Set([].concat(e, t))) : t;
+}
+var ga = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
+  ya = /^(?:[A-Za-z\d+/]{4})*?(?:[A-Za-z\d+/]{2}(?:==)?|[A-Za-z\d+/]{3}=?)?$/;
+function _a() {
+  var e,
+    t,
+    n = Pn.getStorageSync("uni_id_token") || "",
+    r = n.split(".");
+  if (!n || 3 !== r.length)
+    return { uid: null, role: [], permission: [], tokenExpired: 0 };
+  try {
+    e = JSON.parse(
+      ((t = r[1]),
+      decodeURIComponent(
+        ua(t)
+          .split("")
+          .map(function (e) {
+            return "%" + ("00" + e.charCodeAt(0).toString(16)).slice(-2);
+          })
+          .join("")
+      ))
+    );
+  } catch (e) {
+    throw new Error("获取当前用户信息出错,详细错误信息为:" + e.message);
+  }
+  return (e.tokenExpired = 1e3 * e.exp), delete e.exp, delete e.iat, e;
+}
+ua =
+  "function" != typeof atob
+    ? function (e) {
+        if (((e = String(e).replace(/[\t\n\f\r ]+/g, "")), !ya.test(e)))
+          throw new Error(
+            "Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded."
+          );
+        var t;
+        e += "==".slice(2 - (3 & e.length));
+        for (var n, r, i = "", o = 0; o < e.length; )
+          (t =
+            (ga.indexOf(e.charAt(o++)) << 18) |
+            (ga.indexOf(e.charAt(o++)) << 12) |
+            ((n = ga.indexOf(e.charAt(o++))) << 6) |
+            (r = ga.indexOf(e.charAt(o++)))),
+            (i +=
+              64 === n
+                ? String.fromCharCode((t >> 16) & 255)
+                : 64 === r
+                ? String.fromCharCode((t >> 16) & 255, (t >> 8) & 255)
+                : String.fromCharCode(
+                    (t >> 16) & 255,
+                    (t >> 8) & 255,
+                    255 & t
+                  ));
+        return i;
+      }
+    : atob;
+var ma = Object.create(null);
+function wa(e) {
+  delete ma[e];
+}
+function ka(e) {
+  if (e) {
+    var t = e.split(","),
+      n = h(t, 2),
+      r = n[0],
+      i = n[1];
+    return ma[r] ? ma[r][parseInt(i)] : void 0;
+  }
+}
+var ba = {
+  install: function (e) {
+    (function (e) {
+      var t,
+        n = e._context.config;
+      (n.errorHandler = Ne(e, da)),
+        (t = n.optionMergeStrategies),
+        Re.forEach(function (e) {
+          t[e] = va;
+        });
+      var r = n.globalProperties;
+      !(function (e) {
+        (e.uniIDHasRole = function (e) {
+          return _a().role.indexOf(e) > -1;
+        }),
+          (e.uniIDHasPermission = function (e) {
+            var t = _a().permission;
+            return this.uniIDHasRole("admin") || t.indexOf(e) > -1;
+          }),
+          (e.uniIDTokenValid = function () {
+            return _a().tokenExpired > Date.now();
+          });
+      })(r),
+        (r.$set = ha),
+        (r.$applyOptions = la),
+        (r.$callMethod = pa),
+        Pn.invokeCreateVueAppHook(e);
+    })(e),
+      (e.config.globalProperties.pruneComponentPropsCache = wa);
+    var t = e.mount;
+    e.mount = function (n) {
+      var r = t.call(e, n),
+        i = (function () {
+          var e = "createApp";
+          return "undefined" != typeof global
+            ? global[e]
+            : "undefined" != typeof my
+            ? my[e]
+            : void 0;
+        })();
+      return (
+        i
+          ? i(r)
+          : "undefined" != typeof createMiniProgramApp &&
+            createMiniProgramApp(r),
+        r
+      );
+    };
+  },
+};
+var xa = [
+  "tap",
+  "longpress",
+  "longtap",
+  "transitionend",
+  "animationstart",
+  "animationiteration",
+  "animationend",
+  "touchforcechange",
+];
+function Sa(e) {
+  return B(e)
+    ? e
+    : (function (e) {
+        var t = "";
+        if (!e || B(e)) return t;
+        for (var n in e)
+          t += "".concat(n.startsWith("--") ? n : J(n), ":").concat(e[n], ";");
+        return t;
+      })(
+        (function e(t) {
+          if (C(t)) {
+            for (var n = {}, r = 0; r < t.length; r++) {
+              var i = t[r],
+                o = B(i) ? _(i) : e(i);
+              if (o) for (var a in o) n[a] = o[a];
+            }
+            return n;
+          }
+          return B(t) || U(t) ? t : void 0;
+        })(e)
+      );
+}
+var Aa = [
+  "createSelectorQuery",
+  "createIntersectionObserver",
+  "selectAllComponents",
+  "selectComponent",
+];
+function Ia(e, t) {
+  var n = e.ctx;
+  (n.mpType = t.mpType),
+    (n.$mpType = t.mpType),
+    (n.$mpPlatform = "mp-weixin"),
+    (n.$scope = t.mpInstance),
+    (n.$mp = {}),
+    (n._self = {}),
+    (e.slots = {}),
+    C(t.slots) &&
+      t.slots.length &&
+      (t.slots.forEach(function (t) {
+        e.slots[t] = !0;
+      }),
+      e.slots.d && (e.slots.default = !0)),
+    (n.getOpenerEventChannel = function () {
+      return t.mpInstance.getOpenerEventChannel();
+    }),
+    (n.$hasHook = Oa),
+    (n.$callHook = Pa),
+    (e.emit = (function (e, t) {
+      return function (n) {
+        for (
+          var r = t.$scope,
+            i = arguments.length,
+            o = new Array(i > 1 ? i - 1 : 0),
+            a = 1;
+          a < i;
+          a++
+        )
+          o[a - 1] = arguments[a];
+        if (r && n) {
+          var u = { __args__: o };
+          r.triggerEvent(n, u);
+        }
+        return e.apply(this, [n].concat(o));
+      };
+    })(e.emit, n));
+}
+function Oa(e) {
+  var t = this.$[e];
+  return !(!t || !t.length);
+}
+function Pa(e, t) {
+  "mounted" === e && (Pa.call(this, "bm"), (this.$.isMounted = !0), (e = "m"));
+  var n = this.$[e];
+  return (
+    n &&
+    (function (e, t) {
+      for (var n, r = 0; r < e.length; r++) n = e[r](t);
+      return n;
+    })(n, t)
+  );
+}
+var Ta = [ue, ee, te, ce, le, de, ve, ge, _e];
+function Ea(e) {
+  var t =
+    arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : new Set();
+  if (e) {
+    Object.keys(e).forEach(function (n) {
+      De(n, e[n]) && t.add(n);
+    });
+    var n = e.extends,
+      r = e.mixins;
+    r &&
+      r.forEach(function (e) {
+        return Ea(e, t);
+      }),
+      n && Ea(n, t);
+  }
+  return t;
+}
+function Ca(e, t, n) {
+  -1 !== n.indexOf(t) ||
+    E(e, t) ||
+    (e[t] = function (e) {
+      return this.$vm && this.$vm.$callHook(t, e);
+    });
+}
+var Ra = [se];
+function La(e, t) {
+  var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : Ra;
+  t.forEach(function (t) {
+    return Ca(e, t, n);
+  });
+}
+function Da(e, t) {
+  var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : Ra;
+  Ea(t).forEach(function (t) {
+    return Ca(e, t, n);
+  });
+}
+var Ba = Ie(function () {
+    var e = [],
+      t = D(getApp) && getApp({ allowDefault: !0 });
+    if (t && t.$vm && t.$vm.$) {
+      var n = t.$vm.$.appContext.mixins;
+      if (C(n)) {
+        var r = Object.keys(Le);
+        n.forEach(function (t) {
+          r.forEach(function (n) {
+            E(t, n) && !e.includes(n) && e.push(n);
+          });
+        });
+      }
+    }
+    return e;
+  }),
+  Na = [ee, te, re, ie, oe, ae];
+function Ua(e, t) {
+  var n = e.$,
+    r = {
+      globalData: (e.$options && e.$options.globalData) || {},
+      $vm: e,
+      onLaunch: function (t) {
+        this.$vm = e;
+        var r = n.ctx;
+        (this.$vm && r.$scope) ||
+          (Ia(n, { mpType: "app", mpInstance: this, slots: [] }),
+          (r.globalData = this.globalData),
+          e.$callHook(ne, t));
+      },
+    };
+  n.onError &&
+    (n.appContext.config.errorHandler = function (t) {
+      e.$callHook(re, t);
+    }),
+    (function (e) {
+      var t = Gr(Je(wx.getSystemInfoSync().language) || ze);
+      Object.defineProperty(e, "$locale", {
+        get: function () {
+          return t.value;
+        },
+        set: function (e) {
+          t.value = e;
+        },
+      });
+    })(e);
+  var i = e.$.type;
+  La(r, Na), Da(r, i);
+  var o = i.methods;
+  return o && O(r, o), t && t.parse(r), r;
+}
+function ja(e, t) {
+  if (D(e.onLaunch)) {
+    var n = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();
+    e.onLaunch(n);
+  }
+  D(e.onShow) &&
+    wx.onAppShow &&
+    wx.onAppShow(function (e) {
+      t.$callHook("onShow", e);
+    }),
+    D(e.onHide) &&
+      wx.onAppHide &&
+      wx.onAppHide(function (e) {
+        t.$callHook("onHide", e);
+      });
+}
+var Ma = ["externalClasses"],
+  $a = /_(.*)_worklet_factory_/;
+var Fa = ["eO", "uR", "uRIF", "uI", "uT", "uP", "uS"];
+function Ha(e) {
+  e.properties || (e.properties = {}),
+    O(
+      e.properties,
+      (function (e) {
+        var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
+          n = {};
+        return (
+          t ||
+            (Fa.forEach(function (e) {
+              n[e] = { type: null, value: "" };
+            }),
+            (n.uS = {
+              type: null,
+              value: [],
+              observer: function (e) {
+                var t = Object.create(null);
+                e &&
+                  e.forEach(function (e) {
+                    t[e] = !0;
+                  }),
+                  this.setData({ $slots: t });
+              },
+            })),
+          e.behaviors &&
+            e.behaviors.includes("wx://form-field") &&
+            ((e.properties && e.properties.name) ||
+              (n.name = { type: null, value: "" }),
+            (e.properties && e.properties.value) ||
+              (n.value = { type: null, value: "" })),
+          n
+        );
+      })(e),
+      (function (e) {
+        var t = {};
+        return (
+          e &&
+            e.virtualHost &&
+            ((t.virtualHostStyle = { type: null, value: "" }),
+            (t.virtualHostClass = { type: null, value: "" })),
+          t
+        );
+      })(e.options)
+    );
+}
+var qa,
+  za,
+  Wa = [String, Number, Boolean, Object, Array, null];
+function Va(e, t) {
+  var n = (function (e, t) {
+    return C(e) && 1 === e.length ? e[0] : e;
+  })(e);
+  return -1 !== Wa.indexOf(n) ? n : null;
+}
+function Ka(e, t) {
+  return (
+    (t
+      ? (function (e) {
+          var t = {};
+          return (
+            F(e) &&
+              Object.keys(e).forEach(function (n) {
+                -1 === Fa.indexOf(n) && (t[n] = e[n]);
+              }),
+            t
+          );
+        })(e)
+      : ka(e.uP)) || {}
+  );
+}
+function Ja(e) {
+  e.observers || (e.observers = {}),
+    (e.observers.uP = function () {
+      var e = this.properties.uP;
+      e &&
+        (this.$vm
+          ? (function (e, t) {
+              var n,
+                r = Hr(t.props),
+                i = ka(e) || {};
+              Ga(r, i) &&
+                ((function (e, t, n, r) {
+                  var i = e.props,
+                    o = e.attrs,
+                    a = e.vnode.patchFlag,
+                    u = Hr(i),
+                    s = h(e.propsOptions, 1)[0],
+                    c = !1;
+                  if (!(a > 0) || 16 & a) {
+                    var f;
+                    for (var l in (yo(e, t, i, o) && (c = !0), u))
+                      (t && (E(t, l) || ((f = J(l)) !== l && E(t, f)))) ||
+                        (s
+                          ? !n ||
+                            (void 0 === n[l] && void 0 === n[f]) ||
+                            (i[l] = _o(s, u, l, void 0, e, !0))
+                          : delete i[l]);
+                    if (o !== u)
+                      for (var p in o)
+                        (t && E(t, p)) || (delete o[p], (c = !0));
+                  } else if (8 & a)
+                    for (
+                      var d = e.vnode.dynamicProps, v = 0;
+                      v < d.length;
+                      v++
+                    ) {
+                      var g = d[v];
+                      if (!Ii(e.emitsOptions, g)) {
+                        var y = t[g];
+                        if (s)
+                          if (E(o, g)) y !== o[g] && ((o[g] = y), (c = !0));
+                          else {
+                            var _ = V(g);
+                            i[_] = _o(s, u, _, y, e, !1);
+                          }
+                        else y !== o[g] && ((o[g] = y), (c = !0));
+                      }
+                    }
+                  c && Gn(e, "set", "$attrs");
+                })(t, i, r),
+                (n = t.update),
+                ci.indexOf(n) > -1 &&
+                  (function (e) {
+                    var t = ci.indexOf(e);
+                    t > fi && ci.splice(t, 1);
+                  })(t.update),
+                t.update());
+            })(e, this.$vm.$)
+          : "m" === this.properties.uT &&
+            (function (e, t) {
+              var n = t.properties,
+                r = ka(e) || {};
+              Ga(n, r, !1) && t.setData(r);
+            })(e, this));
+    });
+}
+function Ga(e, t) {
+  var n = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2],
+    r = Object.keys(t);
+  if (n && r.length !== Object.keys(e).length) return !0;
+  for (var i = 0; i < r.length; i++) {
+    var o = r[i];
+    if (t[o] !== e[o]) return !0;
+  }
+  return !1;
+}
+function Ya(e, t) {
+  var n = t.parse,
+    r = t.mocks,
+    i = t.isPage,
+    o = t.initRelation,
+    a = t.handleLink,
+    u = t.initLifetimes;
+  e = e.default || e;
+  var s = { multipleSlots: !0, addGlobalClass: !0, pureDataPattern: /^uP$/ };
+  C(e.mixins) &&
+    e.mixins.forEach(function (e) {
+      U(e.options) && O(s, e.options);
+    }),
+    e.options && O(s, e.options);
+  var c,
+    f,
+    l,
+    h,
+    p = {
+      options: s,
+      lifetimes: u({ mocks: r, isPage: i, initRelation: o, vueOptions: e }),
+      pageLifetimes: {
+        show: function () {
+          this.$vm && this.$vm.$callHook("onPageShow");
+        },
+        hide: function () {
+          this.$vm && this.$vm.$callHook("onPageHide");
+        },
+        resize: function (e) {
+          this.$vm && this.$vm.$callHook("onPageResize", e);
+        },
+      },
+      methods: { __l: a },
+    };
+  return (
+    (function (e, t) {
+      (e.data = {}),
+        (e.behaviors = (function (e) {
+          var t = e.behaviors,
+            n = e.props;
+          n || (e.props = n = []);
+          var r = [];
+          return (
+            C(t) &&
+              t.forEach(function (e) {
+                r.push(e.replace("uni://", "wx://")),
+                  "uni://form-field" === e &&
+                    (C(n)
+                      ? (n.push("name"), n.push("modelValue"))
+                      : ((n.name = { type: String, default: "" }),
+                        (n.modelValue = {
+                          type: [String, Number, Boolean, Array, Object, Date],
+                          default: "",
+                        })));
+              }),
+            r
+          );
+        })(t));
+    })(p, e),
+    Ha(p),
+    Ja(p),
+    (function (e, t) {
+      Ma.forEach(function (n) {
+        E(t, n) && (e[n] = t[n]);
+      });
+    })(p, e),
+    (c = p.methods),
+    (f = e.wxsCallMethods),
+    C(f) &&
+      f.forEach(function (e) {
+        c[e] = function (t) {
+          return this.$vm[e](t);
+        };
+      }),
+    (l = p.methods),
+    (h = e.methods) &&
+      Object.keys(h).forEach(function (e) {
+        var t = e.match($a);
+        if (t) {
+          var n = t[1];
+          (l[e] = h[e]), (l[n] = h[n]);
+        }
+      }),
+    n && n(p, { handleLink: a }),
+    p
+  );
+}
+function Xa() {
+  return getApp().$vm;
+}
+var Qa = Page,
+  Za = Component;
+function eu(e) {
+  var t = e.triggerEvent,
+    n = function (n) {
+      for (
+        var r = arguments.length, i = new Array(r > 1 ? r - 1 : 0), o = 1;
+        o < r;
+        o++
+      )
+        i[o - 1] = arguments[o];
+      return t.apply(e, [((a = n), V(a.replace(Ae, "-")))].concat(i));
+      var a;
+    };
+  try {
+    e.triggerEvent = n;
+  } catch (t) {
+    e._triggerEvent = n;
+  }
+}
+function tu(e, t, n) {
+  var r = t[e];
+  t[e] = r
+    ? function () {
+        for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)
+          t[n] = arguments[n];
+        return eu(this), r.apply(this, t);
+      }
+    : function () {
+        eu(this);
+      };
+}
+(Page = function (e) {
+  return tu(ue, e), Qa(e);
+}),
+  (Component = function (e) {
+    return (
+      tu("created", e),
+      (e.properties && e.properties.uP) || (Ha(e), Ja(e)),
+      Za(e)
+    );
+  });
+var nu,
+  ru = Object.freeze({
+    __proto__: null,
+    handleLink: function (e) {
+      var t,
+        n = e.detail || e.value,
+        r = n.vuePid;
+      r &&
+        (t = (function e(t, n) {
+          for (var r, i = t.$children, o = i.length - 1; o >= 0; o--) {
+            var a = i[o];
+            if (a.$scope._$vueId === n) return a;
+          }
+          for (var u = i.length - 1; u >= 0; u--)
+            if ((r = e(i[u], n))) return r;
+        })(this.$vm, r)),
+        t || (t = this.$vm),
+        (n.parent = t);
+    },
+    initLifetimes: function (e) {
+      var t = e.mocks,
+        n = e.isPage,
+        r = e.initRelation,
+        i = e.vueOptions;
+      return {
+        attached: function () {
+          var e = this.properties;
+          !(function (e, t) {
+            if (e) {
+              var n = e.split(","),
+                r = n.length;
+              1 === r
+                ? (t._$vueId = n[0])
+                : 2 === r && ((t._$vueId = n[0]), (t._$vuePid = n[1]));
+            }
+          })(e.uI, this);
+          var o = { vuePid: this._$vuePid };
+          r(this, o);
+          var a = this,
+            u = n(a),
+            s = e;
+          (this.$vm = (function (e, t) {
+            qa || (qa = Xa().$createComponent);
+            var n = qa(e, t);
+            return Uo(n.$) || n;
+          })(
+            { type: i, props: Ka(s, u) },
+            {
+              mpType: u ? "page" : "component",
+              mpInstance: a,
+              slots: e.uS || {},
+              parentComponent: o.parent && o.parent.$,
+              onBeforeSetup: function (e, n) {
+                !(function (e, t) {
+                  Object.defineProperty(e, "refs", {
+                    get: function () {
+                      var e = {};
+                      return (
+                        (function (e, t, n) {
+                          e.selectAllComponents(".r").forEach(function (e) {
+                            var t = e.properties.uR;
+                            n[t] = e.$vm || e;
+                          });
+                        })(t, 0, e),
+                        t.selectAllComponents(".r-i-f").forEach(function (t) {
+                          var n = t.properties.uR;
+                          n && (e[n] || (e[n] = []), e[n].push(t.$vm || t));
+                        }),
+                        e
+                      );
+                    },
+                  });
+                })(e, a),
+                  (function (e, t, n) {
+                    var r = e.ctx;
+                    n.forEach(function (n) {
+                      E(t, n) && (e[n] = r[n] = t[n]);
+                    });
+                  })(e, a, t),
+                  (function (e, t) {
+                    Ia(e, t);
+                    var n = e.ctx;
+                    Aa.forEach(function (e) {
+                      n[e] = function () {
+                        for (
+                          var t = n.$scope,
+                            r = arguments.length,
+                            i = new Array(r),
+                            o = 0;
+                          o < r;
+                          o++
+                        )
+                          i[o] = arguments[o];
+                        if (t && t[e]) return t[e].apply(t, i);
+                      };
+                    });
+                  })(e, n);
+              },
+            }
+          )),
+            u ||
+              (function (e) {
+                var t = e.$options;
+                C(t.behaviors) &&
+                  t.behaviors.includes("uni://form-field") &&
+                  e.$watch(
+                    "modelValue",
+                    function () {
+                      e.$scope &&
+                        e.$scope.setData({ name: e.name, value: e.modelValue });
+                    },
+                    { immediate: !0 }
+                  );
+              })(this.$vm);
+        },
+        ready: function () {
+          this.$vm && (this.$vm.$callHook("mounted"), this.$vm.$callHook(se));
+        },
+        detached: function () {
+          var e;
+          this.$vm &&
+            (wa(this.$vm.$.uid),
+            (e = this.$vm),
+            za || (za = Xa().$destroyComponent),
+            za(e));
+        },
+      };
+    },
+    initRelation: function (e, t) {
+      e.triggerEvent("__l", t);
+    },
+    isPage: function (e) {
+      return !!e.route;
+    },
+    mocks: ["__route__", "__wxExparserNodeId__", "__wxWebviewId__"],
+  }),
+  iu =
+    ((nu = ru),
+    function (e) {
+      return Component(
+        (function (e, t) {
+          var n = t.parse,
+            r = t.mocks,
+            i = t.isPage,
+            o = t.initRelation,
+            a = t.handleLink,
+            u = Ya(e, {
+              mocks: r,
+              isPage: i,
+              initRelation: o,
+              handleLink: a,
+              initLifetimes: t.initLifetimes,
+            });
+          !(function (e, t) {
+            var n = e.properties;
+            C(t)
+              ? t.forEach(function (e) {
+                  n[e] = { type: String, value: "" };
+                })
+              : F(t) &&
+                Object.keys(t).forEach(function (e) {
+                  var r = t[e];
+                  if (F(r)) {
+                    var i = r.default;
+                    D(i) && (i = i());
+                    var o = r.type;
+                    (r.type = Va(o)), (n[e] = { type: r.type, value: i });
+                  } else n[e] = { type: Va(r) };
+                });
+          })(u, (e.default || e).props);
+          var s = u.methods;
+          return (
+            (s.onLoad = function (e) {
+              var t;
+              return (
+                (this.options = e),
+                (this.$page = {
+                  fullPath:
+                    ((t = this.route + Te(e)),
+                    (function (e) {
+                      return 0 === e.indexOf("/");
+                    })(t)
+                      ? t
+                      : "/" + t),
+                }),
+                this.$vm && this.$vm.$callHook(ue, e)
+              );
+            }),
+            La(s, Ta),
+            Da(s, e),
+            (function (e, t) {
+              t &&
+                Object.keys(Le).forEach(function (n) {
+                  t & Le[n] && Ca(e, n, []);
+                });
+            })(s, e.__runtimeHooks),
+            La(s, Ba()),
+            n && n(u, { handleLink: a }),
+            u
+          );
+        })(e, nu)
+      );
+    }),
+  ou = (function (e) {
+    return function (t) {
+      return Component(Ya(t, e));
+    };
+  })(ru),
+  au = function (e) {
+    ja(Ua(e, void 0), e);
+  },
+  uu = function (e) {
+    var t = Ua(e, void 0),
+      n = D(getApp) && getApp({ allowDefault: !0 });
+    if (n) {
+      e.$.ctx.$scope = n;
+      var r = n.globalData;
+      r &&
+        Object.keys(t.globalData).forEach(function (e) {
+          E(r, e) || (r[e] = t.globalData[e]);
+        }),
+        Object.keys(t).forEach(function (e) {
+          E(n, e) || (n[e] = t[e]);
+        }),
+        ja(t, e);
+    }
+  };
+(wx.createApp = global.createApp =
+  function (e) {
+    return App(Ua(e, void 0));
+  }),
+  (wx.createPage = iu),
+  (wx.createComponent = ou),
+  (wx.createPluginApp = global.createPluginApp = au),
+  (wx.createSubpackageApp = global.createSubpackageApp = uu);
+var su =
+  "undefined" != typeof globalThis
+    ? globalThis
+    : "undefined" != typeof window
+    ? window
+    : "undefined" != typeof global
+    ? global
+    : "undefined" != typeof self
+    ? self
+    : {};
+var cu,
+  fu = {},
+  lu = {
+    get exports() {
+      return fu;
+    },
+    set exports(e) {
+      fu = e;
+    },
+  },
+  hu = {},
+  pu = {
+    get exports() {
+      return hu;
+    },
+    set exports(e) {
+      hu = e;
+    },
+  },
+  du = (function (e) {
+    if (e.__esModule) return e;
+    var t = e.default;
+    if ("function" == typeof t) {
+      var n = function e() {
+        if (this instanceof e) {
+          var n = [null];
+          return n.push.apply(n, arguments), new (Function.bind.apply(t, n))();
+        }
+        return t.apply(this, arguments);
+      };
+      n.prototype = t.prototype;
+    } else n = {};
+    return (
+      Object.defineProperty(n, "__esModule", { value: !0 }),
+      Object.keys(e).forEach(function (t) {
+        var r = Object.getOwnPropertyDescriptor(e, t);
+        Object.defineProperty(
+          n,
+          t,
+          r.get
+            ? r
+            : {
+                enumerable: !0,
+                get: function () {
+                  return e[t];
+                },
+              }
+        );
+      }),
+      n
+    );
+  })(
+    Object.freeze(
+      Object.defineProperty(
+        { __proto__: null, default: {} },
+        Symbol.toStringTag,
+        { value: "Module" }
+      )
+    )
+  );
+function vu() {
+  return (
+    cu ||
+      ((cu = 1),
+      (pu.exports = e =
+        e ||
+        (function (e, t) {
+          var n;
+          if (
+            ("undefined" != typeof window &&
+              window.crypto &&
+              (n = window.crypto),
+            "undefined" != typeof self && self.crypto && (n = self.crypto),
+            "undefined" != typeof globalThis &&
+              globalThis.crypto &&
+              (n = globalThis.crypto),
+            !n &&
+              "undefined" != typeof window &&
+              window.msCrypto &&
+              (n = window.msCrypto),
+            !n && void 0 !== su && su.crypto && (n = su.crypto),
+            !n)
+          )
+            try {
+              n = du;
+            } catch (e) {}
+          var r = function () {
+              if (n) {
+                if ("function" == typeof n.getRandomValues)
+                  try {
+                    return n.getRandomValues(new Uint32Array(1))[0];
+                  } catch (e) {}
+                if ("function" == typeof n.randomBytes)
+                  try {
+                    return n.randomBytes(4).readInt32LE();
+                  } catch (e) {}
+              }
+              throw new Error(
+                "Native crypto module could not be used to get secure random number."
+              );
+            },
+            i =
+              Object.create ||
+              (function () {
+                function e() {}
+                return function (t) {
+                  var n;
+                  return (
+                    (e.prototype = t), (n = new e()), (e.prototype = null), n
+                  );
+                };
+              })(),
+            o = {},
+            a = (o.lib = {}),
+            u = (a.Base = {
+              extend: function (e) {
+                var t = i(this);
+                return (
+                  e && t.mixIn(e),
+                  (t.hasOwnProperty("init") && this.init !== t.init) ||
+                    (t.init = function () {
+                      t.$super.init.apply(this, arguments);
+                    }),
+                  (t.init.prototype = t),
+                  (t.$super = this),
+                  t
+                );
+              },
+              create: function () {
+                var e = this.extend();
+                return e.init.apply(e, arguments), e;
+              },
+              init: function () {},
+              mixIn: function (e) {
+                for (var t in e) e.hasOwnProperty(t) && (this[t] = e[t]);
+                e.hasOwnProperty("toString") && (this.toString = e.toString);
+              },
+              clone: function () {
+                return this.init.prototype.extend(this);
+              },
+            }),
+            s = (a.WordArray = u.extend({
+              init: function (e, t) {
+                (e = this.words = e || []),
+                  (this.sigBytes = null != t ? t : 4 * e.length);
+              },
+              toString: function (e) {
+                return (e || f).stringify(this);
+              },
+              concat: function (e) {
+                var t = this.words,
+                  n = e.words,
+                  r = this.sigBytes,
+                  i = e.sigBytes;
+                if ((this.clamp(), r % 4))
+                  for (var o = 0; o < i; o++) {
+                    var a = (n[o >>> 2] >>> (24 - (o % 4) * 8)) & 255;
+                    t[(r + o) >>> 2] |= a << (24 - ((r + o) % 4) * 8);
+                  }
+                else
+                  for (var u = 0; u < i; u += 4) t[(r + u) >>> 2] = n[u >>> 2];
+                return (this.sigBytes += i), this;
+              },
+              clamp: function () {
+                var t = this.words,
+                  n = this.sigBytes;
+                (t[n >>> 2] &= 4294967295 << (32 - (n % 4) * 8)),
+                  (t.length = e.ceil(n / 4));
+              },
+              clone: function () {
+                var e = u.clone.call(this);
+                return (e.words = this.words.slice(0)), e;
+              },
+              random: function (e) {
+                for (var t = [], n = 0; n < e; n += 4) t.push(r());
+                return new s.init(t, e);
+              },
+            })),
+            c = (o.enc = {}),
+            f = (c.Hex = {
+              stringify: function (e) {
+                for (
+                  var t = e.words, n = e.sigBytes, r = [], i = 0;
+                  i < n;
+                  i++
+                ) {
+                  var o = (t[i >>> 2] >>> (24 - (i % 4) * 8)) & 255;
+                  r.push((o >>> 4).toString(16)), r.push((15 & o).toString(16));
+                }
+                return r.join("");
+              },
+              parse: function (e) {
+                for (var t = e.length, n = [], r = 0; r < t; r += 2)
+                  n[r >>> 3] |=
+                    parseInt(e.substr(r, 2), 16) << (24 - (r % 8) * 4);
+                return new s.init(n, t / 2);
+              },
+            }),
+            l = (c.Latin1 = {
+              stringify: function (e) {
+                for (
+                  var t = e.words, n = e.sigBytes, r = [], i = 0;
+                  i < n;
+                  i++
+                ) {
+                  var o = (t[i >>> 2] >>> (24 - (i % 4) * 8)) & 255;
+                  r.push(String.fromCharCode(o));
+                }
+                return r.join("");
+              },
+              parse: function (e) {
+                for (var t = e.length, n = [], r = 0; r < t; r++)
+                  n[r >>> 2] |= (255 & e.charCodeAt(r)) << (24 - (r % 4) * 8);
+                return new s.init(n, t);
+              },
+            }),
+            h = (c.Utf8 = {
+              stringify: function (e) {
+                try {
+                  return decodeURIComponent(escape(l.stringify(e)));
+                } catch (e) {
+                  throw new Error("Malformed UTF-8 data");
+                }
+              },
+              parse: function (e) {
+                return l.parse(unescape(encodeURIComponent(e)));
+              },
+            }),
+            p = (a.BufferedBlockAlgorithm = u.extend({
+              reset: function () {
+                (this._data = new s.init()), (this._nDataBytes = 0);
+              },
+              _append: function (e) {
+                "string" == typeof e && (e = h.parse(e)),
+                  this._data.concat(e),
+                  (this._nDataBytes += e.sigBytes);
+              },
+              _process: function (t) {
+                var n,
+                  r = this._data,
+                  i = r.words,
+                  o = r.sigBytes,
+                  a = this.blockSize,
+                  u = o / (4 * a),
+                  c =
+                    (u = t
+                      ? e.ceil(u)
+                      : e.max((0 | u) - this._minBufferSize, 0)) * a,
+                  f = e.min(4 * c, o);
+                if (c) {
+                  for (var l = 0; l < c; l += a) this._doProcessBlock(i, l);
+                  (n = i.splice(0, c)), (r.sigBytes -= f);
+                }
+                return new s.init(n, f);
+              },
+              clone: function () {
+                var e = u.clone.call(this);
+                return (e._data = this._data.clone()), e;
+              },
+              _minBufferSize: 0,
+            }));
+          a.Hasher = p.extend({
+            cfg: u.extend(),
+            init: function (e) {
+              (this.cfg = this.cfg.extend(e)), this.reset();
+            },
+            reset: function () {
+              p.reset.call(this), this._doReset();
+            },
+            update: function (e) {
+              return this._append(e), this._process(), this;
+            },
+            finalize: function (e) {
+              return e && this._append(e), this._doFinalize();
+            },
+            blockSize: 16,
+            _createHelper: function (e) {
+              return function (t, n) {
+                return new e.init(n).finalize(t);
+              };
+            },
+            _createHmacHelper: function (e) {
+              return function (t, n) {
+                return new d.HMAC.init(e, n).finalize(t);
+              };
+            },
+          });
+          var d = (o.algo = {});
+          return o;
+        })(Math))),
+    hu
+  );
+  var e;
+}
+var gu,
+  yu = {},
+  _u = {
+    get exports() {
+      return yu;
+    },
+    set exports(e) {
+      yu = e;
+    },
+  };
+function mu() {
+  return (
+    gu ||
+      ((gu = 1),
+      (_u.exports =
+        ((t = (e = o = vu()).lib),
+        (n = t.Base),
+        (r = t.WordArray),
+        ((i = e.x64 = {}).Word = n.extend({
+          init: function (e, t) {
+            (this.high = e), (this.low = t);
+          },
+        })),
+        (i.WordArray = n.extend({
+          init: function (e, t) {
+            (e = this.words = e || []),
+              (this.sigBytes = null != t ? t : 8 * e.length);
+          },
+          toX32: function () {
+            for (var e = this.words, t = e.length, n = [], i = 0; i < t; i++) {
+              var o = e[i];
+              n.push(o.high), n.push(o.low);
+            }
+            return r.create(n, this.sigBytes);
+          },
+          clone: function () {
+            for (
+              var e = n.clone.call(this),
+                t = (e.words = this.words.slice(0)),
+                r = t.length,
+                i = 0;
+              i < r;
+              i++
+            )
+              t[i] = t[i].clone();
+            return e;
+          },
+        })),
+        o))),
+    yu
+  );
+  var e, t, n, r, i, o;
+}
+var wu,
+  ku = {},
+  bu = {
+    get exports() {
+      return ku;
+    },
+    set exports(e) {
+      ku = e;
+    },
+  };
+var xu,
+  Su = {},
+  Au = {
+    get exports() {
+      return Su;
+    },
+    set exports(e) {
+      Su = e;
+    },
+  };
+var Iu,
+  Ou = {},
+  Pu = {
+    get exports() {
+      return Ou;
+    },
+    set exports(e) {
+      Ou = e;
+    },
+  };
+function Tu() {
+  return (
+    Iu ||
+      ((Iu = 1),
+      (Pu.exports =
+        ((e = vu()),
+        (function () {
+          var t = e,
+            n = t.lib.WordArray;
+          function r(e, t, r) {
+            for (var i = [], o = 0, a = 0; a < t; a++)
+              if (a % 4) {
+                var u =
+                  (r[e.charCodeAt(a - 1)] << ((a % 4) * 2)) |
+                  (r[e.charCodeAt(a)] >>> (6 - (a % 4) * 2));
+                (i[o >>> 2] |= u << (24 - (o % 4) * 8)), o++;
+              }
+            return n.create(i, o);
+          }
+          t.enc.Base64 = {
+            stringify: function (e) {
+              var t = e.words,
+                n = e.sigBytes,
+                r = this._map;
+              e.clamp();
+              for (var i = [], o = 0; o < n; o += 3)
+                for (
+                  var a =
+                      (((t[o >>> 2] >>> (24 - (o % 4) * 8)) & 255) << 16) |
+                      (((t[(o + 1) >>> 2] >>> (24 - ((o + 1) % 4) * 8)) &
+                        255) <<
+                        8) |
+                      ((t[(o + 2) >>> 2] >>> (24 - ((o + 2) % 4) * 8)) & 255),
+                    u = 0;
+                  u < 4 && o + 0.75 * u < n;
+                  u++
+                )
+                  i.push(r.charAt((a >>> (6 * (3 - u))) & 63));
+              var s = r.charAt(64);
+              if (s) for (; i.length % 4; ) i.push(s);
+              return i.join("");
+            },
+            parse: function (e) {
+              var t = e.length,
+                n = this._map,
+                i = this._reverseMap;
+              if (!i) {
+                i = this._reverseMap = [];
+                for (var o = 0; o < n.length; o++) i[n.charCodeAt(o)] = o;
+              }
+              var a = n.charAt(64);
+              if (a) {
+                var u = e.indexOf(a);
+                -1 !== u && (t = u);
+              }
+              return r(e, t, i);
+            },
+            _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
+          };
+        })(),
+        e.enc.Base64))),
+    Ou
+  );
+  var e;
+}
+var Eu,
+  Cu = {},
+  Ru = {
+    get exports() {
+      return Cu;
+    },
+    set exports(e) {
+      Cu = e;
+    },
+  };
+var Lu,
+  Du = {},
+  Bu = {
+    get exports() {
+      return Du;
+    },
+    set exports(e) {
+      Du = e;
+    },
+  };
+function Nu() {
+  return (
+    Lu ||
+      ((Lu = 1),
+      (Bu.exports =
+        ((e = vu()),
+        (function (t) {
+          var n = e,
+            r = n.lib,
+            i = r.WordArray,
+            o = r.Hasher,
+            a = n.algo,
+            u = [];
+          !(function () {
+            for (var e = 0; e < 64; e++)
+              u[e] = (4294967296 * t.abs(t.sin(e + 1))) | 0;
+          })();
+          var s = (a.MD5 = o.extend({
+            _doReset: function () {
+              this._hash = new i.init([
+                1732584193, 4023233417, 2562383102, 271733878,
+              ]);
+            },
+            _doProcessBlock: function (e, t) {
+              for (var n = 0; n < 16; n++) {
+                var r = t + n,
+                  i = e[r];
+                e[r] =
+                  (16711935 & ((i << 8) | (i >>> 24))) |
+                  (4278255360 & ((i << 24) | (i >>> 8)));
+              }
+              var o = this._hash.words,
+                a = e[t + 0],
+                s = e[t + 1],
+                p = e[t + 2],
+                d = e[t + 3],
+                v = e[t + 4],
+                g = e[t + 5],
+                y = e[t + 6],
+                _ = e[t + 7],
+                m = e[t + 8],
+                w = e[t + 9],
+                k = e[t + 10],
+                b = e[t + 11],
+                x = e[t + 12],
+                S = e[t + 13],
+                A = e[t + 14],
+                I = e[t + 15],
+                O = o[0],
+                P = o[1],
+                T = o[2],
+                E = o[3];
+              (O = c(O, P, T, E, a, 7, u[0])),
+                (E = c(E, O, P, T, s, 12, u[1])),
+                (T = c(T, E, O, P, p, 17, u[2])),
+                (P = c(P, T, E, O, d, 22, u[3])),
+                (O = c(O, P, T, E, v, 7, u[4])),
+                (E = c(E, O, P, T, g, 12, u[5])),
+                (T = c(T, E, O, P, y, 17, u[6])),
+                (P = c(P, T, E, O, _, 22, u[7])),
+                (O = c(O, P, T, E, m, 7, u[8])),
+                (E = c(E, O, P, T, w, 12, u[9])),
+                (T = c(T, E, O, P, k, 17, u[10])),
+                (P = c(P, T, E, O, b, 22, u[11])),
+                (O = c(O, P, T, E, x, 7, u[12])),
+                (E = c(E, O, P, T, S, 12, u[13])),
+                (T = c(T, E, O, P, A, 17, u[14])),
+                (O = f(
+                  O,
+                  (P = c(P, T, E, O, I, 22, u[15])),
+                  T,
+                  E,
+                  s,
+                  5,
+                  u[16]
+                )),
+                (E = f(E, O, P, T, y, 9, u[17])),
+                (T = f(T, E, O, P, b, 14, u[18])),
+                (P = f(P, T, E, O, a, 20, u[19])),
+                (O = f(O, P, T, E, g, 5, u[20])),
+                (E = f(E, O, P, T, k, 9, u[21])),
+                (T = f(T, E, O, P, I, 14, u[22])),
+                (P = f(P, T, E, O, v, 20, u[23])),
+                (O = f(O, P, T, E, w, 5, u[24])),
+                (E = f(E, O, P, T, A, 9, u[25])),
+                (T = f(T, E, O, P, d, 14, u[26])),
+                (P = f(P, T, E, O, m, 20, u[27])),
+                (O = f(O, P, T, E, S, 5, u[28])),
+                (E = f(E, O, P, T, p, 9, u[29])),
+                (T = f(T, E, O, P, _, 14, u[30])),
+                (O = l(
+                  O,
+                  (P = f(P, T, E, O, x, 20, u[31])),
+                  T,
+                  E,
+                  g,
+                  4,
+                  u[32]
+                )),
+                (E = l(E, O, P, T, m, 11, u[33])),
+                (T = l(T, E, O, P, b, 16, u[34])),
+                (P = l(P, T, E, O, A, 23, u[35])),
+                (O = l(O, P, T, E, s, 4, u[36])),
+                (E = l(E, O, P, T, v, 11, u[37])),
+                (T = l(T, E, O, P, _, 16, u[38])),
+                (P = l(P, T, E, O, k, 23, u[39])),
+                (O = l(O, P, T, E, S, 4, u[40])),
+                (E = l(E, O, P, T, a, 11, u[41])),
+                (T = l(T, E, O, P, d, 16, u[42])),
+                (P = l(P, T, E, O, y, 23, u[43])),
+                (O = l(O, P, T, E, w, 4, u[44])),
+                (E = l(E, O, P, T, x, 11, u[45])),
+                (T = l(T, E, O, P, I, 16, u[46])),
+                (O = h(
+                  O,
+                  (P = l(P, T, E, O, p, 23, u[47])),
+                  T,
+                  E,
+                  a,
+                  6,
+                  u[48]
+                )),
+                (E = h(E, O, P, T, _, 10, u[49])),
+                (T = h(T, E, O, P, A, 15, u[50])),
+                (P = h(P, T, E, O, g, 21, u[51])),
+                (O = h(O, P, T, E, x, 6, u[52])),
+                (E = h(E, O, P, T, d, 10, u[53])),
+                (T = h(T, E, O, P, k, 15, u[54])),
+                (P = h(P, T, E, O, s, 21, u[55])),
+                (O = h(O, P, T, E, m, 6, u[56])),
+                (E = h(E, O, P, T, I, 10, u[57])),
+                (T = h(T, E, O, P, y, 15, u[58])),
+                (P = h(P, T, E, O, S, 21, u[59])),
+                (O = h(O, P, T, E, v, 6, u[60])),
+                (E = h(E, O, P, T, b, 10, u[61])),
+                (T = h(T, E, O, P, p, 15, u[62])),
+                (P = h(P, T, E, O, w, 21, u[63])),
+                (o[0] = (o[0] + O) | 0),
+                (o[1] = (o[1] + P) | 0),
+                (o[2] = (o[2] + T) | 0),
+                (o[3] = (o[3] + E) | 0);
+            },
+            _doFinalize: function () {
+              var e = this._data,
+                n = e.words,
+                r = 8 * this._nDataBytes,
+                i = 8 * e.sigBytes;
+              n[i >>> 5] |= 128 << (24 - (i % 32));
+              var o = t.floor(r / 4294967296),
+                a = r;
+              (n[15 + (((i + 64) >>> 9) << 4)] =
+                (16711935 & ((o << 8) | (o >>> 24))) |
+                (4278255360 & ((o << 24) | (o >>> 8)))),
+                (n[14 + (((i + 64) >>> 9) << 4)] =
+                  (16711935 & ((a << 8) | (a >>> 24))) |
+                  (4278255360 & ((a << 24) | (a >>> 8)))),
+                (e.sigBytes = 4 * (n.length + 1)),
+                this._process();
+              for (var u = this._hash, s = u.words, c = 0; c < 4; c++) {
+                var f = s[c];
+                s[c] =
+                  (16711935 & ((f << 8) | (f >>> 24))) |
+                  (4278255360 & ((f << 24) | (f >>> 8)));
+              }
+              return u;
+            },
+            clone: function () {
+              var e = o.clone.call(this);
+              return (e._hash = this._hash.clone()), e;
+            },
+          }));
+          function c(e, t, n, r, i, o, a) {
+            var u = e + ((t & n) | (~t & r)) + i + a;
+            return ((u << o) | (u >>> (32 - o))) + t;
+          }
+          function f(e, t, n, r, i, o, a) {
+            var u = e + ((t & r) | (n & ~r)) + i + a;
+            return ((u << o) | (u >>> (32 - o))) + t;
+          }
+          function l(e, t, n, r, i, o, a) {
+            var u = e + (t ^ n ^ r) + i + a;
+            return ((u << o) | (u >>> (32 - o))) + t;
+          }
+          function h(e, t, n, r, i, o, a) {
+            var u = e + (n ^ (t | ~r)) + i + a;
+            return ((u << o) | (u >>> (32 - o))) + t;
+          }
+          (n.MD5 = o._createHelper(s)), (n.HmacMD5 = o._createHmacHelper(s));
+        })(Math),
+        e.MD5))),
+    Du
+  );
+  var e;
+}
+var Uu,
+  ju = {},
+  Mu = {
+    get exports() {
+      return ju;
+    },
+    set exports(e) {
+      ju = e;
+    },
+  };
+function $u() {
+  return (
+    Uu ||
+      ((Uu = 1),
+      (Mu.exports =
+        ((t = (e = u = vu()).lib),
+        (n = t.WordArray),
+        (r = t.Hasher),
+        (i = e.algo),
+        (o = []),
+        (a = i.SHA1 =
+          r.extend({
+            _doReset: function () {
+              this._hash = new n.init([
+                1732584193, 4023233417, 2562383102, 271733878, 3285377520,
+              ]);
+            },
+            _doProcessBlock: function (e, t) {
+              for (
+                var n = this._hash.words,
+                  r = n[0],
+                  i = n[1],
+                  a = n[2],
+                  u = n[3],
+                  s = n[4],
+                  c = 0;
+                c < 80;
+                c++
+              ) {
+                if (c < 16) o[c] = 0 | e[t + c];
+                else {
+                  var f = o[c - 3] ^ o[c - 8] ^ o[c - 14] ^ o[c - 16];
+                  o[c] = (f << 1) | (f >>> 31);
+                }
+                var l = ((r << 5) | (r >>> 27)) + s + o[c];
+                (l +=
+                  c < 20
+                    ? 1518500249 + ((i & a) | (~i & u))
+                    : c < 40
+                    ? 1859775393 + (i ^ a ^ u)
+                    : c < 60
+                    ? ((i & a) | (i & u) | (a & u)) - 1894007588
+                    : (i ^ a ^ u) - 899497514),
+                  (s = u),
+                  (u = a),
+                  (a = (i << 30) | (i >>> 2)),
+                  (i = r),
+                  (r = l);
+              }
+              (n[0] = (n[0] + r) | 0),
+                (n[1] = (n[1] + i) | 0),
+                (n[2] = (n[2] + a) | 0),
+                (n[3] = (n[3] + u) | 0),
+                (n[4] = (n[4] + s) | 0);
+            },
+            _doFinalize: function () {
+              var e = this._data,
+                t = e.words,
+                n = 8 * this._nDataBytes,
+                r = 8 * e.sigBytes;
+              return (
+                (t[r >>> 5] |= 128 << (24 - (r % 32))),
+                (t[14 + (((r + 64) >>> 9) << 4)] = Math.floor(n / 4294967296)),
+                (t[15 + (((r + 64) >>> 9) << 4)] = n),
+                (e.sigBytes = 4 * t.length),
+                this._process(),
+                this._hash
+              );
+            },
+            clone: function () {
+              var e = r.clone.call(this);
+              return (e._hash = this._hash.clone()), e;
+            },
+          })),
+        (e.SHA1 = r._createHelper(a)),
+        (e.HmacSHA1 = r._createHmacHelper(a)),
+        u.SHA1))),
+    ju
+  );
+  var e, t, n, r, i, o, a, u;
+}
+var Fu,
+  Hu = {},
+  qu = {
+    get exports() {
+      return Hu;
+    },
+    set exports(e) {
+      Hu = e;
+    },
+  };
+function zu() {
+  return (
+    Fu ||
+      ((Fu = 1),
+      (qu.exports =
+        ((e = vu()),
+        (function (t) {
+          var n = e,
+            r = n.lib,
+            i = r.WordArray,
+            o = r.Hasher,
+            a = n.algo,
+            u = [],
+            s = [];
+          !(function () {
+            function e(e) {
+              for (var n = t.sqrt(e), r = 2; r <= n; r++)
+                if (!(e % r)) return !1;
+              return !0;
+            }
+            function n(e) {
+              return (4294967296 * (e - (0 | e))) | 0;
+            }
+            for (var r = 2, i = 0; i < 64; )
+              e(r) &&
+                (i < 8 && (u[i] = n(t.pow(r, 0.5))),
+                (s[i] = n(t.pow(r, 1 / 3))),
+                i++),
+                r++;
+          })();
+          var c = [],
+            f = (a.SHA256 = o.extend({
+              _doReset: function () {
+                this._hash = new i.init(u.slice(0));
+              },
+              _doProcessBlock: function (e, t) {
+                for (
+                  var n = this._hash.words,
+                    r = n[0],
+                    i = n[1],
+                    o = n[2],
+                    a = n[3],
+                    u = n[4],
+                    f = n[5],
+                    l = n[6],
+                    h = n[7],
+                    p = 0;
+                  p < 64;
+                  p++
+                ) {
+                  if (p < 16) c[p] = 0 | e[t + p];
+                  else {
+                    var d = c[p - 15],
+                      v =
+                        ((d << 25) | (d >>> 7)) ^
+                        ((d << 14) | (d >>> 18)) ^
+                        (d >>> 3),
+                      g = c[p - 2],
+                      y =
+                        ((g << 15) | (g >>> 17)) ^
+                        ((g << 13) | (g >>> 19)) ^
+                        (g >>> 10);
+                    c[p] = v + c[p - 7] + y + c[p - 16];
+                  }
+                  var _ = (r & i) ^ (r & o) ^ (i & o),
+                    m =
+                      ((r << 30) | (r >>> 2)) ^
+                      ((r << 19) | (r >>> 13)) ^
+                      ((r << 10) | (r >>> 22)),
+                    w =
+                      h +
+                      (((u << 26) | (u >>> 6)) ^
+                        ((u << 21) | (u >>> 11)) ^
+                        ((u << 7) | (u >>> 25))) +
+                      ((u & f) ^ (~u & l)) +
+                      s[p] +
+                      c[p];
+                  (h = l),
+                    (l = f),
+                    (f = u),
+                    (u = (a + w) | 0),
+                    (a = o),
+                    (o = i),
+                    (i = r),
+                    (r = (w + (m + _)) | 0);
+                }
+                (n[0] = (n[0] + r) | 0),
+                  (n[1] = (n[1] + i) | 0),
+                  (n[2] = (n[2] + o) | 0),
+                  (n[3] = (n[3] + a) | 0),
+                  (n[4] = (n[4] + u) | 0),
+                  (n[5] = (n[5] + f) | 0),
+                  (n[6] = (n[6] + l) | 0),
+                  (n[7] = (n[7] + h) | 0);
+              },
+              _doFinalize: function () {
+                var e = this._data,
+                  n = e.words,
+                  r = 8 * this._nDataBytes,
+                  i = 8 * e.sigBytes;
+                return (
+                  (n[i >>> 5] |= 128 << (24 - (i % 32))),
+                  (n[14 + (((i + 64) >>> 9) << 4)] = t.floor(r / 4294967296)),
+                  (n[15 + (((i + 64) >>> 9) << 4)] = r),
+                  (e.sigBytes = 4 * n.length),
+                  this._process(),
+                  this._hash
+                );
+              },
+              clone: function () {
+                var e = o.clone.call(this);
+                return (e._hash = this._hash.clone()), e;
+              },
+            }));
+          (n.SHA256 = o._createHelper(f)),
+            (n.HmacSHA256 = o._createHmacHelper(f));
+        })(Math),
+        e.SHA256))),
+    Hu
+  );
+  var e;
+}
+var Wu,
+  Vu,
+  Ku = {},
+  Ju = {
+    get exports() {
+      return Ku;
+    },
+    set exports(e) {
+      Ku = e;
+    },
+  },
+  Gu = {},
+  Yu = {
+    get exports() {
+      return Gu;
+    },
+    set exports(e) {
+      Gu = e;
+    },
+  };
+function Xu() {
+  return (
+    Vu ||
+      ((Vu = 1),
+      (Yu.exports =
+        ((e = vu()),
+        mu(),
+        (function () {
+          var t = e,
+            n = t.lib.Hasher,
+            r = t.x64,
+            i = r.Word,
+            o = r.WordArray,
+            a = t.algo;
+          function u() {
+            return i.create.apply(i, arguments);
+          }
+          var s = [
+              u(1116352408, 3609767458),
+              u(1899447441, 602891725),
+              u(3049323471, 3964484399),
+              u(3921009573, 2173295548),
+              u(961987163, 4081628472),
+              u(1508970993, 3053834265),
+              u(2453635748, 2937671579),
+              u(2870763221, 3664609560),
+              u(3624381080, 2734883394),
+              u(310598401, 1164996542),
+              u(607225278, 1323610764),
+              u(1426881987, 3590304994),
+              u(1925078388, 4068182383),
+              u(2162078206, 991336113),
+              u(2614888103, 633803317),
+              u(3248222580, 3479774868),
+              u(3835390401, 2666613458),
+              u(4022224774, 944711139),
+              u(264347078, 2341262773),
+              u(604807628, 2007800933),
+              u(770255983, 1495990901),
+              u(1249150122, 1856431235),
+              u(1555081692, 3175218132),
+              u(1996064986, 2198950837),
+              u(2554220882, 3999719339),
+              u(2821834349, 766784016),
+              u(2952996808, 2566594879),
+              u(3210313671, 3203337956),
+              u(3336571891, 1034457026),
+              u(3584528711, 2466948901),
+              u(113926993, 3758326383),
+              u(338241895, 168717936),
+              u(666307205, 1188179964),
+              u(773529912, 1546045734),
+              u(1294757372, 1522805485),
+              u(1396182291, 2643833823),
+              u(1695183700, 2343527390),
+              u(1986661051, 1014477480),
+              u(2177026350, 1206759142),
+              u(2456956037, 344077627),
+              u(2730485921, 1290863460),
+              u(2820302411, 3158454273),
+              u(3259730800, 3505952657),
+              u(3345764771, 106217008),
+              u(3516065817, 3606008344),
+              u(3600352804, 1432725776),
+              u(4094571909, 1467031594),
+              u(275423344, 851169720),
+              u(430227734, 3100823752),
+              u(506948616, 1363258195),
+              u(659060556, 3750685593),
+              u(883997877, 3785050280),
+              u(958139571, 3318307427),
+              u(1322822218, 3812723403),
+              u(1537002063, 2003034995),
+              u(1747873779, 3602036899),
+              u(1955562222, 1575990012),
+              u(2024104815, 1125592928),
+              u(2227730452, 2716904306),
+              u(2361852424, 442776044),
+              u(2428436474, 593698344),
+              u(2756734187, 3733110249),
+              u(3204031479, 2999351573),
+              u(3329325298, 3815920427),
+              u(3391569614, 3928383900),
+              u(3515267271, 566280711),
+              u(3940187606, 3454069534),
+              u(4118630271, 4000239992),
+              u(116418474, 1914138554),
+              u(174292421, 2731055270),
+              u(289380356, 3203993006),
+              u(460393269, 320620315),
+              u(685471733, 587496836),
+              u(852142971, 1086792851),
+              u(1017036298, 365543100),
+              u(1126000580, 2618297676),
+              u(1288033470, 3409855158),
+              u(1501505948, 4234509866),
+              u(1607167915, 987167468),
+              u(1816402316, 1246189591),
+            ],
+            c = [];
+          !(function () {
+            for (var e = 0; e < 80; e++) c[e] = u();
+          })();
+          var f = (a.SHA512 = n.extend({
+            _doReset: function () {
+              this._hash = new o.init([
+                new i.init(1779033703, 4089235720),
+                new i.init(3144134277, 2227873595),
+                new i.init(1013904242, 4271175723),
+                new i.init(2773480762, 1595750129),
+                new i.init(1359893119, 2917565137),
+                new i.init(2600822924, 725511199),
+                new i.init(528734635, 4215389547),
+                new i.init(1541459225, 327033209),
+              ]);
+            },
+            _doProcessBlock: function (e, t) {
+              for (
+                var n = this._hash.words,
+                  r = n[0],
+                  i = n[1],
+                  o = n[2],
+                  a = n[3],
+                  u = n[4],
+                  f = n[5],
+                  l = n[6],
+                  h = n[7],
+                  p = r.high,
+                  d = r.low,
+                  v = i.high,
+                  g = i.low,
+                  y = o.high,
+                  _ = o.low,
+                  m = a.high,
+                  w = a.low,
+                  k = u.high,
+                  b = u.low,
+                  x = f.high,
+                  S = f.low,
+                  A = l.high,
+                  I = l.low,
+                  O = h.high,
+                  P = h.low,
+                  T = p,
+                  E = d,
+                  C = v,
+                  R = g,
+                  L = y,
+                  D = _,
+                  B = m,
+                  N = w,
+                  U = k,
+                  j = b,
+                  M = x,
+                  $ = S,
+                  F = A,
+                  H = I,
+                  q = O,
+                  z = P,
+                  W = 0;
+                W < 80;
+                W++
+              ) {
+                var V,
+                  K,
+                  J = c[W];
+                if (W < 16)
+                  (K = J.high = 0 | e[t + 2 * W]),
+                    (V = J.low = 0 | e[t + 2 * W + 1]);
+                else {
+                  var G = c[W - 15],
+                    Y = G.high,
+                    X = G.low,
+                    Q =
+                      ((Y >>> 1) | (X << 31)) ^
+                      ((Y >>> 8) | (X << 24)) ^
+                      (Y >>> 7),
+                    Z =
+                      ((X >>> 1) | (Y << 31)) ^
+                      ((X >>> 8) | (Y << 24)) ^
+                      ((X >>> 7) | (Y << 25)),
+                    ee = c[W - 2],
+                    te = ee.high,
+                    ne = ee.low,
+                    re =
+                      ((te >>> 19) | (ne << 13)) ^
+                      ((te << 3) | (ne >>> 29)) ^
+                      (te >>> 6),
+                    ie =
+                      ((ne >>> 19) | (te << 13)) ^
+                      ((ne << 3) | (te >>> 29)) ^
+                      ((ne >>> 6) | (te << 26)),
+                    oe = c[W - 7],
+                    ae = oe.high,
+                    ue = oe.low,
+                    se = c[W - 16],
+                    ce = se.high,
+                    fe = se.low;
+                  (K =
+                    (K =
+                      (K = Q + ae + ((V = Z + ue) >>> 0 < Z >>> 0 ? 1 : 0)) +
+                      re +
+                      ((V += ie) >>> 0 < ie >>> 0 ? 1 : 0)) +
+                    ce +
+                    ((V += fe) >>> 0 < fe >>> 0 ? 1 : 0)),
+                    (J.high = K),
+                    (J.low = V);
+                }
+                var le,
+                  he = (U & M) ^ (~U & F),
+                  pe = (j & $) ^ (~j & H),
+                  de = (T & C) ^ (T & L) ^ (C & L),
+                  ve = (E & R) ^ (E & D) ^ (R & D),
+                  ge =
+                    ((T >>> 28) | (E << 4)) ^
+                    ((T << 30) | (E >>> 2)) ^
+                    ((T << 25) | (E >>> 7)),
+                  ye =
+                    ((E >>> 28) | (T << 4)) ^
+                    ((E << 30) | (T >>> 2)) ^
+                    ((E << 25) | (T >>> 7)),
+                  _e =
+                    ((U >>> 14) | (j << 18)) ^
+                    ((U >>> 18) | (j << 14)) ^
+                    ((U << 23) | (j >>> 9)),
+                  me =
+                    ((j >>> 14) | (U << 18)) ^
+                    ((j >>> 18) | (U << 14)) ^
+                    ((j << 23) | (U >>> 9)),
+                  we = s[W],
+                  ke = we.high,
+                  be = we.low,
+                  xe = q + _e + ((le = z + me) >>> 0 < z >>> 0 ? 1 : 0),
+                  Se = ye + ve;
+                (q = F),
+                  (z = H),
+                  (F = M),
+                  (H = $),
+                  (M = U),
+                  ($ = j),
+                  (U =
+                    (B +
+                      (xe =
+                        (xe =
+                          (xe =
+                            xe + he + ((le += pe) >>> 0 < pe >>> 0 ? 1 : 0)) +
+                          ke +
+                          ((le += be) >>> 0 < be >>> 0 ? 1 : 0)) +
+                        K +
+                        ((le += V) >>> 0 < V >>> 0 ? 1 : 0)) +
+                      ((j = (N + le) | 0) >>> 0 < N >>> 0 ? 1 : 0)) |
+                    0),
+                  (B = L),
+                  (N = D),
+                  (L = C),
+                  (D = R),
+                  (C = T),
+                  (R = E),
+                  (T =
+                    (xe +
+                      (ge + de + (Se >>> 0 < ye >>> 0 ? 1 : 0)) +
+                      ((E = (le + Se) | 0) >>> 0 < le >>> 0 ? 1 : 0)) |
+                    0);
+              }
+              (d = r.low = d + E),
+                (r.high = p + T + (d >>> 0 < E >>> 0 ? 1 : 0)),
+                (g = i.low = g + R),
+                (i.high = v + C + (g >>> 0 < R >>> 0 ? 1 : 0)),
+                (_ = o.low = _ + D),
+                (o.high = y + L + (_ >>> 0 < D >>> 0 ? 1 : 0)),
+                (w = a.low = w + N),
+                (a.high = m + B + (w >>> 0 < N >>> 0 ? 1 : 0)),
+                (b = u.low = b + j),
+                (u.high = k + U + (b >>> 0 < j >>> 0 ? 1 : 0)),
+                (S = f.low = S + $),
+                (f.high = x + M + (S >>> 0 < $ >>> 0 ? 1 : 0)),
+                (I = l.low = I + H),
+                (l.high = A + F + (I >>> 0 < H >>> 0 ? 1 : 0)),
+                (P = h.low = P + z),
+                (h.high = O + q + (P >>> 0 < z >>> 0 ? 1 : 0));
+            },
+            _doFinalize: function () {
+              var e = this._data,
+                t = e.words,
+                n = 8 * this._nDataBytes,
+                r = 8 * e.sigBytes;
+              return (
+                (t[r >>> 5] |= 128 << (24 - (r % 32))),
+                (t[30 + (((r + 128) >>> 10) << 5)] = Math.floor(
+                  n / 4294967296
+                )),
+                (t[31 + (((r + 128) >>> 10) << 5)] = n),
+                (e.sigBytes = 4 * t.length),
+                this._process(),
+                this._hash.toX32()
+              );
+            },
+            clone: function () {
+              var e = n.clone.call(this);
+              return (e._hash = this._hash.clone()), e;
+            },
+            blockSize: 32,
+          }));
+          (t.SHA512 = n._createHelper(f)),
+            (t.HmacSHA512 = n._createHmacHelper(f));
+        })(),
+        e.SHA512))),
+    Gu
+  );
+  var e;
+}
+var Qu,
+  Zu,
+  es = {},
+  ts = {
+    get exports() {
+      return es;
+    },
+    set exports(e) {
+      es = e;
+    },
+  },
+  ns = {},
+  rs = {
+    get exports() {
+      return ns;
+    },
+    set exports(e) {
+      ns = e;
+    },
+  };
+var is,
+  os,
+  as = {},
+  us = {
+    get exports() {
+      return as;
+    },
+    set exports(e) {
+      as = e;
+    },
+  },
+  ss = {},
+  cs = {
+    get exports() {
+      return ss;
+    },
+    set exports(e) {
+      ss = e;
+    },
+  };
+function fs() {
+  return (
+    os ||
+      ((os = 1),
+      (cs.exports =
+        ((t = (e = vu()).lib.Base),
+        (n = e.enc.Utf8),
+        void (e.algo.HMAC = t.extend({
+          init: function (e, t) {
+            (e = this._hasher = new e.init()),
+              "string" == typeof t && (t = n.parse(t));
+            var r = e.blockSize,
+              i = 4 * r;
+            t.sigBytes > i && (t = e.finalize(t)), t.clamp();
+            for (
+              var o = (this._oKey = t.clone()),
+                a = (this._iKey = t.clone()),
+                u = o.words,
+                s = a.words,
+                c = 0;
+              c < r;
+              c++
+            )
+              (u[c] ^= 1549556828), (s[c] ^= 909522486);
+            (o.sigBytes = a.sigBytes = i), this.reset();
+          },
+          reset: function () {
+            var e = this._hasher;
+            e.reset(), e.update(this._iKey);
+          },
+          update: function (e) {
+            return this._hasher.update(e), this;
+          },
+          finalize: function (e) {
+            var t = this._hasher,
+              n = t.finalize(e);
+            return t.reset(), t.finalize(this._oKey.clone().concat(n));
+          },
+        }))))),
+    ss
+  );
+  var e, t, n;
+}
+var ls,
+  hs,
+  ps = {},
+  ds = {
+    get exports() {
+      return ps;
+    },
+    set exports(e) {
+      ps = e;
+    },
+  },
+  vs = {},
+  gs = {
+    get exports() {
+      return vs;
+    },
+    set exports(e) {
+      vs = e;
+    },
+  };
+function ys() {
+  return (
+    hs ||
+      ((hs = 1),
+      (gs.exports =
+        ((u = vu()),
+        $u(),
+        fs(),
+        (n = (t = (e = u).lib).Base),
+        (r = t.WordArray),
+        (o = (i = e.algo).MD5),
+        (a = i.EvpKDF =
+          n.extend({
+            cfg: n.extend({ keySize: 4, hasher: o, iterations: 1 }),
+            init: function (e) {
+              this.cfg = this.cfg.extend(e);
+            },
+            compute: function (e, t) {
+              for (
+                var n,
+                  i = this.cfg,
+                  o = i.hasher.create(),
+                  a = r.create(),
+                  u = a.words,
+                  s = i.keySize,
+                  c = i.iterations;
+                u.length < s;
+
+              ) {
+                n && o.update(n), (n = o.update(e).finalize(t)), o.reset();
+                for (var f = 1; f < c; f++) (n = o.finalize(n)), o.reset();
+                a.concat(n);
+              }
+              return (a.sigBytes = 4 * s), a;
+            },
+          })),
+        (e.EvpKDF = function (e, t, n) {
+          return a.create(n).compute(e, t);
+        }),
+        u.EvpKDF))),
+    vs
+  );
+  var e, t, n, r, i, o, a, u;
+}
+var _s,
+  ms = {},
+  ws = {
+    get exports() {
+      return ms;
+    },
+    set exports(e) {
+      ms = e;
+    },
+  };
+function ks() {
+  return (
+    _s ||
+      ((_s = 1),
+      (ws.exports =
+        ((e = vu()),
+        ys(),
+        void (
+          e.lib.Cipher ||
+          (function (t) {
+            var n = e,
+              r = n.lib,
+              i = r.Base,
+              o = r.WordArray,
+              a = r.BufferedBlockAlgorithm,
+              u = n.enc;
+            u.Utf8;
+            var s = u.Base64,
+              c = n.algo.EvpKDF,
+              f = (r.Cipher = a.extend({
+                cfg: i.extend(),
+                createEncryptor: function (e, t) {
+                  return this.create(this._ENC_XFORM_MODE, e, t);
+                },
+                createDecryptor: function (e, t) {
+                  return this.create(this._DEC_XFORM_MODE, e, t);
+                },
+                init: function (e, t, n) {
+                  (this.cfg = this.cfg.extend(n)),
+                    (this._xformMode = e),
+                    (this._key = t),
+                    this.reset();
+                },
+                reset: function () {
+                  a.reset.call(this), this._doReset();
+                },
+                process: function (e) {
+                  return this._append(e), this._process();
+                },
+                finalize: function (e) {
+                  return e && this._append(e), this._doFinalize();
+                },
+                keySize: 4,
+                ivSize: 4,
+                _ENC_XFORM_MODE: 1,
+                _DEC_XFORM_MODE: 2,
+                _createHelper: (function () {
+                  function e(e) {
+                    return "string" == typeof e ? m : y;
+                  }
+                  return function (t) {
+                    return {
+                      encrypt: function (n, r, i) {
+                        return e(r).encrypt(t, n, r, i);
+                      },
+                      decrypt: function (n, r, i) {
+                        return e(r).decrypt(t, n, r, i);
+                      },
+                    };
+                  };
+                })(),
+              }));
+            r.StreamCipher = f.extend({
+              _doFinalize: function () {
+                return this._process(!0);
+              },
+              blockSize: 1,
+            });
+            var l = (n.mode = {}),
+              h = (r.BlockCipherMode = i.extend({
+                createEncryptor: function (e, t) {
+                  return this.Encryptor.create(e, t);
+                },
+                createDecryptor: function (e, t) {
+                  return this.Decryptor.create(e, t);
+                },
+                init: function (e, t) {
+                  (this._cipher = e), (this._iv = t);
+                },
+              })),
+              p = (l.CBC = (function () {
+                var e = h.extend();
+                function t(e, t, n) {
+                  var r,
+                    i = this._iv;
+                  i ? ((r = i), (this._iv = void 0)) : (r = this._prevBlock);
+                  for (var o = 0; o < n; o++) e[t + o] ^= r[o];
+                }
+                return (
+                  (e.Encryptor = e.extend({
+                    processBlock: function (e, n) {
+                      var r = this._cipher,
+                        i = r.blockSize;
+                      t.call(this, e, n, i),
+                        r.encryptBlock(e, n),
+                        (this._prevBlock = e.slice(n, n + i));
+                    },
+                  })),
+                  (e.Decryptor = e.extend({
+                    processBlock: function (e, n) {
+                      var r = this._cipher,
+                        i = r.blockSize,
+                        o = e.slice(n, n + i);
+                      r.decryptBlock(e, n),
+                        t.call(this, e, n, i),
+                        (this._prevBlock = o);
+                    },
+                  })),
+                  e
+                );
+              })()),
+              d = ((n.pad = {}).Pkcs7 = {
+                pad: function (e, t) {
+                  for (
+                    var n = 4 * t,
+                      r = n - (e.sigBytes % n),
+                      i = (r << 24) | (r << 16) | (r << 8) | r,
+                      a = [],
+                      u = 0;
+                    u < r;
+                    u += 4
+                  )
+                    a.push(i);
+                  var s = o.create(a, r);
+                  e.concat(s);
+                },
+                unpad: function (e) {
+                  var t = 255 & e.words[(e.sigBytes - 1) >>> 2];
+                  e.sigBytes -= t;
+                },
+              });
+            r.BlockCipher = f.extend({
+              cfg: f.cfg.extend({ mode: p, padding: d }),
+              reset: function () {
+                var e;
+                f.reset.call(this);
+                var t = this.cfg,
+                  n = t.iv,
+                  r = t.mode;
+                this._xformMode == this._ENC_XFORM_MODE
+                  ? (e = r.createEncryptor)
+                  : ((e = r.createDecryptor), (this._minBufferSize = 1)),
+                  this._mode && this._mode.__creator == e
+                    ? this._mode.init(this, n && n.words)
+                    : ((this._mode = e.call(r, this, n && n.words)),
+                      (this._mode.__creator = e));
+              },
+              _doProcessBlock: function (e, t) {
+                this._mode.processBlock(e, t);
+              },
+              _doFinalize: function () {
+                var e,
+                  t = this.cfg.padding;
+                return (
+                  this._xformMode == this._ENC_XFORM_MODE
+                    ? (t.pad(this._data, this.blockSize),
+                      (e = this._process(!0)))
+                    : ((e = this._process(!0)), t.unpad(e)),
+                  e
+                );
+              },
+              blockSize: 4,
+            });
+            var v = (r.CipherParams = i.extend({
+                init: function (e) {
+                  this.mixIn(e);
+                },
+                toString: function (e) {
+                  return (e || this.formatter).stringify(this);
+                },
+              })),
+              g = ((n.format = {}).OpenSSL = {
+                stringify: function (e) {
+                  var t = e.ciphertext,
+                    n = e.salt;
+                  return (
+                    n
+                      ? o.create([1398893684, 1701076831]).concat(n).concat(t)
+                      : t
+                  ).toString(s);
+                },
+                parse: function (e) {
+                  var t,
+                    n = s.parse(e),
+                    r = n.words;
+                  return (
+                    1398893684 == r[0] &&
+                      1701076831 == r[1] &&
+                      ((t = o.create(r.slice(2, 4))),
+                      r.splice(0, 4),
+                      (n.sigBytes -= 16)),
+                    v.create({ ciphertext: n, salt: t })
+                  );
+                },
+              }),
+              y = (r.SerializableCipher = i.extend({
+                cfg: i.extend({ format: g }),
+                encrypt: function (e, t, n, r) {
+                  r = this.cfg.extend(r);
+                  var i = e.createEncryptor(n, r),
+                    o = i.finalize(t),
+                    a = i.cfg;
+                  return v.create({
+                    ciphertext: o,
+                    key: n,
+                    iv: a.iv,
+                    algorithm: e,
+                    mode: a.mode,
+                    padding: a.padding,
+                    blockSize: e.blockSize,
+                    formatter: r.format,
+                  });
+                },
+                decrypt: function (e, t, n, r) {
+                  return (
+                    (r = this.cfg.extend(r)),
+                    (t = this._parse(t, r.format)),
+                    e.createDecryptor(n, r).finalize(t.ciphertext)
+                  );
+                },
+                _parse: function (e, t) {
+                  return "string" == typeof e ? t.parse(e, this) : e;
+                },
+              })),
+              _ = ((n.kdf = {}).OpenSSL = {
+                execute: function (e, t, n, r) {
+                  r || (r = o.random(8));
+                  var i = c.create({ keySize: t + n }).compute(e, r),
+                    a = o.create(i.words.slice(t), 4 * n);
+                  return (
+                    (i.sigBytes = 4 * t), v.create({ key: i, iv: a, salt: r })
+                  );
+                },
+              }),
+              m = (r.PasswordBasedCipher = y.extend({
+                cfg: y.cfg.extend({ kdf: _ }),
+                encrypt: function (e, t, n, r) {
+                  var i = (r = this.cfg.extend(r)).kdf.execute(
+                    n,
+                    e.keySize,
+                    e.ivSize
+                  );
+                  r.iv = i.iv;
+                  var o = y.encrypt.call(this, e, t, i.key, r);
+                  return o.mixIn(i), o;
+                },
+                decrypt: function (e, t, n, r) {
+                  (r = this.cfg.extend(r)), (t = this._parse(t, r.format));
+                  var i = r.kdf.execute(n, e.keySize, e.ivSize, t.salt);
+                  return (r.iv = i.iv), y.decrypt.call(this, e, t, i.key, r);
+                },
+              }));
+          })()
+        )))),
+    ms
+  );
+  var e;
+}
+var bs,
+  xs,
+  Ss,
+  As = {},
+  Is = {
+    get exports() {
+      return As;
+    },
+    set exports(e) {
+      As = e;
+    },
+  },
+  Os = {},
+  Ps = {
+    get exports() {
+      return Os;
+    },
+    set exports(e) {
+      Os = e;
+    },
+  },
+  Ts = {},
+  Es = {
+    get exports() {
+      return Ts;
+    },
+    set exports(e) {
+      Ts = e;
+    },
+  };
+var Cs,
+  Rs,
+  Ls,
+  Ds,
+  Bs,
+  Ns,
+  Us,
+  js,
+  Ms,
+  $s,
+  Fs = {},
+  Hs = {
+    get exports() {
+      return Fs;
+    },
+    set exports(e) {
+      Fs = e;
+    },
+  },
+  qs = {},
+  zs = {
+    get exports() {
+      return qs;
+    },
+    set exports(e) {
+      qs = e;
+    },
+  },
+  Ws = {},
+  Vs = {
+    get exports() {
+      return Ws;
+    },
+    set exports(e) {
+      Ws = e;
+    },
+  },
+  Ks = {},
+  Js = {
+    get exports() {
+      return Ks;
+    },
+    set exports(e) {
+      Ks = e;
+    },
+  },
+  Gs = {},
+  Ys = {
+    get exports() {
+      return Gs;
+    },
+    set exports(e) {
+      Gs = e;
+    },
+  },
+  Xs = {},
+  Qs = {
+    get exports() {
+      return Xs;
+    },
+    set exports(e) {
+      Xs = e;
+    },
+  },
+  Zs = {},
+  ec = {
+    get exports() {
+      return Zs;
+    },
+    set exports(e) {
+      Zs = e;
+    },
+  },
+  tc = {},
+  nc = {
+    get exports() {
+      return tc;
+    },
+    set exports(e) {
+      tc = e;
+    },
+  },
+  rc = {},
+  ic = {
+    get exports() {
+      return rc;
+    },
+    set exports(e) {
+      rc = e;
+    },
+  },
+  oc = {},
+  ac = {
+    get exports() {
+      return oc;
+    },
+    set exports(e) {
+      oc = e;
+    },
+  };
+var uc,
+  sc,
+  cc,
+  fc,
+  lc,
+  hc,
+  pc,
+  dc,
+  vc,
+  gc = {},
+  yc = {
+    get exports() {
+      return gc;
+    },
+    set exports(e) {
+      gc = e;
+    },
+  },
+  _c = {},
+  mc = {
+    get exports() {
+      return _c;
+    },
+    set exports(e) {
+      _c = e;
+    },
+  },
+  wc = {},
+  kc = {
+    get exports() {
+      return wc;
+    },
+    set exports(e) {
+      wc = e;
+    },
+  };
+lu.exports = (function (e) {
+  return e;
+})(
+  vu(),
+  mu(),
+  (function () {
+    return (
+      wu ||
+        ((wu = 1),
+        (bu.exports =
+          ((e = vu()),
+          (function () {
+            if ("function" == typeof ArrayBuffer) {
+              var t = e.lib.WordArray,
+                n = t.init;
+              (t.init = function (e) {
+                if (
+                  (e instanceof ArrayBuffer && (e = new Uint8Array(e)),
+                  (e instanceof Int8Array ||
+                    ("undefined" != typeof Uint8ClampedArray &&
+                      e instanceof Uint8ClampedArray) ||
+                    e instanceof Int16Array ||
+                    e instanceof Uint16Array ||
+                    e instanceof Int32Array ||
+                    e instanceof Uint32Array ||
+                    e instanceof Float32Array ||
+                    e instanceof Float64Array) &&
+                    (e = new Uint8Array(e.buffer, e.byteOffset, e.byteLength)),
+                  e instanceof Uint8Array)
+                ) {
+                  for (var t = e.byteLength, r = [], i = 0; i < t; i++)
+                    r[i >>> 2] |= e[i] << (24 - (i % 4) * 8);
+                  n.call(this, r, t);
+                } else n.apply(this, arguments);
+              }).prototype = t;
+            }
+          })(),
+          e.lib.WordArray))),
+      ku
+    );
+    var e;
+  })(),
+  (function () {
+    return (
+      xu ||
+        ((xu = 1),
+        (Au.exports =
+          ((e = vu()),
+          (function () {
+            var t = e,
+              n = t.lib.WordArray,
+              r = t.enc;
+            function i(e) {
+              return ((e << 8) & 4278255360) | ((e >>> 8) & 16711935);
+            }
+            (r.Utf16 = r.Utf16BE =
+              {
+                stringify: function (e) {
+                  for (
+                    var t = e.words, n = e.sigBytes, r = [], i = 0;
+                    i < n;
+                    i += 2
+                  ) {
+                    var o = (t[i >>> 2] >>> (16 - (i % 4) * 8)) & 65535;
+                    r.push(String.fromCharCode(o));
+                  }
+                  return r.join("");
+                },
+                parse: function (e) {
+                  for (var t = e.length, r = [], i = 0; i < t; i++)
+                    r[i >>> 1] |= e.charCodeAt(i) << (16 - (i % 2) * 16);
+                  return n.create(r, 2 * t);
+                },
+              }),
+              (r.Utf16LE = {
+                stringify: function (e) {
+                  for (
+                    var t = e.words, n = e.sigBytes, r = [], o = 0;
+                    o < n;
+                    o += 2
+                  ) {
+                    var a = i((t[o >>> 2] >>> (16 - (o % 4) * 8)) & 65535);
+                    r.push(String.fromCharCode(a));
+                  }
+                  return r.join("");
+                },
+                parse: function (e) {
+                  for (var t = e.length, r = [], o = 0; o < t; o++)
+                    r[o >>> 1] |= i(e.charCodeAt(o) << (16 - (o % 2) * 16));
+                  return n.create(r, 2 * t);
+                },
+              });
+          })(),
+          e.enc.Utf16))),
+      Su
+    );
+    var e;
+  })(),
+  Tu(),
+  (function () {
+    return (
+      Eu ||
+        ((Eu = 1),
+        (Ru.exports =
+          ((e = vu()),
+          (function () {
+            var t = e,
+              n = t.lib.WordArray;
+            function r(e, t, r) {
+              for (var i = [], o = 0, a = 0; a < t; a++)
+                if (a % 4) {
+                  var u =
+                    (r[e.charCodeAt(a - 1)] << ((a % 4) * 2)) |
+                    (r[e.charCodeAt(a)] >>> (6 - (a % 4) * 2));
+                  (i[o >>> 2] |= u << (24 - (o % 4) * 8)), o++;
+                }
+              return n.create(i, o);
+            }
+            t.enc.Base64url = {
+              stringify: function (e) {
+                var t =
+                    !(arguments.length > 1 && void 0 !== arguments[1]) ||
+                    arguments[1],
+                  n = e.words,
+                  r = e.sigBytes,
+                  i = t ? this._safe_map : this._map;
+                e.clamp();
+                for (var o = [], a = 0; a < r; a += 3)
+                  for (
+                    var u =
+                        (((n[a >>> 2] >>> (24 - (a % 4) * 8)) & 255) << 16) |
+                        (((n[(a + 1) >>> 2] >>> (24 - ((a + 1) % 4) * 8)) &
+                          255) <<
+                          8) |
+                        ((n[(a + 2) >>> 2] >>> (24 - ((a + 2) % 4) * 8)) & 255),
+                      s = 0;
+                    s < 4 && a + 0.75 * s < r;
+                    s++
+                  )
+                    o.push(i.charAt((u >>> (6 * (3 - s))) & 63));
+                var c = i.charAt(64);
+                if (c) for (; o.length % 4; ) o.push(c);
+                return o.join("");
+              },
+              parse: function (e) {
+                var t =
+                    !(arguments.length > 1 && void 0 !== arguments[1]) ||
+                    arguments[1],
+                  n = e.length,
+                  i = t ? this._safe_map : this._map,
+                  o = this._reverseMap;
+                if (!o) {
+                  o = this._reverseMap = [];
+                  for (var a = 0; a < i.length; a++) o[i.charCodeAt(a)] = a;
+                }
+                var u = i.charAt(64);
+                if (u) {
+                  var s = e.indexOf(u);
+                  -1 !== s && (n = s);
+                }
+                return r(e, n, o);
+              },
+              _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
+              _safe_map:
+                "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",
+            };
+          })(),
+          e.enc.Base64url))),
+      Cu
+    );
+    var e;
+  })(),
+  Nu(),
+  $u(),
+  zu(),
+  Wu ||
+    ((Wu = 1),
+    (Ju.exports =
+      ((vc = vu()),
+      zu(),
+      (lc = (fc = vc).lib.WordArray),
+      (hc = fc.algo),
+      (pc = hc.SHA256),
+      (dc = hc.SHA224 =
+        pc.extend({
+          _doReset: function () {
+            this._hash = new lc.init([
+              3238371032, 914150663, 812702999, 4144912697, 4290775857,
+              1750603025, 1694076839, 3204075428,
+            ]);
+          },
+          _doFinalize: function () {
+            var e = pc._doFinalize.call(this);
+            return (e.sigBytes -= 4), e;
+          },
+        })),
+      (fc.SHA224 = pc._createHelper(dc)),
+      (fc.HmacSHA224 = pc._createHmacHelper(dc)),
+      vc.SHA224))),
+  Xu(),
+  (function () {
+    return (
+      Qu ||
+        ((Qu = 1),
+        (ts.exports =
+          ((u = vu()),
+          mu(),
+          Xu(),
+          (t = (e = u).x64),
+          (n = t.Word),
+          (r = t.WordArray),
+          (i = e.algo),
+          (o = i.SHA512),
+          (a = i.SHA384 =
+            o.extend({
+              _doReset: function () {
+                this._hash = new r.init([
+                  new n.init(3418070365, 3238371032),
+                  new n.init(1654270250, 914150663),
+                  new n.init(2438529370, 812702999),
+                  new n.init(355462360, 4144912697),
+                  new n.init(1731405415, 4290775857),
+                  new n.init(2394180231, 1750603025),
+                  new n.init(3675008525, 1694076839),
+                  new n.init(1203062813, 3204075428),
+                ]);
+              },
+              _doFinalize: function () {
+                var e = o._doFinalize.call(this);
+                return (e.sigBytes -= 16), e;
+              },
+            })),
+          (e.SHA384 = o._createHelper(a)),
+          (e.HmacSHA384 = o._createHmacHelper(a)),
+          u.SHA384))),
+      es
+    );
+    var e, t, n, r, i, o, a, u;
+  })(),
+  (function () {
+    return (
+      Zu ||
+        ((Zu = 1),
+        (rs.exports =
+          ((e = vu()),
+          mu(),
+          (function (t) {
+            var n = e,
+              r = n.lib,
+              i = r.WordArray,
+              o = r.Hasher,
+              a = n.x64.Word,
+              u = n.algo,
+              s = [],
+              c = [],
+              f = [];
+            !(function () {
+              for (var e = 1, t = 0, n = 0; n < 24; n++) {
+                s[e + 5 * t] = (((n + 1) * (n + 2)) / 2) % 64;
+                var r = (2 * e + 3 * t) % 5;
+                (e = t % 5), (t = r);
+              }
+              for (e = 0; e < 5; e++)
+                for (t = 0; t < 5; t++)
+                  c[e + 5 * t] = t + ((2 * e + 3 * t) % 5) * 5;
+              for (var i = 1, o = 0; o < 24; o++) {
+                for (var u = 0, l = 0, h = 0; h < 7; h++) {
+                  if (1 & i) {
+                    var p = (1 << h) - 1;
+                    p < 32 ? (l ^= 1 << p) : (u ^= 1 << (p - 32));
+                  }
+                  128 & i ? (i = (i << 1) ^ 113) : (i <<= 1);
+                }
+                f[o] = a.create(u, l);
+              }
+            })();
+            var l = [];
+            !(function () {
+              for (var e = 0; e < 25; e++) l[e] = a.create();
+            })();
+            var h = (u.SHA3 = o.extend({
+              cfg: o.cfg.extend({ outputLength: 512 }),
+              _doReset: function () {
+                for (var e = (this._state = []), t = 0; t < 25; t++)
+                  e[t] = new a.init();
+                this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32;
+              },
+              _doProcessBlock: function (e, t) {
+                for (
+                  var n = this._state, r = this.blockSize / 2, i = 0;
+                  i < r;
+                  i++
+                ) {
+                  var o = e[t + 2 * i],
+                    a = e[t + 2 * i + 1];
+                  (o =
+                    (16711935 & ((o << 8) | (o >>> 24))) |
+                    (4278255360 & ((o << 24) | (o >>> 8)))),
+                    (a =
+                      (16711935 & ((a << 8) | (a >>> 24))) |
+                      (4278255360 & ((a << 24) | (a >>> 8)))),
+                    ((P = n[i]).high ^= a),
+                    (P.low ^= o);
+                }
+                for (var u = 0; u < 24; u++) {
+                  for (var h = 0; h < 5; h++) {
+                    for (var p = 0, d = 0, v = 0; v < 5; v++)
+                      (p ^= (P = n[h + 5 * v]).high), (d ^= P.low);
+                    var g = l[h];
+                    (g.high = p), (g.low = d);
+                  }
+                  for (h = 0; h < 5; h++) {
+                    var y = l[(h + 4) % 5],
+                      _ = l[(h + 1) % 5],
+                      m = _.high,
+                      w = _.low;
+                    for (
+                      p = y.high ^ ((m << 1) | (w >>> 31)),
+                        d = y.low ^ ((w << 1) | (m >>> 31)),
+                        v = 0;
+                      v < 5;
+                      v++
+                    )
+                      ((P = n[h + 5 * v]).high ^= p), (P.low ^= d);
+                  }
+                  for (var k = 1; k < 25; k++) {
+                    var b = (P = n[k]).high,
+                      x = P.low,
+                      S = s[k];
+                    S < 32
+                      ? ((p = (b << S) | (x >>> (32 - S))),
+                        (d = (x << S) | (b >>> (32 - S))))
+                      : ((p = (x << (S - 32)) | (b >>> (64 - S))),
+                        (d = (b << (S - 32)) | (x >>> (64 - S))));
+                    var A = l[c[k]];
+                    (A.high = p), (A.low = d);
+                  }
+                  var I = l[0],
+                    O = n[0];
+                  for (I.high = O.high, I.low = O.low, h = 0; h < 5; h++)
+                    for (v = 0; v < 5; v++) {
+                      var P = n[(k = h + 5 * v)],
+                        T = l[k],
+                        E = l[((h + 1) % 5) + 5 * v],
+                        C = l[((h + 2) % 5) + 5 * v];
+                      (P.high = T.high ^ (~E.high & C.high)),
+                        (P.low = T.low ^ (~E.low & C.low));
+                    }
+                  P = n[0];
+                  var R = f[u];
+                  (P.high ^= R.high), (P.low ^= R.low);
+                }
+              },
+              _doFinalize: function () {
+                var e = this._data,
+                  n = e.words;
+                this._nDataBytes;
+                var r = 8 * e.sigBytes,
+                  o = 32 * this.blockSize;
+                (n[r >>> 5] |= 1 << (24 - (r % 32))),
+                  (n[((t.ceil((r + 1) / o) * o) >>> 5) - 1] |= 128),
+                  (e.sigBytes = 4 * n.length),
+                  this._process();
+                for (
+                  var a = this._state,
+                    u = this.cfg.outputLength / 8,
+                    s = u / 8,
+                    c = [],
+                    f = 0;
+                  f < s;
+                  f++
+                ) {
+                  var l = a[f],
+                    h = l.high,
+                    p = l.low;
+                  (h =
+                    (16711935 & ((h << 8) | (h >>> 24))) |
+                    (4278255360 & ((h << 24) | (h >>> 8)))),
+                    (p =
+                      (16711935 & ((p << 8) | (p >>> 24))) |
+                      (4278255360 & ((p << 24) | (p >>> 8)))),
+                    c.push(p),
+                    c.push(h);
+                }
+                return new i.init(c, u);
+              },
+              clone: function () {
+                for (
+                  var e = o.clone.call(this),
+                    t = (e._state = this._state.slice(0)),
+                    n = 0;
+                  n < 25;
+                  n++
+                )
+                  t[n] = t[n].clone();
+                return e;
+              },
+            }));
+            (n.SHA3 = o._createHelper(h)),
+              (n.HmacSHA3 = o._createHmacHelper(h));
+          })(Math),
+          e.SHA3))),
+      ns
+    );
+    var e;
+  })(),
+  (function () {
+    return (
+      is ||
+        ((is = 1),
+        (us.exports =
+          ((e = vu()),
+          (function (t) {
+            var n = e,
+              r = n.lib,
+              i = r.WordArray,
+              o = r.Hasher,
+              a = n.algo,
+              u = i.create([
+                0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13,
+                1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15,
+                8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13,
+                3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8,
+                11, 6, 15, 13,
+              ]),
+              s = i.create([
+                5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3,
+                7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14,
+                6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5,
+                12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13,
+                14, 0, 3, 9, 11,
+              ]),
+              c = i.create([
+                11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8,
+                13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14,
+                9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9,
+                8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12,
+                13, 14, 11, 8, 5, 6,
+              ]),
+              f = i.create([
+                8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13,
+                15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11,
+                8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14,
+                6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8,
+                13, 6, 5, 15, 13, 11, 11,
+              ]),
+              l = i.create([0, 1518500249, 1859775393, 2400959708, 2840853838]),
+              h = i.create([1352829926, 1548603684, 1836072691, 2053994217, 0]),
+              p = (a.RIPEMD160 = o.extend({
+                _doReset: function () {
+                  this._hash = i.create([
+                    1732584193, 4023233417, 2562383102, 271733878, 3285377520,
+                  ]);
+                },
+                _doProcessBlock: function (e, t) {
+                  for (var n = 0; n < 16; n++) {
+                    var r = t + n,
+                      i = e[r];
+                    e[r] =
+                      (16711935 & ((i << 8) | (i >>> 24))) |
+                      (4278255360 & ((i << 24) | (i >>> 8)));
+                  }
+                  var o,
+                    a,
+                    p,
+                    w,
+                    k,
+                    b,
+                    x,
+                    S,
+                    A,
+                    I,
+                    O,
+                    P = this._hash.words,
+                    T = l.words,
+                    E = h.words,
+                    C = u.words,
+                    R = s.words,
+                    L = c.words,
+                    D = f.words;
+                  for (
+                    b = o = P[0],
+                      x = a = P[1],
+                      S = p = P[2],
+                      A = w = P[3],
+                      I = k = P[4],
+                      n = 0;
+                    n < 80;
+                    n += 1
+                  )
+                    (O = (o + e[t + C[n]]) | 0),
+                      (O +=
+                        n < 16
+                          ? d(a, p, w) + T[0]
+                          : n < 32
+                          ? v(a, p, w) + T[1]
+                          : n < 48
+                          ? g(a, p, w) + T[2]
+                          : n < 64
+                          ? y(a, p, w) + T[3]
+                          : _(a, p, w) + T[4]),
+                      (O = ((O = m((O |= 0), L[n])) + k) | 0),
+                      (o = k),
+                      (k = w),
+                      (w = m(p, 10)),
+                      (p = a),
+                      (a = O),
+                      (O = (b + e[t + R[n]]) | 0),
+                      (O +=
+                        n < 16
+                          ? _(x, S, A) + E[0]
+                          : n < 32
+                          ? y(x, S, A) + E[1]
+                          : n < 48
+                          ? g(x, S, A) + E[2]
+                          : n < 64
+                          ? v(x, S, A) + E[3]
+                          : d(x, S, A) + E[4]),
+                      (O = ((O = m((O |= 0), D[n])) + I) | 0),
+                      (b = I),
+                      (I = A),
+                      (A = m(S, 10)),
+                      (S = x),
+                      (x = O);
+                  (O = (P[1] + p + A) | 0),
+                    (P[1] = (P[2] + w + I) | 0),
+                    (P[2] = (P[3] + k + b) | 0),
+                    (P[3] = (P[4] + o + x) | 0),
+                    (P[4] = (P[0] + a + S) | 0),
+                    (P[0] = O);
+                },
+                _doFinalize: function () {
+                  var e = this._data,
+                    t = e.words,
+                    n = 8 * this._nDataBytes,
+                    r = 8 * e.sigBytes;
+                  (t[r >>> 5] |= 128 << (24 - (r % 32))),
+                    (t[14 + (((r + 64) >>> 9) << 4)] =
+                      (16711935 & ((n << 8) | (n >>> 24))) |
+                      (4278255360 & ((n << 24) | (n >>> 8)))),
+                    (e.sigBytes = 4 * (t.length + 1)),
+                    this._process();
+                  for (var i = this._hash, o = i.words, a = 0; a < 5; a++) {
+                    var u = o[a];
+                    o[a] =
+                      (16711935 & ((u << 8) | (u >>> 24))) |
+                      (4278255360 & ((u << 24) | (u >>> 8)));
+                  }
+                  return i;
+                },
+                clone: function () {
+                  var e = o.clone.call(this);
+                  return (e._hash = this._hash.clone()), e;
+                },
+              }));
+            function d(e, t, n) {
+              return e ^ t ^ n;
+            }
+            function v(e, t, n) {
+              return (e & t) | (~e & n);
+            }
+            function g(e, t, n) {
+              return (e | ~t) ^ n;
+            }
+            function y(e, t, n) {
+              return (e & n) | (t & ~n);
+            }
+            function _(e, t, n) {
+              return e ^ (t | ~n);
+            }
+            function m(e, t) {
+              return (e << t) | (e >>> (32 - t));
+            }
+            (n.RIPEMD160 = o._createHelper(p)),
+              (n.HmacRIPEMD160 = o._createHmacHelper(p));
+          })(),
+          e.RIPEMD160))),
+      as
+    );
+    var e;
+  })(),
+  fs(),
+  (function () {
+    return (
+      ls ||
+        ((ls = 1),
+        (ds.exports =
+          ((s = vu()),
+          $u(),
+          fs(),
+          (n = (t = (e = s).lib).Base),
+          (r = t.WordArray),
+          (o = (i = e.algo).SHA1),
+          (a = i.HMAC),
+          (u = i.PBKDF2 =
+            n.extend({
+              cfg: n.extend({ keySize: 4, hasher: o, iterations: 1 }),
+              init: function (e) {
+                this.cfg = this.cfg.extend(e);
+              },
+              compute: function (e, t) {
+                for (
+                  var n = this.cfg,
+                    i = a.create(n.hasher, e),
+                    o = r.create(),
+                    u = r.create([1]),
+                    s = o.words,
+                    c = u.words,
+                    f = n.keySize,
+                    l = n.iterations;
+                  s.length < f;
+
+                ) {
+                  var h = i.update(t).finalize(u);
+                  i.reset();
+                  for (
+                    var p = h.words, d = p.length, v = h, g = 1;
+                    g < l;
+                    g++
+                  ) {
+                    (v = i.finalize(v)), i.reset();
+                    for (var y = v.words, _ = 0; _ < d; _++) p[_] ^= y[_];
+                  }
+                  o.concat(h), c[0]++;
+                }
+                return (o.sigBytes = 4 * f), o;
+              },
+            })),
+          (e.PBKDF2 = function (e, t, n) {
+            return u.create(n).compute(e, t);
+          }),
+          s.PBKDF2))),
+      ps
+    );
+    var e, t, n, r, i, o, a, u, s;
+  })(),
+  ys(),
+  ks(),
+  (function () {
+    return (
+      bs ||
+        ((bs = 1),
+        (Is.exports =
+          ((e = vu()),
+          ks(),
+          (e.mode.CFB = (function () {
+            var t = e.lib.BlockCipherMode.extend();
+            function n(e, t, n, r) {
+              var i,
+                o = this._iv;
+              o
+                ? ((i = o.slice(0)), (this._iv = void 0))
+                : (i = this._prevBlock),
+                r.encryptBlock(i, 0);
+              for (var a = 0; a < n; a++) e[t + a] ^= i[a];
+            }
+            return (
+              (t.Encryptor = t.extend({
+                processBlock: function (e, t) {
+                  var r = this._cipher,
+                    i = r.blockSize;
+                  n.call(this, e, t, i, r),
+                    (this._prevBlock = e.slice(t, t + i));
+                },
+              })),
+              (t.Decryptor = t.extend({
+                processBlock: function (e, t) {
+                  var r = this._cipher,
+                    i = r.blockSize,
+                    o = e.slice(t, t + i);
+                  n.call(this, e, t, i, r), (this._prevBlock = o);
+                },
+              })),
+              t
+            );
+          })()),
+          e.mode.CFB))),
+      As
+    );
+    var e;
+  })(),
+  (function () {
+    return (
+      xs ||
+        ((xs = 1),
+        (Ps.exports =
+          ((n = vu()),
+          ks(),
+          (n.mode.CTR =
+            ((t = (e = n.lib.BlockCipherMode.extend()).Encryptor =
+              e.extend({
+                processBlock: function (e, t) {
+                  var n = this._cipher,
+                    r = n.blockSize,
+                    i = this._iv,
+                    o = this._counter;
+                  i && ((o = this._counter = i.slice(0)), (this._iv = void 0));
+                  var a = o.slice(0);
+                  n.encryptBlock(a, 0), (o[r - 1] = (o[r - 1] + 1) | 0);
+                  for (var u = 0; u < r; u++) e[t + u] ^= a[u];
+                },
+              })),
+            (e.Decryptor = t),
+            e)),
+          n.mode.CTR))),
+      Os
+    );
+    var e, t, n;
+  })(),
+  (function () {
+    return (
+      Ss ||
+        ((Ss = 1),
+        (Es.exports =
+          ((e = vu()),
+          ks(),
+          (e.mode.CTRGladman = (function () {
+            var t = e.lib.BlockCipherMode.extend();
+            function n(e) {
+              if (255 == ((e >> 24) & 255)) {
+                var t = (e >> 16) & 255,
+                  n = (e >> 8) & 255,
+                  r = 255 & e;
+                255 === t
+                  ? ((t = 0),
+                    255 === n ? ((n = 0), 255 === r ? (r = 0) : ++r) : ++n)
+                  : ++t,
+                  (e = 0),
+                  (e += t << 16),
+                  (e += n << 8),
+                  (e += r);
+              } else e += 1 << 24;
+              return e;
+            }
+            function r(e) {
+              return 0 === (e[0] = n(e[0])) && (e[1] = n(e[1])), e;
+            }
+            var i = (t.Encryptor = t.extend({
+              processBlock: function (e, t) {
+                var n = this._cipher,
+                  i = n.blockSize,
+                  o = this._iv,
+                  a = this._counter;
+                o && ((a = this._counter = o.slice(0)), (this._iv = void 0)),
+                  r(a);
+                var u = a.slice(0);
+                n.encryptBlock(u, 0);
+                for (var s = 0; s < i; s++) e[t + s] ^= u[s];
+              },
+            }));
+            return (t.Decryptor = i), t;
+          })()),
+          e.mode.CTRGladman))),
+      Ts
+    );
+    var e;
+  })(),
+  (function () {
+    return (
+      Cs ||
+        ((Cs = 1),
+        (Hs.exports =
+          ((n = vu()),
+          ks(),
+          (n.mode.OFB =
+            ((t = (e = n.lib.BlockCipherMode.extend()).Encryptor =
+              e.extend({
+                processBlock: function (e, t) {
+                  var n = this._cipher,
+                    r = n.blockSize,
+                    i = this._iv,
+                    o = this._keystream;
+                  i &&
+                    ((o = this._keystream = i.slice(0)), (this._iv = void 0)),
+                    n.encryptBlock(o, 0);
+                  for (var a = 0; a < r; a++) e[t + a] ^= o[a];
+                },
+              })),
+            (e.Decryptor = t),
+            e)),
+          n.mode.OFB))),
+      Fs
+    );
+    var e, t, n;
+  })(),
+  (function () {
+    return (
+      Rs ||
+        ((Rs = 1),
+        (zs.exports =
+          ((t = vu()),
+          ks(),
+          (t.mode.ECB =
+            (((e = t.lib.BlockCipherMode.extend()).Encryptor = e.extend({
+              processBlock: function (e, t) {
+                this._cipher.encryptBlock(e, t);
+              },
+            })),
+            (e.Decryptor = e.extend({
+              processBlock: function (e, t) {
+                this._cipher.decryptBlock(e, t);
+              },
+            })),
+            e)),
+          t.mode.ECB))),
+      qs
+    );
+    var e, t;
+  })(),
+  (function () {
+    return (
+      Ls ||
+        ((Ls = 1),
+        (Vs.exports =
+          ((e = vu()),
+          ks(),
+          (e.pad.AnsiX923 = {
+            pad: function (e, t) {
+              var n = e.sigBytes,
+                r = 4 * t,
+                i = r - (n % r),
+                o = n + i - 1;
+              e.clamp(),
+                (e.words[o >>> 2] |= i << (24 - (o % 4) * 8)),
+                (e.sigBytes += i);
+            },
+            unpad: function (e) {
+              var t = 255 & e.words[(e.sigBytes - 1) >>> 2];
+              e.sigBytes -= t;
+            },
+          }),
+          e.pad.Ansix923))),
+      Ws
+    );
+    var e;
+  })(),
+  (function () {
+    return (
+      Ds ||
+        ((Ds = 1),
+        (Js.exports =
+          ((e = vu()),
+          ks(),
+          (e.pad.Iso10126 = {
+            pad: function (t, n) {
+              var r = 4 * n,
+                i = r - (t.sigBytes % r);
+              t.concat(e.lib.WordArray.random(i - 1)).concat(
+                e.lib.WordArray.create([i << 24], 1)
+              );
+            },
+            unpad: function (e) {
+              var t = 255 & e.words[(e.sigBytes - 1) >>> 2];
+              e.sigBytes -= t;
+            },
+          }),
+          e.pad.Iso10126))),
+      Ks
+    );
+    var e;
+  })(),
+  (function () {
+    return (
+      Bs ||
+        ((Bs = 1),
+        (Ys.exports =
+          ((e = vu()),
+          ks(),
+          (e.pad.Iso97971 = {
+            pad: function (t, n) {
+              t.concat(e.lib.WordArray.create([2147483648], 1)),
+                e.pad.ZeroPadding.pad(t, n);
+            },
+            unpad: function (t) {
+              e.pad.ZeroPadding.unpad(t), t.sigBytes--;
+            },
+          }),
+          e.pad.Iso97971))),
+      Gs
+    );
+    var e;
+  })(),
+  (function () {
+    return (
+      Ns ||
+        ((Ns = 1),
+        (Qs.exports =
+          ((e = vu()),
+          ks(),
+          (e.pad.ZeroPadding = {
+            pad: function (e, t) {
+              var n = 4 * t;
+              e.clamp(), (e.sigBytes += n - (e.sigBytes % n || n));
+            },
+            unpad: function (e) {
+              var t = e.words,
+                n = e.sigBytes - 1;
+              for (n = e.sigBytes - 1; n >= 0; n--)
+                if ((t[n >>> 2] >>> (24 - (n % 4) * 8)) & 255) {
+                  e.sigBytes = n + 1;
+                  break;
+                }
+            },
+          }),
+          e.pad.ZeroPadding))),
+      Xs
+    );
+    var e;
+  })(),
+  (function () {
+    return (
+      Us ||
+        ((Us = 1),
+        (ec.exports =
+          ((e = vu()),
+          ks(),
+          (e.pad.NoPadding = { pad: function () {}, unpad: function () {} }),
+          e.pad.NoPadding))),
+      Zs
+    );
+    var e;
+  })(),
+  (function () {
+    return (
+      js ||
+        ((js = 1),
+        (nc.exports =
+          ((r = vu()),
+          ks(),
+          (t = (e = r).lib.CipherParams),
+          (n = e.enc.Hex),
+          (e.format.Hex = {
+            stringify: function (e) {
+              return e.ciphertext.toString(n);
+            },
+            parse: function (e) {
+              var r = n.parse(e);
+              return t.create({ ciphertext: r });
+            },
+          }),
+          r.format.Hex))),
+      tc
+    );
+    var e, t, n, r;
+  })(),
+  (function () {
+    return (
+      Ms ||
+        ((Ms = 1),
+        (ic.exports =
+          ((e = vu()),
+          Tu(),
+          Nu(),
+          ys(),
+          ks(),
+          (function () {
+            var t = e,
+              n = t.lib.BlockCipher,
+              r = t.algo,
+              i = [],
+              o = [],
+              a = [],
+              u = [],
+              s = [],
+              c = [],
+              f = [],
+              l = [],
+              h = [],
+              p = [];
+            !(function () {
+              for (var e = [], t = 0; t < 256; t++)
+                e[t] = t < 128 ? t << 1 : (t << 1) ^ 283;
+              var n = 0,
+                r = 0;
+              for (t = 0; t < 256; t++) {
+                var d = r ^ (r << 1) ^ (r << 2) ^ (r << 3) ^ (r << 4);
+                (d = (d >>> 8) ^ (255 & d) ^ 99), (i[n] = d), (o[d] = n);
+                var v = e[n],
+                  g = e[v],
+                  y = e[g],
+                  _ = (257 * e[d]) ^ (16843008 * d);
+                (a[n] = (_ << 24) | (_ >>> 8)),
+                  (u[n] = (_ << 16) | (_ >>> 16)),
+                  (s[n] = (_ << 8) | (_ >>> 24)),
+                  (c[n] = _),
+                  (_ =
+                    (16843009 * y) ^ (65537 * g) ^ (257 * v) ^ (16843008 * n)),
+                  (f[d] = (_ << 24) | (_ >>> 8)),
+                  (l[d] = (_ << 16) | (_ >>> 16)),
+                  (h[d] = (_ << 8) | (_ >>> 24)),
+                  (p[d] = _),
+                  n ? ((n = v ^ e[e[e[y ^ v]]]), (r ^= e[e[r]])) : (n = r = 1);
+              }
+            })();
+            var d = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54],
+              v = (r.AES = n.extend({
+                _doReset: function () {
+                  if (!this._nRounds || this._keyPriorReset !== this._key) {
+                    for (
+                      var e = (this._keyPriorReset = this._key),
+                        t = e.words,
+                        n = e.sigBytes / 4,
+                        r = 4 * ((this._nRounds = n + 6) + 1),
+                        o = (this._keySchedule = []),
+                        a = 0;
+                      a < r;
+                      a++
+                    )
+                      a < n
+                        ? (o[a] = t[a])
+                        : ((c = o[a - 1]),
+                          a % n
+                            ? n > 6 &&
+                              a % n == 4 &&
+                              (c =
+                                (i[c >>> 24] << 24) |
+                                (i[(c >>> 16) & 255] << 16) |
+                                (i[(c >>> 8) & 255] << 8) |
+                                i[255 & c])
+                            : ((c =
+                                (i[(c = (c << 8) | (c >>> 24)) >>> 24] << 24) |
+                                (i[(c >>> 16) & 255] << 16) |
+                                (i[(c >>> 8) & 255] << 8) |
+                                i[255 & c]),
+                              (c ^= d[(a / n) | 0] << 24)),
+                          (o[a] = o[a - n] ^ c));
+                    for (
+                      var u = (this._invKeySchedule = []), s = 0;
+                      s < r;
+                      s++
+                    ) {
+                      if (((a = r - s), s % 4)) var c = o[a];
+                      else c = o[a - 4];
+                      u[s] =
+                        s < 4 || a <= 4
+                          ? c
+                          : f[i[c >>> 24]] ^
+                            l[i[(c >>> 16) & 255]] ^
+                            h[i[(c >>> 8) & 255]] ^
+                            p[i[255 & c]];
+                    }
+                  }
+                },
+                encryptBlock: function (e, t) {
+                  this._doCryptBlock(e, t, this._keySchedule, a, u, s, c, i);
+                },
+                decryptBlock: function (e, t) {
+                  var n = e[t + 1];
+                  (e[t + 1] = e[t + 3]),
+                    (e[t + 3] = n),
+                    this._doCryptBlock(
+                      e,
+                      t,
+                      this._invKeySchedule,
+                      f,
+                      l,
+                      h,
+                      p,
+                      o
+                    ),
+                    (n = e[t + 1]),
+                    (e[t + 1] = e[t + 3]),
+                    (e[t + 3] = n);
+                },
+                _doCryptBlock: function (e, t, n, r, i, o, a, u) {
+                  for (
+                    var s = this._nRounds,
+                      c = e[t] ^ n[0],
+                      f = e[t + 1] ^ n[1],
+                      l = e[t + 2] ^ n[2],
+                      h = e[t + 3] ^ n[3],
+                      p = 4,
+                      d = 1;
+                    d < s;
+                    d++
+                  ) {
+                    var v =
+                        r[c >>> 24] ^
+                        i[(f >>> 16) & 255] ^
+                        o[(l >>> 8) & 255] ^
+                        a[255 & h] ^
+                        n[p++],
+                      g =
+                        r[f >>> 24] ^
+                        i[(l >>> 16) & 255] ^
+                        o[(h >>> 8) & 255] ^
+                        a[255 & c] ^
+                        n[p++],
+                      y =
+                        r[l >>> 24] ^
+                        i[(h >>> 16) & 255] ^
+                        o[(c >>> 8) & 255] ^
+                        a[255 & f] ^
+                        n[p++],
+                      _ =
+                        r[h >>> 24] ^
+                        i[(c >>> 16) & 255] ^
+                        o[(f >>> 8) & 255] ^
+                        a[255 & l] ^
+                        n[p++];
+                    (c = v), (f = g), (l = y), (h = _);
+                  }
+                  (v =
+                    ((u[c >>> 24] << 24) |
+                      (u[(f >>> 16) & 255] << 16) |
+                      (u[(l >>> 8) & 255] << 8) |
+                      u[255 & h]) ^
+                    n[p++]),
+                    (g =
+                      ((u[f >>> 24] << 24) |
+                        (u[(l >>> 16) & 255] << 16) |
+                        (u[(h >>> 8) & 255] << 8) |
+                        u[255 & c]) ^
+                      n[p++]),
+                    (y =
+                      ((u[l >>> 24] << 24) |
+                        (u[(h >>> 16) & 255] << 16) |
+                        (u[(c >>> 8) & 255] << 8) |
+                        u[255 & f]) ^
+                      n[p++]),
+                    (_ =
+                      ((u[h >>> 24] << 24) |
+                        (u[(c >>> 16) & 255] << 16) |
+                        (u[(f >>> 8) & 255] << 8) |
+                        u[255 & l]) ^
+                      n[p++]),
+                    (e[t] = v),
+                    (e[t + 1] = g),
+                    (e[t + 2] = y),
+                    (e[t + 3] = _);
+                },
+                keySize: 8,
+              }));
+            t.AES = n._createHelper(v);
+          })(),
+          e.AES))),
+      rc
+    );
+    var e;
+  })(),
+  (function () {
+    return (
+      $s ||
+        (($s = 1),
+        (ac.exports =
+          ((e = vu()),
+          Tu(),
+          Nu(),
+          ys(),
+          ks(),
+          (function () {
+            var t = e,
+              n = t.lib,
+              r = n.WordArray,
+              i = n.BlockCipher,
+              o = t.algo,
+              a = [
+                57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59,
+                51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31,
+                23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29,
+                21, 13, 5, 28, 20, 12, 4,
+              ],
+              u = [
+                14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26,
+                8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45,
+                33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32,
+              ],
+              s = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28],
+              c = [
+                {
+                  0: 8421888,
+                  268435456: 32768,
+                  536870912: 8421378,
+                  805306368: 2,
+                  1073741824: 512,
+                  1342177280: 8421890,
+                  1610612736: 8389122,
+                  1879048192: 8388608,
+                  2147483648: 514,
+                  2415919104: 8389120,
+                  2684354560: 33280,
+                  2952790016: 8421376,
+                  3221225472: 32770,
+                  3489660928: 8388610,
+                  3758096384: 0,
+                  4026531840: 33282,
+                  134217728: 0,
+                  402653184: 8421890,
+                  671088640: 33282,
+                  939524096: 32768,
+                  1207959552: 8421888,
+                  1476395008: 512,
+                  1744830464: 8421378,
+                  2013265920: 2,
+                  2281701376: 8389120,
+                  2550136832: 33280,
+                  2818572288: 8421376,
+                  3087007744: 8389122,
+                  3355443200: 8388610,
+                  3623878656: 32770,
+                  3892314112: 514,
+                  4160749568: 8388608,
+                  1: 32768,
+                  268435457: 2,
+                  536870913: 8421888,
+                  805306369: 8388608,
+                  1073741825: 8421378,
+                  1342177281: 33280,
+                  1610612737: 512,
+                  1879048193: 8389122,
+                  2147483649: 8421890,
+                  2415919105: 8421376,
+                  2684354561: 8388610,
+                  2952790017: 33282,
+                  3221225473: 514,
+                  3489660929: 8389120,
+                  3758096385: 32770,
+                  4026531841: 0,
+                  134217729: 8421890,
+                  402653185: 8421376,
+                  671088641: 8388608,
+                  939524097: 512,
+                  1207959553: 32768,
+                  1476395009: 8388610,
+                  1744830465: 2,
+                  2013265921: 33282,
+                  2281701377: 32770,
+                  2550136833: 8389122,
+                  2818572289: 514,
+                  3087007745: 8421888,
+                  3355443201: 8389120,
+                  3623878657: 0,
+                  3892314113: 33280,
+                  4160749569: 8421378,
+                },
+                {
+                  0: 1074282512,
+                  16777216: 16384,
+                  33554432: 524288,
+                  50331648: 1074266128,
+                  67108864: 1073741840,
+                  83886080: 1074282496,
+                  100663296: 1073758208,
+                  117440512: 16,
+                  134217728: 540672,
+                  150994944: 1073758224,
+                  167772160: 1073741824,
+                  184549376: 540688,
+                  201326592: 524304,
+                  218103808: 0,
+                  234881024: 16400,
+                  251658240: 1074266112,
+                  8388608: 1073758208,
+                  25165824: 540688,
+                  41943040: 16,
+                  58720256: 1073758224,
+                  75497472: 1074282512,
+                  92274688: 1073741824,
+                  109051904: 524288,
+                  125829120: 1074266128,
+                  142606336: 524304,
+                  159383552: 0,
+                  176160768: 16384,
+                  192937984: 1074266112,
+                  209715200: 1073741840,
+                  226492416: 540672,
+                  243269632: 1074282496,
+                  260046848: 16400,
+                  268435456: 0,
+                  285212672: 1074266128,
+                  301989888: 1073758224,
+                  318767104: 1074282496,
+                  335544320: 1074266112,
+                  352321536: 16,
+                  369098752: 540688,
+                  385875968: 16384,
+                  402653184: 16400,
+                  419430400: 524288,
+                  436207616: 524304,
+                  452984832: 1073741840,
+                  469762048: 540672,
+                  486539264: 1073758208,
+                  503316480: 1073741824,
+                  520093696: 1074282512,
+                  276824064: 540688,
+                  293601280: 524288,
+                  310378496: 1074266112,
+                  327155712: 16384,
+                  343932928: 1073758208,
+                  360710144: 1074282512,
+                  377487360: 16,
+                  394264576: 1073741824,
+                  411041792: 1074282496,
+                  427819008: 1073741840,
+                  444596224: 1073758224,
+                  461373440: 524304,
+                  478150656: 0,
+                  494927872: 16400,
+                  511705088: 1074266128,
+                  528482304: 540672,
+                },
+                {
+                  0: 260,
+                  1048576: 0,
+                  2097152: 67109120,
+                  3145728: 65796,
+                  4194304: 65540,
+                  5242880: 67108868,
+                  6291456: 67174660,
+                  7340032: 67174400,
+                  8388608: 67108864,
+                  9437184: 67174656,
+                  10485760: 65792,
+                  11534336: 67174404,
+                  12582912: 67109124,
+                  13631488: 65536,
+                  14680064: 4,
+                  15728640: 256,
+                  524288: 67174656,
+                  1572864: 67174404,
+                  2621440: 0,
+                  3670016: 67109120,
+                  4718592: 67108868,
+                  5767168: 65536,
+                  6815744: 65540,
+                  7864320: 260,
+                  8912896: 4,
+                  9961472: 256,
+                  11010048: 67174400,
+                  12058624: 65796,
+                  13107200: 65792,
+                  14155776: 67109124,
+                  15204352: 67174660,
+                  16252928: 67108864,
+                  16777216: 67174656,
+                  17825792: 65540,
+                  18874368: 65536,
+                  19922944: 67109120,
+                  20971520: 256,
+                  22020096: 67174660,
+                  23068672: 67108868,
+                  24117248: 0,
+                  25165824: 67109124,
+                  26214400: 67108864,
+                  27262976: 4,
+                  28311552: 65792,
+                  29360128: 67174400,
+                  30408704: 260,
+                  31457280: 65796,
+                  32505856: 67174404,
+                  17301504: 67108864,
+                  18350080: 260,
+                  19398656: 67174656,
+                  20447232: 0,
+                  21495808: 65540,
+                  22544384: 67109120,
+                  23592960: 256,
+                  24641536: 67174404,
+                  25690112: 65536,
+                  26738688: 67174660,
+                  27787264: 65796,
+                  28835840: 67108868,
+                  29884416: 67109124,
+                  30932992: 67174400,
+                  31981568: 4,
+                  33030144: 65792,
+                },
+                {
+                  0: 2151682048,
+                  65536: 2147487808,
+                  131072: 4198464,
+                  196608: 2151677952,
+                  262144: 0,
+                  327680: 4198400,
+                  393216: 2147483712,
+                  458752: 4194368,
+                  524288: 2147483648,
+                  589824: 4194304,
+                  655360: 64,
+                  720896: 2147487744,
+                  786432: 2151678016,
+                  851968: 4160,
+                  917504: 4096,
+                  983040: 2151682112,
+                  32768: 2147487808,
+                  98304: 64,
+                  163840: 2151678016,
+                  229376: 2147487744,
+                  294912: 4198400,
+                  360448: 2151682112,
+                  425984: 0,
+                  491520: 2151677952,
+                  557056: 4096,
+                  622592: 2151682048,
+                  688128: 4194304,
+                  753664: 4160,
+                  819200: 2147483648,
+                  884736: 4194368,
+                  950272: 4198464,
+                  1015808: 2147483712,
+                  1048576: 4194368,
+                  1114112: 4198400,
+                  1179648: 2147483712,
+                  1245184: 0,
+                  1310720: 4160,
+                  1376256: 2151678016,
+                  1441792: 2151682048,
+                  1507328: 2147487808,
+                  1572864: 2151682112,
+                  1638400: 2147483648,
+                  1703936: 2151677952,
+                  1769472: 4198464,
+                  1835008: 2147487744,
+                  1900544: 4194304,
+                  1966080: 64,
+                  2031616: 4096,
+                  1081344: 2151677952,
+                  1146880: 2151682112,
+                  1212416: 0,
+                  1277952: 4198400,
+                  1343488: 4194368,
+                  1409024: 2147483648,
+                  1474560: 2147487808,
+                  1540096: 64,
+                  1605632: 2147483712,
+                  1671168: 4096,
+                  1736704: 2147487744,
+                  1802240: 2151678016,
+                  1867776: 4160,
+                  1933312: 2151682048,
+                  1998848: 4194304,
+                  2064384: 4198464,
+                },
+                {
+                  0: 128,
+                  4096: 17039360,
+                  8192: 262144,
+                  12288: 536870912,
+                  16384: 537133184,
+                  20480: 16777344,
+                  24576: 553648256,
+                  28672: 262272,
+                  32768: 16777216,
+                  36864: 537133056,
+                  40960: 536871040,
+                  45056: 553910400,
+                  49152: 553910272,
+                  53248: 0,
+                  57344: 17039488,
+                  61440: 553648128,
+                  2048: 17039488,
+                  6144: 553648256,
+                  10240: 128,
+                  14336: 17039360,
+                  18432: 262144,
+                  22528: 537133184,
+                  26624: 553910272,
+                  30720: 536870912,
+                  34816: 537133056,
+                  38912: 0,
+                  43008: 553910400,
+                  47104: 16777344,
+                  51200: 536871040,
+                  55296: 553648128,
+                  59392: 16777216,
+                  63488: 262272,
+                  65536: 262144,
+                  69632: 128,
+                  73728: 536870912,
+                  77824: 553648256,
+                  81920: 16777344,
+                  86016: 553910272,
+                  90112: 537133184,
+                  94208: 16777216,
+                  98304: 553910400,
+                  102400: 553648128,
+                  106496: 17039360,
+                  110592: 537133056,
+                  114688: 262272,
+                  118784: 536871040,
+                  122880: 0,
+                  126976: 17039488,
+                  67584: 553648256,
+                  71680: 16777216,
+                  75776: 17039360,
+                  79872: 537133184,
+                  83968: 536870912,
+                  88064: 17039488,
+                  92160: 128,
+                  96256: 553910272,
+                  100352: 262272,
+                  104448: 553910400,
+                  108544: 0,
+                  112640: 553648128,
+                  116736: 16777344,
+                  120832: 262144,
+                  124928: 537133056,
+                  129024: 536871040,
+                },
+                {
+                  0: 268435464,
+                  256: 8192,
+                  512: 270532608,
+                  768: 270540808,
+                  1024: 268443648,
+                  1280: 2097152,
+                  1536: 2097160,
+                  1792: 268435456,
+                  2048: 0,
+                  2304: 268443656,
+                  2560: 2105344,
+                  2816: 8,
+                  3072: 270532616,
+                  3328: 2105352,
+                  3584: 8200,
+                  3840: 270540800,
+                  128: 270532608,
+                  384: 270540808,
+                  640: 8,
+                  896: 2097152,
+                  1152: 2105352,
+                  1408: 268435464,
+                  1664: 268443648,
+                  1920: 8200,
+                  2176: 2097160,
+                  2432: 8192,
+                  2688: 268443656,
+                  2944: 270532616,
+                  3200: 0,
+                  3456: 270540800,
+                  3712: 2105344,
+                  3968: 268435456,
+                  4096: 268443648,
+                  4352: 270532616,
+                  4608: 270540808,
+                  4864: 8200,
+                  5120: 2097152,
+                  5376: 268435456,
+                  5632: 268435464,
+                  5888: 2105344,
+                  6144: 2105352,
+                  6400: 0,
+                  6656: 8,
+                  6912: 270532608,
+                  7168: 8192,
+                  7424: 268443656,
+                  7680: 270540800,
+                  7936: 2097160,
+                  4224: 8,
+                  4480: 2105344,
+                  4736: 2097152,
+                  4992: 268435464,
+                  5248: 268443648,
+                  5504: 8200,
+                  5760: 270540808,
+                  6016: 270532608,
+                  6272: 270540800,
+                  6528: 270532616,
+                  6784: 8192,
+                  7040: 2105352,
+                  7296: 2097160,
+                  7552: 0,
+                  7808: 268435456,
+                  8064: 268443656,
+                },
+                {
+                  0: 1048576,
+                  16: 33555457,
+                  32: 1024,
+                  48: 1049601,
+                  64: 34604033,
+                  80: 0,
+                  96: 1,
+                  112: 34603009,
+                  128: 33555456,
+                  144: 1048577,
+                  160: 33554433,
+                  176: 34604032,
+                  192: 34603008,
+                  208: 1025,
+                  224: 1049600,
+                  240: 33554432,
+                  8: 34603009,
+                  24: 0,
+                  40: 33555457,
+                  56: 34604032,
+                  72: 1048576,
+                  88: 33554433,
+                  104: 33554432,
+                  120: 1025,
+                  136: 1049601,
+                  152: 33555456,
+                  168: 34603008,
+                  184: 1048577,
+                  200: 1024,
+                  216: 34604033,
+                  232: 1,
+                  248: 1049600,
+                  256: 33554432,
+                  272: 1048576,
+                  288: 33555457,
+                  304: 34603009,
+                  320: 1048577,
+                  336: 33555456,
+                  352: 34604032,
+                  368: 1049601,
+                  384: 1025,
+                  400: 34604033,
+                  416: 1049600,
+                  432: 1,
+                  448: 0,
+                  464: 34603008,
+                  480: 33554433,
+                  496: 1024,
+                  264: 1049600,
+                  280: 33555457,
+                  296: 34603009,
+                  312: 1,
+                  328: 33554432,
+                  344: 1048576,
+                  360: 1025,
+                  376: 34604032,
+                  392: 33554433,
+                  408: 34603008,
+                  424: 0,
+                  440: 34604033,
+                  456: 1049601,
+                  472: 1024,
+                  488: 33555456,
+                  504: 1048577,
+                },
+                {
+                  0: 134219808,
+                  1: 131072,
+                  2: 134217728,
+                  3: 32,
+                  4: 131104,
+                  5: 134350880,
+                  6: 134350848,
+                  7: 2048,
+                  8: 134348800,
+                  9: 134219776,
+                  10: 133120,
+                  11: 134348832,
+                  12: 2080,
+                  13: 0,
+                  14: 134217760,
+                  15: 133152,
+                  2147483648: 2048,
+                  2147483649: 134350880,
+                  2147483650: 134219808,
+                  2147483651: 134217728,
+                  2147483652: 134348800,
+                  2147483653: 133120,
+                  2147483654: 133152,
+                  2147483655: 32,
+                  2147483656: 134217760,
+                  2147483657: 2080,
+                  2147483658: 131104,
+                  2147483659: 134350848,
+                  2147483660: 0,
+                  2147483661: 134348832,
+                  2147483662: 134219776,
+                  2147483663: 131072,
+                  16: 133152,
+                  17: 134350848,
+                  18: 32,
+                  19: 2048,
+                  20: 134219776,
+                  21: 134217760,
+                  22: 134348832,
+                  23: 131072,
+                  24: 0,
+                  25: 131104,
+                  26: 134348800,
+                  27: 134219808,
+                  28: 134350880,
+                  29: 133120,
+                  30: 2080,
+                  31: 134217728,
+                  2147483664: 131072,
+                  2147483665: 2048,
+                  2147483666: 134348832,
+                  2147483667: 133152,
+                  2147483668: 32,
+                  2147483669: 134348800,
+                  2147483670: 134217728,
+                  2147483671: 134219808,
+                  2147483672: 134350880,
+                  2147483673: 134217760,
+                  2147483674: 134219776,
+                  2147483675: 0,
+                  2147483676: 133120,
+                  2147483677: 2080,
+                  2147483678: 131104,
+                  2147483679: 134350848,
+                },
+              ],
+              f = [
+                4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504,
+                2147483679,
+              ],
+              l = (o.DES = i.extend({
+                _doReset: function () {
+                  for (var e = this._key.words, t = [], n = 0; n < 56; n++) {
+                    var r = a[n] - 1;
+                    t[n] = (e[r >>> 5] >>> (31 - (r % 32))) & 1;
+                  }
+                  for (var i = (this._subKeys = []), o = 0; o < 16; o++) {
+                    var c = (i[o] = []),
+                      f = s[o];
+                    for (n = 0; n < 24; n++)
+                      (c[(n / 6) | 0] |=
+                        t[(u[n] - 1 + f) % 28] << (31 - (n % 6))),
+                        (c[4 + ((n / 6) | 0)] |=
+                          t[28 + ((u[n + 24] - 1 + f) % 28)] << (31 - (n % 6)));
+                    for (c[0] = (c[0] << 1) | (c[0] >>> 31), n = 1; n < 7; n++)
+                      c[n] = c[n] >>> (4 * (n - 1) + 3);
+                    c[7] = (c[7] << 5) | (c[7] >>> 27);
+                  }
+                  var l = (this._invSubKeys = []);
+                  for (n = 0; n < 16; n++) l[n] = i[15 - n];
+                },
+                encryptBlock: function (e, t) {
+                  this._doCryptBlock(e, t, this._subKeys);
+                },
+                decryptBlock: function (e, t) {
+                  this._doCryptBlock(e, t, this._invSubKeys);
+                },
+                _doCryptBlock: function (e, t, n) {
+                  (this._lBlock = e[t]),
+                    (this._rBlock = e[t + 1]),
+                    h.call(this, 4, 252645135),
+                    h.call(this, 16, 65535),
+                    p.call(this, 2, 858993459),
+                    p.call(this, 8, 16711935),
+                    h.call(this, 1, 1431655765);
+                  for (var r = 0; r < 16; r++) {
+                    for (
+                      var i = n[r],
+                        o = this._lBlock,
+                        a = this._rBlock,
+                        u = 0,
+                        s = 0;
+                      s < 8;
+                      s++
+                    )
+                      u |= c[s][((a ^ i[s]) & f[s]) >>> 0];
+                    (this._lBlock = a), (this._rBlock = o ^ u);
+                  }
+                  var l = this._lBlock;
+                  (this._lBlock = this._rBlock),
+                    (this._rBlock = l),
+                    h.call(this, 1, 1431655765),
+                    p.call(this, 8, 16711935),
+                    p.call(this, 2, 858993459),
+                    h.call(this, 16, 65535),
+                    h.call(this, 4, 252645135),
+                    (e[t] = this._lBlock),
+                    (e[t + 1] = this._rBlock);
+                },
+                keySize: 2,
+                ivSize: 2,
+                blockSize: 2,
+              }));
+            function h(e, t) {
+              var n = ((this._lBlock >>> e) ^ this._rBlock) & t;
+              (this._rBlock ^= n), (this._lBlock ^= n << e);
+            }
+            function p(e, t) {
+              var n = ((this._rBlock >>> e) ^ this._lBlock) & t;
+              (this._lBlock ^= n), (this._rBlock ^= n << e);
+            }
+            t.DES = i._createHelper(l);
+            var d = (o.TripleDES = i.extend({
+              _doReset: function () {
+                var e = this._key.words;
+                if (2 !== e.length && 4 !== e.length && e.length < 6)
+                  throw new Error(
+                    "Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192."
+                  );
+                var t = e.slice(0, 2),
+                  n = e.length < 4 ? e.slice(0, 2) : e.slice(2, 4),
+                  i = e.length < 6 ? e.slice(0, 2) : e.slice(4, 6);
+                (this._des1 = l.createEncryptor(r.create(t))),
+                  (this._des2 = l.createEncryptor(r.create(n))),
+                  (this._des3 = l.createEncryptor(r.create(i)));
+              },
+              encryptBlock: function (e, t) {
+                this._des1.encryptBlock(e, t),
+                  this._des2.decryptBlock(e, t),
+                  this._des3.encryptBlock(e, t);
+              },
+              decryptBlock: function (e, t) {
+                this._des3.decryptBlock(e, t),
+                  this._des2.encryptBlock(e, t),
+                  this._des1.decryptBlock(e, t);
+              },
+              keySize: 6,
+              ivSize: 2,
+              blockSize: 2,
+            }));
+            t.TripleDES = i._createHelper(d);
+          })(),
+          e.TripleDES))),
+      oc
+    );
+    var e;
+  })(),
+  (function () {
+    return (
+      uc ||
+        ((uc = 1),
+        (yc.exports =
+          ((e = vu()),
+          Tu(),
+          Nu(),
+          ys(),
+          ks(),
+          (function () {
+            var t = e,
+              n = t.lib.StreamCipher,
+              r = t.algo,
+              i = (r.RC4 = n.extend({
+                _doReset: function () {
+                  for (
+                    var e = this._key,
+                      t = e.words,
+                      n = e.sigBytes,
+                      r = (this._S = []),
+                      i = 0;
+                    i < 256;
+                    i++
+                  )
+                    r[i] = i;
+                  i = 0;
+                  for (var o = 0; i < 256; i++) {
+                    var a = i % n,
+                      u = (t[a >>> 2] >>> (24 - (a % 4) * 8)) & 255;
+                    o = (o + r[i] + u) % 256;
+                    var s = r[i];
+                    (r[i] = r[o]), (r[o] = s);
+                  }
+                  this._i = this._j = 0;
+                },
+                _doProcessBlock: function (e, t) {
+                  e[t] ^= o.call(this);
+                },
+                keySize: 8,
+                ivSize: 0,
+              }));
+            function o() {
+              for (
+                var e = this._S, t = this._i, n = this._j, r = 0, i = 0;
+                i < 4;
+                i++
+              ) {
+                n = (n + e[(t = (t + 1) % 256)]) % 256;
+                var o = e[t];
+                (e[t] = e[n]),
+                  (e[n] = o),
+                  (r |= e[(e[t] + e[n]) % 256] << (24 - 8 * i));
+              }
+              return (this._i = t), (this._j = n), r;
+            }
+            t.RC4 = n._createHelper(i);
+            var a = (r.RC4Drop = i.extend({
+              cfg: i.cfg.extend({ drop: 192 }),
+              _doReset: function () {
+                i._doReset.call(this);
+                for (var e = this.cfg.drop; e > 0; e--) o.call(this);
+              },
+            }));
+            t.RC4Drop = n._createHelper(a);
+          })(),
+          e.RC4))),
+      gc
+    );
+    var e;
+  })(),
+  (function () {
+    return (
+      sc ||
+        ((sc = 1),
+        (mc.exports =
+          ((e = vu()),
+          Tu(),
+          Nu(),
+          ys(),
+          ks(),
+          (function () {
+            var t = e,
+              n = t.lib.StreamCipher,
+              r = t.algo,
+              i = [],
+              o = [],
+              a = [],
+              u = (r.Rabbit = n.extend({
+                _doReset: function () {
+                  for (
+                    var e = this._key.words, t = this.cfg.iv, n = 0;
+                    n < 4;
+                    n++
+                  )
+                    e[n] =
+                      (16711935 & ((e[n] << 8) | (e[n] >>> 24))) |
+                      (4278255360 & ((e[n] << 24) | (e[n] >>> 8)));
+                  var r = (this._X = [
+                      e[0],
+                      (e[3] << 16) | (e[2] >>> 16),
+                      e[1],
+                      (e[0] << 16) | (e[3] >>> 16),
+                      e[2],
+                      (e[1] << 16) | (e[0] >>> 16),
+                      e[3],
+                      (e[2] << 16) | (e[1] >>> 16),
+                    ]),
+                    i = (this._C = [
+                      (e[2] << 16) | (e[2] >>> 16),
+                      (4294901760 & e[0]) | (65535 & e[1]),
+                      (e[3] << 16) | (e[3] >>> 16),
+                      (4294901760 & e[1]) | (65535 & e[2]),
+                      (e[0] << 16) | (e[0] >>> 16),
+                      (4294901760 & e[2]) | (65535 & e[3]),
+                      (e[1] << 16) | (e[1] >>> 16),
+                      (4294901760 & e[3]) | (65535 & e[0]),
+                    ]);
+                  for (this._b = 0, n = 0; n < 4; n++) s.call(this);
+                  for (n = 0; n < 8; n++) i[n] ^= r[(n + 4) & 7];
+                  if (t) {
+                    var o = t.words,
+                      a = o[0],
+                      u = o[1],
+                      c =
+                        (16711935 & ((a << 8) | (a >>> 24))) |
+                        (4278255360 & ((a << 24) | (a >>> 8))),
+                      f =
+                        (16711935 & ((u << 8) | (u >>> 24))) |
+                        (4278255360 & ((u << 24) | (u >>> 8))),
+                      l = (c >>> 16) | (4294901760 & f),
+                      h = (f << 16) | (65535 & c);
+                    for (
+                      i[0] ^= c,
+                        i[1] ^= l,
+                        i[2] ^= f,
+                        i[3] ^= h,
+                        i[4] ^= c,
+                        i[5] ^= l,
+                        i[6] ^= f,
+                        i[7] ^= h,
+                        n = 0;
+                      n < 4;
+                      n++
+                    )
+                      s.call(this);
+                  }
+                },
+                _doProcessBlock: function (e, t) {
+                  var n = this._X;
+                  s.call(this),
+                    (i[0] = n[0] ^ (n[5] >>> 16) ^ (n[3] << 16)),
+                    (i[1] = n[2] ^ (n[7] >>> 16) ^ (n[5] << 16)),
+                    (i[2] = n[4] ^ (n[1] >>> 16) ^ (n[7] << 16)),
+                    (i[3] = n[6] ^ (n[3] >>> 16) ^ (n[1] << 16));
+                  for (var r = 0; r < 4; r++)
+                    (i[r] =
+                      (16711935 & ((i[r] << 8) | (i[r] >>> 24))) |
+                      (4278255360 & ((i[r] << 24) | (i[r] >>> 8)))),
+                      (e[t + r] ^= i[r]);
+                },
+                blockSize: 4,
+                ivSize: 2,
+              }));
+            function s() {
+              for (var e = this._X, t = this._C, n = 0; n < 8; n++) o[n] = t[n];
+              for (
+                t[0] = (t[0] + 1295307597 + this._b) | 0,
+                  t[1] =
+                    (t[1] + 3545052371 + (t[0] >>> 0 < o[0] >>> 0 ? 1 : 0)) | 0,
+                  t[2] =
+                    (t[2] + 886263092 + (t[1] >>> 0 < o[1] >>> 0 ? 1 : 0)) | 0,
+                  t[3] =
+                    (t[3] + 1295307597 + (t[2] >>> 0 < o[2] >>> 0 ? 1 : 0)) | 0,
+                  t[4] =
+                    (t[4] + 3545052371 + (t[3] >>> 0 < o[3] >>> 0 ? 1 : 0)) | 0,
+                  t[5] =
+                    (t[5] + 886263092 + (t[4] >>> 0 < o[4] >>> 0 ? 1 : 0)) | 0,
+                  t[6] =
+                    (t[6] + 1295307597 + (t[5] >>> 0 < o[5] >>> 0 ? 1 : 0)) | 0,
+                  t[7] =
+                    (t[7] + 3545052371 + (t[6] >>> 0 < o[6] >>> 0 ? 1 : 0)) | 0,
+                  this._b = t[7] >>> 0 < o[7] >>> 0 ? 1 : 0,
+                  n = 0;
+                n < 8;
+                n++
+              ) {
+                var r = e[n] + t[n],
+                  i = 65535 & r,
+                  u = r >>> 16,
+                  s = ((((i * i) >>> 17) + i * u) >>> 15) + u * u,
+                  c = (((4294901760 & r) * r) | 0) + (((65535 & r) * r) | 0);
+                a[n] = s ^ c;
+              }
+              (e[0] =
+                (a[0] +
+                  ((a[7] << 16) | (a[7] >>> 16)) +
+                  ((a[6] << 16) | (a[6] >>> 16))) |
+                0),
+                (e[1] = (a[1] + ((a[0] << 8) | (a[0] >>> 24)) + a[7]) | 0),
+                (e[2] =
+                  (a[2] +
+                    ((a[1] << 16) | (a[1] >>> 16)) +
+                    ((a[0] << 16) | (a[0] >>> 16))) |
+                  0),
+                (e[3] = (a[3] + ((a[2] << 8) | (a[2] >>> 24)) + a[1]) | 0),
+                (e[4] =
+                  (a[4] +
+                    ((a[3] << 16) | (a[3] >>> 16)) +
+                    ((a[2] << 16) | (a[2] >>> 16))) |
+                  0),
+                (e[5] = (a[5] + ((a[4] << 8) | (a[4] >>> 24)) + a[3]) | 0),
+                (e[6] =
+                  (a[6] +
+                    ((a[5] << 16) | (a[5] >>> 16)) +
+                    ((a[4] << 16) | (a[4] >>> 16))) |
+                  0),
+                (e[7] = (a[7] + ((a[6] << 8) | (a[6] >>> 24)) + a[5]) | 0);
+            }
+            t.Rabbit = n._createHelper(u);
+          })(),
+          e.Rabbit))),
+      _c
+    );
+    var e;
+  })(),
+  (function () {
+    return (
+      cc ||
+        ((cc = 1),
+        (kc.exports =
+          ((e = vu()),
+          Tu(),
+          Nu(),
+          ys(),
+          ks(),
+          (function () {
+            var t = e,
+              n = t.lib.StreamCipher,
+              r = t.algo,
+              i = [],
+              o = [],
+              a = [],
+              u = (r.RabbitLegacy = n.extend({
+                _doReset: function () {
+                  var e = this._key.words,
+                    t = this.cfg.iv,
+                    n = (this._X = [
+                      e[0],
+                      (e[3] << 16) | (e[2] >>> 16),
+                      e[1],
+                      (e[0] << 16) | (e[3] >>> 16),
+                      e[2],
+                      (e[1] << 16) | (e[0] >>> 16),
+                      e[3],
+                      (e[2] << 16) | (e[1] >>> 16),
+                    ]),
+                    r = (this._C = [
+                      (e[2] << 16) | (e[2] >>> 16),
+                      (4294901760 & e[0]) | (65535 & e[1]),
+                      (e[3] << 16) | (e[3] >>> 16),
+                      (4294901760 & e[1]) | (65535 & e[2]),
+                      (e[0] << 16) | (e[0] >>> 16),
+                      (4294901760 & e[2]) | (65535 & e[3]),
+                      (e[1] << 16) | (e[1] >>> 16),
+                      (4294901760 & e[3]) | (65535 & e[0]),
+                    ]);
+                  this._b = 0;
+                  for (var i = 0; i < 4; i++) s.call(this);
+                  for (i = 0; i < 8; i++) r[i] ^= n[(i + 4) & 7];
+                  if (t) {
+                    var o = t.words,
+                      a = o[0],
+                      u = o[1],
+                      c =
+                        (16711935 & ((a << 8) | (a >>> 24))) |
+                        (4278255360 & ((a << 24) | (a >>> 8))),
+                      f =
+                        (16711935 & ((u << 8) | (u >>> 24))) |
+                        (4278255360 & ((u << 24) | (u >>> 8))),
+                      l = (c >>> 16) | (4294901760 & f),
+                      h = (f << 16) | (65535 & c);
+                    for (
+                      r[0] ^= c,
+                        r[1] ^= l,
+                        r[2] ^= f,
+                        r[3] ^= h,
+                        r[4] ^= c,
+                        r[5] ^= l,
+                        r[6] ^= f,
+                        r[7] ^= h,
+                        i = 0;
+                      i < 4;
+                      i++
+                    )
+                      s.call(this);
+                  }
+                },
+                _doProcessBlock: function (e, t) {
+                  var n = this._X;
+                  s.call(this),
+                    (i[0] = n[0] ^ (n[5] >>> 16) ^ (n[3] << 16)),
+                    (i[1] = n[2] ^ (n[7] >>> 16) ^ (n[5] << 16)),
+                    (i[2] = n[4] ^ (n[1] >>> 16) ^ (n[7] << 16)),
+                    (i[3] = n[6] ^ (n[3] >>> 16) ^ (n[1] << 16));
+                  for (var r = 0; r < 4; r++)
+                    (i[r] =
+                      (16711935 & ((i[r] << 8) | (i[r] >>> 24))) |
+                      (4278255360 & ((i[r] << 24) | (i[r] >>> 8)))),
+                      (e[t + r] ^= i[r]);
+                },
+                blockSize: 4,
+                ivSize: 2,
+              }));
+            function s() {
+              for (var e = this._X, t = this._C, n = 0; n < 8; n++) o[n] = t[n];
+              for (
+                t[0] = (t[0] + 1295307597 + this._b) | 0,
+                  t[1] =
+                    (t[1] + 3545052371 + (t[0] >>> 0 < o[0] >>> 0 ? 1 : 0)) | 0,
+                  t[2] =
+                    (t[2] + 886263092 + (t[1] >>> 0 < o[1] >>> 0 ? 1 : 0)) | 0,
+                  t[3] =
+                    (t[3] + 1295307597 + (t[2] >>> 0 < o[2] >>> 0 ? 1 : 0)) | 0,
+                  t[4] =
+                    (t[4] + 3545052371 + (t[3] >>> 0 < o[3] >>> 0 ? 1 : 0)) | 0,
+                  t[5] =
+                    (t[5] + 886263092 + (t[4] >>> 0 < o[4] >>> 0 ? 1 : 0)) | 0,
+                  t[6] =
+                    (t[6] + 1295307597 + (t[5] >>> 0 < o[5] >>> 0 ? 1 : 0)) | 0,
+                  t[7] =
+                    (t[7] + 3545052371 + (t[6] >>> 0 < o[6] >>> 0 ? 1 : 0)) | 0,
+                  this._b = t[7] >>> 0 < o[7] >>> 0 ? 1 : 0,
+                  n = 0;
+                n < 8;
+                n++
+              ) {
+                var r = e[n] + t[n],
+                  i = 65535 & r,
+                  u = r >>> 16,
+                  s = ((((i * i) >>> 17) + i * u) >>> 15) + u * u,
+                  c = (((4294901760 & r) * r) | 0) + (((65535 & r) * r) | 0);
+                a[n] = s ^ c;
+              }
+              (e[0] =
+                (a[0] +
+                  ((a[7] << 16) | (a[7] >>> 16)) +
+                  ((a[6] << 16) | (a[6] >>> 16))) |
+                0),
+                (e[1] = (a[1] + ((a[0] << 8) | (a[0] >>> 24)) + a[7]) | 0),
+                (e[2] =
+                  (a[2] +
+                    ((a[1] << 16) | (a[1] >>> 16)) +
+                    ((a[0] << 16) | (a[0] >>> 16))) |
+                  0),
+                (e[3] = (a[3] + ((a[2] << 8) | (a[2] >>> 24)) + a[1]) | 0),
+                (e[4] =
+                  (a[4] +
+                    ((a[3] << 16) | (a[3] >>> 16)) +
+                    ((a[2] << 16) | (a[2] >>> 16))) |
+                  0),
+                (e[5] = (a[5] + ((a[4] << 8) | (a[4] >>> 24)) + a[3]) | 0),
+                (e[6] =
+                  (a[6] +
+                    ((a[5] << 16) | (a[5] >>> 16)) +
+                    ((a[4] << 16) | (a[4] >>> 16))) |
+                  0),
+                (e[7] = (a[7] + ((a[6] << 8) | (a[6] >>> 24)) + a[5]) | 0);
+            }
+            t.RabbitLegacy = n._createHelper(u);
+          })(),
+          e.RabbitLegacy))),
+      wc
+    );
+    var e;
+  })()
+);
+var bc,
+  xc,
+  Sc = fu,
+  Ac = {};
+(bc = {
+  get exports() {
+    return Ac;
+  },
+  set exports(e) {
+    Ac = e;
+  },
+}),
+  (xc = Ac),
+  function () {
+    var e,
+      t = "Expected a function",
+      n = "__lodash_hash_undefined__",
+      r = "__lodash_placeholder__",
+      i = 32,
+      o = 128,
+      a = 1 / 0,
+      u = 9007199254740991,
+      s = NaN,
+      c = 4294967295,
+      l = [
+        ["ary", o],
+        ["bind", 1],
+        ["bindKey", 2],
+        ["curry", 8],
+        ["curryRight", 16],
+        ["flip", 512],
+        ["partial", i],
+        ["partialRight", 64],
+        ["rearg", 256],
+      ],
+      h = "[object Arguments]",
+      p = "[object Array]",
+      d = "[object Boolean]",
+      v = "[object Date]",
+      g = "[object Error]",
+      y = "[object Function]",
+      _ = "[object GeneratorFunction]",
+      m = "[object Map]",
+      w = "[object Number]",
+      k = "[object Object]",
+      b = "[object Promise]",
+      x = "[object RegExp]",
+      S = "[object Set]",
+      A = "[object String]",
+      I = "[object Symbol]",
+      O = "[object WeakMap]",
+      P = "[object ArrayBuffer]",
+      T = "[object DataView]",
+      E = "[object Float32Array]",
+      C = "[object Float64Array]",
+      R = "[object Int8Array]",
+      L = "[object Int16Array]",
+      D = "[object Int32Array]",
+      B = "[object Uint8Array]",
+      N = "[object Uint8ClampedArray]",
+      U = "[object Uint16Array]",
+      j = "[object Uint32Array]",
+      M = /\b__p \+= '';/g,
+      $ = /\b(__p \+=) '' \+/g,
+      F = /(__e\(.*?\)|\b__t\)) \+\n'';/g,
+      H = /&(?:amp|lt|gt|quot|#39);/g,
+      q = /[&<>"']/g,
+      z = RegExp(H.source),
+      W = RegExp(q.source),
+      V = /<%-([\s\S]+?)%>/g,
+      K = /<%([\s\S]+?)%>/g,
+      J = /<%=([\s\S]+?)%>/g,
+      G = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
+      Y = /^\w*$/,
+      X =
+        /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,
+      Q = /[\\^$.*+?()[\]{}|]/g,
+      Z = RegExp(Q.source),
+      ee = /^\s+/,
+      te = /\s/,
+      ne = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,
+      re = /\{\n\/\* \[wrapped with (.+)\] \*/,
+      ie = /,? & /,
+      oe = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,
+      ae = /[()=,{}\[\]\/\s]/,
+      ue = /\\(\\)?/g,
+      se = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,
+      ce = /\w*$/,
+      fe = /^[-+]0x[0-9a-f]+$/i,
+      le = /^0b[01]+$/i,
+      he = /^\[object .+?Constructor\]$/,
+      pe = /^0o[0-7]+$/i,
+      de = /^(?:0|[1-9]\d*)$/,
+      ve = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,
+      ge = /($^)/,
+      ye = /['\n\r\u2028\u2029\\]/g,
+      _e = "\\ud800-\\udfff",
+      me = "\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",
+      we = "\\u2700-\\u27bf",
+      ke = "a-z\\xdf-\\xf6\\xf8-\\xff",
+      be = "A-Z\\xc0-\\xd6\\xd8-\\xde",
+      xe = "\\ufe0e\\ufe0f",
+      Se =
+        "\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",
+      Ae = "[" + _e + "]",
+      Ie = "[" + Se + "]",
+      Oe = "[" + me + "]",
+      Pe = "\\d+",
+      Te = "[" + we + "]",
+      Ee = "[" + ke + "]",
+      Ce = "[^" + _e + Se + Pe + we + ke + be + "]",
+      Re = "\\ud83c[\\udffb-\\udfff]",
+      Le = "[^" + _e + "]",
+      De = "(?:\\ud83c[\\udde6-\\uddff]){2}",
+      Be = "[\\ud800-\\udbff][\\udc00-\\udfff]",
+      Ne = "[" + be + "]",
+      Ue = "(?:" + Ee + "|" + Ce + ")",
+      je = "(?:" + Ne + "|" + Ce + ")",
+      Me = "(?:['’](?:d|ll|m|re|s|t|ve))?",
+      $e = "(?:['’](?:D|LL|M|RE|S|T|VE))?",
+      Fe = "(?:" + Oe + "|" + Re + ")?",
+      He = "[" + xe + "]?",
+      qe =
+        He +
+        Fe +
+        "(?:\\u200d(?:" +
+        [Le, De, Be].join("|") +
+        ")" +
+        He +
+        Fe +
+        ")*",
+      ze = "(?:" + [Te, De, Be].join("|") + ")" + qe,
+      We = "(?:" + [Le + Oe + "?", Oe, De, Be, Ae].join("|") + ")",
+      Ve = RegExp("['’]", "g"),
+      Ke = RegExp(Oe, "g"),
+      Je = RegExp(Re + "(?=" + Re + ")|" + We + qe, "g"),
+      Ge = RegExp(
+        [
+          Ne + "?" + Ee + "+" + Me + "(?=" + [Ie, Ne, "$"].join("|") + ")",
+          je + "+" + $e + "(?=" + [Ie, Ne + Ue, "$"].join("|") + ")",
+          Ne + "?" + Ue + "+" + Me,
+          Ne + "+" + $e,
+          "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",
+          "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",
+          Pe,
+          ze,
+        ].join("|"),
+        "g"
+      ),
+      Ye = RegExp("[\\u200d" + _e + me + xe + "]"),
+      Xe = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,
+      Qe = [
+        "Array",
+        "Buffer",
+        "DataView",
+        "Date",
+        "Error",
+        "Float32Array",
+        "Float64Array",
+        "Function",
+        "Int8Array",
+        "Int16Array",
+        "Int32Array",
+        "Map",
+        "Math",
+        "Object",
+        "Promise",
+        "RegExp",
+        "Set",
+        "String",
+        "Symbol",
+        "TypeError",
+        "Uint8Array",
+        "Uint8ClampedArray",
+        "Uint16Array",
+        "Uint32Array",
+        "WeakMap",
+        "_",
+        "clearTimeout",
+        "isFinite",
+        "parseInt",
+        "setTimeout",
+      ],
+      Ze = -1,
+      et = {};
+    (et[E] =
+      et[C] =
+      et[R] =
+      et[L] =
+      et[D] =
+      et[B] =
+      et[N] =
+      et[U] =
+      et[j] =
+        !0),
+      (et[h] =
+        et[p] =
+        et[P] =
+        et[d] =
+        et[T] =
+        et[v] =
+        et[g] =
+        et[y] =
+        et[m] =
+        et[w] =
+        et[k] =
+        et[x] =
+        et[S] =
+        et[A] =
+        et[O] =
+          !1);
+    var tt = {};
+    (tt[h] =
+      tt[p] =
+      tt[P] =
+      tt[T] =
+      tt[d] =
+      tt[v] =
+      tt[E] =
+      tt[C] =
+      tt[R] =
+      tt[L] =
+      tt[D] =
+      tt[m] =
+      tt[w] =
+      tt[k] =
+      tt[x] =
+      tt[S] =
+      tt[A] =
+      tt[I] =
+      tt[B] =
+      tt[N] =
+      tt[U] =
+      tt[j] =
+        !0),
+      (tt[g] = tt[y] = tt[O] = !1);
+    var nt = {
+        "\\": "\\",
+        "'": "'",
+        "\n": "n",
+        "\r": "r",
+        "\u2028": "u2028",
+        "\u2029": "u2029",
+      },
+      rt = parseFloat,
+      it = parseInt,
+      ot = "object" == f(su) && su && su.Object === Object && su,
+      at =
+        "object" == ("undefined" == typeof self ? "undefined" : f(self)) &&
+        self &&
+        self.Object === Object &&
+        self,
+      ut = ot || at || Function("return this")(),
+      st = xc && !xc.nodeType && xc,
+      ct = st && bc && !bc.nodeType && bc,
+      ft = ct && ct.exports === st,
+      lt = ft && ot.process,
+      ht = (function () {
+        try {
+          return (
+            (ct && ct.require && ct.require("util").types) ||
+            (lt && lt.binding && lt.binding("util"))
+          );
+        } catch (e) {}
+      })(),
+      pt = ht && ht.isArrayBuffer,
+      dt = ht && ht.isDate,
+      vt = ht && ht.isMap,
+      gt = ht && ht.isRegExp,
+      yt = ht && ht.isSet,
+      _t = ht && ht.isTypedArray;
+    function mt(e, t, n) {
+      switch (n.length) {
+        case 0:
+          return e.call(t);
+        case 1:
+          return e.call(t, n[0]);
+        case 2:
+          return e.call(t, n[0], n[1]);
+        case 3:
+          return e.call(t, n[0], n[1], n[2]);
+      }
+      return e.apply(t, n);
+    }
+    function wt(e, t, n, r) {
+      for (var i = -1, o = null == e ? 0 : e.length; ++i < o; ) {
+        var a = e[i];
+        t(r, a, n(a), e);
+      }
+      return r;
+    }
+    function kt(e, t) {
+      for (
+        var n = -1, r = null == e ? 0 : e.length;
+        ++n < r && !1 !== t(e[n], n, e);
+
+      );
+      return e;
+    }
+    function bt(e, t) {
+      for (var n = null == e ? 0 : e.length; n-- && !1 !== t(e[n], n, e); );
+      return e;
+    }
+    function xt(e, t) {
+      for (var n = -1, r = null == e ? 0 : e.length; ++n < r; )
+        if (!t(e[n], n, e)) return !1;
+      return !0;
+    }
+    function St(e, t) {
+      for (var n = -1, r = null == e ? 0 : e.length, i = 0, o = []; ++n < r; ) {
+        var a = e[n];
+        t(a, n, e) && (o[i++] = a);
+      }
+      return o;
+    }
+    function At(e, t) {
+      return !(null == e || !e.length) && Bt(e, t, 0) > -1;
+    }
+    function It(e, t, n) {
+      for (var r = -1, i = null == e ? 0 : e.length; ++r < i; )
+        if (n(t, e[r])) return !0;
+      return !1;
+    }
+    function Ot(e, t) {
+      for (var n = -1, r = null == e ? 0 : e.length, i = Array(r); ++n < r; )
+        i[n] = t(e[n], n, e);
+      return i;
+    }
+    function Pt(e, t) {
+      for (var n = -1, r = t.length, i = e.length; ++n < r; ) e[i + n] = t[n];
+      return e;
+    }
+    function Tt(e, t, n, r) {
+      var i = -1,
+        o = null == e ? 0 : e.length;
+      for (r && o && (n = e[++i]); ++i < o; ) n = t(n, e[i], i, e);
+      return n;
+    }
+    function Et(e, t, n, r) {
+      var i = null == e ? 0 : e.length;
+      for (r && i && (n = e[--i]); i--; ) n = t(n, e[i], i, e);
+      return n;
+    }
+    function Ct(e, t) {
+      for (var n = -1, r = null == e ? 0 : e.length; ++n < r; )
+        if (t(e[n], n, e)) return !0;
+      return !1;
+    }
+    var Rt = Mt("length");
+    function Lt(e, t, n) {
+      var r;
+      return (
+        n(e, function (e, n, i) {
+          if (t(e, n, i)) return (r = n), !1;
+        }),
+        r
+      );
+    }
+    function Dt(e, t, n, r) {
+      for (var i = e.length, o = n + (r ? 1 : -1); r ? o-- : ++o < i; )
+        if (t(e[o], o, e)) return o;
+      return -1;
+    }
+    function Bt(e, t, n) {
+      return t == t
+        ? (function (e, t, n) {
+            for (var r = n - 1, i = e.length; ++r < i; )
+              if (e[r] === t) return r;
+            return -1;
+          })(e, t, n)
+        : Dt(e, Ut, n);
+    }
+    function Nt(e, t, n, r) {
+      for (var i = n - 1, o = e.length; ++i < o; ) if (r(e[i], t)) return i;
+      return -1;
+    }
+    function Ut(e) {
+      return e != e;
+    }
+    function jt(e, t) {
+      var n = null == e ? 0 : e.length;
+      return n ? Ht(e, t) / n : s;
+    }
+    function Mt(t) {
+      return function (n) {
+        return null == n ? e : n[t];
+      };
+    }
+    function $t(t) {
+      return function (n) {
+        return null == t ? e : t[n];
+      };
+    }
+    function Ft(e, t, n, r, i) {
+      return (
+        i(e, function (e, i, o) {
+          n = r ? ((r = !1), e) : t(n, e, i, o);
+        }),
+        n
+      );
+    }
+    function Ht(t, n) {
+      for (var r, i = -1, o = t.length; ++i < o; ) {
+        var a = n(t[i]);
+        a !== e && (r = r === e ? a : r + a);
+      }
+      return r;
+    }
+    function qt(e, t) {
+      for (var n = -1, r = Array(e); ++n < e; ) r[n] = t(n);
+      return r;
+    }
+    function zt(e) {
+      return e ? e.slice(0, un(e) + 1).replace(ee, "") : e;
+    }
+    function Wt(e) {
+      return function (t) {
+        return e(t);
+      };
+    }
+    function Vt(e, t) {
+      return Ot(t, function (t) {
+        return e[t];
+      });
+    }
+    function Kt(e, t) {
+      return e.has(t);
+    }
+    function Jt(e, t) {
+      for (var n = -1, r = e.length; ++n < r && Bt(t, e[n], 0) > -1; );
+      return n;
+    }
+    function Gt(e, t) {
+      for (var n = e.length; n-- && Bt(t, e[n], 0) > -1; );
+      return n;
+    }
+    var Yt = $t({
+        À: "A",
+        Á: "A",
+        Â: "A",
+        Ã: "A",
+        Ä: "A",
+        Å: "A",
+        à: "a",
+        á: "a",
+        â: "a",
+        ã: "a",
+        ä: "a",
+        å: "a",
+        Ç: "C",
+        ç: "c",
+        Ð: "D",
+        ð: "d",
+        È: "E",
+        É: "E",
+        Ê: "E",
+        Ë: "E",
+        è: "e",
+        é: "e",
+        ê: "e",
+        ë: "e",
+        Ì: "I",
+        Í: "I",
+        Î: "I",
+        Ï: "I",
+        ì: "i",
+        í: "i",
+        î: "i",
+        ï: "i",
+        Ñ: "N",
+        ñ: "n",
+        Ò: "O",
+        Ó: "O",
+        Ô: "O",
+        Õ: "O",
+        Ö: "O",
+        Ø: "O",
+        ò: "o",
+        ó: "o",
+        ô: "o",
+        õ: "o",
+        ö: "o",
+        ø: "o",
+        Ù: "U",
+        Ú: "U",
+        Û: "U",
+        Ü: "U",
+        ù: "u",
+        ú: "u",
+        û: "u",
+        ü: "u",
+        Ý: "Y",
+        ý: "y",
+        ÿ: "y",
+        Æ: "Ae",
+        æ: "ae",
+        Þ: "Th",
+        þ: "th",
+        ß: "ss",
+        Ā: "A",
+        Ă: "A",
+        Ą: "A",
+        ā: "a",
+        ă: "a",
+        ą: "a",
+        Ć: "C",
+        Ĉ: "C",
+        Ċ: "C",
+        Č: "C",
+        ć: "c",
+        ĉ: "c",
+        ċ: "c",
+        č: "c",
+        Ď: "D",
+        Đ: "D",
+        ď: "d",
+        đ: "d",
+        Ē: "E",
+        Ĕ: "E",
+        Ė: "E",
+        Ę: "E",
+        Ě: "E",
+        ē: "e",
+        ĕ: "e",
+        ė: "e",
+        ę: "e",
+        ě: "e",
+        Ĝ: "G",
+        Ğ: "G",
+        Ġ: "G",
+        Ģ: "G",
+        ĝ: "g",
+        ğ: "g",
+        ġ: "g",
+        ģ: "g",
+        Ĥ: "H",
+        Ħ: "H",
+        ĥ: "h",
+        ħ: "h",
+        Ĩ: "I",
+        Ī: "I",
+        Ĭ: "I",
+        Į: "I",
+        İ: "I",
+        ĩ: "i",
+        ī: "i",
+        ĭ: "i",
+        į: "i",
+        ı: "i",
+        Ĵ: "J",
+        ĵ: "j",
+        Ķ: "K",
+        ķ: "k",
+        ĸ: "k",
+        Ĺ: "L",
+        Ļ: "L",
+        Ľ: "L",
+        Ŀ: "L",
+        Ł: "L",
+        ĺ: "l",
+        ļ: "l",
+        ľ: "l",
+        ŀ: "l",
+        ł: "l",
+        Ń: "N",
+        Ņ: "N",
+        Ň: "N",
+        Ŋ: "N",
+        ń: "n",
+        ņ: "n",
+        ň: "n",
+        ŋ: "n",
+        Ō: "O",
+        Ŏ: "O",
+        Ő: "O",
+        ō: "o",
+        ŏ: "o",
+        ő: "o",
+        Ŕ: "R",
+        Ŗ: "R",
+        Ř: "R",
+        ŕ: "r",
+        ŗ: "r",
+        ř: "r",
+        Ś: "S",
+        Ŝ: "S",
+        Ş: "S",
+        Š: "S",
+        ś: "s",
+        ŝ: "s",
+        ş: "s",
+        š: "s",
+        Ţ: "T",
+        Ť: "T",
+        Ŧ: "T",
+        ţ: "t",
+        ť: "t",
+        ŧ: "t",
+        Ũ: "U",
+        Ū: "U",
+        Ŭ: "U",
+        Ů: "U",
+        Ű: "U",
+        Ų: "U",
+        ũ: "u",
+        ū: "u",
+        ŭ: "u",
+        ů: "u",
+        ű: "u",
+        ų: "u",
+        Ŵ: "W",
+        ŵ: "w",
+        Ŷ: "Y",
+        ŷ: "y",
+        Ÿ: "Y",
+        Ź: "Z",
+        Ż: "Z",
+        Ž: "Z",
+        ź: "z",
+        ż: "z",
+        ž: "z",
+        IJ: "IJ",
+        ij: "ij",
+        Œ: "Oe",
+        œ: "oe",
+        ʼn: "'n",
+        ſ: "s",
+      }),
+      Xt = $t({
+        "&": "&amp;",
+        "<": "&lt;",
+        ">": "&gt;",
+        '"': "&quot;",
+        "'": "&#39;",
+      });
+    function Qt(e) {
+      return "\\" + nt[e];
+    }
+    function Zt(e) {
+      return Ye.test(e);
+    }
+    function en(e) {
+      var t = -1,
+        n = Array(e.size);
+      return (
+        e.forEach(function (e, r) {
+          n[++t] = [r, e];
+        }),
+        n
+      );
+    }
+    function tn(e, t) {
+      return function (n) {
+        return e(t(n));
+      };
+    }
+    function nn(e, t) {
+      for (var n = -1, i = e.length, o = 0, a = []; ++n < i; ) {
+        var u = e[n];
+        (u !== t && u !== r) || ((e[n] = r), (a[o++] = n));
+      }
+      return a;
+    }
+    function rn(e) {
+      var t = -1,
+        n = Array(e.size);
+      return (
+        e.forEach(function (e) {
+          n[++t] = e;
+        }),
+        n
+      );
+    }
+    function on(e) {
+      return Zt(e)
+        ? (function (e) {
+            for (var t = (Je.lastIndex = 0); Je.test(e); ) ++t;
+            return t;
+          })(e)
+        : Rt(e);
+    }
+    function an(e) {
+      return Zt(e)
+        ? (function (e) {
+            return e.match(Je) || [];
+          })(e)
+        : (function (e) {
+            return e.split("");
+          })(e);
+    }
+    function un(e) {
+      for (var t = e.length; t-- && te.test(e.charAt(t)); );
+      return t;
+    }
+    var sn = $t({
+        "&amp;": "&",
+        "&lt;": "<",
+        "&gt;": ">",
+        "&quot;": '"',
+        "&#39;": "'",
+      }),
+      cn = (function te(_e) {
+        var me,
+          we = (_e =
+            null == _e ? ut : cn.defaults(ut.Object(), _e, cn.pick(ut, Qe)))
+            .Array,
+          ke = _e.Date,
+          be = _e.Error,
+          xe = _e.Function,
+          Se = _e.Math,
+          Ae = _e.Object,
+          Ie = _e.RegExp,
+          Oe = _e.String,
+          Pe = _e.TypeError,
+          Te = we.prototype,
+          Ee = xe.prototype,
+          Ce = Ae.prototype,
+          Re = _e["__core-js_shared__"],
+          Le = Ee.toString,
+          De = Ce.hasOwnProperty,
+          Be = 0,
+          Ne = (me = /[^.]+$/.exec((Re && Re.keys && Re.keys.IE_PROTO) || ""))
+            ? "Symbol(src)_1." + me
+            : "",
+          Ue = Ce.toString,
+          je = Le.call(Ae),
+          Me = ut._,
+          $e = Ie(
+            "^" +
+              Le.call(De)
+                .replace(Q, "\\$&")
+                .replace(
+                  /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,
+                  "$1.*?"
+                ) +
+              "$"
+          ),
+          Fe = ft ? _e.Buffer : e,
+          He = _e.Symbol,
+          qe = _e.Uint8Array,
+          ze = Fe ? Fe.allocUnsafe : e,
+          We = tn(Ae.getPrototypeOf, Ae),
+          Je = Ae.create,
+          Ye = Ce.propertyIsEnumerable,
+          nt = Te.splice,
+          ot = He ? He.isConcatSpreadable : e,
+          at = He ? He.iterator : e,
+          st = He ? He.toStringTag : e,
+          ct = (function () {
+            try {
+              var e = so(Ae, "defineProperty");
+              return e({}, "", {}), e;
+            } catch (e) {}
+          })(),
+          lt = _e.clearTimeout !== ut.clearTimeout && _e.clearTimeout,
+          ht = ke && ke.now !== ut.Date.now && ke.now,
+          Rt = _e.setTimeout !== ut.setTimeout && _e.setTimeout,
+          $t = Se.ceil,
+          fn = Se.floor,
+          ln = Ae.getOwnPropertySymbols,
+          hn = Fe ? Fe.isBuffer : e,
+          pn = _e.isFinite,
+          dn = Te.join,
+          vn = tn(Ae.keys, Ae),
+          gn = Se.max,
+          yn = Se.min,
+          _n = ke.now,
+          mn = _e.parseInt,
+          wn = Se.random,
+          kn = Te.reverse,
+          bn = so(_e, "DataView"),
+          xn = so(_e, "Map"),
+          Sn = so(_e, "Promise"),
+          An = so(_e, "Set"),
+          In = so(_e, "WeakMap"),
+          On = so(Ae, "create"),
+          Pn = In && new In(),
+          Tn = {},
+          En = Uo(bn),
+          Cn = Uo(xn),
+          Rn = Uo(Sn),
+          Ln = Uo(An),
+          Dn = Uo(In),
+          Bn = He ? He.prototype : e,
+          Nn = Bn ? Bn.valueOf : e,
+          Un = Bn ? Bn.toString : e;
+        function jn(e) {
+          if (eu(e) && !qa(e) && !(e instanceof Hn)) {
+            if (e instanceof Fn) return e;
+            if (De.call(e, "__wrapped__")) return jo(e);
+          }
+          return new Fn(e);
+        }
+        var Mn = (function () {
+          function t() {}
+          return function (n) {
+            if (!Za(n)) return {};
+            if (Je) return Je(n);
+            t.prototype = n;
+            var r = new t();
+            return (t.prototype = e), r;
+          };
+        })();
+        function $n() {}
+        function Fn(t, n) {
+          (this.__wrapped__ = t),
+            (this.__actions__ = []),
+            (this.__chain__ = !!n),
+            (this.__index__ = 0),
+            (this.__values__ = e);
+        }
+        function Hn(e) {
+          (this.__wrapped__ = e),
+            (this.__actions__ = []),
+            (this.__dir__ = 1),
+            (this.__filtered__ = !1),
+            (this.__iteratees__ = []),
+            (this.__takeCount__ = c),
+            (this.__views__ = []);
+        }
+        function qn(e) {
+          var t = -1,
+            n = null == e ? 0 : e.length;
+          for (this.clear(); ++t < n; ) {
+            var r = e[t];
+            this.set(r[0], r[1]);
+          }
+        }
+        function zn(e) {
+          var t = -1,
+            n = null == e ? 0 : e.length;
+          for (this.clear(); ++t < n; ) {
+            var r = e[t];
+            this.set(r[0], r[1]);
+          }
+        }
+        function Wn(e) {
+          var t = -1,
+            n = null == e ? 0 : e.length;
+          for (this.clear(); ++t < n; ) {
+            var r = e[t];
+            this.set(r[0], r[1]);
+          }
+        }
+        function Vn(e) {
+          var t = -1,
+            n = null == e ? 0 : e.length;
+          for (this.__data__ = new Wn(); ++t < n; ) this.add(e[t]);
+        }
+        function Kn(e) {
+          var t = (this.__data__ = new zn(e));
+          this.size = t.size;
+        }
+        function Jn(e, t) {
+          var n = qa(e),
+            r = !n && Ha(e),
+            i = !n && !r && Ka(e),
+            o = !n && !r && !i && su(e),
+            a = n || r || i || o,
+            u = a ? qt(e.length, Oe) : [],
+            s = u.length;
+          for (var c in e)
+            (!t && !De.call(e, c)) ||
+              (a &&
+                ("length" == c ||
+                  (i && ("offset" == c || "parent" == c)) ||
+                  (o &&
+                    ("buffer" == c ||
+                      "byteLength" == c ||
+                      "byteOffset" == c)) ||
+                  go(c, s))) ||
+              u.push(c);
+          return u;
+        }
+        function Gn(t) {
+          var n = t.length;
+          return n ? t[Wr(0, n - 1)] : e;
+        }
+        function Yn(e, t) {
+          return Ro(Ii(e), or(t, 0, e.length));
+        }
+        function Xn(e) {
+          return Ro(Ii(e));
+        }
+        function Qn(t, n, r) {
+          ((r !== e && !Ma(t[n], r)) || (r === e && !(n in t))) && rr(t, n, r);
+        }
+        function Zn(t, n, r) {
+          var i = t[n];
+          (De.call(t, n) && Ma(i, r) && (r !== e || n in t)) || rr(t, n, r);
+        }
+        function er(e, t) {
+          for (var n = e.length; n--; ) if (Ma(e[n][0], t)) return n;
+          return -1;
+        }
+        function tr(e, t, n, r) {
+          return (
+            fr(e, function (e, i, o) {
+              t(r, e, n(e), o);
+            }),
+            r
+          );
+        }
+        function nr(e, t) {
+          return e && Oi(t, Eu(t), e);
+        }
+        function rr(e, t, n) {
+          "__proto__" == t && ct
+            ? ct(e, t, {
+                configurable: !0,
+                enumerable: !0,
+                value: n,
+                writable: !0,
+              })
+            : (e[t] = n);
+        }
+        function ir(t, n) {
+          for (var r = -1, i = n.length, o = we(i), a = null == t; ++r < i; )
+            o[r] = a ? e : Au(t, n[r]);
+          return o;
+        }
+        function or(t, n, r) {
+          return (
+            t == t &&
+              (r !== e && (t = t <= r ? t : r),
+              n !== e && (t = t >= n ? t : n)),
+            t
+          );
+        }
+        function ar(t, n, r, i, o, a) {
+          var u,
+            s = 1 & n,
+            c = 2 & n,
+            f = 4 & n;
+          if ((r && (u = o ? r(t, i, o, a) : r(t)), u !== e)) return u;
+          if (!Za(t)) return t;
+          var l = qa(t);
+          if (l) {
+            if (
+              ((u = (function (e) {
+                var t = e.length,
+                  n = new e.constructor(t);
+                return (
+                  t &&
+                    "string" == typeof e[0] &&
+                    De.call(e, "index") &&
+                    ((n.index = e.index), (n.input = e.input)),
+                  n
+                );
+              })(t)),
+              !s)
+            )
+              return Ii(t, u);
+          } else {
+            var p = lo(t),
+              g = p == y || p == _;
+            if (Ka(t)) return wi(t, s);
+            if (p == k || p == h || (g && !o)) {
+              if (((u = c || g ? {} : po(t)), !s))
+                return c
+                  ? (function (e, t) {
+                      return Oi(e, fo(e), t);
+                    })(
+                      t,
+                      (function (e, t) {
+                        return e && Oi(t, Cu(t), e);
+                      })(u, t)
+                    )
+                  : (function (e, t) {
+                      return Oi(e, co(e), t);
+                    })(t, nr(u, t));
+            } else {
+              if (!tt[p]) return o ? t : {};
+              u = (function (e, t, n) {
+                var r,
+                  i = e.constructor;
+                switch (t) {
+                  case P:
+                    return ki(e);
+                  case d:
+                  case v:
+                    return new i(+e);
+                  case T:
+                    return (function (e, t) {
+                      var n = t ? ki(e.buffer) : e.buffer;
+                      return new e.constructor(n, e.byteOffset, e.byteLength);
+                    })(e, n);
+                  case E:
+                  case C:
+                  case R:
+                  case L:
+                  case D:
+                  case B:
+                  case N:
+                  case U:
+                  case j:
+                    return bi(e, n);
+                  case m:
+                    return new i();
+                  case w:
+                  case A:
+                    return new i(e);
+                  case x:
+                    return (function (e) {
+                      var t = new e.constructor(e.source, ce.exec(e));
+                      return (t.lastIndex = e.lastIndex), t;
+                    })(e);
+                  case S:
+                    return new i();
+                  case I:
+                    return (r = e), Nn ? Ae(Nn.call(r)) : {};
+                }
+              })(t, p, s);
+            }
+          }
+          a || (a = new Kn());
+          var b = a.get(t);
+          if (b) return b;
+          a.set(t, u),
+            ou(t)
+              ? t.forEach(function (e) {
+                  u.add(ar(e, n, r, e, t, a));
+                })
+              : tu(t) &&
+                t.forEach(function (e, i) {
+                  u.set(i, ar(e, n, r, i, t, a));
+                });
+          var O = l ? e : (f ? (c ? to : eo) : c ? Cu : Eu)(t);
+          return (
+            kt(O || t, function (e, i) {
+              O && (e = t[(i = e)]), Zn(u, i, ar(e, n, r, i, t, a));
+            }),
+            u
+          );
+        }
+        function ur(t, n, r) {
+          var i = r.length;
+          if (null == t) return !i;
+          for (t = Ae(t); i--; ) {
+            var o = r[i],
+              a = n[o],
+              u = t[o];
+            if ((u === e && !(o in t)) || !a(u)) return !1;
+          }
+          return !0;
+        }
+        function sr(n, r, i) {
+          if ("function" != typeof n) throw new Pe(t);
+          return Po(function () {
+            n.apply(e, i);
+          }, r);
+        }
+        function cr(e, t, n, r) {
+          var i = -1,
+            o = At,
+            a = !0,
+            u = e.length,
+            s = [],
+            c = t.length;
+          if (!u) return s;
+          n && (t = Ot(t, Wt(n))),
+            r
+              ? ((o = It), (a = !1))
+              : t.length >= 200 && ((o = Kt), (a = !1), (t = new Vn(t)));
+          e: for (; ++i < u; ) {
+            var f = e[i],
+              l = null == n ? f : n(f);
+            if (((f = r || 0 !== f ? f : 0), a && l == l)) {
+              for (var h = c; h--; ) if (t[h] === l) continue e;
+              s.push(f);
+            } else o(t, l, r) || s.push(f);
+          }
+          return s;
+        }
+        (jn.templateSettings = {
+          escape: V,
+          evaluate: K,
+          interpolate: J,
+          variable: "",
+          imports: { _: jn },
+        }),
+          (jn.prototype = $n.prototype),
+          (jn.prototype.constructor = jn),
+          (Fn.prototype = Mn($n.prototype)),
+          (Fn.prototype.constructor = Fn),
+          (Hn.prototype = Mn($n.prototype)),
+          (Hn.prototype.constructor = Hn),
+          (qn.prototype.clear = function () {
+            (this.__data__ = On ? On(null) : {}), (this.size = 0);
+          }),
+          (qn.prototype.delete = function (e) {
+            var t = this.has(e) && delete this.__data__[e];
+            return (this.size -= t ? 1 : 0), t;
+          }),
+          (qn.prototype.get = function (t) {
+            var r = this.__data__;
+            if (On) {
+              var i = r[t];
+              return i === n ? e : i;
+            }
+            return De.call(r, t) ? r[t] : e;
+          }),
+          (qn.prototype.has = function (t) {
+            var n = this.__data__;
+            return On ? n[t] !== e : De.call(n, t);
+          }),
+          (qn.prototype.set = function (t, r) {
+            var i = this.__data__;
+            return (
+              (this.size += this.has(t) ? 0 : 1),
+              (i[t] = On && r === e ? n : r),
+              this
+            );
+          }),
+          (zn.prototype.clear = function () {
+            (this.__data__ = []), (this.size = 0);
+          }),
+          (zn.prototype.delete = function (e) {
+            var t = this.__data__,
+              n = er(t, e);
+            return !(
+              n < 0 ||
+              (n == t.length - 1 ? t.pop() : nt.call(t, n, 1), --this.size, 0)
+            );
+          }),
+          (zn.prototype.get = function (t) {
+            var n = this.__data__,
+              r = er(n, t);
+            return r < 0 ? e : n[r][1];
+          }),
+          (zn.prototype.has = function (e) {
+            return er(this.__data__, e) > -1;
+          }),
+          (zn.prototype.set = function (e, t) {
+            var n = this.__data__,
+              r = er(n, e);
+            return r < 0 ? (++this.size, n.push([e, t])) : (n[r][1] = t), this;
+          }),
+          (Wn.prototype.clear = function () {
+            (this.size = 0),
+              (this.__data__ = {
+                hash: new qn(),
+                map: new (xn || zn)(),
+                string: new qn(),
+              });
+          }),
+          (Wn.prototype.delete = function (e) {
+            var t = ao(this, e).delete(e);
+            return (this.size -= t ? 1 : 0), t;
+          }),
+          (Wn.prototype.get = function (e) {
+            return ao(this, e).get(e);
+          }),
+          (Wn.prototype.has = function (e) {
+            return ao(this, e).has(e);
+          }),
+          (Wn.prototype.set = function (e, t) {
+            var n = ao(this, e),
+              r = n.size;
+            return n.set(e, t), (this.size += n.size == r ? 0 : 1), this;
+          }),
+          (Vn.prototype.add = Vn.prototype.push =
+            function (e) {
+              return this.__data__.set(e, n), this;
+            }),
+          (Vn.prototype.has = function (e) {
+            return this.__data__.has(e);
+          }),
+          (Kn.prototype.clear = function () {
+            (this.__data__ = new zn()), (this.size = 0);
+          }),
+          (Kn.prototype.delete = function (e) {
+            var t = this.__data__,
+              n = t.delete(e);
+            return (this.size = t.size), n;
+          }),
+          (Kn.prototype.get = function (e) {
+            return this.__data__.get(e);
+          }),
+          (Kn.prototype.has = function (e) {
+            return this.__data__.has(e);
+          }),
+          (Kn.prototype.set = function (e, t) {
+            var n = this.__data__;
+            if (n instanceof zn) {
+              var r = n.__data__;
+              if (!xn || r.length < 199)
+                return r.push([e, t]), (this.size = ++n.size), this;
+              n = this.__data__ = new Wn(r);
+            }
+            return n.set(e, t), (this.size = n.size), this;
+          });
+        var fr = Ei(_r),
+          lr = Ei(mr, !0);
+        function hr(e, t) {
+          var n = !0;
+          return (
+            fr(e, function (e, r, i) {
+              return (n = !!t(e, r, i));
+            }),
+            n
+          );
+        }
+        function pr(t, n, r) {
+          for (var i = -1, o = t.length; ++i < o; ) {
+            var a = t[i],
+              u = n(a);
+            if (null != u && (s === e ? u == u && !uu(u) : r(u, s)))
+              var s = u,
+                c = a;
+          }
+          return c;
+        }
+        function dr(e, t) {
+          var n = [];
+          return (
+            fr(e, function (e, r, i) {
+              t(e, r, i) && n.push(e);
+            }),
+            n
+          );
+        }
+        function vr(e, t, n, r, i) {
+          var o = -1,
+            a = e.length;
+          for (n || (n = vo), i || (i = []); ++o < a; ) {
+            var u = e[o];
+            t > 0 && n(u)
+              ? t > 1
+                ? vr(u, t - 1, n, r, i)
+                : Pt(i, u)
+              : r || (i[i.length] = u);
+          }
+          return i;
+        }
+        var gr = Ci(),
+          yr = Ci(!0);
+        function _r(e, t) {
+          return e && gr(e, t, Eu);
+        }
+        function mr(e, t) {
+          return e && yr(e, t, Eu);
+        }
+        function wr(e, t) {
+          return St(t, function (t) {
+            return Ya(e[t]);
+          });
+        }
+        function kr(t, n) {
+          for (var r = 0, i = (n = gi(n, t)).length; null != t && r < i; )
+            t = t[No(n[r++])];
+          return r && r == i ? t : e;
+        }
+        function br(e, t, n) {
+          var r = t(e);
+          return qa(e) ? r : Pt(r, n(e));
+        }
+        function xr(t) {
+          return null == t
+            ? t === e
+              ? "[object Undefined]"
+              : "[object Null]"
+            : st && st in Ae(t)
+            ? (function (t) {
+                var n = De.call(t, st),
+                  r = t[st];
+                try {
+                  t[st] = e;
+                  var i = !0;
+                } catch (e) {}
+                var o = Ue.call(t);
+                return i && (n ? (t[st] = r) : delete t[st]), o;
+              })(t)
+            : (function (e) {
+                return Ue.call(e);
+              })(t);
+        }
+        function Sr(e, t) {
+          return e > t;
+        }
+        function Ar(e, t) {
+          return null != e && De.call(e, t);
+        }
+        function Ir(e, t) {
+          return null != e && t in Ae(e);
+        }
+        function Or(t, n, r) {
+          for (
+            var i = r ? It : At,
+              o = t[0].length,
+              a = t.length,
+              u = a,
+              s = we(a),
+              c = 1 / 0,
+              f = [];
+            u--;
+
+          ) {
+            var l = t[u];
+            u && n && (l = Ot(l, Wt(n))),
+              (c = yn(l.length, c)),
+              (s[u] =
+                !r && (n || (o >= 120 && l.length >= 120))
+                  ? new Vn(u && l)
+                  : e);
+          }
+          l = t[0];
+          var h = -1,
+            p = s[0];
+          e: for (; ++h < o && f.length < c; ) {
+            var d = l[h],
+              v = n ? n(d) : d;
+            if (((d = r || 0 !== d ? d : 0), !(p ? Kt(p, v) : i(f, v, r)))) {
+              for (u = a; --u; ) {
+                var g = s[u];
+                if (!(g ? Kt(g, v) : i(t[u], v, r))) continue e;
+              }
+              p && p.push(v), f.push(d);
+            }
+          }
+          return f;
+        }
+        function Pr(t, n, r) {
+          var i = null == (t = Ao(t, (n = gi(n, t)))) ? t : t[No(Go(n))];
+          return null == i ? e : mt(i, t, r);
+        }
+        function Tr(e) {
+          return eu(e) && xr(e) == h;
+        }
+        function Er(t, n, r, i, o) {
+          return (
+            t === n ||
+            (null == t || null == n || (!eu(t) && !eu(n))
+              ? t != t && n != n
+              : (function (t, n, r, i, o, a) {
+                  var u = qa(t),
+                    s = qa(n),
+                    c = u ? p : lo(t),
+                    f = s ? p : lo(n),
+                    l = (c = c == h ? k : c) == k,
+                    y = (f = f == h ? k : f) == k,
+                    _ = c == f;
+                  if (_ && Ka(t)) {
+                    if (!Ka(n)) return !1;
+                    (u = !0), (l = !1);
+                  }
+                  if (_ && !l)
+                    return (
+                      a || (a = new Kn()),
+                      u || su(t)
+                        ? Qi(t, n, r, i, o, a)
+                        : (function (e, t, n, r, i, o, a) {
+                            switch (n) {
+                              case T:
+                                if (
+                                  e.byteLength != t.byteLength ||
+                                  e.byteOffset != t.byteOffset
+                                )
+                                  return !1;
+                                (e = e.buffer), (t = t.buffer);
+                              case P:
+                                return !(
+                                  e.byteLength != t.byteLength ||
+                                  !o(new qe(e), new qe(t))
+                                );
+                              case d:
+                              case v:
+                              case w:
+                                return Ma(+e, +t);
+                              case g:
+                                return (
+                                  e.name == t.name && e.message == t.message
+                                );
+                              case x:
+                              case A:
+                                return e == t + "";
+                              case m:
+                                var u = en;
+                              case S:
+                                var s = 1 & r;
+                                if ((u || (u = rn), e.size != t.size && !s))
+                                  return !1;
+                                var c = a.get(e);
+                                if (c) return c == t;
+                                (r |= 2), a.set(e, t);
+                                var f = Qi(u(e), u(t), r, i, o, a);
+                                return a.delete(e), f;
+                              case I:
+                                if (Nn) return Nn.call(e) == Nn.call(t);
+                            }
+                            return !1;
+                          })(t, n, c, r, i, o, a)
+                    );
+                  if (!(1 & r)) {
+                    var b = l && De.call(t, "__wrapped__"),
+                      O = y && De.call(n, "__wrapped__");
+                    if (b || O) {
+                      var E = b ? t.value() : t,
+                        C = O ? n.value() : n;
+                      return a || (a = new Kn()), o(E, C, r, i, a);
+                    }
+                  }
+                  return (
+                    !!_ &&
+                    (a || (a = new Kn()),
+                    (function (t, n, r, i, o, a) {
+                      var u = 1 & r,
+                        s = eo(t),
+                        c = s.length;
+                      if (c != eo(n).length && !u) return !1;
+                      for (var f = c; f--; ) {
+                        var l = s[f];
+                        if (!(u ? l in n : De.call(n, l))) return !1;
+                      }
+                      var h = a.get(t),
+                        p = a.get(n);
+                      if (h && p) return h == n && p == t;
+                      var d = !0;
+                      a.set(t, n), a.set(n, t);
+                      for (var v = u; ++f < c; ) {
+                        var g = t[(l = s[f])],
+                          y = n[l];
+                        if (i)
+                          var _ = u ? i(y, g, l, n, t, a) : i(g, y, l, t, n, a);
+                        if (!(_ === e ? g === y || o(g, y, r, i, a) : _)) {
+                          d = !1;
+                          break;
+                        }
+                        v || (v = "constructor" == l);
+                      }
+                      if (d && !v) {
+                        var m = t.constructor,
+                          w = n.constructor;
+                        m == w ||
+                          !("constructor" in t) ||
+                          !("constructor" in n) ||
+                          ("function" == typeof m &&
+                            m instanceof m &&
+                            "function" == typeof w &&
+                            w instanceof w) ||
+                          (d = !1);
+                      }
+                      return a.delete(t), a.delete(n), d;
+                    })(t, n, r, i, o, a))
+                  );
+                })(t, n, r, i, Er, o))
+          );
+        }
+        function Cr(t, n, r, i) {
+          var o = r.length,
+            a = o,
+            u = !i;
+          if (null == t) return !a;
+          for (t = Ae(t); o--; ) {
+            var s = r[o];
+            if (u && s[2] ? s[1] !== t[s[0]] : !(s[0] in t)) return !1;
+          }
+          for (; ++o < a; ) {
+            var c = (s = r[o])[0],
+              f = t[c],
+              l = s[1];
+            if (u && s[2]) {
+              if (f === e && !(c in t)) return !1;
+            } else {
+              var h = new Kn();
+              if (i) var p = i(f, l, c, t, n, h);
+              if (!(p === e ? Er(l, f, 3, i, h) : p)) return !1;
+            }
+          }
+          return !0;
+        }
+        function Rr(e) {
+          return (
+            !(!Za(e) || ((t = e), Ne && Ne in t)) &&
+            (Ya(e) ? $e : he).test(Uo(e))
+          );
+          var t;
+        }
+        function Lr(e) {
+          return "function" == typeof e
+            ? e
+            : null == e
+            ? ns
+            : "object" == f(e)
+            ? qa(e)
+              ? jr(e[0], e[1])
+              : Ur(e)
+            : ls(e);
+        }
+        function Dr(e) {
+          if (!ko(e)) return vn(e);
+          var t = [];
+          for (var n in Ae(e)) De.call(e, n) && "constructor" != n && t.push(n);
+          return t;
+        }
+        function Br(e, t) {
+          return e < t;
+        }
+        function Nr(e, t) {
+          var n = -1,
+            r = Wa(e) ? we(e.length) : [];
+          return (
+            fr(e, function (e, i, o) {
+              r[++n] = t(e, i, o);
+            }),
+            r
+          );
+        }
+        function Ur(e) {
+          var t = uo(e);
+          return 1 == t.length && t[0][2]
+            ? xo(t[0][0], t[0][1])
+            : function (n) {
+                return n === e || Cr(n, e, t);
+              };
+        }
+        function jr(t, n) {
+          return _o(t) && bo(n)
+            ? xo(No(t), n)
+            : function (r) {
+                var i = Au(r, t);
+                return i === e && i === n ? Iu(r, t) : Er(n, i, 3);
+              };
+        }
+        function Mr(t, n, r, i, o) {
+          t !== n &&
+            gr(
+              n,
+              function (a, u) {
+                if ((o || (o = new Kn()), Za(a)))
+                  !(function (t, n, r, i, o, a, u) {
+                    var s = Io(t, r),
+                      c = Io(n, r),
+                      f = u.get(c);
+                    if (f) Qn(t, r, f);
+                    else {
+                      var l = a ? a(s, c, r + "", t, n, u) : e,
+                        h = l === e;
+                      if (h) {
+                        var p = qa(c),
+                          d = !p && Ka(c),
+                          v = !p && !d && su(c);
+                        (l = c),
+                          p || d || v
+                            ? qa(s)
+                              ? (l = s)
+                              : Va(s)
+                              ? (l = Ii(s))
+                              : d
+                              ? ((h = !1), (l = wi(c, !0)))
+                              : v
+                              ? ((h = !1), (l = bi(c, !0)))
+                              : (l = [])
+                            : ru(c) || Ha(c)
+                            ? ((l = s),
+                              Ha(s)
+                                ? (l = gu(s))
+                                : (Za(s) && !Ya(s)) || (l = po(c)))
+                            : (h = !1);
+                      }
+                      h && (u.set(c, l), o(l, c, i, a, u), u.delete(c)),
+                        Qn(t, r, l);
+                    }
+                  })(t, n, u, r, Mr, i, o);
+                else {
+                  var s = i ? i(Io(t, u), a, u + "", t, n, o) : e;
+                  s === e && (s = a), Qn(t, u, s);
+                }
+              },
+              Cu
+            );
+        }
+        function $r(t, n) {
+          var r = t.length;
+          if (r) return go((n += n < 0 ? r : 0), r) ? t[n] : e;
+        }
+        function Fr(e, t, n) {
+          t = t.length
+            ? Ot(t, function (e) {
+                return qa(e)
+                  ? function (t) {
+                      return kr(t, 1 === e.length ? e[0] : e);
+                    }
+                  : e;
+              })
+            : [ns];
+          var r = -1;
+          return (
+            (t = Ot(t, Wt(oo()))),
+            (function (e, t) {
+              var n = e.length;
+              for (e.sort(t); n--; ) e[n] = e[n].value;
+              return e;
+            })(
+              Nr(e, function (e, n, i) {
+                return {
+                  criteria: Ot(t, function (t) {
+                    return t(e);
+                  }),
+                  index: ++r,
+                  value: e,
+                };
+              }),
+              function (e, t) {
+                return (function (e, t, n) {
+                  for (
+                    var r = -1,
+                      i = e.criteria,
+                      o = t.criteria,
+                      a = i.length,
+                      u = n.length;
+                    ++r < a;
+
+                  ) {
+                    var s = xi(i[r], o[r]);
+                    if (s) return r >= u ? s : s * ("desc" == n[r] ? -1 : 1);
+                  }
+                  return e.index - t.index;
+                })(e, t, n);
+              }
+            )
+          );
+        }
+        function Hr(e, t, n) {
+          for (var r = -1, i = t.length, o = {}; ++r < i; ) {
+            var a = t[r],
+              u = kr(e, a);
+            n(u, a) && Yr(o, gi(a, e), u);
+          }
+          return o;
+        }
+        function qr(e, t, n, r) {
+          var i = r ? Nt : Bt,
+            o = -1,
+            a = t.length,
+            u = e;
+          for (e === t && (t = Ii(t)), n && (u = Ot(e, Wt(n))); ++o < a; )
+            for (
+              var s = 0, c = t[o], f = n ? n(c) : c;
+              (s = i(u, f, s, r)) > -1;
+
+            )
+              u !== e && nt.call(u, s, 1), nt.call(e, s, 1);
+          return e;
+        }
+        function zr(e, t) {
+          for (var n = e ? t.length : 0, r = n - 1; n--; ) {
+            var i = t[n];
+            if (n == r || i !== o) {
+              var o = i;
+              go(i) ? nt.call(e, i, 1) : si(e, i);
+            }
+          }
+          return e;
+        }
+        function Wr(e, t) {
+          return e + fn(wn() * (t - e + 1));
+        }
+        function Vr(e, t) {
+          var n = "";
+          if (!e || t < 1 || t > u) return n;
+          do {
+            t % 2 && (n += e), (t = fn(t / 2)) && (e += e);
+          } while (t);
+          return n;
+        }
+        function Kr(e, t) {
+          return To(So(e, t, ns), e + "");
+        }
+        function Jr(e) {
+          return Gn(Mu(e));
+        }
+        function Gr(e, t) {
+          var n = Mu(e);
+          return Ro(n, or(t, 0, n.length));
+        }
+        function Yr(t, n, r, i) {
+          if (!Za(t)) return t;
+          for (
+            var o = -1, a = (n = gi(n, t)).length, u = a - 1, s = t;
+            null != s && ++o < a;
+
+          ) {
+            var c = No(n[o]),
+              f = r;
+            if ("__proto__" === c || "constructor" === c || "prototype" === c)
+              return t;
+            if (o != u) {
+              var l = s[c];
+              (f = i ? i(l, c, s) : e) === e &&
+                (f = Za(l) ? l : go(n[o + 1]) ? [] : {});
+            }
+            Zn(s, c, f), (s = s[c]);
+          }
+          return t;
+        }
+        var Xr = Pn
+            ? function (e, t) {
+                return Pn.set(e, t), e;
+              }
+            : ns,
+          Qr = ct
+            ? function (e, t) {
+                return ct(e, "toString", {
+                  configurable: !0,
+                  enumerable: !1,
+                  value: Zu(t),
+                  writable: !0,
+                });
+              }
+            : ns;
+        function Zr(e) {
+          return Ro(Mu(e));
+        }
+        function ei(e, t, n) {
+          var r = -1,
+            i = e.length;
+          t < 0 && (t = -t > i ? 0 : i + t),
+            (n = n > i ? i : n) < 0 && (n += i),
+            (i = t > n ? 0 : (n - t) >>> 0),
+            (t >>>= 0);
+          for (var o = we(i); ++r < i; ) o[r] = e[r + t];
+          return o;
+        }
+        function ti(e, t) {
+          var n;
+          return (
+            fr(e, function (e, r, i) {
+              return !(n = t(e, r, i));
+            }),
+            !!n
+          );
+        }
+        function ni(e, t, n) {
+          var r = 0,
+            i = null == e ? r : e.length;
+          if ("number" == typeof t && t == t && i <= 2147483647) {
+            for (; r < i; ) {
+              var o = (r + i) >>> 1,
+                a = e[o];
+              null !== a && !uu(a) && (n ? a <= t : a < t)
+                ? (r = o + 1)
+                : (i = o);
+            }
+            return i;
+          }
+          return ri(e, t, ns, n);
+        }
+        function ri(t, n, r, i) {
+          var o = 0,
+            a = null == t ? 0 : t.length;
+          if (0 === a) return 0;
+          for (
+            var u = (n = r(n)) != n, s = null === n, c = uu(n), f = n === e;
+            o < a;
+
+          ) {
+            var l = fn((o + a) / 2),
+              h = r(t[l]),
+              p = h !== e,
+              d = null === h,
+              v = h == h,
+              g = uu(h);
+            if (u) var y = i || v;
+            else
+              y = f
+                ? v && (i || p)
+                : s
+                ? v && p && (i || !d)
+                : c
+                ? v && p && !d && (i || !g)
+                : !d && !g && (i ? h <= n : h < n);
+            y ? (o = l + 1) : (a = l);
+          }
+          return yn(a, 4294967294);
+        }
+        function ii(e, t) {
+          for (var n = -1, r = e.length, i = 0, o = []; ++n < r; ) {
+            var a = e[n],
+              u = t ? t(a) : a;
+            if (!n || !Ma(u, s)) {
+              var s = u;
+              o[i++] = 0 === a ? 0 : a;
+            }
+          }
+          return o;
+        }
+        function oi(e) {
+          return "number" == typeof e ? e : uu(e) ? s : +e;
+        }
+        function ai(e) {
+          if ("string" == typeof e) return e;
+          if (qa(e)) return Ot(e, ai) + "";
+          if (uu(e)) return Un ? Un.call(e) : "";
+          var t = e + "";
+          return "0" == t && 1 / e == -1 / 0 ? "-0" : t;
+        }
+        function ui(e, t, n) {
+          var r = -1,
+            i = At,
+            o = e.length,
+            a = !0,
+            u = [],
+            s = u;
+          if (n) (a = !1), (i = It);
+          else if (o >= 200) {
+            var c = t ? null : Vi(e);
+            if (c) return rn(c);
+            (a = !1), (i = Kt), (s = new Vn());
+          } else s = t ? [] : u;
+          e: for (; ++r < o; ) {
+            var f = e[r],
+              l = t ? t(f) : f;
+            if (((f = n || 0 !== f ? f : 0), a && l == l)) {
+              for (var h = s.length; h--; ) if (s[h] === l) continue e;
+              t && s.push(l), u.push(f);
+            } else i(s, l, n) || (s !== u && s.push(l), u.push(f));
+          }
+          return u;
+        }
+        function si(e, t) {
+          return null == (e = Ao(e, (t = gi(t, e)))) || delete e[No(Go(t))];
+        }
+        function ci(e, t, n, r) {
+          return Yr(e, t, n(kr(e, t)), r);
+        }
+        function fi(e, t, n, r) {
+          for (
+            var i = e.length, o = r ? i : -1;
+            (r ? o-- : ++o < i) && t(e[o], o, e);
+
+          );
+          return n
+            ? ei(e, r ? 0 : o, r ? o + 1 : i)
+            : ei(e, r ? o + 1 : 0, r ? i : o);
+        }
+        function li(e, t) {
+          var n = e;
+          return (
+            n instanceof Hn && (n = n.value()),
+            Tt(
+              t,
+              function (e, t) {
+                return t.func.apply(t.thisArg, Pt([e], t.args));
+              },
+              n
+            )
+          );
+        }
+        function hi(e, t, n) {
+          var r = e.length;
+          if (r < 2) return r ? ui(e[0]) : [];
+          for (var i = -1, o = we(r); ++i < r; )
+            for (var a = e[i], u = -1; ++u < r; )
+              u != i && (o[i] = cr(o[i] || a, e[u], t, n));
+          return ui(vr(o, 1), t, n);
+        }
+        function pi(t, n, r) {
+          for (var i = -1, o = t.length, a = n.length, u = {}; ++i < o; ) {
+            var s = i < a ? n[i] : e;
+            r(u, t[i], s);
+          }
+          return u;
+        }
+        function di(e) {
+          return Va(e) ? e : [];
+        }
+        function vi(e) {
+          return "function" == typeof e ? e : ns;
+        }
+        function gi(e, t) {
+          return qa(e) ? e : _o(e, t) ? [e] : Bo(yu(e));
+        }
+        var yi = Kr;
+        function _i(t, n, r) {
+          var i = t.length;
+          return (r = r === e ? i : r), !n && r >= i ? t : ei(t, n, r);
+        }
+        var mi =
+          lt ||
+          function (e) {
+            return ut.clearTimeout(e);
+          };
+        function wi(e, t) {
+          if (t) return e.slice();
+          var n = e.length,
+            r = ze ? ze(n) : new e.constructor(n);
+          return e.copy(r), r;
+        }
+        function ki(e) {
+          var t = new e.constructor(e.byteLength);
+          return new qe(t).set(new qe(e)), t;
+        }
+        function bi(e, t) {
+          var n = t ? ki(e.buffer) : e.buffer;
+          return new e.constructor(n, e.byteOffset, e.length);
+        }
+        function xi(t, n) {
+          if (t !== n) {
+            var r = t !== e,
+              i = null === t,
+              o = t == t,
+              a = uu(t),
+              u = n !== e,
+              s = null === n,
+              c = n == n,
+              f = uu(n);
+            if (
+              (!s && !f && !a && t > n) ||
+              (a && u && c && !s && !f) ||
+              (i && u && c) ||
+              (!r && c) ||
+              !o
+            )
+              return 1;
+            if (
+              (!i && !a && !f && t < n) ||
+              (f && r && o && !i && !a) ||
+              (s && r && o) ||
+              (!u && o) ||
+              !c
+            )
+              return -1;
+          }
+          return 0;
+        }
+        function Si(e, t, n, r) {
+          for (
+            var i = -1,
+              o = e.length,
+              a = n.length,
+              u = -1,
+              s = t.length,
+              c = gn(o - a, 0),
+              f = we(s + c),
+              l = !r;
+            ++u < s;
+
+          )
+            f[u] = t[u];
+          for (; ++i < a; ) (l || i < o) && (f[n[i]] = e[i]);
+          for (; c--; ) f[u++] = e[i++];
+          return f;
+        }
+        function Ai(e, t, n, r) {
+          for (
+            var i = -1,
+              o = e.length,
+              a = -1,
+              u = n.length,
+              s = -1,
+              c = t.length,
+              f = gn(o - u, 0),
+              l = we(f + c),
+              h = !r;
+            ++i < f;
+
+          )
+            l[i] = e[i];
+          for (var p = i; ++s < c; ) l[p + s] = t[s];
+          for (; ++a < u; ) (h || i < o) && (l[p + n[a]] = e[i++]);
+          return l;
+        }
+        function Ii(e, t) {
+          var n = -1,
+            r = e.length;
+          for (t || (t = we(r)); ++n < r; ) t[n] = e[n];
+          return t;
+        }
+        function Oi(t, n, r, i) {
+          var o = !r;
+          r || (r = {});
+          for (var a = -1, u = n.length; ++a < u; ) {
+            var s = n[a],
+              c = i ? i(r[s], t[s], s, r, t) : e;
+            c === e && (c = t[s]), o ? rr(r, s, c) : Zn(r, s, c);
+          }
+          return r;
+        }
+        function Pi(e, t) {
+          return function (n, r) {
+            var i = qa(n) ? wt : tr,
+              o = t ? t() : {};
+            return i(n, e, oo(r, 2), o);
+          };
+        }
+        function Ti(t) {
+          return Kr(function (n, r) {
+            var i = -1,
+              o = r.length,
+              a = o > 1 ? r[o - 1] : e,
+              u = o > 2 ? r[2] : e;
+            for (
+              a = t.length > 3 && "function" == typeof a ? (o--, a) : e,
+                u && yo(r[0], r[1], u) && ((a = o < 3 ? e : a), (o = 1)),
+                n = Ae(n);
+              ++i < o;
+
+            ) {
+              var s = r[i];
+              s && t(n, s, i, a);
+            }
+            return n;
+          });
+        }
+        function Ei(e, t) {
+          return function (n, r) {
+            if (null == n) return n;
+            if (!Wa(n)) return e(n, r);
+            for (
+              var i = n.length, o = t ? i : -1, a = Ae(n);
+              (t ? o-- : ++o < i) && !1 !== r(a[o], o, a);
+
+            );
+            return n;
+          };
+        }
+        function Ci(e) {
+          return function (t, n, r) {
+            for (var i = -1, o = Ae(t), a = r(t), u = a.length; u--; ) {
+              var s = a[e ? u : ++i];
+              if (!1 === n(o[s], s, o)) break;
+            }
+            return t;
+          };
+        }
+        function Ri(t) {
+          return function (n) {
+            var r = Zt((n = yu(n))) ? an(n) : e,
+              i = r ? r[0] : n.charAt(0),
+              o = r ? _i(r, 1).join("") : n.slice(1);
+            return i[t]() + o;
+          };
+        }
+        function Li(e) {
+          return function (t) {
+            return Tt(Yu(Hu(t).replace(Ve, "")), e, "");
+          };
+        }
+        function Di(e) {
+          return function () {
+            var t = arguments;
+            switch (t.length) {
+              case 0:
+                return new e();
+              case 1:
+                return new e(t[0]);
+              case 2:
+                return new e(t[0], t[1]);
+              case 3:
+                return new e(t[0], t[1], t[2]);
+              case 4:
+                return new e(t[0], t[1], t[2], t[3]);
+              case 5:
+                return new e(t[0], t[1], t[2], t[3], t[4]);
+              case 6:
+                return new e(t[0], t[1], t[2], t[3], t[4], t[5]);
+              case 7:
+                return new e(t[0], t[1], t[2], t[3], t[4], t[5], t[6]);
+            }
+            var n = Mn(e.prototype),
+              r = e.apply(n, t);
+            return Za(r) ? r : n;
+          };
+        }
+        function Bi(t) {
+          return function (n, r, i) {
+            var o = Ae(n);
+            if (!Wa(n)) {
+              var a = oo(r, 3);
+              (n = Eu(n)),
+                (r = function (e) {
+                  return a(o[e], e, o);
+                });
+            }
+            var u = t(n, r, i);
+            return u > -1 ? o[a ? n[u] : u] : e;
+          };
+        }
+        function Ni(n) {
+          return Zi(function (r) {
+            var i = r.length,
+              o = i,
+              a = Fn.prototype.thru;
+            for (n && r.reverse(); o--; ) {
+              var u = r[o];
+              if ("function" != typeof u) throw new Pe(t);
+              if (a && !s && "wrapper" == ro(u)) var s = new Fn([], !0);
+            }
+            for (o = s ? o : i; ++o < i; ) {
+              var c = ro((u = r[o])),
+                f = "wrapper" == c ? no(u) : e;
+              s =
+                f && mo(f[0]) && 424 == f[1] && !f[4].length && 1 == f[9]
+                  ? s[ro(f[0])].apply(s, f[3])
+                  : 1 == u.length && mo(u)
+                  ? s[c]()
+                  : s.thru(u);
+            }
+            return function () {
+              var e = arguments,
+                t = e[0];
+              if (s && 1 == e.length && qa(t)) return s.plant(t).value();
+              for (var n = 0, o = i ? r[n].apply(this, e) : t; ++n < i; )
+                o = r[n].call(this, o);
+              return o;
+            };
+          });
+        }
+        function Ui(t, n, r, i, a, u, s, c, f, l) {
+          var h = n & o,
+            p = 1 & n,
+            d = 2 & n,
+            v = 24 & n,
+            g = 512 & n,
+            y = d ? e : Di(t);
+          return function o() {
+            for (var _ = arguments.length, m = we(_), w = _; w--; )
+              m[w] = arguments[w];
+            if (v)
+              var k = io(o),
+                b = (function (e, t) {
+                  for (var n = e.length, r = 0; n--; ) e[n] === t && ++r;
+                  return r;
+                })(m, k);
+            if (
+              (i && (m = Si(m, i, a, v)),
+              u && (m = Ai(m, u, s, v)),
+              (_ -= b),
+              v && _ < l)
+            ) {
+              var x = nn(m, k);
+              return zi(t, n, Ui, o.placeholder, r, m, x, c, f, l - _);
+            }
+            var S = p ? r : this,
+              A = d ? S[t] : t;
+            return (
+              (_ = m.length),
+              c
+                ? (m = (function (t, n) {
+                    for (
+                      var r = t.length, i = yn(n.length, r), o = Ii(t);
+                      i--;
+
+                    ) {
+                      var a = n[i];
+                      t[i] = go(a, r) ? o[a] : e;
+                    }
+                    return t;
+                  })(m, c))
+                : g && _ > 1 && m.reverse(),
+              h && f < _ && (m.length = f),
+              this && this !== ut && this instanceof o && (A = y || Di(A)),
+              A.apply(S, m)
+            );
+          };
+        }
+        function ji(e, t) {
+          return function (n, r) {
+            return (function (e, t, n, r) {
+              return (
+                _r(e, function (e, i, o) {
+                  t(r, n(e), i, o);
+                }),
+                r
+              );
+            })(n, e, t(r), {});
+          };
+        }
+        function Mi(t, n) {
+          return function (r, i) {
+            var o;
+            if (r === e && i === e) return n;
+            if ((r !== e && (o = r), i !== e)) {
+              if (o === e) return i;
+              "string" == typeof r || "string" == typeof i
+                ? ((r = ai(r)), (i = ai(i)))
+                : ((r = oi(r)), (i = oi(i))),
+                (o = t(r, i));
+            }
+            return o;
+          };
+        }
+        function $i(e) {
+          return Zi(function (t) {
+            return (
+              (t = Ot(t, Wt(oo()))),
+              Kr(function (n) {
+                var r = this;
+                return e(t, function (e) {
+                  return mt(e, r, n);
+                });
+              })
+            );
+          });
+        }
+        function Fi(t, n) {
+          var r = (n = n === e ? " " : ai(n)).length;
+          if (r < 2) return r ? Vr(n, t) : n;
+          var i = Vr(n, $t(t / on(n)));
+          return Zt(n) ? _i(an(i), 0, t).join("") : i.slice(0, t);
+        }
+        function Hi(t) {
+          return function (n, r, i) {
+            return (
+              i && "number" != typeof i && yo(n, r, i) && (r = i = e),
+              (n = hu(n)),
+              r === e ? ((r = n), (n = 0)) : (r = hu(r)),
+              (function (e, t, n, r) {
+                for (
+                  var i = -1, o = gn($t((t - e) / (n || 1)), 0), a = we(o);
+                  o--;
+
+                )
+                  (a[r ? o : ++i] = e), (e += n);
+                return a;
+              })(n, r, (i = i === e ? (n < r ? 1 : -1) : hu(i)), t)
+            );
+          };
+        }
+        function qi(e) {
+          return function (t, n) {
+            return (
+              ("string" == typeof t && "string" == typeof n) ||
+                ((t = vu(t)), (n = vu(n))),
+              e(t, n)
+            );
+          };
+        }
+        function zi(t, n, r, o, a, u, s, c, f, l) {
+          var h = 8 & n;
+          (n |= h ? i : 64), 4 & (n &= ~(h ? 64 : i)) || (n &= -4);
+          var p = [
+              t,
+              n,
+              a,
+              h ? u : e,
+              h ? s : e,
+              h ? e : u,
+              h ? e : s,
+              c,
+              f,
+              l,
+            ],
+            d = r.apply(e, p);
+          return mo(t) && Oo(d, p), (d.placeholder = o), Eo(d, t, n);
+        }
+        function Wi(e) {
+          var t = Se[e];
+          return function (e, n) {
+            if (((e = vu(e)), (n = null == n ? 0 : yn(pu(n), 292)) && pn(e))) {
+              var r = (yu(e) + "e").split("e");
+              return +(
+                (r = (yu(t(r[0] + "e" + (+r[1] + n))) + "e").split("e"))[0] +
+                "e" +
+                (+r[1] - n)
+              );
+            }
+            return t(e);
+          };
+        }
+        var Vi =
+          An && 1 / rn(new An([, -0]))[1] == a
+            ? function (e) {
+                return new An(e);
+              }
+            : us;
+        function Ki(e) {
+          return function (t) {
+            var n = lo(t);
+            return n == m
+              ? en(t)
+              : n == S
+              ? (function (e) {
+                  var t = -1,
+                    n = Array(e.size);
+                  return (
+                    e.forEach(function (e) {
+                      n[++t] = [e, e];
+                    }),
+                    n
+                  );
+                })(t)
+              : (function (e, t) {
+                  return Ot(t, function (t) {
+                    return [t, e[t]];
+                  });
+                })(t, e(t));
+          };
+        }
+        function Ji(n, a, u, s, c, f, l, h) {
+          var p = 2 & a;
+          if (!p && "function" != typeof n) throw new Pe(t);
+          var d = s ? s.length : 0;
+          if (
+            (d || ((a &= -97), (s = c = e)),
+            (l = l === e ? l : gn(pu(l), 0)),
+            (h = h === e ? h : pu(h)),
+            (d -= c ? c.length : 0),
+            64 & a)
+          ) {
+            var v = s,
+              g = c;
+            s = c = e;
+          }
+          var y = p ? e : no(n),
+            _ = [n, a, u, s, c, v, g, f, l, h];
+          if (
+            (y &&
+              (function (e, t) {
+                var n = e[1],
+                  i = t[1],
+                  a = n | i,
+                  u = a < 131,
+                  s =
+                    (i == o && 8 == n) ||
+                    (i == o && 256 == n && e[7].length <= t[8]) ||
+                    (384 == i && t[7].length <= t[8] && 8 == n);
+                if (!u && !s) return e;
+                1 & i && ((e[2] = t[2]), (a |= 1 & n ? 0 : 4));
+                var c = t[3];
+                if (c) {
+                  var f = e[3];
+                  (e[3] = f ? Si(f, c, t[4]) : c),
+                    (e[4] = f ? nn(e[3], r) : t[4]);
+                }
+                (c = t[5]) &&
+                  ((f = e[5]),
+                  (e[5] = f ? Ai(f, c, t[6]) : c),
+                  (e[6] = f ? nn(e[5], r) : t[6])),
+                  (c = t[7]) && (e[7] = c),
+                  i & o && (e[8] = null == e[8] ? t[8] : yn(e[8], t[8])),
+                  null == e[9] && (e[9] = t[9]),
+                  (e[0] = t[0]),
+                  (e[1] = a);
+              })(_, y),
+            (n = _[0]),
+            (a = _[1]),
+            (u = _[2]),
+            (s = _[3]),
+            (c = _[4]),
+            !(h = _[9] = _[9] === e ? (p ? 0 : n.length) : gn(_[9] - d, 0)) &&
+              24 & a &&
+              (a &= -25),
+            a && 1 != a)
+          )
+            m =
+              8 == a || 16 == a
+                ? (function (t, n, r) {
+                    var i = Di(t);
+                    return function o() {
+                      for (
+                        var a = arguments.length, u = we(a), s = a, c = io(o);
+                        s--;
+
+                      )
+                        u[s] = arguments[s];
+                      var f =
+                        a < 3 && u[0] !== c && u[a - 1] !== c ? [] : nn(u, c);
+                      return (a -= f.length) < r
+                        ? zi(t, n, Ui, o.placeholder, e, u, f, e, e, r - a)
+                        : mt(
+                            this && this !== ut && this instanceof o ? i : t,
+                            this,
+                            u
+                          );
+                    };
+                  })(n, a, h)
+                : (a != i && 33 != a) || c.length
+                ? Ui.apply(e, _)
+                : (function (e, t, n, r) {
+                    var i = 1 & t,
+                      o = Di(e);
+                    return function t() {
+                      for (
+                        var a = -1,
+                          u = arguments.length,
+                          s = -1,
+                          c = r.length,
+                          f = we(c + u),
+                          l = this && this !== ut && this instanceof t ? o : e;
+                        ++s < c;
+
+                      )
+                        f[s] = r[s];
+                      for (; u--; ) f[s++] = arguments[++a];
+                      return mt(l, i ? n : this, f);
+                    };
+                  })(n, a, u, s);
+          else
+            var m = (function (e, t, n) {
+              var r = 1 & t,
+                i = Di(e);
+              return function t() {
+                return (this && this !== ut && this instanceof t ? i : e).apply(
+                  r ? n : this,
+                  arguments
+                );
+              };
+            })(n, a, u);
+          return Eo((y ? Xr : Oo)(m, _), n, a);
+        }
+        function Gi(t, n, r, i) {
+          return t === e || (Ma(t, Ce[r]) && !De.call(i, r)) ? n : t;
+        }
+        function Yi(t, n, r, i, o, a) {
+          return (
+            Za(t) && Za(n) && (a.set(n, t), Mr(t, n, e, Yi, a), a.delete(n)), t
+          );
+        }
+        function Xi(t) {
+          return ru(t) ? e : t;
+        }
+        function Qi(t, n, r, i, o, a) {
+          var u = 1 & r,
+            s = t.length,
+            c = n.length;
+          if (s != c && !(u && c > s)) return !1;
+          var f = a.get(t),
+            l = a.get(n);
+          if (f && l) return f == n && l == t;
+          var h = -1,
+            p = !0,
+            d = 2 & r ? new Vn() : e;
+          for (a.set(t, n), a.set(n, t); ++h < s; ) {
+            var v = t[h],
+              g = n[h];
+            if (i) var y = u ? i(g, v, h, n, t, a) : i(v, g, h, t, n, a);
+            if (y !== e) {
+              if (y) continue;
+              p = !1;
+              break;
+            }
+            if (d) {
+              if (
+                !Ct(n, function (e, t) {
+                  if (!Kt(d, t) && (v === e || o(v, e, r, i, a)))
+                    return d.push(t);
+                })
+              ) {
+                p = !1;
+                break;
+              }
+            } else if (v !== g && !o(v, g, r, i, a)) {
+              p = !1;
+              break;
+            }
+          }
+          return a.delete(t), a.delete(n), p;
+        }
+        function Zi(t) {
+          return To(So(t, e, zo), t + "");
+        }
+        function eo(e) {
+          return br(e, Eu, co);
+        }
+        function to(e) {
+          return br(e, Cu, fo);
+        }
+        var no = Pn
+          ? function (e) {
+              return Pn.get(e);
+            }
+          : us;
+        function ro(e) {
+          for (
+            var t = e.name + "", n = Tn[t], r = De.call(Tn, t) ? n.length : 0;
+            r--;
+
+          ) {
+            var i = n[r],
+              o = i.func;
+            if (null == o || o == e) return i.name;
+          }
+          return t;
+        }
+        function io(e) {
+          return (De.call(jn, "placeholder") ? jn : e).placeholder;
+        }
+        function oo() {
+          var e = jn.iteratee || rs;
+          return (
+            (e = e === rs ? Lr : e),
+            arguments.length ? e(arguments[0], arguments[1]) : e
+          );
+        }
+        function ao(e, t) {
+          var n,
+            r,
+            i = e.__data__;
+          return (
+            "string" == (r = f((n = t))) ||
+            "number" == r ||
+            "symbol" == r ||
+            "boolean" == r
+              ? "__proto__" !== n
+              : null === n
+          )
+            ? i["string" == typeof t ? "string" : "hash"]
+            : i.map;
+        }
+        function uo(e) {
+          for (var t = Eu(e), n = t.length; n--; ) {
+            var r = t[n],
+              i = e[r];
+            t[n] = [r, i, bo(i)];
+          }
+          return t;
+        }
+        function so(t, n) {
+          var r = (function (t, n) {
+            return null == t ? e : t[n];
+          })(t, n);
+          return Rr(r) ? r : e;
+        }
+        var co = ln
+            ? function (e) {
+                return null == e
+                  ? []
+                  : ((e = Ae(e)),
+                    St(ln(e), function (t) {
+                      return Ye.call(e, t);
+                    }));
+              }
+            : ds,
+          fo = ln
+            ? function (e) {
+                for (var t = []; e; ) Pt(t, co(e)), (e = We(e));
+                return t;
+              }
+            : ds,
+          lo = xr;
+        function ho(e, t, n) {
+          for (var r = -1, i = (t = gi(t, e)).length, o = !1; ++r < i; ) {
+            var a = No(t[r]);
+            if (!(o = null != e && n(e, a))) break;
+            e = e[a];
+          }
+          return o || ++r != i
+            ? o
+            : !!(i = null == e ? 0 : e.length) &&
+                Qa(i) &&
+                go(a, i) &&
+                (qa(e) || Ha(e));
+        }
+        function po(e) {
+          return "function" != typeof e.constructor || ko(e) ? {} : Mn(We(e));
+        }
+        function vo(e) {
+          return qa(e) || Ha(e) || !!(ot && e && e[ot]);
+        }
+        function go(e, t) {
+          var n = f(e);
+          return (
+            !!(t = null == t ? u : t) &&
+            ("number" == n || ("symbol" != n && de.test(e))) &&
+            e > -1 &&
+            e % 1 == 0 &&
+            e < t
+          );
+        }
+        function yo(e, t, n) {
+          if (!Za(n)) return !1;
+          var r = f(t);
+          return (
+            !!("number" == r
+              ? Wa(n) && go(t, n.length)
+              : "string" == r && t in n) && Ma(n[t], e)
+          );
+        }
+        function _o(e, t) {
+          if (qa(e)) return !1;
+          var n = f(e);
+          return (
+            !(
+              "number" != n &&
+              "symbol" != n &&
+              "boolean" != n &&
+              null != e &&
+              !uu(e)
+            ) ||
+            Y.test(e) ||
+            !G.test(e) ||
+            (null != t && e in Ae(t))
+          );
+        }
+        function mo(e) {
+          var t = ro(e),
+            n = jn[t];
+          if ("function" != typeof n || !(t in Hn.prototype)) return !1;
+          if (e === n) return !0;
+          var r = no(n);
+          return !!r && e === r[0];
+        }
+        ((bn && lo(new bn(new ArrayBuffer(1))) != T) ||
+          (xn && lo(new xn()) != m) ||
+          (Sn && lo(Sn.resolve()) != b) ||
+          (An && lo(new An()) != S) ||
+          (In && lo(new In()) != O)) &&
+          (lo = function (t) {
+            var n = xr(t),
+              r = n == k ? t.constructor : e,
+              i = r ? Uo(r) : "";
+            if (i)
+              switch (i) {
+                case En:
+                  return T;
+                case Cn:
+                  return m;
+                case Rn:
+                  return b;
+                case Ln:
+                  return S;
+                case Dn:
+                  return O;
+              }
+            return n;
+          });
+        var wo = Re ? Ya : vs;
+        function ko(e) {
+          var t = e && e.constructor;
+          return e === (("function" == typeof t && t.prototype) || Ce);
+        }
+        function bo(e) {
+          return e == e && !Za(e);
+        }
+        function xo(t, n) {
+          return function (r) {
+            return null != r && r[t] === n && (n !== e || t in Ae(r));
+          };
+        }
+        function So(t, n, r) {
+          return (
+            (n = gn(n === e ? t.length - 1 : n, 0)),
+            function () {
+              for (
+                var e = arguments, i = -1, o = gn(e.length - n, 0), a = we(o);
+                ++i < o;
+
+              )
+                a[i] = e[n + i];
+              i = -1;
+              for (var u = we(n + 1); ++i < n; ) u[i] = e[i];
+              return (u[n] = r(a)), mt(t, this, u);
+            }
+          );
+        }
+        function Ao(e, t) {
+          return t.length < 2 ? e : kr(e, ei(t, 0, -1));
+        }
+        function Io(e, t) {
+          if (
+            ("constructor" !== t || "function" != typeof e[t]) &&
+            "__proto__" != t
+          )
+            return e[t];
+        }
+        var Oo = Co(Xr),
+          Po =
+            Rt ||
+            function (e, t) {
+              return ut.setTimeout(e, t);
+            },
+          To = Co(Qr);
+        function Eo(e, t, n) {
+          var r = t + "";
+          return To(
+            e,
+            (function (e, t) {
+              var n = t.length;
+              if (!n) return e;
+              var r = n - 1;
+              return (
+                (t[r] = (n > 1 ? "& " : "") + t[r]),
+                (t = t.join(n > 2 ? ", " : " ")),
+                e.replace(ne, "{\n/* [wrapped with " + t + "] */\n")
+              );
+            })(
+              r,
+              (function (e, t) {
+                return (
+                  kt(l, function (n) {
+                    var r = "_." + n[0];
+                    t & n[1] && !At(e, r) && e.push(r);
+                  }),
+                  e.sort()
+                );
+              })(
+                (function (e) {
+                  var t = e.match(re);
+                  return t ? t[1].split(ie) : [];
+                })(r),
+                n
+              )
+            )
+          );
+        }
+        function Co(t) {
+          var n = 0,
+            r = 0;
+          return function () {
+            var i = _n(),
+              o = 16 - (i - r);
+            if (((r = i), o > 0)) {
+              if (++n >= 800) return arguments[0];
+            } else n = 0;
+            return t.apply(e, arguments);
+          };
+        }
+        function Ro(t, n) {
+          var r = -1,
+            i = t.length,
+            o = i - 1;
+          for (n = n === e ? i : n; ++r < n; ) {
+            var a = Wr(r, o),
+              u = t[a];
+            (t[a] = t[r]), (t[r] = u);
+          }
+          return (t.length = n), t;
+        }
+        var Lo,
+          Do,
+          Bo =
+            ((Lo = La(
+              function (e) {
+                var t = [];
+                return (
+                  46 === e.charCodeAt(0) && t.push(""),
+                  e.replace(X, function (e, n, r, i) {
+                    t.push(r ? i.replace(ue, "$1") : n || e);
+                  }),
+                  t
+                );
+              },
+              function (e) {
+                return 500 === Do.size && Do.clear(), e;
+              }
+            )),
+            (Do = Lo.cache),
+            Lo);
+        function No(e) {
+          if ("string" == typeof e || uu(e)) return e;
+          var t = e + "";
+          return "0" == t && 1 / e == -1 / 0 ? "-0" : t;
+        }
+        function Uo(e) {
+          if (null != e) {
+            try {
+              return Le.call(e);
+            } catch (e) {}
+            try {
+              return e + "";
+            } catch (e) {}
+          }
+          return "";
+        }
+        function jo(e) {
+          if (e instanceof Hn) return e.clone();
+          var t = new Fn(e.__wrapped__, e.__chain__);
+          return (
+            (t.__actions__ = Ii(e.__actions__)),
+            (t.__index__ = e.__index__),
+            (t.__values__ = e.__values__),
+            t
+          );
+        }
+        var Mo = Kr(function (e, t) {
+            return Va(e) ? cr(e, vr(t, 1, Va, !0)) : [];
+          }),
+          $o = Kr(function (t, n) {
+            var r = Go(n);
+            return (
+              Va(r) && (r = e), Va(t) ? cr(t, vr(n, 1, Va, !0), oo(r, 2)) : []
+            );
+          }),
+          Fo = Kr(function (t, n) {
+            var r = Go(n);
+            return Va(r) && (r = e), Va(t) ? cr(t, vr(n, 1, Va, !0), e, r) : [];
+          });
+        function Ho(e, t, n) {
+          var r = null == e ? 0 : e.length;
+          if (!r) return -1;
+          var i = null == n ? 0 : pu(n);
+          return i < 0 && (i = gn(r + i, 0)), Dt(e, oo(t, 3), i);
+        }
+        function qo(t, n, r) {
+          var i = null == t ? 0 : t.length;
+          if (!i) return -1;
+          var o = i - 1;
+          return (
+            r !== e && ((o = pu(r)), (o = r < 0 ? gn(i + o, 0) : yn(o, i - 1))),
+            Dt(t, oo(n, 3), o, !0)
+          );
+        }
+        function zo(e) {
+          return null != e && e.length ? vr(e, 1) : [];
+        }
+        function Wo(t) {
+          return t && t.length ? t[0] : e;
+        }
+        var Vo = Kr(function (e) {
+            var t = Ot(e, di);
+            return t.length && t[0] === e[0] ? Or(t) : [];
+          }),
+          Ko = Kr(function (t) {
+            var n = Go(t),
+              r = Ot(t, di);
+            return (
+              n === Go(r) ? (n = e) : r.pop(),
+              r.length && r[0] === t[0] ? Or(r, oo(n, 2)) : []
+            );
+          }),
+          Jo = Kr(function (t) {
+            var n = Go(t),
+              r = Ot(t, di);
+            return (
+              (n = "function" == typeof n ? n : e) && r.pop(),
+              r.length && r[0] === t[0] ? Or(r, e, n) : []
+            );
+          });
+        function Go(t) {
+          var n = null == t ? 0 : t.length;
+          return n ? t[n - 1] : e;
+        }
+        var Yo = Kr(Xo);
+        function Xo(e, t) {
+          return e && e.length && t && t.length ? qr(e, t) : e;
+        }
+        var Qo = Zi(function (e, t) {
+          var n = null == e ? 0 : e.length,
+            r = ir(e, t);
+          return (
+            zr(
+              e,
+              Ot(t, function (e) {
+                return go(e, n) ? +e : e;
+              }).sort(xi)
+            ),
+            r
+          );
+        });
+        function Zo(e) {
+          return null == e ? e : kn.call(e);
+        }
+        var ea = Kr(function (e) {
+            return ui(vr(e, 1, Va, !0));
+          }),
+          ta = Kr(function (t) {
+            var n = Go(t);
+            return Va(n) && (n = e), ui(vr(t, 1, Va, !0), oo(n, 2));
+          }),
+          na = Kr(function (t) {
+            var n = Go(t);
+            return (
+              (n = "function" == typeof n ? n : e), ui(vr(t, 1, Va, !0), e, n)
+            );
+          });
+        function ra(e) {
+          if (!e || !e.length) return [];
+          var t = 0;
+          return (
+            (e = St(e, function (e) {
+              if (Va(e)) return (t = gn(e.length, t)), !0;
+            })),
+            qt(t, function (t) {
+              return Ot(e, Mt(t));
+            })
+          );
+        }
+        function ia(t, n) {
+          if (!t || !t.length) return [];
+          var r = ra(t);
+          return null == n
+            ? r
+            : Ot(r, function (t) {
+                return mt(n, e, t);
+              });
+        }
+        var oa = Kr(function (e, t) {
+            return Va(e) ? cr(e, t) : [];
+          }),
+          aa = Kr(function (e) {
+            return hi(St(e, Va));
+          }),
+          ua = Kr(function (t) {
+            var n = Go(t);
+            return Va(n) && (n = e), hi(St(t, Va), oo(n, 2));
+          }),
+          sa = Kr(function (t) {
+            var n = Go(t);
+            return (n = "function" == typeof n ? n : e), hi(St(t, Va), e, n);
+          }),
+          ca = Kr(ra),
+          fa = Kr(function (t) {
+            var n = t.length,
+              r = n > 1 ? t[n - 1] : e;
+            return (r = "function" == typeof r ? (t.pop(), r) : e), ia(t, r);
+          });
+        function la(e) {
+          var t = jn(e);
+          return (t.__chain__ = !0), t;
+        }
+        function ha(e, t) {
+          return t(e);
+        }
+        var pa = Zi(function (t) {
+            var n = t.length,
+              r = n ? t[0] : 0,
+              i = this.__wrapped__,
+              o = function (e) {
+                return ir(e, t);
+              };
+            return !(n > 1 || this.__actions__.length) &&
+              i instanceof Hn &&
+              go(r)
+              ? ((i = i.slice(r, +r + (n ? 1 : 0))).__actions__.push({
+                  func: ha,
+                  args: [o],
+                  thisArg: e,
+                }),
+                new Fn(i, this.__chain__).thru(function (t) {
+                  return n && !t.length && t.push(e), t;
+                }))
+              : this.thru(o);
+          }),
+          da = Pi(function (e, t, n) {
+            De.call(e, n) ? ++e[n] : rr(e, n, 1);
+          }),
+          va = Bi(Ho),
+          ga = Bi(qo);
+        function ya(e, t) {
+          return (qa(e) ? kt : fr)(e, oo(t, 3));
+        }
+        function _a(e, t) {
+          return (qa(e) ? bt : lr)(e, oo(t, 3));
+        }
+        var ma = Pi(function (e, t, n) {
+            De.call(e, n) ? e[n].push(t) : rr(e, n, [t]);
+          }),
+          wa = Kr(function (e, t, n) {
+            var r = -1,
+              i = "function" == typeof t,
+              o = Wa(e) ? we(e.length) : [];
+            return (
+              fr(e, function (e) {
+                o[++r] = i ? mt(t, e, n) : Pr(e, t, n);
+              }),
+              o
+            );
+          }),
+          ka = Pi(function (e, t, n) {
+            rr(e, n, t);
+          });
+        function ba(e, t) {
+          return (qa(e) ? Ot : Nr)(e, oo(t, 3));
+        }
+        var xa = Pi(
+            function (e, t, n) {
+              e[n ? 0 : 1].push(t);
+            },
+            function () {
+              return [[], []];
+            }
+          ),
+          Sa = Kr(function (e, t) {
+            if (null == e) return [];
+            var n = t.length;
+            return (
+              n > 1 && yo(e, t[0], t[1])
+                ? (t = [])
+                : n > 2 && yo(t[0], t[1], t[2]) && (t = [t[0]]),
+              Fr(e, vr(t, 1), [])
+            );
+          }),
+          Aa =
+            ht ||
+            function () {
+              return ut.Date.now();
+            };
+        function Ia(t, n, r) {
+          return (
+            (n = r ? e : n),
+            (n = t && null == n ? t.length : n),
+            Ji(t, o, e, e, e, e, n)
+          );
+        }
+        function Oa(n, r) {
+          var i;
+          if ("function" != typeof r) throw new Pe(t);
+          return (
+            (n = pu(n)),
+            function () {
+              return (
+                --n > 0 && (i = r.apply(this, arguments)), n <= 1 && (r = e), i
+              );
+            }
+          );
+        }
+        var Pa = Kr(function (e, t, n) {
+            var r = 1;
+            if (n.length) {
+              var o = nn(n, io(Pa));
+              r |= i;
+            }
+            return Ji(e, r, t, n, o);
+          }),
+          Ta = Kr(function (e, t, n) {
+            var r = 3;
+            if (n.length) {
+              var o = nn(n, io(Ta));
+              r |= i;
+            }
+            return Ji(t, r, e, n, o);
+          });
+        function Ea(n, r, i) {
+          var o,
+            a,
+            u,
+            s,
+            c,
+            f,
+            l = 0,
+            h = !1,
+            p = !1,
+            d = !0;
+          if ("function" != typeof n) throw new Pe(t);
+          function v(t) {
+            var r = o,
+              i = a;
+            return (o = a = e), (l = t), (s = n.apply(i, r));
+          }
+          function g(t) {
+            var n = t - f;
+            return f === e || n >= r || n < 0 || (p && t - l >= u);
+          }
+          function y() {
+            var e = Aa();
+            if (g(e)) return _(e);
+            c = Po(
+              y,
+              (function (e) {
+                var t = r - (e - f);
+                return p ? yn(t, u - (e - l)) : t;
+              })(e)
+            );
+          }
+          function _(t) {
+            return (c = e), d && o ? v(t) : ((o = a = e), s);
+          }
+          function m() {
+            var t = Aa(),
+              n = g(t);
+            if (((o = arguments), (a = this), (f = t), n)) {
+              if (c === e)
+                return (function (e) {
+                  return (l = e), (c = Po(y, r)), h ? v(e) : s;
+                })(f);
+              if (p) return mi(c), (c = Po(y, r)), v(f);
+            }
+            return c === e && (c = Po(y, r)), s;
+          }
+          return (
+            (r = vu(r) || 0),
+            Za(i) &&
+              ((h = !!i.leading),
+              (u = (p = "maxWait" in i) ? gn(vu(i.maxWait) || 0, r) : u),
+              (d = "trailing" in i ? !!i.trailing : d)),
+            (m.cancel = function () {
+              c !== e && mi(c), (l = 0), (o = f = a = c = e);
+            }),
+            (m.flush = function () {
+              return c === e ? s : _(Aa());
+            }),
+            m
+          );
+        }
+        var Ca = Kr(function (e, t) {
+            return sr(e, 1, t);
+          }),
+          Ra = Kr(function (e, t, n) {
+            return sr(e, vu(t) || 0, n);
+          });
+        function La(e, n) {
+          if ("function" != typeof e || (null != n && "function" != typeof n))
+            throw new Pe(t);
+          var r = function t() {
+            var r = arguments,
+              i = n ? n.apply(this, r) : r[0],
+              o = t.cache;
+            if (o.has(i)) return o.get(i);
+            var a = e.apply(this, r);
+            return (t.cache = o.set(i, a) || o), a;
+          };
+          return (r.cache = new (La.Cache || Wn)()), r;
+        }
+        function Da(e) {
+          if ("function" != typeof e) throw new Pe(t);
+          return function () {
+            var t = arguments;
+            switch (t.length) {
+              case 0:
+                return !e.call(this);
+              case 1:
+                return !e.call(this, t[0]);
+              case 2:
+                return !e.call(this, t[0], t[1]);
+              case 3:
+                return !e.call(this, t[0], t[1], t[2]);
+            }
+            return !e.apply(this, t);
+          };
+        }
+        La.Cache = Wn;
+        var Ba = yi(function (e, t) {
+            var n = (t =
+              1 == t.length && qa(t[0])
+                ? Ot(t[0], Wt(oo()))
+                : Ot(vr(t, 1), Wt(oo()))).length;
+            return Kr(function (r) {
+              for (var i = -1, o = yn(r.length, n); ++i < o; )
+                r[i] = t[i].call(this, r[i]);
+              return mt(e, this, r);
+            });
+          }),
+          Na = Kr(function (t, n) {
+            var r = nn(n, io(Na));
+            return Ji(t, i, e, n, r);
+          }),
+          Ua = Kr(function (t, n) {
+            var r = nn(n, io(Ua));
+            return Ji(t, 64, e, n, r);
+          }),
+          ja = Zi(function (t, n) {
+            return Ji(t, 256, e, e, e, n);
+          });
+        function Ma(e, t) {
+          return e === t || (e != e && t != t);
+        }
+        var $a = qi(Sr),
+          Fa = qi(function (e, t) {
+            return e >= t;
+          }),
+          Ha = Tr(
+            (function () {
+              return arguments;
+            })()
+          )
+            ? Tr
+            : function (e) {
+                return eu(e) && De.call(e, "callee") && !Ye.call(e, "callee");
+              },
+          qa = we.isArray,
+          za = pt
+            ? Wt(pt)
+            : function (e) {
+                return eu(e) && xr(e) == P;
+              };
+        function Wa(e) {
+          return null != e && Qa(e.length) && !Ya(e);
+        }
+        function Va(e) {
+          return eu(e) && Wa(e);
+        }
+        var Ka = hn || vs,
+          Ja = dt
+            ? Wt(dt)
+            : function (e) {
+                return eu(e) && xr(e) == v;
+              };
+        function Ga(e) {
+          if (!eu(e)) return !1;
+          var t = xr(e);
+          return (
+            t == g ||
+            "[object DOMException]" == t ||
+            ("string" == typeof e.message &&
+              "string" == typeof e.name &&
+              !ru(e))
+          );
+        }
+        function Ya(e) {
+          if (!Za(e)) return !1;
+          var t = xr(e);
+          return (
+            t == y ||
+            t == _ ||
+            "[object AsyncFunction]" == t ||
+            "[object Proxy]" == t
+          );
+        }
+        function Xa(e) {
+          return "number" == typeof e && e == pu(e);
+        }
+        function Qa(e) {
+          return "number" == typeof e && e > -1 && e % 1 == 0 && e <= u;
+        }
+        function Za(e) {
+          var t = f(e);
+          return null != e && ("object" == t || "function" == t);
+        }
+        function eu(e) {
+          return null != e && "object" == f(e);
+        }
+        var tu = vt
+          ? Wt(vt)
+          : function (e) {
+              return eu(e) && lo(e) == m;
+            };
+        function nu(e) {
+          return "number" == typeof e || (eu(e) && xr(e) == w);
+        }
+        function ru(e) {
+          if (!eu(e) || xr(e) != k) return !1;
+          var t = We(e);
+          if (null === t) return !0;
+          var n = De.call(t, "constructor") && t.constructor;
+          return "function" == typeof n && n instanceof n && Le.call(n) == je;
+        }
+        var iu = gt
+            ? Wt(gt)
+            : function (e) {
+                return eu(e) && xr(e) == x;
+              },
+          ou = yt
+            ? Wt(yt)
+            : function (e) {
+                return eu(e) && lo(e) == S;
+              };
+        function au(e) {
+          return "string" == typeof e || (!qa(e) && eu(e) && xr(e) == A);
+        }
+        function uu(e) {
+          return "symbol" == f(e) || (eu(e) && xr(e) == I);
+        }
+        var su = _t
+            ? Wt(_t)
+            : function (e) {
+                return eu(e) && Qa(e.length) && !!et[xr(e)];
+              },
+          cu = qi(Br),
+          fu = qi(function (e, t) {
+            return e <= t;
+          });
+        function lu(e) {
+          if (!e) return [];
+          if (Wa(e)) return au(e) ? an(e) : Ii(e);
+          if (at && e[at])
+            return (function (e) {
+              for (var t, n = []; !(t = e.next()).done; ) n.push(t.value);
+              return n;
+            })(e[at]());
+          var t = lo(e);
+          return (t == m ? en : t == S ? rn : Mu)(e);
+        }
+        function hu(e) {
+          return e
+            ? (e = vu(e)) === a || e === -1 / 0
+              ? 17976931348623157e292 * (e < 0 ? -1 : 1)
+              : e == e
+              ? e
+              : 0
+            : 0 === e
+            ? e
+            : 0;
+        }
+        function pu(e) {
+          var t = hu(e),
+            n = t % 1;
+          return t == t ? (n ? t - n : t) : 0;
+        }
+        function du(e) {
+          return e ? or(pu(e), 0, c) : 0;
+        }
+        function vu(e) {
+          if ("number" == typeof e) return e;
+          if (uu(e)) return s;
+          if (Za(e)) {
+            var t = "function" == typeof e.valueOf ? e.valueOf() : e;
+            e = Za(t) ? t + "" : t;
+          }
+          if ("string" != typeof e) return 0 === e ? e : +e;
+          e = zt(e);
+          var n = le.test(e);
+          return n || pe.test(e)
+            ? it(e.slice(2), n ? 2 : 8)
+            : fe.test(e)
+            ? s
+            : +e;
+        }
+        function gu(e) {
+          return Oi(e, Cu(e));
+        }
+        function yu(e) {
+          return null == e ? "" : ai(e);
+        }
+        var _u = Ti(function (e, t) {
+            if (ko(t) || Wa(t)) Oi(t, Eu(t), e);
+            else for (var n in t) De.call(t, n) && Zn(e, n, t[n]);
+          }),
+          mu = Ti(function (e, t) {
+            Oi(t, Cu(t), e);
+          }),
+          wu = Ti(function (e, t, n, r) {
+            Oi(t, Cu(t), e, r);
+          }),
+          ku = Ti(function (e, t, n, r) {
+            Oi(t, Eu(t), e, r);
+          }),
+          bu = Zi(ir),
+          xu = Kr(function (t, n) {
+            t = Ae(t);
+            var r = -1,
+              i = n.length,
+              o = i > 2 ? n[2] : e;
+            for (o && yo(n[0], n[1], o) && (i = 1); ++r < i; )
+              for (var a = n[r], u = Cu(a), s = -1, c = u.length; ++s < c; ) {
+                var f = u[s],
+                  l = t[f];
+                (l === e || (Ma(l, Ce[f]) && !De.call(t, f))) && (t[f] = a[f]);
+              }
+            return t;
+          }),
+          Su = Kr(function (t) {
+            return t.push(e, Yi), mt(Lu, e, t);
+          });
+        function Au(t, n, r) {
+          var i = null == t ? e : kr(t, n);
+          return i === e ? r : i;
+        }
+        function Iu(e, t) {
+          return null != e && ho(e, t, Ir);
+        }
+        var Ou = ji(function (e, t, n) {
+            null != t && "function" != typeof t.toString && (t = Ue.call(t)),
+              (e[t] = n);
+          }, Zu(ns)),
+          Pu = ji(function (e, t, n) {
+            null != t && "function" != typeof t.toString && (t = Ue.call(t)),
+              De.call(e, t) ? e[t].push(n) : (e[t] = [n]);
+          }, oo),
+          Tu = Kr(Pr);
+        function Eu(e) {
+          return Wa(e) ? Jn(e) : Dr(e);
+        }
+        function Cu(e) {
+          return Wa(e)
+            ? Jn(e, !0)
+            : (function (e) {
+                if (!Za(e))
+                  return (function (e) {
+                    var t = [];
+                    if (null != e) for (var n in Ae(e)) t.push(n);
+                    return t;
+                  })(e);
+                var t = ko(e),
+                  n = [];
+                for (var r in e)
+                  ("constructor" != r || (!t && De.call(e, r))) && n.push(r);
+                return n;
+              })(e);
+        }
+        var Ru = Ti(function (e, t, n) {
+            Mr(e, t, n);
+          }),
+          Lu = Ti(function (e, t, n, r) {
+            Mr(e, t, n, r);
+          }),
+          Du = Zi(function (e, t) {
+            var n = {};
+            if (null == e) return n;
+            var r = !1;
+            (t = Ot(t, function (t) {
+              return (t = gi(t, e)), r || (r = t.length > 1), t;
+            })),
+              Oi(e, to(e), n),
+              r && (n = ar(n, 7, Xi));
+            for (var i = t.length; i--; ) si(n, t[i]);
+            return n;
+          }),
+          Bu = Zi(function (e, t) {
+            return null == e
+              ? {}
+              : (function (e, t) {
+                  return Hr(e, t, function (t, n) {
+                    return Iu(e, n);
+                  });
+                })(e, t);
+          });
+        function Nu(e, t) {
+          if (null == e) return {};
+          var n = Ot(to(e), function (e) {
+            return [e];
+          });
+          return (
+            (t = oo(t)),
+            Hr(e, n, function (e, n) {
+              return t(e, n[0]);
+            })
+          );
+        }
+        var Uu = Ki(Eu),
+          ju = Ki(Cu);
+        function Mu(e) {
+          return null == e ? [] : Vt(e, Eu(e));
+        }
+        var $u = Li(function (e, t, n) {
+          return (t = t.toLowerCase()), e + (n ? Fu(t) : t);
+        });
+        function Fu(e) {
+          return Gu(yu(e).toLowerCase());
+        }
+        function Hu(e) {
+          return (e = yu(e)) && e.replace(ve, Yt).replace(Ke, "");
+        }
+        var qu = Li(function (e, t, n) {
+            return e + (n ? "-" : "") + t.toLowerCase();
+          }),
+          zu = Li(function (e, t, n) {
+            return e + (n ? " " : "") + t.toLowerCase();
+          }),
+          Wu = Ri("toLowerCase"),
+          Vu = Li(function (e, t, n) {
+            return e + (n ? "_" : "") + t.toLowerCase();
+          }),
+          Ku = Li(function (e, t, n) {
+            return e + (n ? " " : "") + Gu(t);
+          }),
+          Ju = Li(function (e, t, n) {
+            return e + (n ? " " : "") + t.toUpperCase();
+          }),
+          Gu = Ri("toUpperCase");
+        function Yu(t, n, r) {
+          return (
+            (t = yu(t)),
+            (n = r ? e : n) === e
+              ? (function (e) {
+                  return Xe.test(e);
+                })(t)
+                ? (function (e) {
+                    return e.match(Ge) || [];
+                  })(t)
+                : (function (e) {
+                    return e.match(oe) || [];
+                  })(t)
+              : t.match(n) || []
+          );
+        }
+        var Xu = Kr(function (t, n) {
+            try {
+              return mt(t, e, n);
+            } catch (e) {
+              return Ga(e) ? e : new be(e);
+            }
+          }),
+          Qu = Zi(function (e, t) {
+            return (
+              kt(t, function (t) {
+                (t = No(t)), rr(e, t, Pa(e[t], e));
+              }),
+              e
+            );
+          });
+        function Zu(e) {
+          return function () {
+            return e;
+          };
+        }
+        var es = Ni(),
+          ts = Ni(!0);
+        function ns(e) {
+          return e;
+        }
+        function rs(e) {
+          return Lr("function" == typeof e ? e : ar(e, 1));
+        }
+        var is = Kr(function (e, t) {
+            return function (n) {
+              return Pr(n, e, t);
+            };
+          }),
+          os = Kr(function (e, t) {
+            return function (n) {
+              return Pr(e, n, t);
+            };
+          });
+        function as(e, t, n) {
+          var r = Eu(t),
+            i = wr(t, r);
+          null != n ||
+            (Za(t) && (i.length || !r.length)) ||
+            ((n = t), (t = e), (e = this), (i = wr(t, Eu(t))));
+          var o = !(Za(n) && "chain" in n && !n.chain),
+            a = Ya(e);
+          return (
+            kt(i, function (n) {
+              var r = t[n];
+              (e[n] = r),
+                a &&
+                  (e.prototype[n] = function () {
+                    var t = this.__chain__;
+                    if (o || t) {
+                      var n = e(this.__wrapped__);
+                      return (
+                        (n.__actions__ = Ii(this.__actions__)).push({
+                          func: r,
+                          args: arguments,
+                          thisArg: e,
+                        }),
+                        (n.__chain__ = t),
+                        n
+                      );
+                    }
+                    return r.apply(e, Pt([this.value()], arguments));
+                  });
+            }),
+            e
+          );
+        }
+        function us() {}
+        var ss = $i(Ot),
+          cs = $i(xt),
+          fs = $i(Ct);
+        function ls(e) {
+          return _o(e)
+            ? Mt(No(e))
+            : (function (e) {
+                return function (t) {
+                  return kr(t, e);
+                };
+              })(e);
+        }
+        var hs = Hi(),
+          ps = Hi(!0);
+        function ds() {
+          return [];
+        }
+        function vs() {
+          return !1;
+        }
+        var gs,
+          ys = Mi(function (e, t) {
+            return e + t;
+          }, 0),
+          _s = Wi("ceil"),
+          ms = Mi(function (e, t) {
+            return e / t;
+          }, 1),
+          ws = Wi("floor"),
+          ks = Mi(function (e, t) {
+            return e * t;
+          }, 1),
+          bs = Wi("round"),
+          xs = Mi(function (e, t) {
+            return e - t;
+          }, 0);
+        return (
+          (jn.after = function (e, n) {
+            if ("function" != typeof n) throw new Pe(t);
+            return (
+              (e = pu(e)),
+              function () {
+                if (--e < 1) return n.apply(this, arguments);
+              }
+            );
+          }),
+          (jn.ary = Ia),
+          (jn.assign = _u),
+          (jn.assignIn = mu),
+          (jn.assignInWith = wu),
+          (jn.assignWith = ku),
+          (jn.at = bu),
+          (jn.before = Oa),
+          (jn.bind = Pa),
+          (jn.bindAll = Qu),
+          (jn.bindKey = Ta),
+          (jn.castArray = function () {
+            if (!arguments.length) return [];
+            var e = arguments[0];
+            return qa(e) ? e : [e];
+          }),
+          (jn.chain = la),
+          (jn.chunk = function (t, n, r) {
+            n = (r ? yo(t, n, r) : n === e) ? 1 : gn(pu(n), 0);
+            var i = null == t ? 0 : t.length;
+            if (!i || n < 1) return [];
+            for (var o = 0, a = 0, u = we($t(i / n)); o < i; )
+              u[a++] = ei(t, o, (o += n));
+            return u;
+          }),
+          (jn.compact = function (e) {
+            for (
+              var t = -1, n = null == e ? 0 : e.length, r = 0, i = [];
+              ++t < n;
+
+            ) {
+              var o = e[t];
+              o && (i[r++] = o);
+            }
+            return i;
+          }),
+          (jn.concat = function () {
+            var e = arguments.length;
+            if (!e) return [];
+            for (var t = we(e - 1), n = arguments[0], r = e; r--; )
+              t[r - 1] = arguments[r];
+            return Pt(qa(n) ? Ii(n) : [n], vr(t, 1));
+          }),
+          (jn.cond = function (e) {
+            var n = null == e ? 0 : e.length,
+              r = oo();
+            return (
+              (e = n
+                ? Ot(e, function (e) {
+                    if ("function" != typeof e[1]) throw new Pe(t);
+                    return [r(e[0]), e[1]];
+                  })
+                : []),
+              Kr(function (t) {
+                for (var r = -1; ++r < n; ) {
+                  var i = e[r];
+                  if (mt(i[0], this, t)) return mt(i[1], this, t);
+                }
+              })
+            );
+          }),
+          (jn.conforms = function (e) {
+            return (function (e) {
+              var t = Eu(e);
+              return function (n) {
+                return ur(n, e, t);
+              };
+            })(ar(e, 1));
+          }),
+          (jn.constant = Zu),
+          (jn.countBy = da),
+          (jn.create = function (e, t) {
+            var n = Mn(e);
+            return null == t ? n : nr(n, t);
+          }),
+          (jn.curry = function t(n, r, i) {
+            var o = Ji(n, 8, e, e, e, e, e, (r = i ? e : r));
+            return (o.placeholder = t.placeholder), o;
+          }),
+          (jn.curryRight = function t(n, r, i) {
+            var o = Ji(n, 16, e, e, e, e, e, (r = i ? e : r));
+            return (o.placeholder = t.placeholder), o;
+          }),
+          (jn.debounce = Ea),
+          (jn.defaults = xu),
+          (jn.defaultsDeep = Su),
+          (jn.defer = Ca),
+          (jn.delay = Ra),
+          (jn.difference = Mo),
+          (jn.differenceBy = $o),
+          (jn.differenceWith = Fo),
+          (jn.drop = function (t, n, r) {
+            var i = null == t ? 0 : t.length;
+            return i
+              ? ei(t, (n = r || n === e ? 1 : pu(n)) < 0 ? 0 : n, i)
+              : [];
+          }),
+          (jn.dropRight = function (t, n, r) {
+            var i = null == t ? 0 : t.length;
+            return i
+              ? ei(t, 0, (n = i - (n = r || n === e ? 1 : pu(n))) < 0 ? 0 : n)
+              : [];
+          }),
+          (jn.dropRightWhile = function (e, t) {
+            return e && e.length ? fi(e, oo(t, 3), !0, !0) : [];
+          }),
+          (jn.dropWhile = function (e, t) {
+            return e && e.length ? fi(e, oo(t, 3), !0) : [];
+          }),
+          (jn.fill = function (t, n, r, i) {
+            var o = null == t ? 0 : t.length;
+            return o
+              ? (r && "number" != typeof r && yo(t, n, r) && ((r = 0), (i = o)),
+                (function (t, n, r, i) {
+                  var o = t.length;
+                  for (
+                    (r = pu(r)) < 0 && (r = -r > o ? 0 : o + r),
+                      (i = i === e || i > o ? o : pu(i)) < 0 && (i += o),
+                      i = r > i ? 0 : du(i);
+                    r < i;
+
+                  )
+                    t[r++] = n;
+                  return t;
+                })(t, n, r, i))
+              : [];
+          }),
+          (jn.filter = function (e, t) {
+            return (qa(e) ? St : dr)(e, oo(t, 3));
+          }),
+          (jn.flatMap = function (e, t) {
+            return vr(ba(e, t), 1);
+          }),
+          (jn.flatMapDeep = function (e, t) {
+            return vr(ba(e, t), a);
+          }),
+          (jn.flatMapDepth = function (t, n, r) {
+            return (r = r === e ? 1 : pu(r)), vr(ba(t, n), r);
+          }),
+          (jn.flatten = zo),
+          (jn.flattenDeep = function (e) {
+            return null != e && e.length ? vr(e, a) : [];
+          }),
+          (jn.flattenDepth = function (t, n) {
+            return null != t && t.length
+              ? vr(t, (n = n === e ? 1 : pu(n)))
+              : [];
+          }),
+          (jn.flip = function (e) {
+            return Ji(e, 512);
+          }),
+          (jn.flow = es),
+          (jn.flowRight = ts),
+          (jn.fromPairs = function (e) {
+            for (var t = -1, n = null == e ? 0 : e.length, r = {}; ++t < n; ) {
+              var i = e[t];
+              r[i[0]] = i[1];
+            }
+            return r;
+          }),
+          (jn.functions = function (e) {
+            return null == e ? [] : wr(e, Eu(e));
+          }),
+          (jn.functionsIn = function (e) {
+            return null == e ? [] : wr(e, Cu(e));
+          }),
+          (jn.groupBy = ma),
+          (jn.initial = function (e) {
+            return null != e && e.length ? ei(e, 0, -1) : [];
+          }),
+          (jn.intersection = Vo),
+          (jn.intersectionBy = Ko),
+          (jn.intersectionWith = Jo),
+          (jn.invert = Ou),
+          (jn.invertBy = Pu),
+          (jn.invokeMap = wa),
+          (jn.iteratee = rs),
+          (jn.keyBy = ka),
+          (jn.keys = Eu),
+          (jn.keysIn = Cu),
+          (jn.map = ba),
+          (jn.mapKeys = function (e, t) {
+            var n = {};
+            return (
+              (t = oo(t, 3)),
+              _r(e, function (e, r, i) {
+                rr(n, t(e, r, i), e);
+              }),
+              n
+            );
+          }),
+          (jn.mapValues = function (e, t) {
+            var n = {};
+            return (
+              (t = oo(t, 3)),
+              _r(e, function (e, r, i) {
+                rr(n, r, t(e, r, i));
+              }),
+              n
+            );
+          }),
+          (jn.matches = function (e) {
+            return Ur(ar(e, 1));
+          }),
+          (jn.matchesProperty = function (e, t) {
+            return jr(e, ar(t, 1));
+          }),
+          (jn.memoize = La),
+          (jn.merge = Ru),
+          (jn.mergeWith = Lu),
+          (jn.method = is),
+          (jn.methodOf = os),
+          (jn.mixin = as),
+          (jn.negate = Da),
+          (jn.nthArg = function (e) {
+            return (
+              (e = pu(e)),
+              Kr(function (t) {
+                return $r(t, e);
+              })
+            );
+          }),
+          (jn.omit = Du),
+          (jn.omitBy = function (e, t) {
+            return Nu(e, Da(oo(t)));
+          }),
+          (jn.once = function (e) {
+            return Oa(2, e);
+          }),
+          (jn.orderBy = function (t, n, r, i) {
+            return null == t
+              ? []
+              : (qa(n) || (n = null == n ? [] : [n]),
+                qa((r = i ? e : r)) || (r = null == r ? [] : [r]),
+                Fr(t, n, r));
+          }),
+          (jn.over = ss),
+          (jn.overArgs = Ba),
+          (jn.overEvery = cs),
+          (jn.overSome = fs),
+          (jn.partial = Na),
+          (jn.partialRight = Ua),
+          (jn.partition = xa),
+          (jn.pick = Bu),
+          (jn.pickBy = Nu),
+          (jn.property = ls),
+          (jn.propertyOf = function (t) {
+            return function (n) {
+              return null == t ? e : kr(t, n);
+            };
+          }),
+          (jn.pull = Yo),
+          (jn.pullAll = Xo),
+          (jn.pullAllBy = function (e, t, n) {
+            return e && e.length && t && t.length ? qr(e, t, oo(n, 2)) : e;
+          }),
+          (jn.pullAllWith = function (t, n, r) {
+            return t && t.length && n && n.length ? qr(t, n, e, r) : t;
+          }),
+          (jn.pullAt = Qo),
+          (jn.range = hs),
+          (jn.rangeRight = ps),
+          (jn.rearg = ja),
+          (jn.reject = function (e, t) {
+            return (qa(e) ? St : dr)(e, Da(oo(t, 3)));
+          }),
+          (jn.remove = function (e, t) {
+            var n = [];
+            if (!e || !e.length) return n;
+            var r = -1,
+              i = [],
+              o = e.length;
+            for (t = oo(t, 3); ++r < o; ) {
+              var a = e[r];
+              t(a, r, e) && (n.push(a), i.push(r));
+            }
+            return zr(e, i), n;
+          }),
+          (jn.rest = function (n, r) {
+            if ("function" != typeof n) throw new Pe(t);
+            return Kr(n, (r = r === e ? r : pu(r)));
+          }),
+          (jn.reverse = Zo),
+          (jn.sampleSize = function (t, n, r) {
+            return (
+              (n = (r ? yo(t, n, r) : n === e) ? 1 : pu(n)),
+              (qa(t) ? Yn : Gr)(t, n)
+            );
+          }),
+          (jn.set = function (e, t, n) {
+            return null == e ? e : Yr(e, t, n);
+          }),
+          (jn.setWith = function (t, n, r, i) {
+            return (
+              (i = "function" == typeof i ? i : e),
+              null == t ? t : Yr(t, n, r, i)
+            );
+          }),
+          (jn.shuffle = function (e) {
+            return (qa(e) ? Xn : Zr)(e);
+          }),
+          (jn.slice = function (t, n, r) {
+            var i = null == t ? 0 : t.length;
+            return i
+              ? (r && "number" != typeof r && yo(t, n, r)
+                  ? ((n = 0), (r = i))
+                  : ((n = null == n ? 0 : pu(n)), (r = r === e ? i : pu(r))),
+                ei(t, n, r))
+              : [];
+          }),
+          (jn.sortBy = Sa),
+          (jn.sortedUniq = function (e) {
+            return e && e.length ? ii(e) : [];
+          }),
+          (jn.sortedUniqBy = function (e, t) {
+            return e && e.length ? ii(e, oo(t, 2)) : [];
+          }),
+          (jn.split = function (t, n, r) {
+            return (
+              r && "number" != typeof r && yo(t, n, r) && (n = r = e),
+              (r = r === e ? c : r >>> 0)
+                ? (t = yu(t)) &&
+                  ("string" == typeof n || (null != n && !iu(n))) &&
+                  !(n = ai(n)) &&
+                  Zt(t)
+                  ? _i(an(t), 0, r)
+                  : t.split(n, r)
+                : []
+            );
+          }),
+          (jn.spread = function (e, n) {
+            if ("function" != typeof e) throw new Pe(t);
+            return (
+              (n = null == n ? 0 : gn(pu(n), 0)),
+              Kr(function (t) {
+                var r = t[n],
+                  i = _i(t, 0, n);
+                return r && Pt(i, r), mt(e, this, i);
+              })
+            );
+          }),
+          (jn.tail = function (e) {
+            var t = null == e ? 0 : e.length;
+            return t ? ei(e, 1, t) : [];
+          }),
+          (jn.take = function (t, n, r) {
+            return t && t.length
+              ? ei(t, 0, (n = r || n === e ? 1 : pu(n)) < 0 ? 0 : n)
+              : [];
+          }),
+          (jn.takeRight = function (t, n, r) {
+            var i = null == t ? 0 : t.length;
+            return i
+              ? ei(t, (n = i - (n = r || n === e ? 1 : pu(n))) < 0 ? 0 : n, i)
+              : [];
+          }),
+          (jn.takeRightWhile = function (e, t) {
+            return e && e.length ? fi(e, oo(t, 3), !1, !0) : [];
+          }),
+          (jn.takeWhile = function (e, t) {
+            return e && e.length ? fi(e, oo(t, 3)) : [];
+          }),
+          (jn.tap = function (e, t) {
+            return t(e), e;
+          }),
+          (jn.throttle = function (e, n, r) {
+            var i = !0,
+              o = !0;
+            if ("function" != typeof e) throw new Pe(t);
+            return (
+              Za(r) &&
+                ((i = "leading" in r ? !!r.leading : i),
+                (o = "trailing" in r ? !!r.trailing : o)),
+              Ea(e, n, { leading: i, maxWait: n, trailing: o })
+            );
+          }),
+          (jn.thru = ha),
+          (jn.toArray = lu),
+          (jn.toPairs = Uu),
+          (jn.toPairsIn = ju),
+          (jn.toPath = function (e) {
+            return qa(e) ? Ot(e, No) : uu(e) ? [e] : Ii(Bo(yu(e)));
+          }),
+          (jn.toPlainObject = gu),
+          (jn.transform = function (e, t, n) {
+            var r = qa(e),
+              i = r || Ka(e) || su(e);
+            if (((t = oo(t, 4)), null == n)) {
+              var o = e && e.constructor;
+              n = i ? (r ? new o() : []) : Za(e) && Ya(o) ? Mn(We(e)) : {};
+            }
+            return (
+              (i ? kt : _r)(e, function (e, r, i) {
+                return t(n, e, r, i);
+              }),
+              n
+            );
+          }),
+          (jn.unary = function (e) {
+            return Ia(e, 1);
+          }),
+          (jn.union = ea),
+          (jn.unionBy = ta),
+          (jn.unionWith = na),
+          (jn.uniq = function (e) {
+            return e && e.length ? ui(e) : [];
+          }),
+          (jn.uniqBy = function (e, t) {
+            return e && e.length ? ui(e, oo(t, 2)) : [];
+          }),
+          (jn.uniqWith = function (t, n) {
+            return (
+              (n = "function" == typeof n ? n : e),
+              t && t.length ? ui(t, e, n) : []
+            );
+          }),
+          (jn.unset = function (e, t) {
+            return null == e || si(e, t);
+          }),
+          (jn.unzip = ra),
+          (jn.unzipWith = ia),
+          (jn.update = function (e, t, n) {
+            return null == e ? e : ci(e, t, vi(n));
+          }),
+          (jn.updateWith = function (t, n, r, i) {
+            return (
+              (i = "function" == typeof i ? i : e),
+              null == t ? t : ci(t, n, vi(r), i)
+            );
+          }),
+          (jn.values = Mu),
+          (jn.valuesIn = function (e) {
+            return null == e ? [] : Vt(e, Cu(e));
+          }),
+          (jn.without = oa),
+          (jn.words = Yu),
+          (jn.wrap = function (e, t) {
+            return Na(vi(t), e);
+          }),
+          (jn.xor = aa),
+          (jn.xorBy = ua),
+          (jn.xorWith = sa),
+          (jn.zip = ca),
+          (jn.zipObject = function (e, t) {
+            return pi(e || [], t || [], Zn);
+          }),
+          (jn.zipObjectDeep = function (e, t) {
+            return pi(e || [], t || [], Yr);
+          }),
+          (jn.zipWith = fa),
+          (jn.entries = Uu),
+          (jn.entriesIn = ju),
+          (jn.extend = mu),
+          (jn.extendWith = wu),
+          as(jn, jn),
+          (jn.add = ys),
+          (jn.attempt = Xu),
+          (jn.camelCase = $u),
+          (jn.capitalize = Fu),
+          (jn.ceil = _s),
+          (jn.clamp = function (t, n, r) {
+            return (
+              r === e && ((r = n), (n = e)),
+              r !== e && (r = (r = vu(r)) == r ? r : 0),
+              n !== e && (n = (n = vu(n)) == n ? n : 0),
+              or(vu(t), n, r)
+            );
+          }),
+          (jn.clone = function (e) {
+            return ar(e, 4);
+          }),
+          (jn.cloneDeep = function (e) {
+            return ar(e, 5);
+          }),
+          (jn.cloneDeepWith = function (t, n) {
+            return ar(t, 5, (n = "function" == typeof n ? n : e));
+          }),
+          (jn.cloneWith = function (t, n) {
+            return ar(t, 4, (n = "function" == typeof n ? n : e));
+          }),
+          (jn.conformsTo = function (e, t) {
+            return null == t || ur(e, t, Eu(t));
+          }),
+          (jn.deburr = Hu),
+          (jn.defaultTo = function (e, t) {
+            return null == e || e != e ? t : e;
+          }),
+          (jn.divide = ms),
+          (jn.endsWith = function (t, n, r) {
+            (t = yu(t)), (n = ai(n));
+            var i = t.length,
+              o = (r = r === e ? i : or(pu(r), 0, i));
+            return (r -= n.length) >= 0 && t.slice(r, o) == n;
+          }),
+          (jn.eq = Ma),
+          (jn.escape = function (e) {
+            return (e = yu(e)) && W.test(e) ? e.replace(q, Xt) : e;
+          }),
+          (jn.escapeRegExp = function (e) {
+            return (e = yu(e)) && Z.test(e) ? e.replace(Q, "\\$&") : e;
+          }),
+          (jn.every = function (t, n, r) {
+            var i = qa(t) ? xt : hr;
+            return r && yo(t, n, r) && (n = e), i(t, oo(n, 3));
+          }),
+          (jn.find = va),
+          (jn.findIndex = Ho),
+          (jn.findKey = function (e, t) {
+            return Lt(e, oo(t, 3), _r);
+          }),
+          (jn.findLast = ga),
+          (jn.findLastIndex = qo),
+          (jn.findLastKey = function (e, t) {
+            return Lt(e, oo(t, 3), mr);
+          }),
+          (jn.floor = ws),
+          (jn.forEach = ya),
+          (jn.forEachRight = _a),
+          (jn.forIn = function (e, t) {
+            return null == e ? e : gr(e, oo(t, 3), Cu);
+          }),
+          (jn.forInRight = function (e, t) {
+            return null == e ? e : yr(e, oo(t, 3), Cu);
+          }),
+          (jn.forOwn = function (e, t) {
+            return e && _r(e, oo(t, 3));
+          }),
+          (jn.forOwnRight = function (e, t) {
+            return e && mr(e, oo(t, 3));
+          }),
+          (jn.get = Au),
+          (jn.gt = $a),
+          (jn.gte = Fa),
+          (jn.has = function (e, t) {
+            return null != e && ho(e, t, Ar);
+          }),
+          (jn.hasIn = Iu),
+          (jn.head = Wo),
+          (jn.identity = ns),
+          (jn.includes = function (e, t, n, r) {
+            (e = Wa(e) ? e : Mu(e)), (n = n && !r ? pu(n) : 0);
+            var i = e.length;
+            return (
+              n < 0 && (n = gn(i + n, 0)),
+              au(e) ? n <= i && e.indexOf(t, n) > -1 : !!i && Bt(e, t, n) > -1
+            );
+          }),
+          (jn.indexOf = function (e, t, n) {
+            var r = null == e ? 0 : e.length;
+            if (!r) return -1;
+            var i = null == n ? 0 : pu(n);
+            return i < 0 && (i = gn(r + i, 0)), Bt(e, t, i);
+          }),
+          (jn.inRange = function (t, n, r) {
+            return (
+              (n = hu(n)),
+              r === e ? ((r = n), (n = 0)) : (r = hu(r)),
+              (function (e, t, n) {
+                return e >= yn(t, n) && e < gn(t, n);
+              })((t = vu(t)), n, r)
+            );
+          }),
+          (jn.invoke = Tu),
+          (jn.isArguments = Ha),
+          (jn.isArray = qa),
+          (jn.isArrayBuffer = za),
+          (jn.isArrayLike = Wa),
+          (jn.isArrayLikeObject = Va),
+          (jn.isBoolean = function (e) {
+            return !0 === e || !1 === e || (eu(e) && xr(e) == d);
+          }),
+          (jn.isBuffer = Ka),
+          (jn.isDate = Ja),
+          (jn.isElement = function (e) {
+            return eu(e) && 1 === e.nodeType && !ru(e);
+          }),
+          (jn.isEmpty = function (e) {
+            if (null == e) return !0;
+            if (
+              Wa(e) &&
+              (qa(e) ||
+                "string" == typeof e ||
+                "function" == typeof e.splice ||
+                Ka(e) ||
+                su(e) ||
+                Ha(e))
+            )
+              return !e.length;
+            var t = lo(e);
+            if (t == m || t == S) return !e.size;
+            if (ko(e)) return !Dr(e).length;
+            for (var n in e) if (De.call(e, n)) return !1;
+            return !0;
+          }),
+          (jn.isEqual = function (e, t) {
+            return Er(e, t);
+          }),
+          (jn.isEqualWith = function (t, n, r) {
+            var i = (r = "function" == typeof r ? r : e) ? r(t, n) : e;
+            return i === e ? Er(t, n, e, r) : !!i;
+          }),
+          (jn.isError = Ga),
+          (jn.isFinite = function (e) {
+            return "number" == typeof e && pn(e);
+          }),
+          (jn.isFunction = Ya),
+          (jn.isInteger = Xa),
+          (jn.isLength = Qa),
+          (jn.isMap = tu),
+          (jn.isMatch = function (e, t) {
+            return e === t || Cr(e, t, uo(t));
+          }),
+          (jn.isMatchWith = function (t, n, r) {
+            return (r = "function" == typeof r ? r : e), Cr(t, n, uo(n), r);
+          }),
+          (jn.isNaN = function (e) {
+            return nu(e) && e != +e;
+          }),
+          (jn.isNative = function (e) {
+            if (wo(e))
+              throw new be(
+                "Unsupported core-js use. Try https://npms.io/search?q=ponyfill."
+              );
+            return Rr(e);
+          }),
+          (jn.isNil = function (e) {
+            return null == e;
+          }),
+          (jn.isNull = function (e) {
+            return null === e;
+          }),
+          (jn.isNumber = nu),
+          (jn.isObject = Za),
+          (jn.isObjectLike = eu),
+          (jn.isPlainObject = ru),
+          (jn.isRegExp = iu),
+          (jn.isSafeInteger = function (e) {
+            return Xa(e) && e >= -9007199254740991 && e <= u;
+          }),
+          (jn.isSet = ou),
+          (jn.isString = au),
+          (jn.isSymbol = uu),
+          (jn.isTypedArray = su),
+          (jn.isUndefined = function (t) {
+            return t === e;
+          }),
+          (jn.isWeakMap = function (e) {
+            return eu(e) && lo(e) == O;
+          }),
+          (jn.isWeakSet = function (e) {
+            return eu(e) && "[object WeakSet]" == xr(e);
+          }),
+          (jn.join = function (e, t) {
+            return null == e ? "" : dn.call(e, t);
+          }),
+          (jn.kebabCase = qu),
+          (jn.last = Go),
+          (jn.lastIndexOf = function (t, n, r) {
+            var i = null == t ? 0 : t.length;
+            if (!i) return -1;
+            var o = i;
+            return (
+              r !== e && (o = (o = pu(r)) < 0 ? gn(i + o, 0) : yn(o, i - 1)),
+              n == n
+                ? (function (e, t, n) {
+                    for (var r = n + 1; r--; ) if (e[r] === t) return r;
+                    return r;
+                  })(t, n, o)
+                : Dt(t, Ut, o, !0)
+            );
+          }),
+          (jn.lowerCase = zu),
+          (jn.lowerFirst = Wu),
+          (jn.lt = cu),
+          (jn.lte = fu),
+          (jn.max = function (t) {
+            return t && t.length ? pr(t, ns, Sr) : e;
+          }),
+          (jn.maxBy = function (t, n) {
+            return t && t.length ? pr(t, oo(n, 2), Sr) : e;
+          }),
+          (jn.mean = function (e) {
+            return jt(e, ns);
+          }),
+          (jn.meanBy = function (e, t) {
+            return jt(e, oo(t, 2));
+          }),
+          (jn.min = function (t) {
+            return t && t.length ? pr(t, ns, Br) : e;
+          }),
+          (jn.minBy = function (t, n) {
+            return t && t.length ? pr(t, oo(n, 2), Br) : e;
+          }),
+          (jn.stubArray = ds),
+          (jn.stubFalse = vs),
+          (jn.stubObject = function () {
+            return {};
+          }),
+          (jn.stubString = function () {
+            return "";
+          }),
+          (jn.stubTrue = function () {
+            return !0;
+          }),
+          (jn.multiply = ks),
+          (jn.nth = function (t, n) {
+            return t && t.length ? $r(t, pu(n)) : e;
+          }),
+          (jn.noConflict = function () {
+            return ut._ === this && (ut._ = Me), this;
+          }),
+          (jn.noop = us),
+          (jn.now = Aa),
+          (jn.pad = function (e, t, n) {
+            e = yu(e);
+            var r = (t = pu(t)) ? on(e) : 0;
+            if (!t || r >= t) return e;
+            var i = (t - r) / 2;
+            return Fi(fn(i), n) + e + Fi($t(i), n);
+          }),
+          (jn.padEnd = function (e, t, n) {
+            e = yu(e);
+            var r = (t = pu(t)) ? on(e) : 0;
+            return t && r < t ? e + Fi(t - r, n) : e;
+          }),
+          (jn.padStart = function (e, t, n) {
+            e = yu(e);
+            var r = (t = pu(t)) ? on(e) : 0;
+            return t && r < t ? Fi(t - r, n) + e : e;
+          }),
+          (jn.parseInt = function (e, t, n) {
+            return (
+              n || null == t ? (t = 0) : t && (t = +t),
+              mn(yu(e).replace(ee, ""), t || 0)
+            );
+          }),
+          (jn.random = function (t, n, r) {
+            if (
+              (r && "boolean" != typeof r && yo(t, n, r) && (n = r = e),
+              r === e &&
+                ("boolean" == typeof n
+                  ? ((r = n), (n = e))
+                  : "boolean" == typeof t && ((r = t), (t = e))),
+              t === e && n === e
+                ? ((t = 0), (n = 1))
+                : ((t = hu(t)), n === e ? ((n = t), (t = 0)) : (n = hu(n))),
+              t > n)
+            ) {
+              var i = t;
+              (t = n), (n = i);
+            }
+            if (r || t % 1 || n % 1) {
+              var o = wn();
+              return yn(t + o * (n - t + rt("1e-" + ((o + "").length - 1))), n);
+            }
+            return Wr(t, n);
+          }),
+          (jn.reduce = function (e, t, n) {
+            var r = qa(e) ? Tt : Ft,
+              i = arguments.length < 3;
+            return r(e, oo(t, 4), n, i, fr);
+          }),
+          (jn.reduceRight = function (e, t, n) {
+            var r = qa(e) ? Et : Ft,
+              i = arguments.length < 3;
+            return r(e, oo(t, 4), n, i, lr);
+          }),
+          (jn.repeat = function (t, n, r) {
+            return (n = (r ? yo(t, n, r) : n === e) ? 1 : pu(n)), Vr(yu(t), n);
+          }),
+          (jn.replace = function () {
+            var e = arguments,
+              t = yu(e[0]);
+            return e.length < 3 ? t : t.replace(e[1], e[2]);
+          }),
+          (jn.result = function (t, n, r) {
+            var i = -1,
+              o = (n = gi(n, t)).length;
+            for (o || ((o = 1), (t = e)); ++i < o; ) {
+              var a = null == t ? e : t[No(n[i])];
+              a === e && ((i = o), (a = r)), (t = Ya(a) ? a.call(t) : a);
+            }
+            return t;
+          }),
+          (jn.round = bs),
+          (jn.runInContext = te),
+          (jn.sample = function (e) {
+            return (qa(e) ? Gn : Jr)(e);
+          }),
+          (jn.size = function (e) {
+            if (null == e) return 0;
+            if (Wa(e)) return au(e) ? on(e) : e.length;
+            var t = lo(e);
+            return t == m || t == S ? e.size : Dr(e).length;
+          }),
+          (jn.snakeCase = Vu),
+          (jn.some = function (t, n, r) {
+            var i = qa(t) ? Ct : ti;
+            return r && yo(t, n, r) && (n = e), i(t, oo(n, 3));
+          }),
+          (jn.sortedIndex = function (e, t) {
+            return ni(e, t);
+          }),
+          (jn.sortedIndexBy = function (e, t, n) {
+            return ri(e, t, oo(n, 2));
+          }),
+          (jn.sortedIndexOf = function (e, t) {
+            var n = null == e ? 0 : e.length;
+            if (n) {
+              var r = ni(e, t);
+              if (r < n && Ma(e[r], t)) return r;
+            }
+            return -1;
+          }),
+          (jn.sortedLastIndex = function (e, t) {
+            return ni(e, t, !0);
+          }),
+          (jn.sortedLastIndexBy = function (e, t, n) {
+            return ri(e, t, oo(n, 2), !0);
+          }),
+          (jn.sortedLastIndexOf = function (e, t) {
+            if (null != e && e.length) {
+              var n = ni(e, t, !0) - 1;
+              if (Ma(e[n], t)) return n;
+            }
+            return -1;
+          }),
+          (jn.startCase = Ku),
+          (jn.startsWith = function (e, t, n) {
+            return (
+              (e = yu(e)),
+              (n = null == n ? 0 : or(pu(n), 0, e.length)),
+              (t = ai(t)),
+              e.slice(n, n + t.length) == t
+            );
+          }),
+          (jn.subtract = xs),
+          (jn.sum = function (e) {
+            return e && e.length ? Ht(e, ns) : 0;
+          }),
+          (jn.sumBy = function (e, t) {
+            return e && e.length ? Ht(e, oo(t, 2)) : 0;
+          }),
+          (jn.template = function (t, n, r) {
+            var i = jn.templateSettings;
+            r && yo(t, n, r) && (n = e), (t = yu(t)), (n = wu({}, n, i, Gi));
+            var o,
+              a,
+              u = wu({}, n.imports, i.imports, Gi),
+              s = Eu(u),
+              c = Vt(u, s),
+              f = 0,
+              l = n.interpolate || ge,
+              h = "__p += '",
+              p = Ie(
+                (n.escape || ge).source +
+                  "|" +
+                  l.source +
+                  "|" +
+                  (l === J ? se : ge).source +
+                  "|" +
+                  (n.evaluate || ge).source +
+                  "|$",
+                "g"
+              ),
+              d =
+                "//# sourceURL=" +
+                (De.call(n, "sourceURL")
+                  ? (n.sourceURL + "").replace(/\s/g, " ")
+                  : "lodash.templateSources[" + ++Ze + "]") +
+                "\n";
+            t.replace(p, function (e, n, r, i, u, s) {
+              return (
+                r || (r = i),
+                (h += t.slice(f, s).replace(ye, Qt)),
+                n && ((o = !0), (h += "' +\n__e(" + n + ") +\n'")),
+                u && ((a = !0), (h += "';\n" + u + ";\n__p += '")),
+                r &&
+                  (h += "' +\n((__t = (" + r + ")) == null ? '' : __t) +\n'"),
+                (f = s + e.length),
+                e
+              );
+            }),
+              (h += "';\n");
+            var v = De.call(n, "variable") && n.variable;
+            if (v) {
+              if (ae.test(v))
+                throw new be(
+                  "Invalid `variable` option passed into `_.template`"
+                );
+            } else h = "with (obj) {\n" + h + "\n}\n";
+            (h = (a ? h.replace(M, "") : h).replace($, "$1").replace(F, "$1;")),
+              (h =
+                "function(" +
+                (v || "obj") +
+                ") {\n" +
+                (v ? "" : "obj || (obj = {});\n") +
+                "var __t, __p = ''" +
+                (o ? ", __e = _.escape" : "") +
+                (a
+                  ? ", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n"
+                  : ";\n") +
+                h +
+                "return __p\n}");
+            var g = Xu(function () {
+              return xe(s, d + "return " + h).apply(e, c);
+            });
+            if (((g.source = h), Ga(g))) throw g;
+            return g;
+          }),
+          (jn.times = function (e, t) {
+            if ((e = pu(e)) < 1 || e > u) return [];
+            var n = c,
+              r = yn(e, c);
+            (t = oo(t)), (e -= c);
+            for (var i = qt(r, t); ++n < e; ) t(n);
+            return i;
+          }),
+          (jn.toFinite = hu),
+          (jn.toInteger = pu),
+          (jn.toLength = du),
+          (jn.toLower = function (e) {
+            return yu(e).toLowerCase();
+          }),
+          (jn.toNumber = vu),
+          (jn.toSafeInteger = function (e) {
+            return e ? or(pu(e), -9007199254740991, u) : 0 === e ? e : 0;
+          }),
+          (jn.toString = yu),
+          (jn.toUpper = function (e) {
+            return yu(e).toUpperCase();
+          }),
+          (jn.trim = function (t, n, r) {
+            if ((t = yu(t)) && (r || n === e)) return zt(t);
+            if (!t || !(n = ai(n))) return t;
+            var i = an(t),
+              o = an(n);
+            return _i(i, Jt(i, o), Gt(i, o) + 1).join("");
+          }),
+          (jn.trimEnd = function (t, n, r) {
+            if ((t = yu(t)) && (r || n === e)) return t.slice(0, un(t) + 1);
+            if (!t || !(n = ai(n))) return t;
+            var i = an(t);
+            return _i(i, 0, Gt(i, an(n)) + 1).join("");
+          }),
+          (jn.trimStart = function (t, n, r) {
+            if ((t = yu(t)) && (r || n === e)) return t.replace(ee, "");
+            if (!t || !(n = ai(n))) return t;
+            var i = an(t);
+            return _i(i, Jt(i, an(n))).join("");
+          }),
+          (jn.truncate = function (t, n) {
+            var r = 30,
+              i = "...";
+            if (Za(n)) {
+              var o = "separator" in n ? n.separator : o;
+              (r = "length" in n ? pu(n.length) : r),
+                (i = "omission" in n ? ai(n.omission) : i);
+            }
+            var a = (t = yu(t)).length;
+            if (Zt(t)) {
+              var u = an(t);
+              a = u.length;
+            }
+            if (r >= a) return t;
+            var s = r - on(i);
+            if (s < 1) return i;
+            var c = u ? _i(u, 0, s).join("") : t.slice(0, s);
+            if (o === e) return c + i;
+            if ((u && (s += c.length - s), iu(o))) {
+              if (t.slice(s).search(o)) {
+                var f,
+                  l = c;
+                for (
+                  o.global || (o = Ie(o.source, yu(ce.exec(o)) + "g")),
+                    o.lastIndex = 0;
+                  (f = o.exec(l));
+
+                )
+                  var h = f.index;
+                c = c.slice(0, h === e ? s : h);
+              }
+            } else if (t.indexOf(ai(o), s) != s) {
+              var p = c.lastIndexOf(o);
+              p > -1 && (c = c.slice(0, p));
+            }
+            return c + i;
+          }),
+          (jn.unescape = function (e) {
+            return (e = yu(e)) && z.test(e) ? e.replace(H, sn) : e;
+          }),
+          (jn.uniqueId = function (e) {
+            var t = ++Be;
+            return yu(e) + t;
+          }),
+          (jn.upperCase = Ju),
+          (jn.upperFirst = Gu),
+          (jn.each = ya),
+          (jn.eachRight = _a),
+          (jn.first = Wo),
+          as(
+            jn,
+            ((gs = {}),
+            _r(jn, function (e, t) {
+              De.call(jn.prototype, t) || (gs[t] = e);
+            }),
+            gs),
+            { chain: !1 }
+          ),
+          (jn.VERSION = "4.17.21"),
+          kt(
+            [
+              "bind",
+              "bindKey",
+              "curry",
+              "curryRight",
+              "partial",
+              "partialRight",
+            ],
+            function (e) {
+              jn[e].placeholder = jn;
+            }
+          ),
+          kt(["drop", "take"], function (t, n) {
+            (Hn.prototype[t] = function (r) {
+              r = r === e ? 1 : gn(pu(r), 0);
+              var i = this.__filtered__ && !n ? new Hn(this) : this.clone();
+              return (
+                i.__filtered__
+                  ? (i.__takeCount__ = yn(r, i.__takeCount__))
+                  : i.__views__.push({
+                      size: yn(r, c),
+                      type: t + (i.__dir__ < 0 ? "Right" : ""),
+                    }),
+                i
+              );
+            }),
+              (Hn.prototype[t + "Right"] = function (e) {
+                return this.reverse()[t](e).reverse();
+              });
+          }),
+          kt(["filter", "map", "takeWhile"], function (e, t) {
+            var n = t + 1,
+              r = 1 == n || 3 == n;
+            Hn.prototype[e] = function (e) {
+              var t = this.clone();
+              return (
+                t.__iteratees__.push({ iteratee: oo(e, 3), type: n }),
+                (t.__filtered__ = t.__filtered__ || r),
+                t
+              );
+            };
+          }),
+          kt(["head", "last"], function (e, t) {
+            var n = "take" + (t ? "Right" : "");
+            Hn.prototype[e] = function () {
+              return this[n](1).value()[0];
+            };
+          }),
+          kt(["initial", "tail"], function (e, t) {
+            var n = "drop" + (t ? "" : "Right");
+            Hn.prototype[e] = function () {
+              return this.__filtered__ ? new Hn(this) : this[n](1);
+            };
+          }),
+          (Hn.prototype.compact = function () {
+            return this.filter(ns);
+          }),
+          (Hn.prototype.find = function (e) {
+            return this.filter(e).head();
+          }),
+          (Hn.prototype.findLast = function (e) {
+            return this.reverse().find(e);
+          }),
+          (Hn.prototype.invokeMap = Kr(function (e, t) {
+            return "function" == typeof e
+              ? new Hn(this)
+              : this.map(function (n) {
+                  return Pr(n, e, t);
+                });
+          })),
+          (Hn.prototype.reject = function (e) {
+            return this.filter(Da(oo(e)));
+          }),
+          (Hn.prototype.slice = function (t, n) {
+            t = pu(t);
+            var r = this;
+            return r.__filtered__ && (t > 0 || n < 0)
+              ? new Hn(r)
+              : (t < 0 ? (r = r.takeRight(-t)) : t && (r = r.drop(t)),
+                n !== e &&
+                  (r = (n = pu(n)) < 0 ? r.dropRight(-n) : r.take(n - t)),
+                r);
+          }),
+          (Hn.prototype.takeRightWhile = function (e) {
+            return this.reverse().takeWhile(e).reverse();
+          }),
+          (Hn.prototype.toArray = function () {
+            return this.take(c);
+          }),
+          _r(Hn.prototype, function (t, n) {
+            var r = /^(?:filter|find|map|reject)|While$/.test(n),
+              i = /^(?:head|last)$/.test(n),
+              o = jn[i ? "take" + ("last" == n ? "Right" : "") : n],
+              a = i || /^find/.test(n);
+            o &&
+              (jn.prototype[n] = function () {
+                var n = this.__wrapped__,
+                  u = i ? [1] : arguments,
+                  s = n instanceof Hn,
+                  c = u[0],
+                  f = s || qa(n),
+                  l = function (e) {
+                    var t = o.apply(jn, Pt([e], u));
+                    return i && h ? t[0] : t;
+                  };
+                f &&
+                  r &&
+                  "function" == typeof c &&
+                  1 != c.length &&
+                  (s = f = !1);
+                var h = this.__chain__,
+                  p = !!this.__actions__.length,
+                  d = a && !h,
+                  v = s && !p;
+                if (!a && f) {
+                  n = v ? n : new Hn(this);
+                  var g = t.apply(n, u);
+                  return (
+                    g.__actions__.push({ func: ha, args: [l], thisArg: e }),
+                    new Fn(g, h)
+                  );
+                }
+                return d && v
+                  ? t.apply(this, u)
+                  : ((g = this.thru(l)),
+                    d ? (i ? g.value()[0] : g.value()) : g);
+              });
+          }),
+          kt(
+            ["pop", "push", "shift", "sort", "splice", "unshift"],
+            function (e) {
+              var t = Te[e],
+                n = /^(?:push|sort|unshift)$/.test(e) ? "tap" : "thru",
+                r = /^(?:pop|shift)$/.test(e);
+              jn.prototype[e] = function () {
+                var e = arguments;
+                if (r && !this.__chain__) {
+                  var i = this.value();
+                  return t.apply(qa(i) ? i : [], e);
+                }
+                return this[n](function (n) {
+                  return t.apply(qa(n) ? n : [], e);
+                });
+              };
+            }
+          ),
+          _r(Hn.prototype, function (e, t) {
+            var n = jn[t];
+            if (n) {
+              var r = n.name + "";
+              De.call(Tn, r) || (Tn[r] = []), Tn[r].push({ name: t, func: n });
+            }
+          }),
+          (Tn[Ui(e, 2).name] = [{ name: "wrapper", func: e }]),
+          (Hn.prototype.clone = function () {
+            var e = new Hn(this.__wrapped__);
+            return (
+              (e.__actions__ = Ii(this.__actions__)),
+              (e.__dir__ = this.__dir__),
+              (e.__filtered__ = this.__filtered__),
+              (e.__iteratees__ = Ii(this.__iteratees__)),
+              (e.__takeCount__ = this.__takeCount__),
+              (e.__views__ = Ii(this.__views__)),
+              e
+            );
+          }),
+          (Hn.prototype.reverse = function () {
+            if (this.__filtered__) {
+              var e = new Hn(this);
+              (e.__dir__ = -1), (e.__filtered__ = !0);
+            } else (e = this.clone()).__dir__ *= -1;
+            return e;
+          }),
+          (Hn.prototype.value = function () {
+            var e = this.__wrapped__.value(),
+              t = this.__dir__,
+              n = qa(e),
+              r = t < 0,
+              i = n ? e.length : 0,
+              o = (function (e, t, n) {
+                for (var r = -1, i = n.length; ++r < i; ) {
+                  var o = n[r],
+                    a = o.size;
+                  switch (o.type) {
+                    case "drop":
+                      e += a;
+                      break;
+                    case "dropRight":
+                      t -= a;
+                      break;
+                    case "take":
+                      t = yn(t, e + a);
+                      break;
+                    case "takeRight":
+                      e = gn(e, t - a);
+                  }
+                }
+                return { start: e, end: t };
+              })(0, i, this.__views__),
+              a = o.start,
+              u = o.end,
+              s = u - a,
+              c = r ? u : a - 1,
+              f = this.__iteratees__,
+              l = f.length,
+              h = 0,
+              p = yn(s, this.__takeCount__);
+            if (!n || (!r && i == s && p == s)) return li(e, this.__actions__);
+            var d = [];
+            e: for (; s-- && h < p; ) {
+              for (var v = -1, g = e[(c += t)]; ++v < l; ) {
+                var y = f[v],
+                  _ = y.iteratee,
+                  m = y.type,
+                  w = _(g);
+                if (2 == m) g = w;
+                else if (!w) {
+                  if (1 == m) continue e;
+                  break e;
+                }
+              }
+              d[h++] = g;
+            }
+            return d;
+          }),
+          (jn.prototype.at = pa),
+          (jn.prototype.chain = function () {
+            return la(this);
+          }),
+          (jn.prototype.commit = function () {
+            return new Fn(this.value(), this.__chain__);
+          }),
+          (jn.prototype.next = function () {
+            this.__values__ === e && (this.__values__ = lu(this.value()));
+            var t = this.__index__ >= this.__values__.length;
+            return {
+              done: t,
+              value: t ? e : this.__values__[this.__index__++],
+            };
+          }),
+          (jn.prototype.plant = function (t) {
+            for (var n, r = this; r instanceof $n; ) {
+              var i = jo(r);
+              (i.__index__ = 0),
+                (i.__values__ = e),
+                n ? (o.__wrapped__ = i) : (n = i);
+              var o = i;
+              r = r.__wrapped__;
+            }
+            return (o.__wrapped__ = t), n;
+          }),
+          (jn.prototype.reverse = function () {
+            var t = this.__wrapped__;
+            if (t instanceof Hn) {
+              var n = t;
+              return (
+                this.__actions__.length && (n = new Hn(this)),
+                (n = n.reverse()).__actions__.push({
+                  func: ha,
+                  args: [Zo],
+                  thisArg: e,
+                }),
+                new Fn(n, this.__chain__)
+              );
+            }
+            return this.thru(Zo);
+          }),
+          (jn.prototype.toJSON =
+            jn.prototype.valueOf =
+            jn.prototype.value =
+              function () {
+                return li(this.__wrapped__, this.__actions__);
+              }),
+          (jn.prototype.first = jn.prototype.head),
+          at &&
+            (jn.prototype[at] = function () {
+              return this;
+            }),
+          jn
+        );
+      })();
+    ct ? (((ct.exports = cn)._ = cn), (st._ = cn)) : (ut._ = cn);
+  }.call(su);
+var Ic = Ac,
+  Oc = "[UMENG] -- ",
+  Pc = (function () {
+    var e = null,
+      t = !1;
+    function n() {
+      (this.setDebug = function (e) {
+        t = e;
+      }),
+        (this.d = function () {
+          if (t)
+            try {
+              "string" == typeof arguments[0] &&
+                (arguments[0] = Oc + arguments[0]),
+                console.debug.apply(console, arguments);
+            } catch (e) {}
+        }),
+        (this.i = function () {
+          try {
+            if (t)
+              try {
+                "string" == typeof arguments[0] &&
+                  (arguments[0] = Oc + arguments[0]),
+                  console.info.apply(console, arguments);
+              } catch (e) {}
+          } catch (e) {}
+        }),
+        (this.e = function () {
+          if (t)
+            try {
+              "string" == typeof arguments[0] &&
+                (arguments[0] = Oc + arguments[0]),
+                console.error.apply(console, arguments);
+            } catch (e) {}
+        }),
+        (this.w = function () {
+          if (t)
+            try {
+              "string" == typeof arguments[0] &&
+                (arguments[0] = Oc + arguments[0]),
+                console.warn.apply(console, arguments);
+            } catch (e) {}
+        }),
+        (this.v = function () {
+          if (t)
+            try {
+              "string" == typeof arguments[0] &&
+                (arguments[0] = Oc + arguments[0]),
+                console.log.apply(console, arguments);
+            } catch (e) {}
+        }),
+        (this.t = function () {
+          if (t)
+            try {
+              console.table.apply(console, arguments);
+            } catch (e) {}
+        }),
+        (this.tip = function () {
+          try {
+            "string" == typeof arguments[0] &&
+              (arguments[0] = Oc + arguments[0]),
+              console.log.apply(console, arguments);
+          } catch (e) {}
+        }),
+        (this.tip_w = function (e) {
+          try {
+            console.log(
+              "%c [UMENG] -- " + e,
+              "background:red; padding: 4px; padding-right: 8px; border-radius: 4px; color: #fff;"
+            );
+          } catch (e) {}
+        }),
+        (this.err = function () {
+          try {
+            "string" == typeof arguments[0] &&
+              (arguments[0] = Oc + arguments[0]),
+              console.error.apply(console, arguments);
+          } catch (e) {}
+        }),
+        (this.repeat = function (e) {
+          for (var t = e; t.length < 86; ) t += e;
+          return t;
+        });
+    }
+    return function () {
+      return null === e && (e = new n()), e;
+    };
+  })(),
+  Tc = (function () {
+    var e = null;
+    function t() {
+      var e = {};
+      (this.useOpenid = function () {
+        return !!e.useOpenid;
+      }),
+        (this.useSwanid = function () {
+          return !!e.useSwanid;
+        }),
+        (this.autoGetOpenid = function () {
+          return !!e.autoGetOpenid;
+        }),
+        (this.appKey = function () {
+          return e.appKey;
+        }),
+        (this.uploadUserInfo = function () {
+          return e.uploadUserInfo;
+        }),
+        (this.enableVerify = function () {
+          return e.enableVerify;
+        }),
+        (this.set = function (t) {
+          e = t;
+        }),
+        (this.get = function () {
+          return e;
+        }),
+        (this.setItem = function (t, n) {
+          e[t] = n;
+        }),
+        (this.getItem = function (t) {
+          return e[t];
+        });
+    }
+    return function () {
+      return e || (e = new t()), e;
+    };
+  })();
+function Ec() {}
+Ec.prototype = {
+  on: function (e, t, n) {
+    var r = this.e || (this.e = {});
+    return (r[e] || (r[e] = [])).push({ fn: t, ctx: n }), this;
+  },
+  once: function (e, t, n) {
+    var r = this;
+    function i() {
+      r.off(e, i), t.apply(n, arguments);
+    }
+    return (i._ = t), this.on(e, i, n);
+  },
+  emit: function (e) {
+    for (
+      var t = [].slice.call(arguments, 1),
+        n = ((this.e || (this.e = {}))[e] || []).slice(),
+        r = 0,
+        i = n.length;
+      r < i;
+      r++
+    )
+      n[r].fn.apply(n[r].ctx, t);
+    return this;
+  },
+  off: function (e, t) {
+    var n = this.e || (this.e = {}),
+      r = n[e],
+      i = [];
+    if (r && t)
+      for (var o = 0, a = r.length; o < a; o++)
+        r[o].fn !== t && r[o].fn._ !== t && i.push(r[o]);
+    return i.length ? (n[e] = i) : delete n[e], this;
+  },
+};
+var Cc = new Ec();
+Cc.messageType = { CONFIG_LOADED: 0, UMA_LIB_INITED: 1 };
+var Rc = new ((function () {
+    function e() {}
+    return (
+      (e.prototype.setStorage = function (e, t, n) {
+        On.setStorage({
+          key: e,
+          data: t,
+          success: function () {
+            "function" == typeof n && n(!0);
+          },
+          fail: function () {
+            "function" == typeof n && n(!1);
+          },
+        });
+      }),
+      (e.prototype.getStorage = function (e, t) {
+        On.getStorage({
+          key: e,
+          success: function (e) {
+            "function" == typeof t && t(e.data);
+          },
+          fail: function (n) {
+            Pc().w(e + ": " + n.errMsg), "function" == typeof t && t();
+          },
+        });
+      }),
+      (e.prototype.removeStorage = function (e, t) {
+        On.removeStorage({
+          key: e,
+          success: function () {
+            "function" == typeof t && t(!0);
+          },
+          fail: function () {
+            "function" == typeof t && t(!1);
+          },
+        });
+      }),
+      (e.prototype.getSystemInfo = function (e) {
+        On.getSystemInfo({
+          success: function (t) {
+            t.safeArea = t.safeArea || {};
+            var n = "";
+            t.host && "string" == typeof t.host.env && (n = t.host.env);
+            var r = {
+                model: t.model,
+                brand: t.brand,
+                pixelRatio: t.pixelRatio,
+                screenWidth: t.screenWidth,
+                screenHeight: t.screenHeight,
+                fontSizeSetting: t.fontSizeSetting,
+                platform: t.platform,
+                platformVersion: t.version,
+                platformSDKVersion: t.SDKVersion,
+                language: t.language,
+                deviceName: t.model,
+                OSVersion: t.system,
+                resolution: "",
+                theme: t.theme,
+                benchmarkLevel: t.benchmarkLevel,
+                safeArea: {
+                  width: t.safeArea.width,
+                  height: t.safeArea.height,
+                  top: t.safeArea.top,
+                  left: t.safeArea.left,
+                  bottom: t.safeArea.bottom,
+                  right: t.safeArea.right,
+                },
+                statusBarHeight: t.statusBarHeight,
+                host: n,
+              },
+              i = t.system.split(" ");
+            Array.isArray(i) && (r.OS = i[0]);
+            var o = Math.round(t.screenWidth * t.pixelRatio),
+              a = Math.round(t.screenHeight * t.pixelRatio);
+            (r.resolution = o > a ? o + "*" + a : a + "*" + o),
+              "function" == typeof e && e(r);
+          },
+          fail: function () {
+            "function" == typeof e && e();
+          },
+        });
+      }),
+      (e.prototype.getDeviceInfo = function (e) {
+        "function" == typeof e && e("");
+      }),
+      (e.prototype.checkNetworkAvailable = function (e) {
+        On.getNetworkType({
+          success: function (t) {
+            "function" == typeof e && e(t && "none" !== t.networkType);
+          },
+          fail: function () {
+            "function" == typeof e && e(!1);
+          },
+        });
+      }),
+      (e.prototype.getNetworkInfo = function (e) {
+        On.getNetworkType({
+          success: function (t) {
+            "function" == typeof e &&
+              e({
+                networkAvailable: "none" !== t.networkType,
+                networkType: t.networkType,
+              });
+          },
+          fail: function () {
+            "function" == typeof e && e();
+          },
+        });
+      }),
+      (e.prototype.getDeviceId = function (e) {
+        e("");
+      }),
+      (e.prototype.getAdvertisingId = function (e) {
+        "function" == typeof e && e("");
+      }),
+      (e.prototype.onNetworkStatusChange = function (e) {
+        On.onNetworkStatusChange(function (t) {
+          "function" == typeof e && e(t.isConnected);
+        });
+      }),
+      (e.prototype.request = function (e) {
+        var t = e.success,
+          n = e.fail,
+          r = !1,
+          i = null;
+        (e.success = function (e) {
+          r || (i && clearTimeout(i), "function" == typeof t && t(e));
+        }),
+          (e.fail = function () {
+            r || (i && clearTimeout(i), "function" == typeof n && n(!1));
+          }),
+          On.request(e),
+          (i = setTimeout(function () {
+            i && clearTimeout(i), (r = !0), "function" == typeof n && n(r);
+          }, e.timeout || 5e3));
+      }),
+      (e.prototype.getSdkType = function () {
+        return "wxmp";
+      }),
+      (e.prototype.getPlatform = function () {
+        return "wx";
+      }),
+      (e.prototype.getUserInfo = function (e) {
+        e();
+      }),
+      (e.prototype.getAppInfoSync = function () {
+        if (On.getAccountInfoSync) {
+          var e = On.getAccountInfoSync(),
+            t = e && e.miniProgram ? e.miniProgram : {};
+          return {
+            appId: t.appId,
+            appEnv: t.envVersion,
+            appVersion: t.version,
+          };
+        }
+        return {};
+      }),
+      (e.prototype.onShareAppMessage = function (e) {
+        On.onShareAppMessage(e);
+      }),
+      (e.prototype.shareAppMessage = function (e) {
+        On.shareAppMessage(e);
+      }),
+      (e.prototype.getLaunchOptionsSync = function () {
+        var e = null;
+        if (e) return e;
+        if (!On.getLaunchOptionsSync) return {};
+        try {
+          e = On.getLaunchOptionsSync();
+        } catch (t) {
+          e = null;
+        }
+        return e || {};
+      }),
+      e
+    );
+  })())(),
+  Lc = function (e, t) {
+    return (Lc =
+      Object.setPrototypeOf ||
+      ({ __proto__: [] } instanceof Array &&
+        function (e, t) {
+          e.__proto__ = t;
+        }) ||
+      function (e, t) {
+        for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]);
+      })(e, t);
+  };
+function Dc(e, t) {
+  function n() {
+    this.constructor = e;
+  }
+  Lc(e, t),
+    (e.prototype =
+      null === t ? Object.create(t) : ((n.prototype = t.prototype), new n()));
+}
+var Bc,
+  Nc,
+  Uc,
+  jc,
+  Mc = {
+    SESSION_INTERVAL: 3e4,
+    LOG_URL: "/wxm_logs",
+    GET_OPENID_URL: "/uminiprogram_logs/wx/getuut",
+    USERINFO_URL: "/uminiprogram_logs/comm/uif",
+    ENDPOINT: "https://umini.shujupie.com",
+    ENDPOINTB: "https://ulogs.umeng.com",
+    DEVICE_INFO_KEY: "device_info",
+    ADVERTISING_ID: "mobile_ad_id",
+    ANDROID_ID: "android_id",
+    CURRENT_SESSION: "current_session",
+    SESSION_PAUSE_TIME: "session_pause_time",
+    EVENT_SEND_DEFAULT_INTERVAL: 15e3,
+    EVENT_LAST_SEND_TIME: "last_send_time",
+    MAX_EVENTID_LENGTH: 128,
+    MAX_PROPERTY_KEY_LENGTH: 256,
+    MAX_PROPERTY_KEYS_COUNT: 100,
+    REPORT_POLICY: "report_policy",
+    REPORT_INTERVAL_TIME: "report_interval_time",
+    REPORT_POLICY_START_SEND: "1",
+    REPORT_POLICY_INTERVAL: "6",
+    IMPRINT: "imprint",
+    SEED_VERSION: "1.0.0",
+    IMPL_VERSION: "2.8.0",
+    ALIPAY_AVAILABLE_VERSION: "10.1.52",
+    SHARE_PATH: "um_share_path",
+    SHARES: "shares",
+    REQUESTS: "requests",
+    UUID: "um_uuid",
+    UUID_SUFFIX: "ud",
+    OPENID: "um_od",
+    UNIONID: "um_unid",
+    ALIPAYID: "um_alipayid",
+    USERID: "um_userid",
+    PROVIDER: "um_provider",
+    SWANID: "um_swanid",
+    ANONYMOUSID: "um_anonymousid",
+    LAUNCH_OPTIONS: "LAUNCH_OPTIONS",
+    UM_SSRC: "_um_ssrc",
+    USER_INFO: "user_info",
+    IS_ALIYUN: !1,
+  },
+  $c = function (e) {
+    for (
+      var t = "",
+        n = [
+          "0",
+          "1",
+          "2",
+          "3",
+          "4",
+          "5",
+          "6",
+          "7",
+          "8",
+          "9",
+          "a",
+          "b",
+          "c",
+          "d",
+          "e",
+          "f",
+          "g",
+          "h",
+          "i",
+          "j",
+          "k",
+          "l",
+          "m",
+          "n",
+          "o",
+          "p",
+          "q",
+          "r",
+          "s",
+          "t",
+          "u",
+          "v",
+          "w",
+          "x",
+          "y",
+          "z",
+          "A",
+          "B",
+          "C",
+          "D",
+          "E",
+          "F",
+          "G",
+          "H",
+          "I",
+          "J",
+          "K",
+          "L",
+          "M",
+          "N",
+          "O",
+          "P",
+          "Q",
+          "R",
+          "S",
+          "T",
+          "U",
+          "V",
+          "W",
+          "X",
+          "Y",
+          "Z",
+        ],
+        r = 0;
+      r < Number(e);
+      r++
+    )
+      t += n[Math.round(Math.random() * (n.length - 1))];
+    return t;
+  },
+  Fc = function (e) {
+    return JSON.parse(JSON.stringify(e));
+  },
+  Hc = function (e) {
+    if (null == e)
+      throw new TypeError("Cannot convert undefined or null to object");
+    for (var t = Object(e), n = 1; n < arguments.length; n++) {
+      var r = arguments[n];
+      if (r)
+        for (var i in r)
+          Object.prototype.hasOwnProperty.call(r, i) && (t[i] = r[i]);
+    }
+    return t;
+  },
+  qc = function (e) {
+    return "function" == typeof e;
+  },
+  zc = (function (e) {
+    function t() {
+      return (null !== e && e.apply(this, arguments)) || this;
+    }
+    return (
+      Dc(t, e),
+      (t.prototype.getOpenIdAsync = function (e, t) {
+        var n = this;
+        On.login({
+          success: function (r) {
+            r.code
+              ? Rc.request({
+                  url: Mc.ENDPOINT + Mc.GET_OPENID_URL,
+                  method: "GET",
+                  data: { key: e, code: r.code },
+                  success: function (e) {
+                    if (e && 200 === e.statusCode && e.data && e.data.data) {
+                      var r = e.data.data;
+                      return (
+                        n.setOpenid(r.oid), n.setUnionid(r.uid), t && t(!0)
+                      );
+                    }
+                    t && t();
+                  },
+                  fail: function (e) {
+                    Pc().v("wx request failed...", e), t && t();
+                  },
+                })
+              : t && t();
+          },
+          fail: function () {
+            t && t();
+          },
+        });
+      }),
+      t
+    );
+  })(
+    (function (e) {
+      function t() {
+        var t = (null !== e && e.apply(this, arguments)) || this;
+        return (t._openid = ""), (t._unionid = ""), (t._useOpenid = !1), t;
+      }
+      return (
+        Dc(t, e),
+        (t.prototype.initID = function (e) {
+          var t = this;
+          (t._idType = t._useOpenid ? "openid" : "uuid"),
+            Pc().v("id type: ", t._idType),
+            Rc.getStorage(Mc.UNIONID, function (e) {
+              t._unionid = e;
+            }),
+            this._useOpenid
+              ? Rc.getStorage(Mc.OPENID, function (n) {
+                  (t._openid = n), e && e();
+                })
+              : e && e();
+        }),
+        (t.prototype.setUseOpenid = function (e) {
+          this._useOpenid = e;
+        }),
+        (t.prototype.setOpenid = function (e) {
+          !this._openid &&
+            e &&
+            ((this._openid = e), Rc.setStorage(Mc.OPENID, e));
+        }),
+        (t.prototype.setUnionid = function (e) {
+          !this._unionid &&
+            e &&
+            ((this._unionid = e), Rc.setStorage(Mc.UNIONID, e));
+        }),
+        (t.prototype.getIdTracking = function () {
+          var t = e.prototype.getIdTracking.call(this);
+          return (
+            this._openid && (t.openid = this._openid),
+            this._unionid && (t.unionid = this._unionid),
+            this._userid && (t.userid = this._userid),
+            t
+          );
+        }),
+        (t.prototype.getId = function () {
+          return this._useOpenid ? this._openid : this._uuid;
+        }),
+        t
+      );
+    })(
+      (function () {
+        function e() {
+          (this._uuid = ""),
+            (this._userid = ""),
+            (this._provider = ""),
+            (this._idType = "");
+        }
+        return (
+          (e.prototype.createUUID = function () {
+            return $c(10) + Date.now() + $c(7) + Mc.UUID_SUFFIX;
+          }),
+          (e.prototype.initUUID = function (e) {
+            var t = this;
+            Rc.getStorage(Mc.UUID, function (n) {
+              n
+                ? (t._uuid = n)
+                : ((t._uuid = t.createUUID()), Rc.setStorage(Mc.UUID, t._uuid)),
+                e && e(n);
+            });
+          }),
+          (e.prototype.initUserid = function () {
+            var e = this;
+            Rc.getStorage(Mc.USERID, function (t) {
+              !e._userid && t && ((e._userid = t), Pc().v("userId is ", t));
+            }),
+              Rc.getStorage(Mc.PROVIDER, function (t) {
+                !e._provider &&
+                  t &&
+                  ((e._provider = t), Pc().v("provider is ", t));
+              });
+          }),
+          (e.prototype.init = function (e) {
+            var t = this;
+            t.initUUID(function () {
+              t.initUserid(), t.initID(e);
+            });
+          }),
+          (e.prototype.setUserid = function (e, t) {
+            !this._userid &&
+              e &&
+              ((this._userid = e),
+              (this._provider = t),
+              Rc.setStorage(Mc.USERID, e),
+              Rc.setStorage(Mc.PROVIDER, t));
+          }),
+          (e.prototype.removeUserid = function () {
+            (this._userid = void 0),
+              (this._provider = void 0),
+              Rc.removeStorageSync(Mc.USERID),
+              Rc.removeStorageSync(Mc.PROVIDER);
+          }),
+          (e.prototype.getUserId = function () {
+            return this._userid;
+          }),
+          (e.prototype.getProvider = function () {
+            return this._provider;
+          }),
+          (e.prototype.getIdType = function () {
+            return this._idType;
+          }),
+          (e.prototype.getIdTracking = function () {
+            var e = {};
+            return (
+              this._uuid && (e.uuid = this._uuid),
+              this._userid && (e.userid = this._userid),
+              e
+            );
+          }),
+          e
+        );
+      })()
+    )
+  ),
+  Wc =
+    ((Bc = null),
+    function () {
+      return Bc || (Bc = new zc()), Bc;
+    }),
+  Vc = (function () {
+    var e = null;
+    function t() {
+      var e = !1,
+        t = null,
+        n = [];
+      (this.addPageStart = function (n) {
+        n && !e && ((t = { ts: Date.now(), path: n, page_name: n }), (e = !0));
+      }),
+        (this.addPageEnd = function (r) {
+          if (e && r && t && r === t.page_name) {
+            var i = Date.now() - t.ts;
+            (t.duration = Math.abs(i)), n.push(t), (t = null), (e = !1);
+          }
+        }),
+        (this.get = function () {
+          return n;
+        }),
+        (this.getCurrentPage = function () {
+          return t;
+        }),
+        (this.clear = function () {
+          n.length = 0;
+        });
+    }
+    return function () {
+      return e || (e = new t()), e;
+    };
+  })(),
+  Kc = {},
+  Jc = (function () {
+    var e = null,
+      t = [],
+      n = "";
+    function r() {
+      return {
+        add: function (e, r) {
+          Pc().v("share origin: %o", e);
+          var i = {
+            title: e && e.title,
+            path: e && e.path && e.path.split("?")[0],
+            _um_sts: Date.now(),
+          };
+          i.path &&
+            i.path.length > 1 &&
+            (function (e, t) {
+              return (
+                !(!e || !t || 0 === t.length || t.length > e.length) &&
+                e.substr(0, t.length) === t
+              );
+            })(i.path, "/") &&
+            (i.path = (function (e, t) {
+              if (!e) return "";
+              if ("string" == typeof t && t.length) {
+                var n = new RegExp("^" + t + "*");
+                e = e.replace(n, "");
+              } else e = e.replace(/^s*/, "");
+              return e;
+            })(i.path, "/"));
+          var o = e.path || "",
+            a = Wc().getId();
+          if (a) {
+            var u = n.split(","),
+              s = (u = u.filter(function (e) {
+                return e.length > 0;
+              })).indexOf(a);
+            s >= 0 && (u = u.slice(0, s)), u.length < 3 && u.push(a);
+            var c = u.join(",");
+            -1 !== o.indexOf("?")
+              ? (o += "&_um_ssrc=" + c)
+              : (o += "?_um_ssrc=" + c);
+            var f = Date.now();
+            if (((o += "&_um_sts=" + f), r)) {
+              var l = (function (e) {
+                  var t = [];
+                  for (var n in e)
+                    "_um_ssrc" !== n &&
+                      "_um_sts" !== n &&
+                      t.push(n + "=" + e[n]);
+                  return t.join("&");
+                })(Kc),
+                h = l
+                  ? l + "&_um_ssrc=" + c + "&_um_sts=" + f
+                  : "_um_ssrc=" + c + "&_um_sts=" + f;
+              e.query = e.query
+                ? e.query + "&_um_ssrc=" + c + "&_um_sts=" + f
+                : h;
+            } else e.path = o;
+            (i._um_ssrc = c), (i._um_sts = f);
+          }
+          return t.push(i), Pc().v("share: %o", e), e;
+        },
+        setShareSource: function (e) {
+          n = e;
+        },
+        clear: function () {
+          t.length = 0;
+        },
+        get: function () {
+          return t;
+        },
+      };
+    }
+    return function () {
+      return e || (e = new r()), e;
+    };
+  })(),
+  Gc = function (e) {
+    if (e)
+      try {
+        return JSON.stringify(e);
+      } catch (e) {}
+    return "";
+  },
+  Yc = function (e) {
+    if (e)
+      try {
+        return JSON.parse(e);
+      } catch (e) {}
+    return null;
+  },
+  Xc = (function () {
+    var e = null,
+      t = "",
+      n = null,
+      r = !1;
+    function i() {
+      (this.load = function (e) {
+        n
+          ? (Rc.removeStorage(t), e())
+          : ((t = "um_cache_" + Tc().appKey()),
+            Rc.getStorage(t, function (i) {
+              (n = Yc(i) || {}), (r = !0), Rc.removeStorage(t), e();
+            }));
+      }),
+        (this.save = function () {
+          n && Rc.setStorage(t, Gc(n));
+        }),
+        (this.set = function (e, t) {
+          n && (n[e] = t);
+        }),
+        (this.get = function (e) {
+          return (n || {})[e];
+        }),
+        (this.remove = function (e) {
+          n && n[e] && delete n[e];
+        }),
+        (this.getAll = function () {
+          return n;
+        }),
+        (this.clear = function () {
+          n = null;
+        }),
+        (this.has = function (e) {
+          return !!this.get(e);
+        }),
+        (this.isLoaded = function () {
+          return r;
+        });
+    }
+    return function () {
+      return e || (e = new i()), e;
+    };
+  })(),
+  Qc = (function () {
+    var e,
+      t,
+      n = [],
+      r = [];
+    function i(e, n) {
+      var r = (e = e || {})[t];
+      return (
+        Array.isArray(r) && r.length
+          ? (e[t] = r.concat(n))
+          : (e[t] = [].concat(n)),
+        e
+      );
+    }
+    return function () {
+      return (
+        e ||
+          (e = {
+            addEvent: function (e) {
+              t
+                ? (n.unshift(e),
+                  n.length > 1 &&
+                    ((function () {
+                      if (n.length) {
+                        var e = Xc().get("ekvs");
+                        (function (e) {
+                          var t = 0;
+                          for (var n in e)
+                            Array.isArray(e[n]) && (t += e[n].length);
+                          return t;
+                        })(e) +
+                          n.length <=
+                          1e4 && ((e = i(e, n)), Xc().set("ekvs", e));
+                      }
+                    })(),
+                    (n.length = 0)))
+                : (Pc().w("session id is null: ", t), r.unshift(e));
+            },
+            setSessionId: function (e) {
+              if (
+                ((t = e),
+                Pc().v("setSessionId: ", t),
+                Array.isArray(r) && r.length && t)
+              ) {
+                for (var n = 0; n < r.length; n++) this.addEvent(r[n]);
+                r.length = 0;
+              }
+            },
+            getEkvs: function () {
+              var e = Xc().get("ekvs");
+              return n && n.length && (e = i(e, n)), e;
+            },
+            clear: function () {
+              Xc().remove("ekvs"), (n.length = 0);
+            },
+          }),
+        e
+      );
+    };
+  })(),
+  Zc = "half_session",
+  ef = "close_session",
+  tf = ["access", "access_subtype"],
+  nf = (function () {
+    var e = null;
+    return {
+      instance: function () {
+        return (
+          e ||
+            (e = (function () {
+              var e = !1,
+                t = {};
+              return {
+                init: function () {
+                  !(function (e) {
+                    var n = Xc().get(Mc.IMPRINT);
+                    n && (t.imprint = n),
+                      (t.device_type = "Phone"),
+                      (t.sdk_version = Mc.IMPL_VERSION),
+                      (t.appkey = Tc().appKey()),
+                      Rc.getDeviceInfo(function (e) {
+                        t.device_info = e || "";
+                      });
+                    var r = Rc.getAppInfoSync();
+                    (t.appid = r.appId),
+                      (t.app_env = r.appEnv),
+                      (t.app_version = r.appVersion),
+                      Rc.getSystemInfo(function (n) {
+                        Rc.getNetworkInfo(function (r) {
+                          var i = (function (e, t) {
+                            var n = {};
+                            (e = e || {}).safeArea = e.safeArea || {};
+                            var r = (t = t || {}).networkType;
+                            "none" === r && (r = "unknown");
+                            var i = e.model || "",
+                              o = e.platform || "",
+                              a = e.brand || "",
+                              u = a.toLowerCase();
+                            switch (
+                              ((n.sdk_type = Rc.getSdkType()),
+                              (n.platform = Rc.getPlatform()),
+                              (n.platform_sdk_version = e.platformSDKVersion),
+                              (n.platform_version = e.platformVersion),
+                              (n.resolution = e.resolution),
+                              (n.pixel_ratio = e.pixelRatio),
+                              (n.os = o),
+                              (n.font_size_setting = e.fontSizeSetting),
+                              (n.device_model = i),
+                              (n.device_brand = a),
+                              (n.device_manufacturer = u),
+                              (n.device_manuid = i),
+                              (n.device_name = i),
+                              (n.os_version = e.OSVersion),
+                              (n.language = e.language),
+                              (n.theme = e.theme),
+                              (n.benchmark_level = e.benchmarkLevel),
+                              (n.status_bar_height = e.statusBarHeight),
+                              (n.safe_area_top = e.safeArea.top),
+                              (n.safe_area_left = e.safeArea.left),
+                              (n.safe_area_right = e.safeArea.right),
+                              (n.safe_area_bottom = e.safeArea.bottom),
+                              (n.safe_area_height = e.safeArea.height),
+                              (n.safe_area_width = e.safeArea.width),
+                              (n.storage = e.storage),
+                              (n.screen_width = e.screenWidth),
+                              (n.screen_height = e.screenHeight),
+                              (n.host = e.host),
+                              (r = r ? r.toLowerCase() : ""))
+                            ) {
+                              case "4g":
+                                (n.access_subtype = "LTE"), (n.access = "4G");
+                                break;
+                              case "3g":
+                                (n.access_subtype = "CDMA"), (n.access = "3G");
+                                break;
+                              case "2g":
+                                (n.access_subtype = "GRPS"), (n.access = "2G");
+                                break;
+                              default:
+                                (n.access = r), delete n.access_subtype;
+                            }
+                            return n;
+                          })(n, r);
+                          Hc(t, i), e && e();
+                        });
+                      });
+                  })(function () {
+                    e = !0;
+                  });
+                },
+                isLoaded: function () {
+                  return e;
+                },
+                get: function () {
+                  return t;
+                },
+                getRealtimeFields: function () {
+                  var e = {};
+                  return (
+                    tf.forEach(function (n) {
+                      e[n] = t[n];
+                    }),
+                    e
+                  );
+                },
+                setIdTracking: function (e) {
+                  this.setItem("id_tracking", e);
+                },
+                setIdType: function (e) {
+                  this.setItem("id_type", e);
+                },
+                setAppVersion: function (e) {
+                  this.setItem("app_version", e);
+                },
+                setSuperProperty: function (e) {
+                  t.sp || (t.sp = {}), (t.sp.isv = e);
+                },
+                getSuperProperty: function () {
+                  return t && t.sp ? t.sp.isv : "";
+                },
+                setItem: function (e, n) {
+                  t[e] = n;
+                },
+                getItem: function (e) {
+                  return t[e];
+                },
+              };
+            })()),
+          e
+        );
+      },
+    };
+  })(),
+  rf =
+    ((Nc = null),
+    (Uc = null),
+    (jc = null),
+    function () {
+      return (
+        Nc ||
+          (Nc = {
+            resume: function (e) {
+              var t = !1;
+              jc || (jc = Xc().get(Mc.CURRENT_SESSION));
+              var n = new Date();
+              return (
+                (Uc = n.getTime()),
+                !jc || !jc.end_time || Uc - jc.end_time > Mc.SESSION_INTERVAL
+                  ? ((t = !0),
+                    (function (e) {
+                      try {
+                        var t = (jc || {}).options || {},
+                          n = Hc(
+                            {},
+                            (function (e) {
+                              var t = {};
+                              for (var n in e)
+                                0 === n.indexOf("_um_") && (t[n] = e[n]);
+                              return (
+                                Pc().v("query: ", e),
+                                Pc().v("_um_params: ", t),
+                                t
+                              );
+                            })(e.query)
+                          );
+                        (n.path = e.path || t.path),
+                          "gaode" !== Rc.getPlatform() &&
+                            (n.scene = e.scene
+                              ? Rc.getPlatform() + "_" + e.scene
+                              : t.scene);
+                        var r = e.referrerInfo;
+                        r && (n.referrerAppId = r.appId),
+                          Pc().v("session options: ", n);
+                        var i = n[Mc.UM_SSRC];
+                        i && Jc().setShareSource(i);
+                        var o = Date.now();
+                        jc = { id: $c(10) + o, start_time: o, options: n };
+                      } catch (e) {
+                        Pc().e("生成新session失败: ", e);
+                      }
+                    })(e),
+                    Pc().v("开始新的session(%s): ", jc.id, jc))
+                  : Pc().v(
+                      "延续上一次session(%s): %s ",
+                      jc.id,
+                      n.toLocaleTimeString(),
+                      jc
+                    ),
+                t
+              );
+            },
+            pause: function () {
+              !(function () {
+                if (jc) {
+                  var e = new Date();
+                  (jc.end_time = e.getTime()),
+                    "number" != typeof jc.duration && (jc.duration = 0),
+                    (jc.duration = jc.end_time - Uc),
+                    Xc().set(Mc.CURRENT_SESSION, jc),
+                    Pc().v(
+                      "退出会话(%s): %s ",
+                      jc.id,
+                      e.toLocaleTimeString(),
+                      jc
+                    );
+                }
+              })();
+            },
+            getCurrentSessionId: function () {
+              return (jc || {}).id;
+            },
+            getCurrentSession: function () {
+              return jc;
+            },
+            cloneCurrentSession: function () {
+              return Fc(jc);
+            },
+          }),
+        Nc
+      );
+    }),
+  of = { sessions: "sn", ekvs: "e", active_user: "active_user" },
+  af = {
+    sdk_type: "sdt",
+    access: "ac",
+    access_subtype: "acs",
+    device_model: "dm",
+    language: "lang",
+    device_type: "dt",
+    device_manufacturer: "dmf",
+    device_name: "dn",
+    platform_version: "pv",
+    id_type: "it",
+    font_size_setting: "fss",
+    os_version: "ov",
+    device_manuid: "did",
+    platform_sdk_version: "psv",
+    device_brand: "db",
+    appkey: "ak",
+    _id: "id",
+    id_tracking: "itr",
+    imprint: "imp",
+    sdk_version: "sv",
+    resolution: "rl",
+    testToken: "ttn",
+    theme: "t5",
+    benchmark_level: "bml",
+    screen_width: "sw",
+    screen_height: "sh",
+    status_bar_height: "sbh",
+    safe_area_top: "sat",
+    safe_area_left: "sal",
+    safe_area_right: "sar",
+    safe_area_bottom: "sab",
+    safe_area_height: "sah",
+    safe_area_width: "saw",
+    pixel_ratio: "pr",
+    storage: "s7",
+    host: "hs",
+  },
+  uf = {
+    uuid: "ud",
+    unionid: "und",
+    openid: "od",
+    anonymousid: "nd",
+    alipay_id: "ad",
+    device_id: "dd",
+    userid: "puid",
+  };
+function sf(e, t) {
+  var n = cf(e, t);
+  return (
+    e &&
+      e.id_tracking &&
+      (n[t.id_tracking || "id_tracking"] = cf(e.id_tracking, uf)),
+    n
+  );
+}
+function cf(e, t) {
+  var n = {};
+  for (var r in e) t[r] ? (n[t[r]] = e[r]) : (n[r] = e[r]);
+  return n;
+}
+function ff(e, t) {
+  var n = {};
+  if (e) for (var r in e) e[r] && (n[t[r]] = e[r]);
+  return n;
+}
+var lf = "";
+function hf() {
+  return lf;
+}
+var pf = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
+  df = (function (e) {
+    for (var t = {}, n = 0, r = e.length; n < r; n++) t[e.charAt(n)] = n;
+    return t;
+  })(pf),
+  vf = String.fromCharCode,
+  gf = function (e) {
+    if (e.length < 2)
+      return (t = e.charCodeAt(0)) < 128
+        ? e
+        : t < 2048
+        ? vf(192 | (t >>> 6)) + vf(128 | (63 & t))
+        : vf(224 | ((t >>> 12) & 15)) +
+          vf(128 | ((t >>> 6) & 63)) +
+          vf(128 | (63 & t));
+    var t =
+      65536 + 1024 * (e.charCodeAt(0) - 55296) + (e.charCodeAt(1) - 56320);
+    return (
+      vf(240 | ((t >>> 18) & 7)) +
+      vf(128 | ((t >>> 12) & 63)) +
+      vf(128 | ((t >>> 6) & 63)) +
+      vf(128 | (63 & t))
+    );
+  },
+  yf = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,
+  _f = function (e) {
+    var t = [0, 2, 1][e.length % 3],
+      n =
+        (e.charCodeAt(0) << 16) |
+        ((e.length > 1 ? e.charCodeAt(1) : 0) << 8) |
+        (e.length > 2 ? e.charCodeAt(2) : 0);
+    return [
+      pf.charAt(n >>> 18),
+      pf.charAt((n >>> 12) & 63),
+      t >= 2 ? "=" : pf.charAt((n >>> 6) & 63),
+      t >= 1 ? "=" : pf.charAt(63 & n),
+    ].join("");
+  },
+  mf = function (e) {
+    return e.replace(yf, gf).replace(/[\s\S]{1,3}/g, _f);
+  },
+  wf = new RegExp(["[À-ß][€-¿]", "[à-ï][€-¿]{2}", "[ð-÷][€-¿]{3}"].join("|"), "g"),
+  kf = function (e) {
+    switch (e.length) {
+      case 4:
+        var t =
+          (((7 & e.charCodeAt(0)) << 18) |
+            ((63 & e.charCodeAt(1)) << 12) |
+            ((63 & e.charCodeAt(2)) << 6) |
+            (63 & e.charCodeAt(3))) -
+          65536;
+        return vf(55296 + (t >>> 10)) + vf(56320 + (1023 & t));
+      case 3:
+        return vf(
+          ((15 & e.charCodeAt(0)) << 12) |
+            ((63 & e.charCodeAt(1)) << 6) |
+            (63 & e.charCodeAt(2))
+        );
+      default:
+        return vf(((31 & e.charCodeAt(0)) << 6) | (63 & e.charCodeAt(1)));
+    }
+  },
+  bf = function (e) {
+    var t = e.length,
+      n = t % 4,
+      r =
+        (t > 0 ? df[e.charAt(0)] << 18 : 0) |
+        (t > 1 ? df[e.charAt(1)] << 12 : 0) |
+        (t > 2 ? df[e.charAt(2)] << 6 : 0) |
+        (t > 3 ? df[e.charAt(3)] : 0),
+      i = [vf(r >>> 16), vf((r >>> 8) & 255), vf(255 & r)];
+    return (i.length -= [0, 0, 2, 1][n]), i.join("");
+  },
+  xf = new (function () {
+    var e = "",
+      t = this;
+    (this.set = function (t) {
+      e = t;
+    }),
+      (this.get = function () {
+        return e;
+      }),
+      (this.getImpObj = function () {
+        return Yc(
+          (function (e) {
+            return (function (e) {
+              return e.replace(/[\s\S]{1,4}/g, bf).replace(wf, kf);
+            })(
+              String(e)
+                .replace(/[-_]/g, function (e) {
+                  return "-" == e ? "+" : "/";
+                })
+                .replace(/[^A-Za-z0-9\+\/]/g, "")
+            );
+          })(e)
+        );
+      }),
+      (this.getItem = function (e) {
+        var n = t.getImpObj();
+        return (n && n[e]) || "";
+      }),
+      (this.load = function () {
+        e = Xc().get(Mc.IMPRINT);
+      }),
+      (this.save = function () {
+        e && Xc().set(Mc.IMPRINT, e);
+      });
+  })();
+function Sf(e) {
+  var t = e,
+    n = [];
+  (this.enqueue = function (e) {
+    "number" == typeof t && this.size() >= t && this.dequeue(), n.push(e);
+  }),
+    (this.dequeue = function () {
+      return n.shift();
+    }),
+    (this.front = function () {
+      return n[0];
+    }),
+    (this.isEmpty = function () {
+      return 0 === n.length;
+    }),
+    (this.clear = function () {
+      n.length = 0;
+    }),
+    (this.size = function () {
+      return n.length;
+    }),
+    (this.items = function () {
+      return n;
+    }),
+    (this.print = function () {
+      console.log(n.toString());
+    });
+}
+var Af = (function () {
+    var e = null,
+      t = !1,
+      n = [],
+      r = new Sf(50);
+    function i(e) {
+      Wc().getId()
+        ? t
+          ? Pc().i("队列正在发送中")
+          : ((t = !0),
+            (function e(t) {
+              var i = r.front();
+              i
+                ? (function (e, t, n, r) {
+                    nf.instance().setIdType(Wc().getIdType()),
+                      nf.instance().setIdTracking(Wc().getIdTracking());
+                    var i = Wc().getUserId();
+                    i &&
+                      e.analytics &&
+                      (e.analytics.active_user = {
+                        puid: i,
+                        provider: Wc().getProvider(),
+                      });
+                    var o = Fc(nf.instance().get());
+                    e.header = Hc(o, e.header, {
+                      ts: Date.now(),
+                      testToken: hf(),
+                      traceId: $c(10) + Date.now() + $c(9),
+                    });
+                    var a,
+                      u = { h: sf((a = e).header, af), a: ff(a.analytics, of) },
+                      s = Gc(u),
+                      c = {
+                        url: Mc.ENDPOINT + Mc.LOG_URL,
+                        method: "POST",
+                        data: u,
+                        success: function (r) {
+                          var i = r.code || r.status || r.statusCode;
+                          200 === i || 413 === i
+                            ? (Pc().i("数据发送成功: ", e, s),
+                              (function (e) {
+                                e &&
+                                  (nf.instance().setItem(Mc.IMPRINT, e),
+                                  xf.set(e),
+                                  xf.save(),
+                                  Pc().v("imprint: ", xf.getImpObj()),
+                                  xf.getItem("ttn_invalid") && (lf = ""));
+                              })((r.data || {}).imprint),
+                              t())
+                            : (Pc().w("数据发送失败: ", s), n());
+                        },
+                        fail: function (e) {
+                          Pc().w("超时: ", s), n();
+                        },
+                        complete: function () {},
+                      };
+                    Rc.request(
+                      Hc(c, {
+                        header: {
+                          "Msg-Type": Rc.getSdkType() + "/json",
+                          "disable-base64": "Y",
+                        },
+                      })
+                    );
+                  })(
+                    i,
+                    function () {
+                      r.dequeue(), e(t);
+                    },
+                    function () {
+                      var i = r.dequeue();
+                      i && !i.noCache && n.push(i), e(t);
+                    }
+                  )
+                : (n.forEach(function (e) {
+                    r.enqueue(e);
+                  }),
+                  (n.length = 0),
+                  t());
+            })(function () {
+              (t = !1), "function" == typeof e && e();
+            }))
+        : (Pc().i("获取id标识失败,暂缓发送"), "function" == typeof e && e());
+    }
+    function o() {
+      (this.send = function (e, t, n) {
+        e
+          ? this.add(e, t, function () {
+              i(n);
+            })
+          : i(n);
+      }),
+        (this.add = function (e, t, n) {
+          !(function e(t, n, i) {
+            if (nf.instance().isLoaded()) {
+              n = n || {};
+              var o = (function (e) {
+                var t,
+                  n,
+                  r = null;
+                switch (e) {
+                  case Zc:
+                    (t = null),
+                      (n = rf().cloneCurrentSession()) &&
+                        (t = {
+                          header: { st: "1" },
+                          analytics: { sessions: [n] },
+                        }),
+                      (r = t);
+                    break;
+                  case ef:
+                    r = (function () {
+                      var e = null,
+                        t = {},
+                        n = rf().cloneCurrentSession();
+                      if (n) {
+                        var r = Vc().get(),
+                          i = Jc().get();
+                        Array.isArray(r) && r.length && (n.pages = Fc(r)),
+                          Array.isArray(i) && i.length && (n.shares = Fc(i)),
+                          Vc().clear(),
+                          Jc().clear(),
+                          (t.sessions = [n]);
+                      }
+                      var o = Qc().getEkvs();
+                      return (
+                        o && ((t.ekvs = Fc(o)), Qc().clear()),
+                        (t.sessions || t.ekvs) && (e = { analytics: t }),
+                        e
+                      );
+                    })();
+                    break;
+                  case "ekv":
+                    r = (function () {
+                      var e = null,
+                        t = Qc().getEkvs();
+                      return (
+                        t &&
+                          ((e = { analytics: { ekvs: Fc(t) } }), Qc().clear()),
+                        e
+                      );
+                    })();
+                }
+                return r;
+              })(t);
+              if (o) {
+                var a = nf.instance().getRealtimeFields();
+                (o.header = Hc({}, o.header, a)),
+                  (o.noCache = n.noCache),
+                  r.enqueue(o);
+              }
+              "function" == typeof i && i();
+            } else
+              setTimeout(function () {
+                e(t, n, i);
+              }, 100);
+          })(e, t, n);
+        }),
+        (this.load = function () {
+          var e = Xc().get(Mc.REQUESTS);
+          e &&
+            e.length &&
+            e.forEach(function (e) {
+              r.enqueue(e);
+            }),
+            Xc().remove(Mc.REQUESTS);
+        }),
+        (this.save = function () {
+          Xc().set(Mc.REQUESTS, Fc(r.items())), r.clear();
+        });
+    }
+    return function () {
+      return e || (e = new o()), e;
+    };
+  })(),
+  If = (function () {
+    var e = null,
+      t = null;
+    function n() {
+      function e(e) {
+        if (e && "object" == f(e)) {
+          var t = Xc().get(Mc.USER_INFO);
+          return (
+            (t &&
+              (function e(t, n) {
+                if (t === n) return !0;
+                if (t && "object" == f(t) && n && "object" == f(n)) {
+                  if (Object.keys(t).length !== Object.keys(n).length)
+                    return !1;
+                  for (var r in t) {
+                    if (Object.prototype.hasOwnProperty.call(n, r)) return !1;
+                    if (!e(t[r], n[r])) return !1;
+                  }
+                  return !0;
+                }
+                return !1;
+              })(e, t)) ||
+              (function (e, t) {
+                var n = Tc().appKey(),
+                  r = Rc.getSdkType(),
+                  i = Wc().getId(),
+                  o = Wc().getIdType();
+                if (n && r && i && o) {
+                  var a = {
+                      ak: Tc().appKey(),
+                      sdt: Rc.getSdkType(),
+                      uin: e.nickName,
+                      uia: e.avatar || e.avatarUrl,
+                      uig: e.gender,
+                      uit: e.country,
+                      uip: e.province,
+                      uic: e.city,
+                      uil: e.language,
+                      id: Wc().getId(),
+                      it: Wc().getIdType(),
+                      age: e.age,
+                      cln: e.constellation,
+                    },
+                    u = JSON.stringify(a);
+                  (u = (function (e, t) {
+                    return mf(String(e));
+                  })(u)),
+                    Rc.request({
+                      url: Mc.ENDPOINT + Mc.USERINFO_URL,
+                      method: "POST",
+                      header: {
+                        "content-type": "application/x-www-form-urlencoded",
+                      },
+                      data: "ui=" + u,
+                      success: function (n) {
+                        Pc().v("用户信息上传成功: ", e),
+                          t && t(n && n.data && 200 === n.data.code);
+                      },
+                      fail: function () {
+                        Pc().e("用户信息上传失败: ", e), t && t(!1);
+                      },
+                    });
+                }
+              })(e, function (t) {
+                t && Xc().set(Mc.USER_INFO, e);
+              }),
+            !0
+          );
+        }
+        return !1;
+      }
+      (this.setUserInfo = function (e) {
+        t = e;
+      }),
+        (this.update = function () {
+          e(t) ||
+            Rc.getUserInfo(function (t) {
+              e(t);
+            });
+        });
+    }
+    return function () {
+      return e || (e = new n()), e;
+    };
+  })();
+function Of(e, t) {
+  (this.id = e), (this.ts = Date.now());
+  var n = f(t);
+  if ("string" === n && t) this[e] = t;
+  else if ("object" === n)
+    for (var r in t) ({}).hasOwnProperty.call(t, r) && (this[r] = t[r]);
+}
+function Pf() {
+  var e = !1,
+    t = !1,
+    n = 0;
+  (this.init = function (t) {
+    Pc().v("sdk version: " + Mc.IMPL_VERSION),
+      e
+        ? Pc().v("Lib重复实例化")
+        : Xc().load(function () {
+            Pc().v("cache初始化成功: ", Xc().getAll()),
+              Wc().setUseOpenid && Wc().setUseOpenid(Tc().useOpenid()),
+              Wc().init(function () {
+                nf.instance().init(), Pc().v("Header初始化成功");
+              }),
+              (e = !0),
+              "function" == typeof t && t(),
+              Pc().tip("SDK集成成功");
+          });
+  }),
+    (this.resume = function (n) {
+      var r;
+      e &&
+        !t &&
+        (Pc().v("showOptions: ", n),
+        (t = !0),
+        Tc().enableVerify() &&
+          n &&
+          n.query &&
+          ((r = n.query._ttn), (lf = r || lf)),
+        this._resume(n));
+    }),
+    (this._resume = function (e) {
+      Af().load();
+      var t = rf().resume(e),
+        n = rf().getCurrentSessionId();
+      Qc().setSessionId(n),
+        t &&
+          Af().add(Zc, {}, function () {
+            Wc().setUseOpenid && Wc().setUseOpenid(Tc().useOpenid()),
+              Tc().useOpenid() && Tc().autoGetOpenid() && !Wc().getId()
+                ? (Pc().v("get id async"),
+                  (function e(t, n) {
+                    Wc().getId() ||
+                      t <= 0 ||
+                      Wc().getOpenIdAsync(Tc().appKey(), function (r) {
+                        r
+                          ? (Pc().v("获取id成功"), Af().send())
+                          : (Pc().v(
+                              "获取openid失败,启动重试,剩余可用次数",
+                              t - 1
+                            ),
+                            setTimeout(function () {
+                              e(t - 1, n);
+                            }, n));
+                      });
+                  })(10, 3e3))
+                : (Pc().v("session auto send"), Af().send());
+          });
+    }),
+    (this.pause = function (r) {
+      e &&
+        ((t = !1),
+        (n = 0),
+        rf().pause(),
+        Tc().uploadUserInfo() && If().update(),
+        Af().send(ef, {}, function () {
+          Af().save(),
+            Xc().save(),
+            Pc().v("cache save success"),
+            "function" == typeof r && r();
+        }));
+    }),
+    (this.setOpenid = function (e) {
+      Pc().v("setOpenId: %s", e), Wc().setOpenid(e), Af().send();
+    }),
+    (this.setUnionid = function (e) {
+      Pc().v("setUnionid: %s", e), Wc().setUnionid(e);
+    }),
+    (this.setUserid = function (e, t) {
+      Pc().v("setUserid: %s", e, t), Wc().setUserid(e, t);
+    }),
+    (this.removeUserid = function () {
+      Pc().v("removeUserid"), Wc().removeUserid();
+    }),
+    (this.setUserInfo = function (e) {
+      Pc().v("setUserInfo: %s", e), If().setUserInfo(e);
+    }),
+    (this.setAnonymousid = function (e) {
+      Pc().v("setAnonymousId: %s", e), Wc().setAnonymousid(e), Af().send();
+    }),
+    (this.setAppVersion = function (e) {
+      e && "string" != typeof e
+        ? Pc().w("setAppVersion方法只接受字符串类型参数")
+        : nf.instance().setAppVersion(e);
+    }),
+    (this.setAlipayUserid = function (e) {
+      e && "string" != typeof e
+        ? Pc().w("setAlipayUserid方法只接受字符串类型参数")
+        : (Pc().v("setAlipayUserid: %s", e), Wc().setAlipayUserid(e));
+    }),
+    (this.setDeviceId = function (e) {
+      if ("string" == typeof e) return Wc().setDeviceId(e), e;
+    }),
+    (this.setSuperProperty = function (e) {
+      if (e && "string" != typeof e) Pc().w("超级属性只支持字符串类型");
+      else {
+        var t = this;
+        nf.instance().getSuperProperty() !== e &&
+          (nf.instance().setSuperProperty(e),
+          t.pause(function () {
+            t.resume();
+          }));
+      }
+    }),
+    (this.trackEvent = function (t, r) {
+      if (
+        e &&
+        (Pc().v("event: ", t, r),
+        (function (e, t) {
+          if (!e || "string" != typeof e)
+            return (
+              Pc().e(
+                'please check trackEvent id. id should be "string" and not null'
+              ),
+              !1
+            );
+          var n = ["id", "ts", "du"],
+            r = {};
+          if (
+            (n.forEach(function (e) {
+              r[e] = 1;
+            }),
+            r[e])
+          )
+            return Pc().e("eventId不能与以下保留字冲突: " + n.join(",")), !1;
+          if (e.length > Mc.MAX_EVENTID_LENGTH)
+            return (
+              Pc().e(
+                "The maximum length of event id shall not exceed " +
+                  Mc.MAX_EVENTID_LENGTH
+              ),
+              !1
+            );
+          if (
+            t &&
+            ("object" != f(t) || Array.isArray(t)) &&
+            "string" != typeof t
+          )
+            return (
+              Pc().e(
+                "please check trackEvent properties. properties should be string or object(not include Array)"
+              ),
+              !1
+            );
+          if ("object" == f(t)) {
+            var i = 0;
+            for (var o in t)
+              if ({}.hasOwnProperty.call(t, o)) {
+                if (o.length > Mc.MAX_PROPERTY_KEY_LENGTH)
+                  return (
+                    Pc().e(
+                      "The maximum length of property key shall not exceed " +
+                        Mc.MAX_PROPERTY_KEY_LENGTH
+                    ),
+                    !1
+                  );
+                if (i >= Mc.MAX_PROPERTY_KEYS_COUNT)
+                  return (
+                    Pc().e(
+                      "The maximum count of properties shall not exceed " +
+                        Mc.MAX_PROPERTY_KEYS_COUNT
+                    ),
+                    !1
+                  );
+                if (r[o])
+                  return (
+                    Pc().e("属性中的key不能与以下保留字冲突: " + n.join(",")),
+                    !1
+                  );
+                i += 1;
+              }
+          }
+          return !0;
+        })(t, r))
+      ) {
+        var i = new Of(t, r);
+        Qc().addEvent(i);
+        var o = !!hf(),
+          a = o ? 0 : Mc.EVENT_SEND_DEFAULT_INTERVAL,
+          u = Date.now();
+        (s = a),
+          ("number" != typeof n ||
+            "number" != typeof s ||
+            n <= 0 ||
+            u - n > s) &&
+            ((n = u), Af().send("ekv", { noCache: o }, function () {}));
+      }
+      var s;
+    }),
+    (this.trackShare = function (t) {
+      if (e)
+        try {
+          Rc.getSdkType().indexOf("game") > -1
+            ? ((t = Jc().add(t, !0)), Pc().v("shareQuery: ", t))
+            : ((t = Jc().add(t, !1)), Pc().v("sharePath: ", t.path));
+        } catch (e) {
+          Pc().v("shareAppMessage: ", e);
+        }
+      return t;
+    }),
+    (this.trackPageStart = function (t) {
+      e && Vc().addPageStart(t);
+    }),
+    (this.trackPageEnd = function (t) {
+      e && Vc().addPageEnd(t);
+    }),
+    (this.onShareAppMessage = function (e) {
+      var t = this;
+      Rc.onShareAppMessage(function () {
+        return t.trackShare(e());
+      });
+    }),
+    (this.shareAppMessage = function (e) {
+      this.trackShare(e), Rc.shareAppMessage(e);
+    });
+}
+var Tf = [];
+function Ef() {}
+Ef.prototype = {
+  createMethod: function (e, t, n) {
+    try {
+      e[t] =
+        n && n[t]
+          ? function () {
+              return n[t].apply(n, arguments);
+            }
+          : function () {
+              Tf.push([t, [].slice.call(arguments)]);
+            };
+    } catch (e) {
+      Pc().v("create method errror: ", e);
+    }
+  },
+  installApi: function (e, t) {
+    try {
+      var n,
+        r,
+        i =
+          "resume,pause,trackEvent,trackPageStart,trackPageEnd,trackShare,setUserid,setOpenid,setUnionid,setSuperProperty,setUserInfo".split(
+            ","
+          );
+      for (n = 0, r = i.length; n < r; n++) this.createMethod(e, i[n], t);
+      if (t)
+        for (n = 0, r = Tf.length; n < r; n++) {
+          var o = Tf[n];
+          try {
+            t[o[0]].apply(t, o[1]);
+          } catch (e) {
+            Pc().v("impl[v[0]].apply error: ", o[0], e);
+          }
+        }
+    } catch (e) {
+      Pc().v("install api errror: ", e);
+    }
+  },
+};
+var Cf = [Mc.ENDPOINT, Mc.ENDPOINTB];
+var Rf = function (e) {
+    Mc.ENDPOINTB &&
+      setTimeout(function () {
+        !(function e(t, n) {
+          var r, i;
+          if (
+            (0 === t || (1 === t && n)
+              ? (r = Mc.ENDPOINT)
+              : 2 === t && n
+              ? (r = Mc.ENDPOINTB)
+              : n && (r = Cf[t]),
+            t >= Cf.length || n)
+          )
+            return (
+              n && ((i = r), (Mc.ENDPOINT = i)),
+              n && Pc().v("命中可用服务", r),
+              !n && Pc().tip_w("未命中可用服务"),
+              !1
+            );
+          Rc.request({
+            url: Mc.ENDPOINT + "/uminiprogram_logs/ckdh",
+            success: function (n) {
+              200 === (n.code || n.status || n.statusCode) &&
+              n.data &&
+              200 === n.data.code
+                ? e(t + 1, !0)
+                : e(t + 1, !1);
+            },
+            fail: function () {
+              e(t + 1, !1);
+            },
+          });
+        })(0, !1);
+      }, e);
+  },
+  Lf = new Ef(),
+  Df = {
+    _inited: !1,
+    _log: Pc(),
+    preinit: function (e) {
+      if (e && "object" == f(e)) for (var t in e) Mc[t] = e[t];
+      return Mc;
+    },
+    use: function (e, t) {
+      return e && qc(e.install) ? e.install(Df, t) : qc(e) && e(Df, t), Df;
+    },
+    messager: Cc,
+    init: function (e) {
+      if (this._inited) Pc().v("已经实例过,请避免重复初始化");
+      else if (e)
+        if (e.appKey) {
+          "boolean" != typeof e.useOpenid && (e.useOpenid = !0),
+            Tc().set(e),
+            Pc().setDebug(e.debug),
+            (this._inited = !0);
+          var t = this;
+          Cc.emit(Cc.messageType.CONFIG_LOADED, e);
+          try {
+            var n = new Pf();
+            Pc().v("成功创建Lib对象"),
+              n.init(function () {
+                Pc().v("Lib对象初始化成功"),
+                  Lf.installApi(t, n),
+                  Pc().v("安装Lib接口成功"),
+                  Cc.emit(Cc.messageType.UMA_LIB_INITED, e);
+              }),
+              Rf(3e3);
+          } catch (e) {
+            Pc().w("创建Lib对象异常: " + e);
+          }
+        } else Pc().err("请确保传入正确的appkey");
+      else Pc().err("请正确设置相关信息!");
+    },
+  };
+try {
+  Lf.installApi(Df, null);
+} catch (Nc) {
+  Pc().w("uma赋值异常: ", Nc);
+}
+var Bf = {},
+  Nf = Array.isArray;
+(Bf.isArray =
+  Nf ||
+  function (e) {
+    return "[object Array]" === toString.call(e);
+  }),
+  (Bf.isObject = function (e) {
+    return e === Object(e) && !Bf.isArray(e);
+  }),
+  (Bf.isEmptyObject = function (e) {
+    if (Bf.isObject(e)) {
+      for (var t in e) if (hasOwnProperty.call(e, t)) return !1;
+      return !0;
+    }
+    return !1;
+  }),
+  (Bf.isUndefined = function (e) {
+    return void 0 === e;
+  }),
+  (Bf.isString = function (e) {
+    return "[object String]" === toString.call(e);
+  }),
+  (Bf.isDate = function (e) {
+    return "[object Date]" === toString.call(e);
+  }),
+  (Bf.isNumber = function (e) {
+    return "[object Number]" === toString.call(e);
+  }),
+  (Bf.each = function (e, t, n) {
+    if (null != e) {
+      var r = {},
+        i = Array.prototype.forEach;
+      if (i && e.forEach === i) e.forEach(t, n);
+      else if (e.length === +e.length) {
+        for (var o = 0, a = e.length; o < a; o++)
+          if (o in e && t.call(n, e[o], o, e) === r) return;
+      } else
+        for (var u in e)
+          if (hasOwnProperty.call(e, u) && t.call(n, e[u], u, e) === r) return;
+    }
+  }),
+  (Bf.buildQuery = function (e, t) {
+    var n,
+      r,
+      i = [];
+    return (
+      void 0 === t && (t = "&"),
+      Bf.each(e, function (e, t) {
+        (n = encodeURIComponent(e.toString())),
+          (r = encodeURIComponent(t)),
+          (i[i.length] = r + "=" + n);
+      }),
+      i.join(t)
+    );
+  }),
+  (Bf.JSONDecode = function (e) {
+    if (e) {
+      try {
+        return JSON.parse(e);
+      } catch (e) {
+        console.error("JSONDecode error", e);
+      }
+      return null;
+    }
+  }),
+  (Bf.JSONEncode = function (e) {
+    try {
+      return JSON.stringify(e);
+    } catch (e) {
+      console.error("JSONEncode error", e);
+    }
+  });
+var Uf = Object.create(null),
+  jf = Object.create(null),
+  Mf = null,
+  $f = !1,
+  Ff = { minFetchIntervalSeconds: 43200 };
+function Hf(e) {
+  e &&
+    Bf.each(e, function (e) {
+      jf[e.k] = e;
+    });
+}
+function qf() {
+  var e = this;
+  (this.STORAGE_NAME = null),
+    Cc.once(Cc.messageType.CONFIG_LOADED, function (t) {
+      Pc().v("云配初始化开始..."), e.init(t);
+    });
+}
+qf.prototype = {
+  setDefaultValues: function (e) {
+    $f &&
+      Bf.isObject(e) &&
+      Bf.each(e, function (e, t) {
+        (jf[t] && jf[t].v) || (jf[t] = { v: e });
+      });
+  },
+  getValue: function (e) {
+    Pc().v("从配置项中读取 value, 当前配置为: ", jf),
+      Pc().v("待读取的 key : ", e);
+    try {
+      if (!$f) return;
+      var t = jf[e] || {};
+      return (
+        Pc().v("读取相应配置ing..., 结果为: ", t),
+        Bf.isNumber(t.e) &&
+          Bf.isNumber(t.g) &&
+          (Pc().v("读取到相应配置, 开始数据上报..."),
+          (function (e) {
+            var t = {
+              appkey: Tc().appKey(),
+              sdkType: Rc.getSdkType(),
+              expId: e && e.e,
+              groupId: e && e.g,
+              clientTs: Date.now(),
+              key: e && e.k,
+              value: e && e.v,
+              umid: Wc().getId(),
+            };
+            try {
+              Rc.request({
+                url: "https://pslog.umeng.com/mini_ablog",
+                method: "POST",
+                data: [t],
+                success: function (e) {
+                  e && 200 === e.statusCode
+                    ? Pc().v("上传数据成功", t)
+                    : Pc().w("ablog 请求成功, 返回结果异常 ", e);
+                },
+                fail: function (e) {
+                  Pc().w("ablog 请求数据错误 ", t, e);
+                },
+              });
+            } catch (e) {
+              Pc().w("urequest 调用错误", e);
+            }
+          })(t)),
+        t.v
+      );
+    } catch (t) {
+      Pc().w("getValue error, key: ", e);
+    }
+  },
+  active: function (e) {
+    try {
+      if (!$f) return;
+      var t, n;
+      e && e.params && (t = e.params),
+        e && e.callback && (n = e.callback),
+        Pc().v("激活配置项: ", t),
+        t
+          ? (Pc().v("本地已缓存的配置项: ", jf),
+            Hf(t),
+            Pc().v("合并后的配置项: ", jf),
+            n && n(jf),
+            Pc().v("active 结束"))
+          : (Pc().v("配置项为空!! 读取本地配置..."),
+            Rc.getStorage(this.STORAGE_NAME, function (e) {
+              e
+                ? (Hf((e = Bf.JSONDecode(e) || {}).params),
+                  Pc().v("当前本地配置项为: ", jf),
+                  n && n(jf),
+                  Pc().v("active 结束"))
+                : Pc().v("当前本地配置项为空, 退出激活");
+            }));
+    } catch (e) {
+      Pc().w("SDK active 错误", e);
+    }
+  },
+  init: function (e) {
+    e.appKey &&
+      ((Mf = e.appKey),
+      (this.STORAGE_NAME = "um_remote_config_{{" + Mf + "}}")),
+      Mf
+        ? $f
+          ? Pc().w("SDK 已经初始化, 请避免重复初始化")
+          : (($f = !0), this.setOptions(e), this.active())
+        : Pc().err("请检查您的小程序 appKey, appKey 不能为空");
+  },
+  setOptions: function (e) {
+    if (Bf.isObject(e)) {
+      var t = e.minFetchIntervalSeconds;
+      Bf.isNumber(t) && (Ff.minFetchIntervalSeconds = Math.max(t, 5));
+    }
+  },
+  fetch: function (e) {
+    if ($f && this.STORAGE_NAME) {
+      var t, n;
+      e && e.active && (t = e.active), e && e.callback && (n = e.callback);
+      var r = this;
+      Rc.getStorage(this.STORAGE_NAME, function (e) {
+        Pc().v("开始读缓存 data is ", e),
+          (e = Bf.JSONDecode(e) || {}).params &&
+          e.ts &&
+          Date.now() - e.ts < 1e3 * Ff.minFetchIntervalSeconds
+            ? (Pc().v(
+                "缓存数据存在, 并且本次触发时间距离上次fetch触发时间未超过 fetch 时间间隔, 无需 fetch"
+              ),
+              n && n(e.params))
+            : (function (e) {
+                Pc().v("开始构建 fetch body"),
+                  Rc.getSystemInfo(function (t) {
+                    Rc.getNetworkInfo(function (n) {
+                      var r = (n = n || {}).networkType;
+                      (r = "none" === r ? "unknown" : r.toUpperCase()),
+                        (Uf.access = r),
+                        (function (e, t) {
+                          var n,
+                            r = e.brand || "";
+                          if (
+                            ((Uf.deviceType = "Phone"),
+                            (Uf.sdkVersion = "2.8.0"),
+                            (Uf.appkey = Tc().appKey()),
+                            (Uf.sdkType = Rc.getSdkType()),
+                            (Uf.umid = Wc().getId()),
+                            e)
+                          ) {
+                            (Uf.language = e.language || ""),
+                              (Uf.os = e.OS),
+                              (Uf.osVersion = e.OSVersion),
+                              (Uf.deviceName = e.deviceName),
+                              (Uf.platformVersion = e.platformVersion),
+                              (Uf.platformSdkVersion = e.platformSDKVersion),
+                              (Uf.deviceBrand = r);
+                            var i = e.resolution.split("*");
+                            Bf.isArray(i) &&
+                              ((Uf.resolutionHeight = Number(i[0])),
+                              (Uf.resolutionWidth = Number(i[1])));
+                          }
+                          (n = xf.getImpObj()) &&
+                            ((Uf.installTime =
+                              n.install_datetime &&
+                              Date.parse(n.install_datetime)),
+                            (Uf.scene = n.install_scene),
+                            (Uf.channel = n.install_channel),
+                            (Uf.campaign = n.install_campaign)),
+                            t && t(Uf);
+                        })(t, e);
+                    });
+                  });
+              })(function (e) {
+                Pc().v("缓存数据不存在, 构建 fetch body :", e);
+                try {
+                  Rc.request({
+                    url: "https://ucc.umeng.com/v1/mini/fetch",
+                    method: "POST",
+                    data: e,
+                    success: function (e) {
+                      if (e && 200 === e.statusCode && e.data && e.data.cc) {
+                        Pc().v("fetch 请求成功, 响应数据: ", e.data);
+                        var i = Object.create(null);
+                        Bf.each(e.data.cc, function (e) {
+                          i[e.k] = e;
+                        });
+                        var o = { ts: Date.now(), params: i };
+                        Pc().v("开始缓存 fetch 请求的云配置结果..."),
+                          Rc.setStorage(
+                            r.STORAGE_NAME,
+                            Bf.JSONEncode(o),
+                            function (e) {
+                              Pc().v("缓存云配置成功, 缓存数据为: ", o),
+                                Pc().v("缓存云配置成功, 成功消息为: ", e),
+                                Pc().v("云配拉取数据是否自动激活: ", t),
+                                e &&
+                                  t &&
+                                  (Pc().v("激活云配置..."),
+                                  r.active({ params: i, callback: n }));
+                            }
+                          );
+                      } else
+                        Pc().w("fetch 请求成功,返回结果异常 ", e.data),
+                          n && n();
+                    },
+                    fail: function (t) {
+                      Pc().w("fetch请求数据错误 ", e, t), n && n();
+                    },
+                  });
+                } catch (e) {
+                  Pc().w("urequest调用错误", e);
+                }
+              });
+      });
+    }
+  },
+};
+var zf = {
+    install: function (e, t) {
+      return (
+        e.rc || (e.rc = new qf()),
+        e.messager.once(e.messager.messageType.CONFIG_LOADED, function () {
+          e._log.v("plugin rc installed");
+        }),
+        e.rc
+      );
+    },
+  },
+  Wf = !1,
+  Vf = {
+    install: function (e, t) {
+      e.wxpluginwraper ||
+        (e.wxpluginwraper = function (t) {
+          Wf ||
+            (t.onAppShow &&
+              t.onAppShow(function (t) {
+                e.resume(t);
+              }),
+            t.onAppHide &&
+              t.onAppHide(function (t) {
+                e.pause(t);
+              }),
+            (Wf = !0));
+        });
+    },
+  },
+  Kf = "",
+  Jf = {};
+function Gf(e) {
+  e && (Kf = e);
+}
+function Yf(e, t) {
+  if (e.onShareAppMessage) {
+    var n = e.onShareAppMessage;
+    e.onShareAppMessage = function (e) {
+      var r = n.call(this, e) || {},
+        i = (function (e, t) {
+          if (!e) return "";
+          var n = [];
+          for (var r in t)
+            "_um_ssrc" !== r && "_um_sts" !== r && n.push(r + "=" + t[r]);
+          var i = n.join("&");
+          return i ? e + "?" + i : e;
+        })(Kf, Jf[Kf]);
+      !r.path && i && (r.path = i);
+      var o = t.trackShare.call(this, r);
+      return void 0 === o ? r : o;
+    };
+  }
+}
+function Xf(e, t, n) {
+  var r = e[t];
+  e[t] = function (e) {
+    n.call(this, e), r && r.call(this, e);
+  };
+}
+function Qf(e) {
+  try {
+    Df.resume(e, !0);
+  } catch (e) {
+    Pc().v("onAppShow: ", e);
+  }
+}
+function Zf() {
+  try {
+    Df.pause();
+  } catch (e) {
+    Pc().v("onAppHide: ", e);
+  }
+}
+function el() {
+  try {
+    Gf(this.route), Df.trackPageStart(this.route);
+  } catch (e) {
+    Pc().v("onPageShow: ", e);
+  }
+}
+function tl(e) {
+  try {
+    Gf(this.route),
+      e && ((t = this.route), (n = e), t && (Jf[t] = n)),
+      Pc().v("Page onLoad: ", this.route, e);
+  } catch (e) {
+    Pc().v("onPageLoad: ", e);
+  }
+  var t, n;
+}
+function nl() {
+  try {
+    Df.trackPageEnd(this.route);
+  } catch (e) {
+    Pc().v("onPageHide: ", e);
+  }
+}
+try {
+  var rl = App;
+  App = function (e) {
+    Xf(e, "onLaunch", function () {
+      !(function (e) {
+        try {
+          Df.init(e);
+        } catch (e) {
+          Pc().v("onAppLaunch: ", e);
+        }
+      })(e.umengConfig);
+    }),
+      Xf(e, "onShow", Qf),
+      Xf(e, "onHide", Zf),
+      rl(e);
+  };
+} catch (Nc) {
+  Pc().w("App重写异常");
+}
+try {
+  var il = Page;
+  Page = function (e) {
+    Xf(e, "onShow", el),
+      Xf(e, "onHide", nl),
+      Xf(e, "onUnload", nl),
+      Xf(e, "onLoad", tl),
+      Yf(e, Df),
+      il(e);
+  };
+} catch (Nc) {
+  Pc().w("Page重写异常");
+}
+try {
+  var ol = Component;
+  Component = function (e) {
+    try {
+      e.methods = e.methods || {};
+      var t = e.methods;
+      Xf(t, "onShow", el),
+        Xf(t, "onHide", nl),
+        Xf(t, "onUnload", nl),
+        Xf(t, "onLoad", tl),
+        Yf(t, Df),
+        ol(e);
+    } catch (t) {
+      ol(e);
+    }
+  };
+} catch (Nc) {
+  Pc().w("Component重写异常");
+}
+var al = Df.init;
+(Df.init = function (e) {
+  e &&
+    e.useOpenid &&
+    (Pc().tip_w(Pc().repeat("!")),
+    Pc().tip_w(
+      "openid已开启,请确保使用setOpenid设置openid或通过设置autoGetOpenid为true,并在友盟后台设置secret由友盟帮您获取"
+    ),
+    Pc().tip_w(Pc().repeat("!"))),
+    al.call(Df, e);
+}),
+  Df.use(zf),
+  Df.use(Vf),
+  (On.uma = Df);
+var ul,
+  sl,
+  cl,
+  fl = Df,
+  ll = function (e) {
+    return (ul = e);
+  },
+  hl = Symbol();
+function pl(e) {
+  return (
+    e &&
+    "object" == f(e) &&
+    "[object Object]" === Object.prototype.toString.call(e) &&
+    "function" != typeof e.toJSON
+  );
+}
+((cl = sl || (sl = {})).direct = "direct"),
+  (cl.patchObject = "patch object"),
+  (cl.patchFunction = "patch function");
+var dl = "undefined" != typeof window;
+function vl() {
+  var e = En(!0),
+    t = e.run(function () {
+      return Gr({});
+    }),
+    n = [],
+    r = [],
+    i = qr({
+      install: function (e) {
+        ll(i),
+          (i._a = e),
+          e.provide(hl, i),
+          (e.config.globalProperties.$pinia = i),
+          r.forEach(function (e) {
+            return n.push(e);
+          }),
+          (r = []);
+      },
+      use: function (e) {
+        return this._a ? n.push(e) : r.push(e), this;
+      },
+      _p: n,
+      _a: null,
+      _e: e,
+      _s: new Map(),
+      state: t,
+    });
+  return i;
+}
+var gl = function () {};
+function yl(e, t, n) {
+  var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : gl;
+  e.push(t);
+  var i = function () {
+    var n = e.indexOf(t);
+    n > -1 && (e.splice(n, 1), r());
+  };
+  return (
+    !n &&
+      Cn() &&
+      (function (e) {
+        bn && bn.cleanups.push(e);
+      })(i),
+    i
+  );
+}
+function _l(e) {
+  for (
+    var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1;
+    r < t;
+    r++
+  )
+    n[r - 1] = arguments[r];
+  e.slice().forEach(function (e) {
+    e.apply(void 0, n);
+  });
+}
+function ml(e, t) {
+  for (var n in (e instanceof Map &&
+    t instanceof Map &&
+    t.forEach(function (t, n) {
+      return e.set(n, t);
+    }),
+  e instanceof Set && t instanceof Set && t.forEach(e.add, e),
+  t))
+    if (t.hasOwnProperty(n)) {
+      var r = t[n],
+        i = e[n];
+      pl(i) && pl(r) && e.hasOwnProperty(n) && !Jr(r) && !Mr(r)
+        ? (e[n] = ml(i, r))
+        : (e[n] = r);
+    }
+  return e;
+}
+var wl = Symbol(),
+  kl = Object.assign;
+function bl(e, t) {
+  var n,
+    r,
+    i,
+    o,
+    a,
+    u = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
+    s = arguments.length > 3 ? arguments[3] : void 0,
+    c = arguments.length > 5 ? arguments[5] : void 0,
+    f = kl({ actions: {} }, u),
+    l = { deep: !0 },
+    h = qr([]),
+    p = qr([]),
+    d = s.state.value[e];
+  function v(t) {
+    var n;
+    (r = i = !1),
+      "function" == typeof t
+        ? (t(s.state.value[e]),
+          (n = { type: sl.patchFunction, storeId: e, events: o }))
+        : (ml(s.state.value[e], t),
+          (n = { type: sl.patchObject, payload: t, storeId: e, events: o }));
+    var u = (a = Symbol());
+    gi().then(function () {
+      a === u && (r = !0);
+    }),
+      (i = !0),
+      _l(h, n, s.state.value[e]);
+  }
+  c || d || (s.state.value[e] = {}), Gr({});
+  var g = c
+    ? function () {
+        var e = u.state,
+          t = e ? e() : {};
+        this.$patch(function (e) {
+          kl(e, t);
+        });
+      }
+    : gl;
+  function y(t, n) {
+    return function () {
+      ll(s);
+      var r,
+        i = Array.from(arguments),
+        o = [],
+        a = [];
+      _l(p, {
+        args: i,
+        name: t,
+        store: _,
+        after: function (e) {
+          o.push(e);
+        },
+        onError: function (e) {
+          a.push(e);
+        },
+      });
+      try {
+        r = n.apply(this && this.$id === e ? this : _, i);
+      } catch (e) {
+        throw (_l(a, e), e);
+      }
+      return r instanceof Promise
+        ? r
+            .then(function (e) {
+              return _l(o, e), e;
+            })
+            .catch(function (e) {
+              return _l(a, e), Promise.reject(e);
+            })
+        : (_l(o, r), r);
+    };
+  }
+  var _ = Nr({
+    _p: s,
+    $id: e,
+    $onAction: yl.bind(null, p),
+    $patch: v,
+    $reset: g,
+    $subscribe: function (t) {
+      var a =
+          arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
+        u = yl(h, t, a.detached, function () {
+          return c();
+        }),
+        c = n.run(function () {
+          return Ci(
+            function () {
+              return s.state.value[e];
+            },
+            function (n) {
+              ("sync" === a.flush ? i : r) &&
+                t({ storeId: e, type: sl.direct, events: o }, n);
+            },
+            kl({}, l, a)
+          );
+        });
+      return u;
+    },
+    $dispose: function () {
+      n.stop(), (h = []), (p = []), s._s.delete(e);
+    },
+  });
+  s._s.set(e, _);
+  var m,
+    w,
+    k = s._e.run(function () {
+      return (n = En()).run(function () {
+        return t();
+      });
+    });
+  for (var b in k) {
+    var x = k[b];
+    if ((Jr(x) && (!Jr((w = x)) || !w.effect)) || Mr(x))
+      c ||
+        (!d ||
+          (pl((m = x)) && m.hasOwnProperty(wl)) ||
+          (Jr(x) ? (x.value = d[b]) : ml(x, d[b])),
+        (s.state.value[e][b] = x));
+    else if ("function" == typeof x) {
+      var S = y(b, x);
+      (k[b] = S), (f.actions[b] = x);
+    }
+  }
+  return (
+    kl(_, k),
+    kl(Hr(_), k),
+    Object.defineProperty(_, "$state", {
+      get: function () {
+        return s.state.value[e];
+      },
+      set: function (e) {
+        v(function (t) {
+          kl(t, e);
+        });
+      },
+    }),
+    s._p.forEach(function (e) {
+      kl(
+        _,
+        n.run(function () {
+          return e({ store: _, app: s._a, pinia: s, options: f });
+        })
+      );
+    }),
+    d && c && u.hydrate && u.hydrate(_.$state, d),
+    (r = !0),
+    (i = !0),
+    _
+  );
+}
+function xl(e, t, n) {
+  var r,
+    i,
+    o = "function" == typeof t;
+  function a(e, n) {
+    var a = Co();
+    return (
+      (e = e || (a && Ti(hl, null))) && ll(e),
+      (e = ul)._s.has(r) ||
+        (o
+          ? bl(r, t, i, e)
+          : (function (e, t, n, r) {
+              var i = t.state,
+                o = t.actions,
+                a = t.getters,
+                u = n.state.value[e];
+              bl(
+                e,
+                function () {
+                  u || (n.state.value[e] = i ? i() : {});
+                  var t = (function (e) {
+                    var t = C(e) ? new Array(e.length) : {};
+                    for (var n in e) t[n] = ni(e, n);
+                    return t;
+                  })(n.state.value[e]);
+                  return kl(
+                    t,
+                    o,
+                    Object.keys(a || {}).reduce(function (t, r) {
+                      return (
+                        (t[r] = qr(
+                          jo(function () {
+                            ll(n);
+                            var t = n._s.get(e);
+                            return a[r].call(t, t);
+                          })
+                        )),
+                        t
+                      );
+                    }, {})
+                  );
+                },
+                t,
+                n,
+                r,
+                !0
+              );
+            })(r, i, e)),
+      e._s.get(r)
+    );
+  }
+  return (
+    "string" == typeof e ? ((r = e), (i = o ? n : t)) : ((i = e), (r = e.id)),
+    (a.$id = r),
+    a
+  );
+}
+var Sl = "Store";
+function Al(e, t) {
+  return Array.isArray(t)
+    ? t.reduce(function (t, n) {
+        return (
+          (t[n] = function () {
+            return e(this.$pinia)[n];
+          }),
+          t
+        );
+      }, {})
+    : Object.keys(t).reduce(function (n, r) {
+        return (
+          (n[r] = function () {
+            var n = e(this.$pinia),
+              i = t[r];
+            return "function" == typeof i ? i.call(this, n) : n[i];
+          }),
+          n
+        );
+      }, {});
+}
+var Il = Al;
+function Ol(e) {
+  e = Hr(e);
+  var t = {};
+  for (var n in e) {
+    var r = e[n];
+    (Jr(r) || Mr(r)) && (t[n] = ni(e, n));
+  }
+  return t;
+}
+var Pl = Object.freeze(
+    Object.defineProperty(
+      {
+        __proto__: null,
+        get MutationType() {
+          return sl;
+        },
+        PiniaVuePlugin: function (e) {
+          e.mixin({
+            beforeCreate: function () {
+              var e = this.$options;
+              if (e.pinia) {
+                var t = e.pinia;
+                if (!this._provided) {
+                  var n = {};
+                  Object.defineProperty(this, "_provided", {
+                    get: function () {
+                      return n;
+                    },
+                    set: function (e) {
+                      return Object.assign(n, e);
+                    },
+                  });
+                }
+                (this._provided[hl] = t),
+                  this.$pinia || (this.$pinia = t),
+                  (t._a = this),
+                  dl && ll(t);
+              } else
+                !this.$pinia &&
+                  e.parent &&
+                  e.parent.$pinia &&
+                  (this.$pinia = e.parent.$pinia);
+            },
+            destroyed: function () {
+              delete this._pStores;
+            },
+          });
+        },
+        acceptHMRUpdate: function (e, t) {
+          return function () {};
+        },
+        createPinia: vl,
+        defineStore: xl,
+        getActivePinia: function () {
+          return (Co() && Ti(hl)) || ul;
+        },
+        mapActions: function (e, t) {
+          return Array.isArray(t)
+            ? t.reduce(function (t, n) {
+                return (
+                  (t[n] = function () {
+                    var t;
+                    return (t = e(this.$pinia))[n].apply(t, arguments);
+                  }),
+                  t
+                );
+              }, {})
+            : Object.keys(t).reduce(function (n, r) {
+                return (
+                  (n[r] = function () {
+                    var n;
+                    return (n = e(this.$pinia))[t[r]].apply(n, arguments);
+                  }),
+                  n
+                );
+              }, {});
+        },
+        mapGetters: Il,
+        mapState: Al,
+        mapStores: function () {
+          for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)
+            t[n] = arguments[n];
+          return t.reduce(function (e, t) {
+            return (
+              (e[t.$id + Sl] = function () {
+                return t(this.$pinia);
+              }),
+              e
+            );
+          }, {});
+        },
+        mapWritableState: function (e, t) {
+          return Array.isArray(t)
+            ? t.reduce(function (t, n) {
+                return (
+                  (t[n] = {
+                    get: function () {
+                      return e(this.$pinia)[n];
+                    },
+                    set: function (t) {
+                      return (e(this.$pinia)[n] = t);
+                    },
+                  }),
+                  t
+                );
+              }, {})
+            : Object.keys(t).reduce(function (n, r) {
+                return (
+                  (n[r] = {
+                    get: function () {
+                      return e(this.$pinia)[t[r]];
+                    },
+                    set: function (n) {
+                      return (e(this.$pinia)[t[r]] = n);
+                    },
+                  }),
+                  n
+                );
+              }, {});
+        },
+        setActivePinia: ll,
+        setMapStoreSuffix: function (e) {
+          Sl = e;
+        },
+        skipHydrate: function (e) {
+          return Object.defineProperty(e, wl, {});
+        },
+        storeToRefs: Ol,
+      },
+      Symbol.toStringTag,
+      { value: "Module" }
+    )
+  ),
+  Tl = function (e) {
+    return function (t) {
+      var n =
+        arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Co();
+      !Bo && Fi(e, t, n);
+    };
+  },
+  El = Tl(ee),
+  Cl = Tl(ne),
+  Rl = Tl(ue),
+  Ll = Tl(pe),
+  Dl = Tl(ve),
+  Bl = Tl(ge),
+  Nl = Tl(me),
+  Ul = {
+    pages: [
+      {
+        path: "pages/splash/index",
+        style: {
+          disableScroll: !0,
+          navigationStyle: "custom",
+          navigationBarTextStyle: "black",
+        },
+      },
+      {
+        path: "pages/home/index",
+        style: {
+          navigationBarTitleText: "首页",
+          navigationBarTextStyle: "black",
+          navigationBarBackgroundColor: "#ffffff",
+          "app-plus": { animationType: "fade-in", animationDuration: 200 },
+        },
+      },
+      {
+        path: "pages/order-list/index",
+        style: {
+          navigationBarTitleText: "订单",
+          enablePullDownRefresh: !0,
+          onReachBottomDistance: 50,
+          "app-plus": {
+            pullToRefresh: { support: !0, color: "#1F68E9", style: "circle" },
+          },
+        },
+      },
+      {
+        path: "pages/order-list-mine/index",
+        style: {
+          navigationBarTitleText: "我的订单",
+          enablePullDownRefresh: !0,
+          onReachBottomDistance: 50,
+          "app-plus": {
+            pullToRefresh: { support: !0, color: "#1F68E9", style: "circle" },
+          },
+        },
+      },
+      {
+        path: "pages/user/index",
+        style: {
+          navigationStyle: "custom",
+          navigationBarTextStyle: "white",
+          navigationBarTitleText: "我的",
+        },
+      },
+      {
+        path: "pages/vin-info/index",
+        style: { navigationBarTitleText: "什么是VIN" },
+      },
+      { path: "pages/web-view/index" },
+      {
+        path: "pages/report-query/index",
+        style: {
+          navigationBarTextStyle: "black",
+          navigationBarBackgroundColor: "#ffffff",
+        },
+      },
+      {
+        path: "pages/insurance-maintain-detail/index",
+        style: {
+          navigationBarTitleText: "维保查询报告",
+          navigationBarBackgroundColor: "#1F68E9",
+        },
+      },
+      {
+        path: "pages/insurance-maintain-blank/index",
+        style: {
+          navigationBarTitleText: "维保查询报告",
+          navigationBarBackgroundColor: "#1F68E9",
+        },
+      },
+      {
+        path: "pages/accident-detail/index",
+        style: {
+          navigationBarTitleText: "出险查询报告",
+          navigationBarBackgroundColor: "#1F68E9",
+        },
+      },
+      {
+        path: "pages/accident-blank/index",
+        style: {
+          navigationBarTitleText: "出险查询报告",
+          navigationBarBackgroundColor: "#1F68E9",
+        },
+      },
+      {
+        path: "pages/accident-web-view/index",
+        style: { navigationBarBackgroundColor: "#1F68E9" },
+      },
+      {
+        path: "pages/vehicle-info-query/index",
+        style: {
+          navigationBarTextStyle: "black",
+          navigationBarBackgroundColor: "#ffffff",
+        },
+      },
+      {
+        path: "pages/vehicle-info-detail/index",
+        style: { navigationBarTitleText: "车辆信息" },
+      },
+      {
+        path: "pages/vehicle-five-query/index",
+        style: {
+          navigationBarTextStyle: "black",
+          navigationBarBackgroundColor: "#ffffff",
+        },
+      },
+      {
+        path: "pages/vehicle-five-detail/index",
+        style: { navigationBarTitleText: "车五项" },
+      },
+      {
+        path: "pages/commercial-insurance-query/index",
+        style: {
+          navigationBarTextStyle: "black",
+          navigationBarBackgroundColor: "#ffffff",
+        },
+      },
+      {
+        path: "pages/commercial-insurance-detail/index",
+        style: { navigationBarTitleText: "商业险信息" },
+      },
+      {
+        path: "pages/sali-query/index",
+        style: {
+          navigationBarTextStyle: "black",
+          navigationBarBackgroundColor: "#ffffff",
+        },
+      },
+      {
+        path: "pages/sali-detail/index",
+        style: { navigationBarTitleText: "交强险信息" },
+      },
+      {
+        path: "pages/sali-check-query/index",
+        style: {
+          navigationBarTextStyle: "black",
+          navigationBarBackgroundColor: "#ffffff",
+        },
+      },
+      {
+        path: "pages/sali-check-detail/index",
+        style: { navigationBarTitleText: "交强险投保日期" },
+      },
+      {
+        path: "pages/vehicle-status-query/index",
+        style: {
+          navigationBarTextStyle: "black",
+          navigationBarBackgroundColor: "#ffffff",
+        },
+      },
+      {
+        path: "pages/vehicle-status-detail/index",
+        style: { navigationBarTitleText: "车辆状态" },
+      },
+      {
+        path: "pages/order-confirm/index",
+        style: { navigationBarTitleText: "订单确认" },
+      },
+      { path: "pages/order-detail/index" },
+      {
+        path: "pages/pay-success/index",
+        style: { navigationBarTitleText: "支付成功" },
+      },
+      {
+        path: "pages/pay-fail/index",
+        style: { navigationBarTitleText: "支付失败" },
+      },
+      {
+        path: "pages/upload-success/index",
+        style: { navigationBarTitleText: "查询中" },
+      },
+      {
+        path: "pages/question/index",
+        style: { navigationBarTitleText: "常见问题" },
+      },
+      {
+        path: "pages/easter-egg/index",
+        style: { navigationBarTitleText: "彩蛋" },
+      },
+    ],
+    globalStyle: {
+      navigationBarTextStyle: "white",
+      navigationBarBackgroundColor: "#1F68E9",
+      backgroundColor: "#f8f9fe",
+      backgroundColorTop: "#f8f9fe",
+      backgroundTextStyle: "dark",
+    },
+    tabBar: {
+      color: "#7A7E83",
+      selectedColor: "#1F68E9",
+      borderStyle: "black",
+      backgroundColor: "#ffffff",
+      list: [
+        {
+          pagePath: "pages/home/index",
+          iconPath: "static/images/tabs/icon_home_default.png",
+          selectedIconPath: "static/images/tabs/icon_home_selected.png",
+          text: "首页",
+        },
+        {
+          pagePath: "pages/order-list/index",
+          iconPath: "static/images/tabs/icon_order_list_default.png",
+          selectedIconPath: "static/images/tabs/icon_order_list_selected.png",
+          text: "订单",
+        },
+        {
+          pagePath: "pages/user/index",
+          iconPath: "static/images/tabs/icon_user_default.png",
+          selectedIconPath: "static/images/tabs/icon_user_selected.png",
+          text: "我的",
+        },
+      ],
+    },
+  };
+function jl(e, t, n) {
+  return (
+    e(
+      (n = {
+        path: t,
+        exports: {},
+        require: function (e, t) {
+          return (function () {
+            throw new Error(
+              "Dynamic requires are not currently supported by @rollup/plugin-commonjs"
+            );
+          })(null == t && n.path);
+        },
+      }),
+      n.exports
+    ),
+    n.exports
+  );
+}
+var Ml = jl(function (e, t) {
+    var n;
+    e.exports = n =
+      n ||
+      (function (e, t) {
+        var n =
+            Object.create ||
+            (function () {
+              function e() {}
+              return function (t) {
+                var n;
+                return (
+                  (e.prototype = t), (n = new e()), (e.prototype = null), n
+                );
+              };
+            })(),
+          r = {},
+          i = (r.lib = {}),
+          o = (i.Base = {
+            extend: function (e) {
+              var t = n(this);
+              return (
+                e && t.mixIn(e),
+                (t.hasOwnProperty("init") && this.init !== t.init) ||
+                  (t.init = function () {
+                    t.$super.init.apply(this, arguments);
+                  }),
+                (t.init.prototype = t),
+                (t.$super = this),
+                t
+              );
+            },
+            create: function () {
+              var e = this.extend();
+              return e.init.apply(e, arguments), e;
+            },
+            init: function () {},
+            mixIn: function (e) {
+              for (var t in e) e.hasOwnProperty(t) && (this[t] = e[t]);
+              e.hasOwnProperty("toString") && (this.toString = e.toString);
+            },
+            clone: function () {
+              return this.init.prototype.extend(this);
+            },
+          }),
+          a = (i.WordArray = o.extend({
+            init: function (e, t) {
+              (e = this.words = e || []),
+                (this.sigBytes = null != t ? t : 4 * e.length);
+            },
+            toString: function (e) {
+              return (e || s).stringify(this);
+            },
+            concat: function (e) {
+              var t = this.words,
+                n = e.words,
+                r = this.sigBytes,
+                i = e.sigBytes;
+              if ((this.clamp(), r % 4))
+                for (var o = 0; o < i; o++) {
+                  var a = (n[o >>> 2] >>> (24 - (o % 4) * 8)) & 255;
+                  t[(r + o) >>> 2] |= a << (24 - ((r + o) % 4) * 8);
+                }
+              else for (o = 0; o < i; o += 4) t[(r + o) >>> 2] = n[o >>> 2];
+              return (this.sigBytes += i), this;
+            },
+            clamp: function () {
+              var t = this.words,
+                n = this.sigBytes;
+              (t[n >>> 2] &= 4294967295 << (32 - (n % 4) * 8)),
+                (t.length = e.ceil(n / 4));
+            },
+            clone: function () {
+              var e = o.clone.call(this);
+              return (e.words = this.words.slice(0)), e;
+            },
+            random: function (t) {
+              for (
+                var n,
+                  r = [],
+                  i = function (t) {
+                    var n = 987654321,
+                      r = 4294967295;
+                    return function () {
+                      var i =
+                        (((n = (36969 * (65535 & n) + (n >> 16)) & r) << 16) +
+                          (t = (18e3 * (65535 & t) + (t >> 16)) & r)) &
+                        r;
+                      return (
+                        (i /= 4294967296),
+                        (i += 0.5) * (e.random() > 0.5 ? 1 : -1)
+                      );
+                    };
+                  },
+                  o = 0;
+                o < t;
+                o += 4
+              ) {
+                var u = i(4294967296 * (n || e.random()));
+                (n = 987654071 * u()), r.push((4294967296 * u()) | 0);
+              }
+              return new a.init(r, t);
+            },
+          })),
+          u = (r.enc = {}),
+          s = (u.Hex = {
+            stringify: function (e) {
+              for (var t = e.words, n = e.sigBytes, r = [], i = 0; i < n; i++) {
+                var o = (t[i >>> 2] >>> (24 - (i % 4) * 8)) & 255;
+                r.push((o >>> 4).toString(16)), r.push((15 & o).toString(16));
+              }
+              return r.join("");
+            },
+            parse: function (e) {
+              for (var t = e.length, n = [], r = 0; r < t; r += 2)
+                n[r >>> 3] |=
+                  parseInt(e.substr(r, 2), 16) << (24 - (r % 8) * 4);
+              return new a.init(n, t / 2);
+            },
+          }),
+          c = (u.Latin1 = {
+            stringify: function (e) {
+              for (var t = e.words, n = e.sigBytes, r = [], i = 0; i < n; i++) {
+                var o = (t[i >>> 2] >>> (24 - (i % 4) * 8)) & 255;
+                r.push(String.fromCharCode(o));
+              }
+              return r.join("");
+            },
+            parse: function (e) {
+              for (var t = e.length, n = [], r = 0; r < t; r++)
+                n[r >>> 2] |= (255 & e.charCodeAt(r)) << (24 - (r % 4) * 8);
+              return new a.init(n, t);
+            },
+          }),
+          f = (u.Utf8 = {
+            stringify: function (e) {
+              try {
+                return decodeURIComponent(escape(c.stringify(e)));
+              } catch (e) {
+                throw new Error("Malformed UTF-8 data");
+              }
+            },
+            parse: function (e) {
+              return c.parse(unescape(encodeURIComponent(e)));
+            },
+          }),
+          l = (i.BufferedBlockAlgorithm = o.extend({
+            reset: function () {
+              (this._data = new a.init()), (this._nDataBytes = 0);
+            },
+            _append: function (e) {
+              "string" == typeof e && (e = f.parse(e)),
+                this._data.concat(e),
+                (this._nDataBytes += e.sigBytes);
+            },
+            _process: function (t) {
+              var n = this._data,
+                r = n.words,
+                i = n.sigBytes,
+                o = this.blockSize,
+                u = i / (4 * o),
+                s =
+                  (u = t
+                    ? e.ceil(u)
+                    : e.max((0 | u) - this._minBufferSize, 0)) * o,
+                c = e.min(4 * s, i);
+              if (s) {
+                for (var f = 0; f < s; f += o) this._doProcessBlock(r, f);
+                var l = r.splice(0, s);
+                n.sigBytes -= c;
+              }
+              return new a.init(l, c);
+            },
+            clone: function () {
+              var e = o.clone.call(this);
+              return (e._data = this._data.clone()), e;
+            },
+            _minBufferSize: 0,
+          }));
+        i.Hasher = l.extend({
+          cfg: o.extend(),
+          init: function (e) {
+            (this.cfg = this.cfg.extend(e)), this.reset();
+          },
+          reset: function () {
+            l.reset.call(this), this._doReset();
+          },
+          update: function (e) {
+            return this._append(e), this._process(), this;
+          },
+          finalize: function (e) {
+            return e && this._append(e), this._doFinalize();
+          },
+          blockSize: 16,
+          _createHelper: function (e) {
+            return function (t, n) {
+              return new e.init(n).finalize(t);
+            };
+          },
+          _createHmacHelper: function (e) {
+            return function (t, n) {
+              return new h.HMAC.init(e, n).finalize(t);
+            };
+          },
+        });
+        var h = (r.algo = {});
+        return r;
+      })(Math);
+  }),
+  $l =
+    (jl(function (e, t) {
+      var n;
+      e.exports =
+        ((n = Ml),
+        (function (e) {
+          var t = n,
+            r = t.lib,
+            i = r.WordArray,
+            o = r.Hasher,
+            a = t.algo,
+            u = [];
+          !(function () {
+            for (var t = 0; t < 64; t++)
+              u[t] = (4294967296 * e.abs(e.sin(t + 1))) | 0;
+          })();
+          var s = (a.MD5 = o.extend({
+            _doReset: function () {
+              this._hash = new i.init([
+                1732584193, 4023233417, 2562383102, 271733878,
+              ]);
+            },
+            _doProcessBlock: function (e, t) {
+              for (var n = 0; n < 16; n++) {
+                var r = t + n,
+                  i = e[r];
+                e[r] =
+                  (16711935 & ((i << 8) | (i >>> 24))) |
+                  (4278255360 & ((i << 24) | (i >>> 8)));
+              }
+              var o = this._hash.words,
+                a = e[t + 0],
+                s = e[t + 1],
+                p = e[t + 2],
+                d = e[t + 3],
+                v = e[t + 4],
+                g = e[t + 5],
+                y = e[t + 6],
+                _ = e[t + 7],
+                m = e[t + 8],
+                w = e[t + 9],
+                k = e[t + 10],
+                b = e[t + 11],
+                x = e[t + 12],
+                S = e[t + 13],
+                A = e[t + 14],
+                I = e[t + 15],
+                O = o[0],
+                P = o[1],
+                T = o[2],
+                E = o[3];
+              (O = c(O, P, T, E, a, 7, u[0])),
+                (E = c(E, O, P, T, s, 12, u[1])),
+                (T = c(T, E, O, P, p, 17, u[2])),
+                (P = c(P, T, E, O, d, 22, u[3])),
+                (O = c(O, P, T, E, v, 7, u[4])),
+                (E = c(E, O, P, T, g, 12, u[5])),
+                (T = c(T, E, O, P, y, 17, u[6])),
+                (P = c(P, T, E, O, _, 22, u[7])),
+                (O = c(O, P, T, E, m, 7, u[8])),
+                (E = c(E, O, P, T, w, 12, u[9])),
+                (T = c(T, E, O, P, k, 17, u[10])),
+                (P = c(P, T, E, O, b, 22, u[11])),
+                (O = c(O, P, T, E, x, 7, u[12])),
+                (E = c(E, O, P, T, S, 12, u[13])),
+                (T = c(T, E, O, P, A, 17, u[14])),
+                (O = f(
+                  O,
+                  (P = c(P, T, E, O, I, 22, u[15])),
+                  T,
+                  E,
+                  s,
+                  5,
+                  u[16]
+                )),
+                (E = f(E, O, P, T, y, 9, u[17])),
+                (T = f(T, E, O, P, b, 14, u[18])),
+                (P = f(P, T, E, O, a, 20, u[19])),
+                (O = f(O, P, T, E, g, 5, u[20])),
+                (E = f(E, O, P, T, k, 9, u[21])),
+                (T = f(T, E, O, P, I, 14, u[22])),
+                (P = f(P, T, E, O, v, 20, u[23])),
+                (O = f(O, P, T, E, w, 5, u[24])),
+                (E = f(E, O, P, T, A, 9, u[25])),
+                (T = f(T, E, O, P, d, 14, u[26])),
+                (P = f(P, T, E, O, m, 20, u[27])),
+                (O = f(O, P, T, E, S, 5, u[28])),
+                (E = f(E, O, P, T, p, 9, u[29])),
+                (T = f(T, E, O, P, _, 14, u[30])),
+                (O = l(
+                  O,
+                  (P = f(P, T, E, O, x, 20, u[31])),
+                  T,
+                  E,
+                  g,
+                  4,
+                  u[32]
+                )),
+                (E = l(E, O, P, T, m, 11, u[33])),
+                (T = l(T, E, O, P, b, 16, u[34])),
+                (P = l(P, T, E, O, A, 23, u[35])),
+                (O = l(O, P, T, E, s, 4, u[36])),
+                (E = l(E, O, P, T, v, 11, u[37])),
+                (T = l(T, E, O, P, _, 16, u[38])),
+                (P = l(P, T, E, O, k, 23, u[39])),
+                (O = l(O, P, T, E, S, 4, u[40])),
+                (E = l(E, O, P, T, a, 11, u[41])),
+                (T = l(T, E, O, P, d, 16, u[42])),
+                (P = l(P, T, E, O, y, 23, u[43])),
+                (O = l(O, P, T, E, w, 4, u[44])),
+                (E = l(E, O, P, T, x, 11, u[45])),
+                (T = l(T, E, O, P, I, 16, u[46])),
+                (O = h(
+                  O,
+                  (P = l(P, T, E, O, p, 23, u[47])),
+                  T,
+                  E,
+                  a,
+                  6,
+                  u[48]
+                )),
+                (E = h(E, O, P, T, _, 10, u[49])),
+                (T = h(T, E, O, P, A, 15, u[50])),
+                (P = h(P, T, E, O, g, 21, u[51])),
+                (O = h(O, P, T, E, x, 6, u[52])),
+                (E = h(E, O, P, T, d, 10, u[53])),
+                (T = h(T, E, O, P, k, 15, u[54])),
+                (P = h(P, T, E, O, s, 21, u[55])),
+                (O = h(O, P, T, E, m, 6, u[56])),
+                (E = h(E, O, P, T, I, 10, u[57])),
+                (T = h(T, E, O, P, y, 15, u[58])),
+                (P = h(P, T, E, O, S, 21, u[59])),
+                (O = h(O, P, T, E, v, 6, u[60])),
+                (E = h(E, O, P, T, b, 10, u[61])),
+                (T = h(T, E, O, P, p, 15, u[62])),
+                (P = h(P, T, E, O, w, 21, u[63])),
+                (o[0] = (o[0] + O) | 0),
+                (o[1] = (o[1] + P) | 0),
+                (o[2] = (o[2] + T) | 0),
+                (o[3] = (o[3] + E) | 0);
+            },
+            _doFinalize: function () {
+              var t = this._data,
+                n = t.words,
+                r = 8 * this._nDataBytes,
+                i = 8 * t.sigBytes;
+              n[i >>> 5] |= 128 << (24 - (i % 32));
+              var o = e.floor(r / 4294967296),
+                a = r;
+              (n[15 + (((i + 64) >>> 9) << 4)] =
+                (16711935 & ((o << 8) | (o >>> 24))) |
+                (4278255360 & ((o << 24) | (o >>> 8)))),
+                (n[14 + (((i + 64) >>> 9) << 4)] =
+                  (16711935 & ((a << 8) | (a >>> 24))) |
+                  (4278255360 & ((a << 24) | (a >>> 8)))),
+                (t.sigBytes = 4 * (n.length + 1)),
+                this._process();
+              for (var u = this._hash, s = u.words, c = 0; c < 4; c++) {
+                var f = s[c];
+                s[c] =
+                  (16711935 & ((f << 8) | (f >>> 24))) |
+                  (4278255360 & ((f << 24) | (f >>> 8)));
+              }
+              return u;
+            },
+            clone: function () {
+              var e = o.clone.call(this);
+              return (e._hash = this._hash.clone()), e;
+            },
+          }));
+          function c(e, t, n, r, i, o, a) {
+            var u = e + ((t & n) | (~t & r)) + i + a;
+            return ((u << o) | (u >>> (32 - o))) + t;
+          }
+          function f(e, t, n, r, i, o, a) {
+            var u = e + ((t & r) | (n & ~r)) + i + a;
+            return ((u << o) | (u >>> (32 - o))) + t;
+          }
+          function l(e, t, n, r, i, o, a) {
+            var u = e + (t ^ n ^ r) + i + a;
+            return ((u << o) | (u >>> (32 - o))) + t;
+          }
+          function h(e, t, n, r, i, o, a) {
+            var u = e + (n ^ (t | ~r)) + i + a;
+            return ((u << o) | (u >>> (32 - o))) + t;
+          }
+          (t.MD5 = o._createHelper(s)), (t.HmacMD5 = o._createHmacHelper(s));
+        })(Math),
+        n.MD5);
+    }),
+    jl(function (e, t) {
+      var n, r, i;
+      e.exports =
+        ((r = (n = Ml).lib.Base),
+        (i = n.enc.Utf8),
+        void (n.algo.HMAC = r.extend({
+          init: function (e, t) {
+            (e = this._hasher = new e.init()),
+              "string" == typeof t && (t = i.parse(t));
+            var n = e.blockSize,
+              r = 4 * n;
+            t.sigBytes > r && (t = e.finalize(t)), t.clamp();
+            for (
+              var o = (this._oKey = t.clone()),
+                a = (this._iKey = t.clone()),
+                u = o.words,
+                s = a.words,
+                c = 0;
+              c < n;
+              c++
+            )
+              (u[c] ^= 1549556828), (s[c] ^= 909522486);
+            (o.sigBytes = a.sigBytes = r), this.reset();
+          },
+          reset: function () {
+            var e = this._hasher;
+            e.reset(), e.update(this._iKey);
+          },
+          update: function (e) {
+            return this._hasher.update(e), this;
+          },
+          finalize: function (e) {
+            var t = this._hasher,
+              n = t.finalize(e);
+            return t.reset(), t.finalize(this._oKey.clone().concat(n));
+          },
+        })));
+    }),
+    jl(function (e, t) {
+      e.exports = Ml.HmacMD5;
+    })),
+  Fl = jl(function (e, t) {
+    e.exports = Ml.enc.Utf8;
+  }),
+  Hl = jl(function (e, t) {
+    var n, r, i;
+    e.exports =
+      ((i = (r = n = Ml).lib.WordArray),
+      (r.enc.Base64 = {
+        stringify: function (e) {
+          var t = e.words,
+            n = e.sigBytes,
+            r = this._map;
+          e.clamp();
+          for (var i = [], o = 0; o < n; o += 3)
+            for (
+              var a =
+                  (((t[o >>> 2] >>> (24 - (o % 4) * 8)) & 255) << 16) |
+                  (((t[(o + 1) >>> 2] >>> (24 - ((o + 1) % 4) * 8)) & 255) <<
+                    8) |
+                  ((t[(o + 2) >>> 2] >>> (24 - ((o + 2) % 4) * 8)) & 255),
+                u = 0;
+              u < 4 && o + 0.75 * u < n;
+              u++
+            )
+              i.push(r.charAt((a >>> (6 * (3 - u))) & 63));
+          var s = r.charAt(64);
+          if (s) for (; i.length % 4; ) i.push(s);
+          return i.join("");
+        },
+        parse: function (e) {
+          var t = e.length,
+            n = this._map,
+            r = this._reverseMap;
+          if (!r) {
+            r = this._reverseMap = [];
+            for (var o = 0; o < n.length; o++) r[n.charCodeAt(o)] = o;
+          }
+          var a = n.charAt(64);
+          if (a) {
+            var u = e.indexOf(a);
+            -1 !== u && (t = u);
+          }
+          return (function (e, t, n) {
+            for (var r = [], o = 0, a = 0; a < t; a++)
+              if (a % 4) {
+                var u = n[e.charCodeAt(a - 1)] << ((a % 4) * 2),
+                  s = n[e.charCodeAt(a)] >>> (6 - (a % 4) * 2);
+                (r[o >>> 2] |= (u | s) << (24 - (o % 4) * 8)), o++;
+              }
+            return i.create(r, o);
+          })(e, t, r);
+        },
+        _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
+      }),
+      n.enc.Base64);
+  }),
+  ql = "FUNCTION",
+  zl = "pending",
+  Wl = "rejected";
+function Vl(e) {
+  return Object.prototype.toString.call(e).slice(8, -1).toLowerCase();
+}
+function Kl(e) {
+  return "object" === Vl(e);
+}
+function Jl(e) {
+  return "function" == typeof e;
+}
+function Gl(e) {
+  return function () {
+    try {
+      return e.apply(e, arguments);
+    } catch (e) {
+      console.error(e);
+    }
+  };
+}
+var Yl = "REJECTED",
+  Xl = "NOT_PENDING",
+  Ql = (function () {
+    function e() {
+      var t =
+          arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+        n = t.createPromise,
+        r = t.retryRule,
+        i = void 0 === r ? Yl : r;
+      s(this, e),
+        (this.createPromise = n),
+        (this.status = null),
+        (this.promise = null),
+        (this.retryRule = i);
+    }
+    return (
+      c(e, [
+        {
+          key: "needRetry",
+          get: function () {
+            if (!this.status) return !0;
+            switch (this.retryRule) {
+              case Yl:
+                return this.status === Wl;
+              case Xl:
+                return this.status !== zl;
+            }
+          },
+        },
+        {
+          key: "exec",
+          value: function () {
+            var e = this;
+            return this.needRetry
+              ? ((this.status = zl),
+                (this.promise = this.createPromise().then(
+                  function (t) {
+                    return (e.status = "fulfilled"), Promise.resolve(t);
+                  },
+                  function (t) {
+                    return (e.status = Wl), Promise.reject(t);
+                  }
+                )),
+                this.promise)
+              : this.promise;
+          },
+        },
+      ]),
+      e
+    );
+  })();
+function Zl(e) {
+  return e && "string" == typeof e ? JSON.parse(e) : e;
+}
+var eh = Zl([]),
+  th = "mp-weixin";
+Zl("");
+var nh = Zl("[]") || [];
+try {
+  ("__UNI__4AC81CE");
+} catch (Nc) {}
+var rh = {};
+function ih(e) {
+  var t,
+    n,
+    r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
+  return (
+    (t = rh),
+    (n = e),
+    Object.prototype.hasOwnProperty.call(t, n) || (rh[e] = r),
+    rh[e]
+  );
+}
+var oh = ["invoke", "success", "fail", "complete"],
+  ah = ih("_globalUniCloudInterceptor");
+function uh(e, t) {
+  ah[e] || (ah[e] = {}),
+    Kl(t) &&
+      Object.keys(t).forEach(function (n) {
+        oh.indexOf(n) > -1 &&
+          (function (e, t, n) {
+            var r = ah[e][t];
+            r || (r = ah[e][t] = []), -1 === r.indexOf(n) && Jl(n) && r.push(n);
+          })(e, n, t[n]);
+      });
+}
+function sh(e, t) {
+  ah[e] || (ah[e] = {}),
+    Kl(t)
+      ? Object.keys(t).forEach(function (n) {
+          oh.indexOf(n) > -1 &&
+            (function (e, t, n) {
+              var r = ah[e][t];
+              if (r) {
+                var i = r.indexOf(n);
+                i > -1 && r.splice(i, 1);
+              }
+            })(e, n, t[n]);
+        })
+      : delete ah[e];
+}
+function ch(e, t) {
+  return e && 0 !== e.length
+    ? e.reduce(function (e, n) {
+        return e.then(function () {
+          return n(t);
+        });
+      }, Promise.resolve())
+    : Promise.resolve();
+}
+function fh(e, t) {
+  return (ah[e] && ah[e][t]) || [];
+}
+function lh(e) {
+  uh("callObject", e);
+}
+var hh = ih("_globalUniCloudListener"),
+  ph = "response",
+  dh = "needLogin",
+  vh = "refreshToken",
+  gh = "clientdb",
+  yh = "cloudfunction",
+  _h = "cloudobject";
+function mh(e) {
+  return hh[e] || (hh[e] = []), hh[e];
+}
+function wh(e, t) {
+  var n = mh(e);
+  n.includes(t) || n.push(t);
+}
+function kh(e, t) {
+  var n = mh(e),
+    r = n.indexOf(t);
+  -1 !== r && n.splice(r, 1);
+}
+function bh(e, t) {
+  for (var n = mh(e), r = 0; r < n.length; r++) (0, n[r])(t);
+}
+var xh,
+  Sh = !1;
+function Ah() {
+  return (
+    xh ||
+    (xh = new Promise(function (e) {
+      Sh && e(),
+        (function t() {
+          if ("function" == typeof getCurrentPages) {
+            var n = getCurrentPages();
+            n && n[0] && ((Sh = !0), e());
+          }
+          Sh ||
+            setTimeout(function () {
+              t();
+            }, 30);
+        })();
+    }))
+  );
+}
+function Ih(e) {
+  var t = {};
+  for (var n in e) {
+    var r = e[n];
+    Jl(r) && (t[n] = Gl(r));
+  }
+  return t;
+}
+var Oh,
+  Ph,
+  Th = (function (e) {
+    i(n, e);
+    var t = o(n);
+    function n(e) {
+      var r;
+      return (
+        s(this, n),
+        ((r = t.call(this, e.message)).errMsg =
+          e.message || e.errMsg || "unknown system error"),
+        (r.code = r.errCode = e.code || e.errCode || "SYSTEM_ERROR"),
+        (r.errSubject = r.subject = e.subject || e.errSubject),
+        (r.cause = e.cause),
+        (r.requestId = e.requestId),
+        r
+      );
+    }
+    return (
+      c(n, [
+        {
+          key: "toJson",
+          value: function () {
+            var e =
+              arguments.length > 0 && void 0 !== arguments[0]
+                ? arguments[0]
+                : 0;
+            if (!(e >= 10))
+              return (
+                e++,
+                {
+                  errCode: this.errCode,
+                  errMsg: this.errMsg,
+                  errSubject: this.errSubject,
+                  cause:
+                    this.cause && this.cause.toJson
+                      ? this.cause.toJson(e)
+                      : this.cause,
+                }
+              );
+          },
+        },
+      ]),
+      n
+    );
+  })(a(Error)),
+  Eh = {
+    request: function (e) {
+      return Pn.request(e);
+    },
+    uploadFile: function (e) {
+      return Pn.uploadFile(e);
+    },
+    setStorageSync: function (e, t) {
+      return Pn.setStorageSync(e, t);
+    },
+    getStorageSync: function (e) {
+      return Pn.getStorageSync(e);
+    },
+    removeStorageSync: function (e) {
+      return Pn.removeStorageSync(e);
+    },
+    clearStorageSync: function () {
+      return Pn.clearStorageSync();
+    },
+  };
+function Ch() {
+  return {
+    token: Eh.getStorageSync("uni_id_token") || Eh.getStorageSync("uniIdToken"),
+    tokenExpired: Eh.getStorageSync("uni_id_token_expired"),
+  };
+}
+function Rh() {
+  var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+    t = e.token,
+    n = e.tokenExpired;
+  t && Eh.setStorageSync("uni_id_token", t),
+    n && Eh.setStorageSync("uni_id_token_expired", n);
+}
+function Lh() {
+  return Oh || (Oh = Pn.getSystemInfoSync()), Oh;
+}
+function Dh() {
+  var e = (Pn.getLocale && Pn.getLocale()) || "en";
+  if (Ph) return r(r({}, Ph), {}, { locale: e, LOCALE: e });
+  for (
+    var t = Lh(),
+      n = t.deviceId,
+      i = t.osName,
+      o = t.uniPlatform,
+      a = t.appId,
+      u = [
+        "pixelRatio",
+        "brand",
+        "model",
+        "system",
+        "language",
+        "version",
+        "platform",
+        "host",
+        "SDKVersion",
+        "swanNativeVersion",
+        "app",
+        "AppPlatform",
+        "fontSizeSetting",
+      ],
+      s = 0;
+    s < u.length;
+    s++
+  )
+    delete t[u[s]];
+  return (
+    (Ph = r(
+      r(
+        { PLATFORM: o, OS: i, APPID: a, DEVICEID: n },
+        (function () {
+          var e, t;
+          try {
+            if (Pn.getLaunchOptionsSync) {
+              if (
+                Pn.getLaunchOptionsSync
+                  .toString()
+                  .indexOf("not yet implemented") > -1
+              )
+                return;
+              var n = Pn.getLaunchOptionsSync(),
+                r = n.scene;
+              (e = n.channel), (t = r);
+            }
+          } catch (e) {}
+          return { channel: e, scene: t };
+        })()
+      ),
+      t
+    )),
+    r(r({}, Ph), {}, { locale: e, LOCALE: e })
+  );
+}
+var Bh,
+  Nh = function (e, t) {
+    var n = "";
+    return (
+      Object.keys(e)
+        .sort()
+        .forEach(function (t) {
+          e[t] && (n = n + "&" + t + "=" + e[t]);
+        }),
+      (n = n.slice(1)),
+      $l(n, t).toString()
+    );
+  },
+  Uh = function (e) {
+    return Hl.stringify(Fl.parse(e));
+  },
+  jh = (function () {
+    function e(t) {
+      var n = this;
+      s(this, e),
+        ["spaceId", "clientSecret"].forEach(function (e) {
+          if (!Object.prototype.hasOwnProperty.call(t, e))
+            throw new Error("".concat(e, " required"));
+        }),
+        (this.config = Object.assign(
+          {},
+          {
+            endpoint:
+              0 === t.spaceId.indexOf("mp-")
+                ? "https://api.next.bspapp.com"
+                : "https://api.bspapp.com",
+          },
+          t
+        )),
+        (this.config.provider = "aliyun"),
+        (this.config.requestUrl = this.config.endpoint + "/client"),
+        (this.config.envType = this.config.envType || "public"),
+        (this.config.accessTokenKey = "access_token_" + this.config.spaceId),
+        (this.adapter = Eh),
+        (this._getAccessTokenPromiseHub = new Ql({
+          createPromise: function () {
+            return n
+              .requestAuth(
+                n.setupRequest(
+                  {
+                    method: "serverless.auth.user.anonymousAuthorize",
+                    params: "{}",
+                  },
+                  "auth"
+                )
+              )
+              .then(function (e) {
+                if (!e.result || !e.result.accessToken)
+                  throw new Th({
+                    code: "AUTH_FAILED",
+                    message: "获取accessToken失败",
+                  });
+                n.setAccessToken(e.result.accessToken);
+              });
+          },
+          retryRule: Xl,
+        }));
+    }
+    var r, i, o;
+    return (
+      c(e, [
+        {
+          key: "hasAccessToken",
+          get: function () {
+            return !!this.accessToken;
+          },
+        },
+        {
+          key: "setAccessToken",
+          value: function (e) {
+            this.accessToken = e;
+          },
+        },
+        {
+          key: "requestWrapped",
+          value: function (e) {
+            return (function (e, t) {
+              return new Promise(function (n, r) {
+                t(
+                  Object.assign(e, {
+                    complete: function (e) {
+                      e || (e = {});
+                      var t =
+                        (e.data &&
+                          e.data.header &&
+                          e.data.header["x-serverless-request-id"]) ||
+                        (e.header && e.header["request-id"]);
+                      if (!e.statusCode || e.statusCode >= 400)
+                        return r(
+                          new Th({
+                            code: "SYS_ERR",
+                            message: e.errMsg || "request:fail",
+                            requestId: t,
+                          })
+                        );
+                      var i = e.data;
+                      if (i.error)
+                        return r(
+                          new Th({
+                            code: i.error.code,
+                            message: i.error.message,
+                            requestId: t,
+                          })
+                        );
+                      (i.result = i.data),
+                        (i.requestId = t),
+                        delete i.data,
+                        n(i);
+                    },
+                  })
+                );
+              });
+            })(e, this.adapter.request);
+          },
+        },
+        {
+          key: "requestAuth",
+          value: function (e) {
+            return this.requestWrapped(e);
+          },
+        },
+        {
+          key: "request",
+          value: function (e, t) {
+            var n = this;
+            return Promise.resolve().then(function () {
+              return n.hasAccessToken
+                ? t
+                  ? n.requestWrapped(e)
+                  : n.requestWrapped(e).catch(function (t) {
+                      return new Promise(function (e, n) {
+                        !t ||
+                        ("GATEWAY_INVALID_TOKEN" !== t.code &&
+                          "InvalidParameter.InvalidToken" !== t.code)
+                          ? n(t)
+                          : e();
+                      })
+                        .then(function () {
+                          return n.getAccessToken();
+                        })
+                        .then(function () {
+                          var t = n.rebuildRequest(e);
+                          return n.request(t, !0);
+                        });
+                    })
+                : n.getAccessToken().then(function () {
+                    var t = n.rebuildRequest(e);
+                    return n.request(t, !0);
+                  });
+            });
+          },
+        },
+        {
+          key: "rebuildRequest",
+          value: function (e) {
+            var t = Object.assign({}, e);
+            return (
+              (t.data.token = this.accessToken),
+              (t.header["x-basement-token"] = this.accessToken),
+              (t.header["x-serverless-sign"] = Nh(
+                t.data,
+                this.config.clientSecret
+              )),
+              t
+            );
+          },
+        },
+        {
+          key: "setupRequest",
+          value: function (e, t) {
+            var n = Object.assign({}, e, {
+                spaceId: this.config.spaceId,
+                timestamp: Date.now(),
+              }),
+              r = { "Content-Type": "application/json" };
+            return (
+              "auth" !== t &&
+                ((n.token = this.accessToken),
+                (r["x-basement-token"] = this.accessToken)),
+              (r["x-serverless-sign"] = Nh(n, this.config.clientSecret)),
+              {
+                url: this.config.requestUrl,
+                method: "POST",
+                data: n,
+                dataType: "json",
+                header: r,
+              }
+            );
+          },
+        },
+        {
+          key: "getAccessToken",
+          value: function () {
+            return this._getAccessTokenPromiseHub.exec();
+          },
+        },
+        {
+          key: "authorize",
+          value:
+            ((o = n(
+              t().mark(function e() {
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (e.next = 2), this.getAccessToken();
+                        case 2:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function () {
+              return o.apply(this, arguments);
+            }),
+        },
+        {
+          key: "callFunction",
+          value: function (e) {
+            var t = {
+              method: "serverless.function.runtime.invoke",
+              params: JSON.stringify({
+                functionTarget: e.name,
+                functionArgs: e.data || {},
+              }),
+            };
+            return this.request(this.setupRequest(t));
+          },
+        },
+        {
+          key: "getOSSUploadOptionsFromPath",
+          value: function (e) {
+            var t = {
+              method: "serverless.file.resource.generateProximalSign",
+              params: JSON.stringify(e),
+            };
+            return this.request(this.setupRequest(t));
+          },
+        },
+        {
+          key: "uploadFileToOSS",
+          value: function (e) {
+            var t = this,
+              n = e.url,
+              r = e.formData,
+              i = e.name,
+              o = e.filePath,
+              a = e.fileType,
+              u = e.onUploadProgress;
+            return new Promise(function (e, s) {
+              var c = t.adapter.uploadFile({
+                url: n,
+                formData: r,
+                name: i,
+                filePath: o,
+                fileType: a,
+                header: { "X-OSS-server-side-encrpytion": "AES256" },
+                success: function (t) {
+                  t && t.statusCode < 400
+                    ? e(t)
+                    : s(
+                        new Th({
+                          code: "UPLOAD_FAILED",
+                          message: "文件上传失败",
+                        })
+                      );
+                },
+                fail: function (e) {
+                  s(
+                    new Th({
+                      code: e.code || "UPLOAD_FAILED",
+                      message: e.message || e.errMsg || "文件上传失败",
+                    })
+                  );
+                },
+              });
+              "function" == typeof u &&
+                c &&
+                "function" == typeof c.onProgressUpdate &&
+                c.onProgressUpdate(function (e) {
+                  u({
+                    loaded: e.totalBytesSent,
+                    total: e.totalBytesExpectedToSend,
+                  });
+                });
+            });
+          },
+        },
+        {
+          key: "reportOSSUpload",
+          value: function (e) {
+            var t = {
+              method: "serverless.file.resource.report",
+              params: JSON.stringify(e),
+            };
+            return this.request(this.setupRequest(t));
+          },
+        },
+        {
+          key: "uploadFile",
+          value:
+            ((i = n(
+              t().mark(function e(n) {
+                var r,
+                  i,
+                  o,
+                  a,
+                  u,
+                  s,
+                  c,
+                  f,
+                  l,
+                  h,
+                  p,
+                  d,
+                  v,
+                  g,
+                  y,
+                  _,
+                  m,
+                  w,
+                  k,
+                  b,
+                  x,
+                  S;
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          if (
+                            ((r = n.filePath),
+                            (i = n.cloudPath),
+                            (o = n.fileType),
+                            (a = void 0 === o ? "image" : o),
+                            (u = n.cloudPathAsRealPath),
+                            (s = void 0 !== u && u),
+                            (c = n.onUploadProgress),
+                            (f = n.config),
+                            "string" === Vl(i))
+                          ) {
+                            e.next = 3;
+                            break;
+                          }
+                          throw new Th({
+                            code: "INVALID_PARAM",
+                            message: "cloudPath必须为字符串类型",
+                          });
+                        case 3:
+                          if ((i = i.trim())) {
+                            e.next = 5;
+                            break;
+                          }
+                          throw new Th({
+                            code: "INVALID_PARAM",
+                            message: "cloudPath不可为空",
+                          });
+                        case 5:
+                          if (!/:\/\//.test(i)) {
+                            e.next = 7;
+                            break;
+                          }
+                          throw new Th({
+                            code: "INVALID_PARAM",
+                            message: "cloudPath不合法",
+                          });
+                        case 7:
+                          if (
+                            ((l = (f && f.envType) || this.config.envType),
+                            !(
+                              s &&
+                              ("/" !== i[0] && (i = "/" + i),
+                              i.indexOf("\\") > -1)
+                            ))
+                          ) {
+                            e.next = 10;
+                            break;
+                          }
+                          throw new Th({
+                            code: "INVALID_PARAM",
+                            message:
+                              "使用cloudPath作为路径时,cloudPath不可包含“\\”",
+                          });
+                        case 10:
+                          return (
+                            (e.next = 12),
+                            this.getOSSUploadOptionsFromPath({
+                              env: l,
+                              filename: s ? i.split("/").pop() : i,
+                              fileId: s ? i : void 0,
+                            })
+                          );
+                        case 12:
+                          return (
+                            (h = e.sent.result),
+                            (p = "https://" + h.cdnDomain + "/" + h.ossPath),
+                            (d = h.securityToken),
+                            (v = h.accessKeyId),
+                            (g = h.signature),
+                            (y = h.host),
+                            (_ = h.ossPath),
+                            (m = h.id),
+                            (w = h.policy),
+                            (k = h.ossCallbackUrl),
+                            (b = {
+                              "Cache-Control": "max-age=2592000",
+                              "Content-Disposition": "attachment",
+                              OSSAccessKeyId: v,
+                              Signature: g,
+                              host: y,
+                              id: m,
+                              key: _,
+                              policy: w,
+                              success_action_status: 200,
+                            }),
+                            d && (b["x-oss-security-token"] = d),
+                            k &&
+                              ((x = JSON.stringify({
+                                callbackUrl: k,
+                                callbackBody: JSON.stringify({
+                                  fileId: m,
+                                  spaceId: this.config.spaceId,
+                                }),
+                                callbackBodyType: "application/json",
+                              })),
+                              (b.callback = Uh(x))),
+                            (S = {
+                              url: "https://" + h.host,
+                              formData: b,
+                              fileName: "file",
+                              name: "file",
+                              filePath: r,
+                              fileType: a,
+                            }),
+                            (e.next = 27),
+                            this.uploadFileToOSS(
+                              Object.assign({}, S, { onUploadProgress: c })
+                            )
+                          );
+                        case 27:
+                          if (!k) {
+                            e.next = 29;
+                            break;
+                          }
+                          return e.abrupt("return", {
+                            success: !0,
+                            filePath: r,
+                            fileID: p,
+                          });
+                        case 29:
+                          return (e.next = 31), this.reportOSSUpload({ id: m });
+                        case 31:
+                          if (!e.sent.success) {
+                            e.next = 33;
+                            break;
+                          }
+                          return e.abrupt("return", {
+                            success: !0,
+                            filePath: r,
+                            fileID: p,
+                          });
+                        case 33:
+                          throw new Th({
+                            code: "UPLOAD_FAILED",
+                            message: "文件上传失败",
+                          });
+                        case 34:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e) {
+              return i.apply(this, arguments);
+            }),
+        },
+        {
+          key: "getTempFileURL",
+          value: function () {
+            var e =
+                arguments.length > 0 && void 0 !== arguments[0]
+                  ? arguments[0]
+                  : {},
+              t = e.fileList;
+            return new Promise(function (e, n) {
+              (Array.isArray(t) && 0 !== t.length) ||
+                n(
+                  new Th({
+                    code: "INVALID_PARAM",
+                    message: "fileList的元素必须是非空的字符串",
+                  })
+                ),
+                e({
+                  fileList: t.map(function (e) {
+                    return { fileID: e, tempFileURL: e };
+                  }),
+                });
+            });
+          },
+        },
+        {
+          key: "getFileInfo",
+          value:
+            ((r = n(
+              t().mark(function e() {
+                var n,
+                  r,
+                  i,
+                  o = arguments;
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          if (
+                            ((n = o.length > 0 && void 0 !== o[0] ? o[0] : {}),
+                            (r = n.fileList),
+                            Array.isArray(r) && 0 !== r.length)
+                          ) {
+                            e.next = 3;
+                            break;
+                          }
+                          throw new Th({
+                            code: "INVALID_PARAM",
+                            message: "fileList的元素必须是非空的字符串",
+                          });
+                        case 3:
+                          return (
+                            (i = {
+                              method: "serverless.file.resource.info",
+                              params: JSON.stringify({
+                                id: r
+                                  .map(function (e) {
+                                    return e.split("?")[0];
+                                  })
+                                  .join(","),
+                              }),
+                            }),
+                            (e.next = 6),
+                            this.request(this.setupRequest(i))
+                          );
+                        case 6:
+                          return (
+                            (e.t0 = e.sent.result),
+                            e.abrupt("return", { fileList: e.t0 })
+                          );
+                        case 8:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function () {
+              return r.apply(this, arguments);
+            }),
+        },
+      ]),
+      e
+    );
+  })(),
+  Mh = {
+    init: function (e) {
+      var t = new jh(e),
+        n = {
+          signInAnonymously: function () {
+            return t.authorize();
+          },
+          getLoginState: function () {
+            return Promise.resolve(!1);
+          },
+        };
+      return (
+        (t.auth = function () {
+          return n;
+        }),
+        (t.customAuth = t.auth),
+        t
+      );
+    },
+  },
+  $h =
+    "undefined" != typeof location && "http:" === location.protocol
+      ? "http:"
+      : "https:";
+!(function (e) {
+  (e.local = "local"), (e.none = "none"), (e.session = "session");
+})(Bh || (Bh = {}));
+var Fh,
+  Hh = function () {},
+  qh = jl(function (e, t) {
+    var n;
+    e.exports =
+      ((n = Ml),
+      (function (e) {
+        var t = n,
+          r = t.lib,
+          i = r.WordArray,
+          o = r.Hasher,
+          a = t.algo,
+          u = [],
+          s = [];
+        !(function () {
+          function t(t) {
+            for (var n = e.sqrt(t), r = 2; r <= n; r++) if (!(t % r)) return !1;
+            return !0;
+          }
+          function n(e) {
+            return (4294967296 * (e - (0 | e))) | 0;
+          }
+          for (var r = 2, i = 0; i < 64; )
+            t(r) &&
+              (i < 8 && (u[i] = n(e.pow(r, 0.5))),
+              (s[i] = n(e.pow(r, 1 / 3))),
+              i++),
+              r++;
+        })();
+        var c = [],
+          f = (a.SHA256 = o.extend({
+            _doReset: function () {
+              this._hash = new i.init(u.slice(0));
+            },
+            _doProcessBlock: function (e, t) {
+              for (
+                var n = this._hash.words,
+                  r = n[0],
+                  i = n[1],
+                  o = n[2],
+                  a = n[3],
+                  u = n[4],
+                  f = n[5],
+                  l = n[6],
+                  h = n[7],
+                  p = 0;
+                p < 64;
+                p++
+              ) {
+                if (p < 16) c[p] = 0 | e[t + p];
+                else {
+                  var d = c[p - 15],
+                    v =
+                      ((d << 25) | (d >>> 7)) ^
+                      ((d << 14) | (d >>> 18)) ^
+                      (d >>> 3),
+                    g = c[p - 2],
+                    y =
+                      ((g << 15) | (g >>> 17)) ^
+                      ((g << 13) | (g >>> 19)) ^
+                      (g >>> 10);
+                  c[p] = v + c[p - 7] + y + c[p - 16];
+                }
+                var _ = (r & i) ^ (r & o) ^ (i & o),
+                  m =
+                    ((r << 30) | (r >>> 2)) ^
+                    ((r << 19) | (r >>> 13)) ^
+                    ((r << 10) | (r >>> 22)),
+                  w =
+                    h +
+                    (((u << 26) | (u >>> 6)) ^
+                      ((u << 21) | (u >>> 11)) ^
+                      ((u << 7) | (u >>> 25))) +
+                    ((u & f) ^ (~u & l)) +
+                    s[p] +
+                    c[p];
+                (h = l),
+                  (l = f),
+                  (f = u),
+                  (u = (a + w) | 0),
+                  (a = o),
+                  (o = i),
+                  (i = r),
+                  (r = (w + (m + _)) | 0);
+              }
+              (n[0] = (n[0] + r) | 0),
+                (n[1] = (n[1] + i) | 0),
+                (n[2] = (n[2] + o) | 0),
+                (n[3] = (n[3] + a) | 0),
+                (n[4] = (n[4] + u) | 0),
+                (n[5] = (n[5] + f) | 0),
+                (n[6] = (n[6] + l) | 0),
+                (n[7] = (n[7] + h) | 0);
+            },
+            _doFinalize: function () {
+              var t = this._data,
+                n = t.words,
+                r = 8 * this._nDataBytes,
+                i = 8 * t.sigBytes;
+              return (
+                (n[i >>> 5] |= 128 << (24 - (i % 32))),
+                (n[14 + (((i + 64) >>> 9) << 4)] = e.floor(r / 4294967296)),
+                (n[15 + (((i + 64) >>> 9) << 4)] = r),
+                (t.sigBytes = 4 * n.length),
+                this._process(),
+                this._hash
+              );
+            },
+            clone: function () {
+              var e = o.clone.call(this);
+              return (e._hash = this._hash.clone()), e;
+            },
+          }));
+        (t.SHA256 = o._createHelper(f)),
+          (t.HmacSHA256 = o._createHmacHelper(f));
+      })(Math),
+      n.SHA256);
+  }),
+  zh = jl(function (e, t) {
+    e.exports = Ml.HmacSHA256;
+  }),
+  Wh = function () {
+    var e;
+    if (!Promise) {
+      (e = function () {}).promise = {};
+      var t = function () {
+        throw new Th({
+          message:
+            'Your Node runtime does support ES6 Promises. Set "global.Promise" to your preferred implementation of promises.',
+        });
+      };
+      return (
+        Object.defineProperty(e.promise, "then", { get: t }),
+        Object.defineProperty(e.promise, "catch", { get: t }),
+        e
+      );
+    }
+    var n = new Promise(function (t, n) {
+      e = function (e, r) {
+        return e ? n(e) : t(r);
+      };
+    });
+    return (e.promise = n), e;
+  };
+function Vh(e) {
+  return void 0 === e;
+}
+function Kh(e) {
+  return "[object Null]" === Object.prototype.toString.call(e);
+}
+!(function (e) {
+  (e.WEB = "web"), (e.WX_MP = "wx_mp");
+})(Fh || (Fh = {}));
+var Jh = { adapter: null, runtime: void 0 },
+  Gh = ["anonymousUuidKey"],
+  Yh = (function (e) {
+    i(n, Hh);
+    var t = o(n);
+    function n() {
+      var e;
+      return (
+        s(this, n),
+        (e = t.call(this)),
+        Jh.adapter.root.tcbObject || (Jh.adapter.root.tcbObject = {}),
+        e
+      );
+    }
+    return (
+      c(n, [
+        {
+          key: "setItem",
+          value: function (e, t) {
+            Jh.adapter.root.tcbObject[e] = t;
+          },
+        },
+        {
+          key: "getItem",
+          value: function (e) {
+            return Jh.adapter.root.tcbObject[e];
+          },
+        },
+        {
+          key: "removeItem",
+          value: function (e) {
+            delete Jh.adapter.root.tcbObject[e];
+          },
+        },
+        {
+          key: "clear",
+          value: function () {
+            delete Jh.adapter.root.tcbObject;
+          },
+        },
+      ]),
+      n
+    );
+  })();
+function Xh(e, t) {
+  switch (e) {
+    case "local":
+      return t.localStorage || new Yh();
+    case "none":
+      return new Yh();
+    default:
+      return t.sessionStorage || new Yh();
+  }
+}
+var Qh = (function () {
+    function e(t) {
+      if ((s(this, e), !this._storage)) {
+        (this._persistence = Jh.adapter.primaryStorage || t.persistence),
+          (this._storage = Xh(this._persistence, Jh.adapter));
+        var n = "access_token_".concat(t.env),
+          r = "access_token_expire_".concat(t.env),
+          i = "refresh_token_".concat(t.env),
+          o = "anonymous_uuid_".concat(t.env),
+          a = "login_type_".concat(t.env),
+          u = "user_info_".concat(t.env);
+        this.keys = {
+          accessTokenKey: n,
+          accessTokenExpireKey: r,
+          refreshTokenKey: i,
+          anonymousUuidKey: o,
+          loginTypeKey: a,
+          userInfoKey: u,
+        };
+      }
+    }
+    return (
+      c(e, [
+        {
+          key: "updatePersistence",
+          value: function (e) {
+            if (e !== this._persistence) {
+              var t = "local" === this._persistence;
+              this._persistence = e;
+              var n = Xh(e, Jh.adapter);
+              for (var r in this.keys) {
+                var i = this.keys[r];
+                if (!t || !Gh.includes(r)) {
+                  var o = this._storage.getItem(i);
+                  Vh(o) ||
+                    Kh(o) ||
+                    (n.setItem(i, o), this._storage.removeItem(i));
+                }
+              }
+              this._storage = n;
+            }
+          },
+        },
+        {
+          key: "setStore",
+          value: function (e, t, n) {
+            if (this._storage) {
+              var r = { version: n || "localCachev1", content: t },
+                i = JSON.stringify(r);
+              try {
+                this._storage.setItem(e, i);
+              } catch (e) {
+                throw e;
+              }
+            }
+          },
+        },
+        {
+          key: "getStore",
+          value: function (e, t) {
+            try {
+              if (!this._storage) return;
+            } catch (e) {
+              return "";
+            }
+            t = t || "localCachev1";
+            var n = this._storage.getItem(e);
+            return n && n.indexOf(t) >= 0 ? JSON.parse(n).content : "";
+          },
+        },
+        {
+          key: "removeStore",
+          value: function (e) {
+            this._storage.removeItem(e);
+          },
+        },
+      ]),
+      e
+    );
+  })(),
+  Zh = {},
+  ep = {};
+function tp(e) {
+  return Zh[e];
+}
+var np = c(function e(t, n) {
+    s(this, e), (this.data = n || null), (this.name = t);
+  }),
+  rp = (function (e) {
+    i(n, np);
+    var t = o(n);
+    function n(e, r) {
+      var i;
+      return (
+        s(this, n),
+        ((i = t.call(this, "error", { error: e, data: r })).error = e),
+        i
+      );
+    }
+    return c(n);
+  })(),
+  ip = new ((function () {
+    function e() {
+      s(this, e), (this._listeners = {});
+    }
+    return (
+      c(e, [
+        {
+          key: "on",
+          value: function (e, t) {
+            return (
+              (function (e, t, n) {
+                (n[e] = n[e] || []), n[e].push(t);
+              })(e, t, this._listeners),
+              this
+            );
+          },
+        },
+        {
+          key: "off",
+          value: function (e, t) {
+            return (
+              (function (e, t, n) {
+                if (n && n[e]) {
+                  var r = n[e].indexOf(t);
+                  -1 !== r && n[e].splice(r, 1);
+                }
+              })(e, t, this._listeners),
+              this
+            );
+          },
+        },
+        {
+          key: "fire",
+          value: function (e, t) {
+            if (e instanceof rp) return console.error(e.error), this;
+            var n = "string" == typeof e ? new np(e, t || {}) : e,
+              r = n.name;
+            if (this._listens(r)) {
+              n.target = this;
+              var i,
+                o = this._listeners[r] ? p(this._listeners[r]) : [],
+                a = u(o);
+              try {
+                for (a.s(); !(i = a.n()).done; ) {
+                  i.value.call(this, n);
+                }
+              } catch (e) {
+                a.e(e);
+              } finally {
+                a.f();
+              }
+            }
+            return this;
+          },
+        },
+        {
+          key: "_listens",
+          value: function (e) {
+            return this._listeners[e] && this._listeners[e].length > 0;
+          },
+        },
+      ]),
+      e
+    );
+  })())();
+function op(e, t) {
+  ip.on(e, t);
+}
+function ap(e) {
+  var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
+  ip.fire(e, t);
+}
+function up(e, t) {
+  ip.off(e, t);
+}
+var sp,
+  cp = "loginStateChanged",
+  fp = "loginStateExpire",
+  lp = "loginTypeChanged",
+  hp = "anonymousConverted",
+  pp = "refreshAccessToken";
+!(function (e) {
+  (e.ANONYMOUS = "ANONYMOUS"),
+    (e.WECHAT = "WECHAT"),
+    (e.WECHAT_PUBLIC = "WECHAT-PUBLIC"),
+    (e.WECHAT_OPEN = "WECHAT-OPEN"),
+    (e.CUSTOM = "CUSTOM"),
+    (e.EMAIL = "EMAIL"),
+    (e.USERNAME = "USERNAME"),
+    (e.NULL = "NULL");
+})(sp || (sp = {}));
+var dp = [
+    "auth.getJwt",
+    "auth.logout",
+    "auth.signInWithTicket",
+    "auth.signInAnonymously",
+    "auth.signIn",
+    "auth.fetchAccessTokenWithRefreshToken",
+    "auth.signUpWithEmailAndPassword",
+    "auth.activateEndUserMail",
+    "auth.sendPasswordResetEmail",
+    "auth.resetPasswordWithToken",
+    "auth.isUsernameRegistered",
+  ],
+  vp = { "X-SDK-Version": "1.3.5" };
+function gp(e, t, n) {
+  var i = e[t];
+  e[t] = function (t) {
+    var o = {},
+      a = {};
+    n.forEach(function (n) {
+      var r = n.call(e, t),
+        i = r.data,
+        u = r.headers;
+      Object.assign(o, i), Object.assign(a, u);
+    });
+    var u = t.data;
+    return (
+      u &&
+        (function () {
+          var e;
+          if (
+            ((e = u), "[object FormData]" !== Object.prototype.toString.call(e))
+          )
+            t.data = r(r({}, u), o);
+          else for (var n in o) u.append(n, o[n]);
+        })(),
+      (t.headers = r(r({}, t.headers || {}), a)),
+      i.call(e, t)
+    );
+  };
+}
+function yp() {
+  var e = Math.random().toString(16).slice(2);
+  return { data: { seqId: e }, headers: r(r({}, vp), {}, { "x-seqid": e }) };
+}
+var _p = (function () {
+    function e() {
+      var t,
+        n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
+      s(this, e),
+        (this.config = n),
+        (this._reqClass = new Jh.adapter.reqClass({
+          timeout: this.config.timeout,
+          timeoutMsg: "请求在".concat(
+            this.config.timeout / 1e3,
+            "s内未完成,已中断"
+          ),
+          restrictedMethods: ["post"],
+        })),
+        (this._cache = tp(this.config.env)),
+        (this._localCache = ((t = this.config.env), ep[t])),
+        gp(this._reqClass, "post", [yp]),
+        gp(this._reqClass, "upload", [yp]),
+        gp(this._reqClass, "download", [yp]);
+    }
+    var i, o, a, u, f, l, h, p;
+    return (
+      c(e, [
+        {
+          key: "post",
+          value:
+            ((p = n(
+              t().mark(function e(n) {
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (e.next = 2), this._reqClass.post(n);
+                        case 2:
+                          return e.abrupt("return", e.sent);
+                        case 3:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e) {
+              return p.apply(this, arguments);
+            }),
+        },
+        {
+          key: "upload",
+          value:
+            ((h = n(
+              t().mark(function e(n) {
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (e.next = 2), this._reqClass.upload(n);
+                        case 2:
+                          return e.abrupt("return", e.sent);
+                        case 3:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e) {
+              return h.apply(this, arguments);
+            }),
+        },
+        {
+          key: "download",
+          value:
+            ((l = n(
+              t().mark(function e(n) {
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (e.next = 2), this._reqClass.download(n);
+                        case 2:
+                          return e.abrupt("return", e.sent);
+                        case 3:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e) {
+              return l.apply(this, arguments);
+            }),
+        },
+        {
+          key: "refreshAccessToken",
+          value:
+            ((f = n(
+              t().mark(function e() {
+                var n, r;
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (
+                            this._refreshAccessTokenPromise ||
+                              (this._refreshAccessTokenPromise =
+                                this._refreshAccessToken()),
+                            (e.prev = 1),
+                            (e.next = 4),
+                            this._refreshAccessTokenPromise
+                          );
+                        case 4:
+                          (n = e.sent), (e.next = 10);
+                          break;
+                        case 7:
+                          (e.prev = 7), (e.t0 = e.catch(1)), (r = e.t0);
+                        case 10:
+                          if (
+                            ((this._refreshAccessTokenPromise = null),
+                            (this._shouldRefreshAccessTokenHook = null),
+                            !r)
+                          ) {
+                            e.next = 12;
+                            break;
+                          }
+                          throw r;
+                        case 12:
+                          return e.abrupt("return", n);
+                        case 13:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this,
+                  [[1, 7]]
+                );
+              })
+            )),
+            function () {
+              return f.apply(this, arguments);
+            }),
+        },
+        {
+          key: "_refreshAccessToken",
+          value:
+            ((u = n(
+              t().mark(function e() {
+                var n, r, i, o, a, u, s, c, f, l, h, p, d;
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          if (
+                            ((n = this._cache.keys),
+                            (r = n.accessTokenKey),
+                            (i = n.accessTokenExpireKey),
+                            (o = n.refreshTokenKey),
+                            (a = n.loginTypeKey),
+                            (u = n.anonymousUuidKey),
+                            this._cache.removeStore(r),
+                            this._cache.removeStore(i),
+                            (s = this._cache.getStore(o)))
+                          ) {
+                            e.next = 5;
+                            break;
+                          }
+                          throw new Th({ message: "未登录CloudBase" });
+                        case 5:
+                          return (
+                            (c = { refresh_token: s }),
+                            (e.next = 8),
+                            this.request(
+                              "auth.fetchAccessTokenWithRefreshToken",
+                              c
+                            )
+                          );
+                        case 8:
+                          if (!(f = e.sent).data.code) {
+                            e.next = 21;
+                            break;
+                          }
+                          if (
+                            "SIGN_PARAM_INVALID" !== (l = f.data.code) &&
+                            "REFRESH_TOKEN_EXPIRED" !== l &&
+                            "INVALID_REFRESH_TOKEN" !== l
+                          ) {
+                            e.next = 20;
+                            break;
+                          }
+                          if (
+                            this._cache.getStore(a) !== sp.ANONYMOUS ||
+                            "INVALID_REFRESH_TOKEN" !== l
+                          ) {
+                            e.next = 19;
+                            break;
+                          }
+                          return (
+                            (h = this._cache.getStore(u)),
+                            (p = this._cache.getStore(o)),
+                            (e.next = 17),
+                            this.send("auth.signInAnonymously", {
+                              anonymous_uuid: h,
+                              refresh_token: p,
+                            })
+                          );
+                        case 17:
+                          return (
+                            (d = e.sent),
+                            e.abrupt(
+                              "return",
+                              (this.setRefreshToken(d.refresh_token),
+                              this._refreshAccessToken())
+                            )
+                          );
+                        case 19:
+                          ap(fp), this._cache.removeStore(o);
+                        case 20:
+                          throw new Th({
+                            code: f.data.code,
+                            message: "刷新access token失败:".concat(
+                              f.data.code
+                            ),
+                          });
+                        case 21:
+                          if (!f.data.access_token) {
+                            e.next = 23;
+                            break;
+                          }
+                          return e.abrupt(
+                            "return",
+                            (ap(pp),
+                            this._cache.setStore(r, f.data.access_token),
+                            this._cache.setStore(
+                              i,
+                              f.data.access_token_expire + Date.now()
+                            ),
+                            {
+                              accessToken: f.data.access_token,
+                              accessTokenExpire: f.data.access_token_expire,
+                            })
+                          );
+                        case 23:
+                          f.data.refresh_token &&
+                            (this._cache.removeStore(o),
+                            this._cache.setStore(o, f.data.refresh_token),
+                            this._refreshAccessToken());
+                        case 24:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function () {
+              return u.apply(this, arguments);
+            }),
+        },
+        {
+          key: "getAccessToken",
+          value:
+            ((a = n(
+              t().mark(function e() {
+                var n, r, i, o, a, u, s;
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          if (
+                            ((n = this._cache.keys),
+                            (r = n.accessTokenKey),
+                            (i = n.accessTokenExpireKey),
+                            (o = n.refreshTokenKey),
+                            this._cache.getStore(o))
+                          ) {
+                            e.next = 3;
+                            break;
+                          }
+                          throw new Th({
+                            message: "refresh token不存在,登录状态异常",
+                          });
+                        case 3:
+                          if (
+                            ((a = this._cache.getStore(r)),
+                            (u = this._cache.getStore(i)),
+                            (s = !0),
+                            (e.t0 = this._shouldRefreshAccessTokenHook),
+                            !e.t0)
+                          ) {
+                            e.next = 9;
+                            break;
+                          }
+                          return (
+                            (e.next = 8),
+                            this._shouldRefreshAccessTokenHook(a, u)
+                          );
+                        case 8:
+                          e.t0 = !e.sent;
+                        case 9:
+                          if (((e.t1 = e.t0), !e.t1)) {
+                            e.next = 12;
+                            break;
+                          }
+                          s = !1;
+                        case 12:
+                          return e.abrupt(
+                            "return",
+                            (!a || !u || u < Date.now()) && s
+                              ? this.refreshAccessToken()
+                              : { accessToken: a, accessTokenExpire: u }
+                          );
+                        case 13:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function () {
+              return a.apply(this, arguments);
+            }),
+        },
+        {
+          key: "request",
+          value:
+            ((o = n(
+              t().mark(function e(n, i, o) {
+                var a, u, s, c, f, l, h, p, d, v, g, y, _, m, w, k;
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          if (
+                            ((a = "x-tcb-trace_".concat(this.config.env)),
+                            (u = "application/x-www-form-urlencoded"),
+                            (s = r(
+                              {
+                                action: n,
+                                env: this.config.env,
+                                dataVersion: "2019-08-16",
+                              },
+                              i
+                            )),
+                            -1 !== dp.indexOf(n))
+                          ) {
+                            e.next = 10;
+                            break;
+                          }
+                          if (
+                            ((c = this._cache.keys.refreshTokenKey),
+                            (e.t0 = this._cache.getStore(c)),
+                            !e.t0)
+                          ) {
+                            e.next = 10;
+                            break;
+                          }
+                          return (e.next = 9), this.getAccessToken();
+                        case 9:
+                          s.access_token = e.sent.accessToken;
+                        case 10:
+                          if ("storage.uploadFile" === n) {
+                            for (l in (f = new FormData()))
+                              f.hasOwnProperty(l) &&
+                                void 0 !== f[l] &&
+                                f.append(l, s[l]);
+                            u = "multipart/form-data";
+                          } else
+                            for (h in ((u = "application/json"), (f = {}), s))
+                              void 0 !== s[h] && (f[h] = s[h]);
+                          return (
+                            (p = { headers: { "content-type": u } }),
+                            o &&
+                              o.onUploadProgress &&
+                              (p.onUploadProgress = o.onUploadProgress),
+                            (d = this._localCache.getStore(a)) &&
+                              (p.headers["X-TCB-Trace"] = d),
+                            (v = i.parse),
+                            (g = i.inQuery),
+                            (y = i.search),
+                            (_ = { env: this.config.env }),
+                            v && (_.parse = !0),
+                            g && (_ = r(r({}, g), _)),
+                            (m = (function (e, t) {
+                              var n =
+                                  arguments.length > 2 &&
+                                  void 0 !== arguments[2]
+                                    ? arguments[2]
+                                    : {},
+                                r = /\?/.test(t),
+                                i = "";
+                              for (var o in n)
+                                "" === i ? !r && (t += "?") : (i += "&"),
+                                  (i += ""
+                                    .concat(o, "=")
+                                    .concat(encodeURIComponent(n[o])));
+                              return /^http(s)?\:\/\//.test((t += i))
+                                ? t
+                                : "".concat(e).concat(t);
+                            })($h, "//tcb-api.tencentcloudapi.com/web", _)),
+                            y && (m += y),
+                            (e.next = 22),
+                            this.post(r({ url: m, data: f }, p))
+                          );
+                        case 22:
+                          if (
+                            ((w = e.sent),
+                            (k = w.header && w.header["x-tcb-trace"]) &&
+                              this._localCache.setStore(a, k),
+                            (200 === Number(w.status) ||
+                              200 === Number(w.statusCode)) &&
+                              w.data)
+                          ) {
+                            e.next = 26;
+                            break;
+                          }
+                          throw new Th({
+                            code: "NETWORK_ERROR",
+                            message: "network request error",
+                          });
+                        case 26:
+                          return e.abrupt("return", w);
+                        case 27:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e, t, n) {
+              return o.apply(this, arguments);
+            }),
+        },
+        {
+          key: "send",
+          value:
+            ((i = n(
+              t().mark(function e(n) {
+                var r,
+                  i,
+                  o,
+                  a = arguments;
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (
+                            (r = a.length > 1 && void 0 !== a[1] ? a[1] : {}),
+                            (e.next = 3),
+                            this.request(n, r, {
+                              onUploadProgress: r.onUploadProgress,
+                            })
+                          );
+                        case 3:
+                          if (
+                            "ACCESS_TOKEN_EXPIRED" !== (i = e.sent).data.code ||
+                            -1 !== dp.indexOf(n)
+                          ) {
+                            e.next = 13;
+                            break;
+                          }
+                          return (e.next = 7), this.refreshAccessToken();
+                        case 7:
+                          return (
+                            (e.next = 9),
+                            this.request(n, r, {
+                              onUploadProgress: r.onUploadProgress,
+                            })
+                          );
+                        case 9:
+                          if (!(o = e.sent).data.code) {
+                            e.next = 12;
+                            break;
+                          }
+                          throw new Th({
+                            code: o.data.code,
+                            message: o.data.message,
+                          });
+                        case 12:
+                          return e.abrupt("return", o.data);
+                        case 13:
+                          if (!i.data.code) {
+                            e.next = 15;
+                            break;
+                          }
+                          throw new Th({
+                            code: i.data.code,
+                            message: i.data.message,
+                          });
+                        case 15:
+                          return e.abrupt("return", i.data);
+                        case 16:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e) {
+              return i.apply(this, arguments);
+            }),
+        },
+        {
+          key: "setRefreshToken",
+          value: function (e) {
+            var t = this._cache.keys,
+              n = t.accessTokenKey,
+              r = t.accessTokenExpireKey,
+              i = t.refreshTokenKey;
+            this._cache.removeStore(n),
+              this._cache.removeStore(r),
+              this._cache.setStore(i, e);
+          },
+        },
+      ]),
+      e
+    );
+  })(),
+  mp = {};
+function wp(e) {
+  return mp[e];
+}
+var kp = (function () {
+    function e(t) {
+      s(this, e),
+        (this.config = t),
+        (this._cache = tp(t.env)),
+        (this._request = wp(t.env));
+    }
+    var r;
+    return (
+      c(e, [
+        {
+          key: "setRefreshToken",
+          value: function (e) {
+            var t = this._cache.keys,
+              n = t.accessTokenKey,
+              r = t.accessTokenExpireKey,
+              i = t.refreshTokenKey;
+            this._cache.removeStore(n),
+              this._cache.removeStore(r),
+              this._cache.setStore(i, e);
+          },
+        },
+        {
+          key: "setAccessToken",
+          value: function (e, t) {
+            var n = this._cache.keys,
+              r = n.accessTokenKey,
+              i = n.accessTokenExpireKey;
+            this._cache.setStore(r, e), this._cache.setStore(i, t);
+          },
+        },
+        {
+          key: "refreshUserInfo",
+          value:
+            ((r = n(
+              t().mark(function e() {
+                var n, r;
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (
+                            (e.next = 2),
+                            this._request.send("auth.getUserInfo", {})
+                          );
+                        case 2:
+                          return (
+                            (n = e.sent),
+                            (r = n.data),
+                            e.abrupt("return", (this.setLocalUserInfo(r), r))
+                          );
+                        case 5:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function () {
+              return r.apply(this, arguments);
+            }),
+        },
+        {
+          key: "setLocalUserInfo",
+          value: function (e) {
+            var t = this._cache.keys.userInfoKey;
+            this._cache.setStore(t, e);
+          },
+        },
+      ]),
+      e
+    );
+  })(),
+  bp = (function () {
+    function e(t) {
+      if ((s(this, e), !t))
+        throw new Th({ code: "PARAM_ERROR", message: "envId is not defined" });
+      (this._envId = t),
+        (this._cache = tp(this._envId)),
+        (this._request = wp(this._envId)),
+        this.setUserInfo();
+    }
+    var r, i, o;
+    return (
+      c(e, [
+        {
+          key: "linkWithTicket",
+          value: function (e) {
+            if ("string" != typeof e)
+              throw new Th({
+                code: "PARAM_ERROR",
+                message: "ticket must be string",
+              });
+            return this._request.send("auth.linkWithTicket", { ticket: e });
+          },
+        },
+        {
+          key: "linkWithRedirect",
+          value: function (e) {
+            e.signInWithRedirect();
+          },
+        },
+        {
+          key: "updatePassword",
+          value: function (e, t) {
+            return this._request.send("auth.updatePassword", {
+              oldPassword: t,
+              newPassword: e,
+            });
+          },
+        },
+        {
+          key: "updateEmail",
+          value: function (e) {
+            return this._request.send("auth.updateEmail", { newEmail: e });
+          },
+        },
+        {
+          key: "updateUsername",
+          value: function (e) {
+            if ("string" != typeof e)
+              throw new Th({
+                code: "PARAM_ERROR",
+                message: "username must be a string",
+              });
+            return this._request.send("auth.updateUsername", { username: e });
+          },
+        },
+        {
+          key: "getLinkedUidList",
+          value:
+            ((o = n(
+              t().mark(function e() {
+                var n, r, i, o;
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (
+                            (e.next = 2),
+                            this._request.send("auth.getLinkedUidList", {})
+                          );
+                        case 2:
+                          return (
+                            (n = e.sent),
+                            (r = n.data),
+                            (i = !1),
+                            (o = r.users),
+                            e.abrupt(
+                              "return",
+                              (o.forEach(function (e) {
+                                e.wxOpenId && e.wxPublicId && (i = !0);
+                              }),
+                              { users: o, hasPrimaryUid: i })
+                            )
+                          );
+                        case 7:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function () {
+              return o.apply(this, arguments);
+            }),
+        },
+        {
+          key: "setPrimaryUid",
+          value: function (e) {
+            return this._request.send("auth.setPrimaryUid", { uid: e });
+          },
+        },
+        {
+          key: "unlink",
+          value: function (e) {
+            return this._request.send("auth.unlink", { platform: e });
+          },
+        },
+        {
+          key: "update",
+          value:
+            ((i = n(
+              t().mark(function e(n) {
+                var r, i, o, a, u, s, c, f;
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (
+                            (r = n.nickName),
+                            (i = n.gender),
+                            (o = n.avatarUrl),
+                            (a = n.province),
+                            (u = n.country),
+                            (s = n.city),
+                            (e.next = 8),
+                            this._request.send("auth.updateUserInfo", {
+                              nickName: r,
+                              gender: i,
+                              avatarUrl: o,
+                              province: a,
+                              country: u,
+                              city: s,
+                            })
+                          );
+                        case 8:
+                          (c = e.sent), (f = c.data), this.setLocalUserInfo(f);
+                        case 11:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e) {
+              return i.apply(this, arguments);
+            }),
+        },
+        {
+          key: "refresh",
+          value:
+            ((r = n(
+              t().mark(function e() {
+                var n, r;
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (
+                            (e.next = 2),
+                            this._request.send("auth.getUserInfo", {})
+                          );
+                        case 2:
+                          return (
+                            (n = e.sent),
+                            (r = n.data),
+                            e.abrupt("return", (this.setLocalUserInfo(r), r))
+                          );
+                        case 5:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function () {
+              return r.apply(this, arguments);
+            }),
+        },
+        {
+          key: "setUserInfo",
+          value: function () {
+            var e = this,
+              t = this._cache.keys.userInfoKey,
+              n = this._cache.getStore(t);
+            [
+              "uid",
+              "loginType",
+              "openid",
+              "wxOpenId",
+              "wxPublicId",
+              "unionId",
+              "qqMiniOpenId",
+              "email",
+              "hasPassword",
+              "customUserId",
+              "nickName",
+              "gender",
+              "avatarUrl",
+            ].forEach(function (t) {
+              e[t] = n[t];
+            }),
+              (this.location = {
+                country: n.country,
+                province: n.province,
+                city: n.city,
+              });
+          },
+        },
+        {
+          key: "setLocalUserInfo",
+          value: function (e) {
+            var t = this._cache.keys.userInfoKey;
+            this._cache.setStore(t, e), this.setUserInfo();
+          },
+        },
+      ]),
+      e
+    );
+  })(),
+  xp = (function () {
+    function e(t) {
+      if ((s(this, e), !t))
+        throw new Th({ code: "PARAM_ERROR", message: "envId is not defined" });
+      this._cache = tp(t);
+      var n = this._cache.keys,
+        r = n.refreshTokenKey,
+        i = n.accessTokenKey,
+        o = n.accessTokenExpireKey,
+        a = this._cache.getStore(r),
+        u = this._cache.getStore(i),
+        c = this._cache.getStore(o);
+      (this.credential = {
+        refreshToken: a,
+        accessToken: u,
+        accessTokenExpire: c,
+      }),
+        (this.user = new bp(t));
+    }
+    return (
+      c(e, [
+        {
+          key: "isAnonymousAuth",
+          get: function () {
+            return this.loginType === sp.ANONYMOUS;
+          },
+        },
+        {
+          key: "isCustomAuth",
+          get: function () {
+            return this.loginType === sp.CUSTOM;
+          },
+        },
+        {
+          key: "isWeixinAuth",
+          get: function () {
+            return (
+              this.loginType === sp.WECHAT ||
+              this.loginType === sp.WECHAT_OPEN ||
+              this.loginType === sp.WECHAT_PUBLIC
+            );
+          },
+        },
+        {
+          key: "loginType",
+          get: function () {
+            return this._cache.getStore(this._cache.keys.loginTypeKey);
+          },
+        },
+      ]),
+      e
+    );
+  })(),
+  Sp = (function (e) {
+    i(f, kp);
+    var r,
+      a,
+      u = o(f);
+    function f() {
+      return s(this, f), u.apply(this, arguments);
+    }
+    return (
+      c(f, [
+        {
+          key: "signIn",
+          value:
+            ((a = n(
+              t().mark(function e() {
+                var n, r, i, o, a, u, s;
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (
+                            this._cache.updatePersistence("local"),
+                            (n = this._cache.keys),
+                            (r = n.anonymousUuidKey),
+                            (i = n.refreshTokenKey),
+                            (o = this._cache.getStore(r) || void 0),
+                            (a = this._cache.getStore(i) || void 0),
+                            (e.next = 8),
+                            this._request.send("auth.signInAnonymously", {
+                              anonymous_uuid: o,
+                              refresh_token: a,
+                            })
+                          );
+                        case 8:
+                          if (!(u = e.sent).uuid || !u.refresh_token) {
+                            e.next = 20;
+                            break;
+                          }
+                          return (
+                            this._setAnonymousUUID(u.uuid),
+                            this.setRefreshToken(u.refresh_token),
+                            (e.next = 14),
+                            this._request.refreshAccessToken()
+                          );
+                        case 14:
+                          return (
+                            ap(cp),
+                            ap(lp, {
+                              env: this.config.env,
+                              loginType: sp.ANONYMOUS,
+                              persistence: "local",
+                            }),
+                            (s = new xp(this.config.env)),
+                            (e.next = 19),
+                            s.user.refresh()
+                          );
+                        case 19:
+                          return e.abrupt("return", s);
+                        case 20:
+                          throw new Th({ message: "匿名登录失败" });
+                        case 21:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function () {
+              return a.apply(this, arguments);
+            }),
+        },
+        {
+          key: "linkAndRetrieveDataWithTicket",
+          value:
+            ((r = n(
+              t().mark(function e(n) {
+                var r, i, o, a, u, s;
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (
+                            (r = this._cache.keys),
+                            (i = r.anonymousUuidKey),
+                            (o = r.refreshTokenKey),
+                            (a = this._cache.getStore(i)),
+                            (u = this._cache.getStore(o)),
+                            (e.next = 7),
+                            this._request.send(
+                              "auth.linkAndRetrieveDataWithTicket",
+                              { anonymous_uuid: a, refresh_token: u, ticket: n }
+                            )
+                          );
+                        case 7:
+                          if (!(s = e.sent).refresh_token) {
+                            e.next = 16;
+                            break;
+                          }
+                          return (
+                            this._clearAnonymousUUID(),
+                            this.setRefreshToken(s.refresh_token),
+                            (e.next = 13),
+                            this._request.refreshAccessToken()
+                          );
+                        case 13:
+                          return (
+                            ap(hp, { env: this.config.env }),
+                            ap(lp, {
+                              loginType: sp.CUSTOM,
+                              persistence: "local",
+                            }),
+                            e.abrupt("return", {
+                              credential: { refreshToken: s.refresh_token },
+                            })
+                          );
+                        case 16:
+                          throw new Th({ message: "匿名转化失败" });
+                        case 17:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e) {
+              return r.apply(this, arguments);
+            }),
+        },
+        {
+          key: "_setAnonymousUUID",
+          value: function (e) {
+            var t = this._cache.keys,
+              n = t.anonymousUuidKey,
+              r = t.loginTypeKey;
+            this._cache.removeStore(n),
+              this._cache.setStore(n, e),
+              this._cache.setStore(r, sp.ANONYMOUS);
+          },
+        },
+        {
+          key: "_clearAnonymousUUID",
+          value: function () {
+            this._cache.removeStore(this._cache.keys.anonymousUuidKey);
+          },
+        },
+      ]),
+      f
+    );
+  })(),
+  Ap = (function (e) {
+    i(u, kp);
+    var r,
+      a = o(u);
+    function u() {
+      return s(this, u), a.apply(this, arguments);
+    }
+    return (
+      c(u, [
+        {
+          key: "signIn",
+          value:
+            ((r = n(
+              t().mark(function e(n) {
+                var r, i;
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          if ("string" == typeof n) {
+                            e.next = 2;
+                            break;
+                          }
+                          throw new Th({
+                            code: "PARAM_ERROR",
+                            message: "ticket must be a string",
+                          });
+                        case 2:
+                          return (
+                            (r = this._cache.keys.refreshTokenKey),
+                            (e.next = 5),
+                            this._request.send("auth.signInWithTicket", {
+                              ticket: n,
+                              refresh_token: this._cache.getStore(r) || "",
+                            })
+                          );
+                        case 5:
+                          if (!(i = e.sent).refresh_token) {
+                            e.next = 15;
+                            break;
+                          }
+                          return (
+                            this.setRefreshToken(i.refresh_token),
+                            (e.next = 10),
+                            this._request.refreshAccessToken()
+                          );
+                        case 10:
+                          return (
+                            ap(cp),
+                            ap(lp, {
+                              env: this.config.env,
+                              loginType: sp.CUSTOM,
+                              persistence: this.config.persistence,
+                            }),
+                            (e.next = 14),
+                            this.refreshUserInfo()
+                          );
+                        case 14:
+                          return e.abrupt("return", new xp(this.config.env));
+                        case 15:
+                          throw new Th({ message: "自定义登录失败" });
+                        case 16:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e) {
+              return r.apply(this, arguments);
+            }),
+        },
+      ]),
+      u
+    );
+  })(),
+  Ip = (function (e) {
+    i(l, kp);
+    var r,
+      a,
+      u,
+      f = o(l);
+    function l() {
+      return s(this, l), f.apply(this, arguments);
+    }
+    return (
+      c(l, [
+        {
+          key: "signIn",
+          value:
+            ((u = n(
+              t().mark(function e(n, r) {
+                var i, o, a, u, s;
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          if ("string" == typeof n) {
+                            e.next = 2;
+                            break;
+                          }
+                          throw new Th({
+                            code: "PARAM_ERROR",
+                            message: "email must be a string",
+                          });
+                        case 2:
+                          return (
+                            (i = this._cache.keys.refreshTokenKey),
+                            (e.next = 5),
+                            this._request.send("auth.signIn", {
+                              loginType: "EMAIL",
+                              email: n,
+                              password: r,
+                              refresh_token: this._cache.getStore(i) || "",
+                            })
+                          );
+                        case 5:
+                          if (
+                            ((o = e.sent),
+                            (a = o.refresh_token),
+                            (u = o.access_token),
+                            (s = o.access_token_expire),
+                            !a)
+                          ) {
+                            e.next = 22;
+                            break;
+                          }
+                          if ((this.setRefreshToken(a), !u || !s)) {
+                            e.next = 15;
+                            break;
+                          }
+                          this.setAccessToken(u, s), (e.next = 17);
+                          break;
+                        case 15:
+                          return (
+                            (e.next = 17), this._request.refreshAccessToken()
+                          );
+                        case 17:
+                          return (e.next = 19), this.refreshUserInfo();
+                        case 19:
+                          return (
+                            ap(cp),
+                            ap(lp, {
+                              env: this.config.env,
+                              loginType: sp.EMAIL,
+                              persistence: this.config.persistence,
+                            }),
+                            e.abrupt("return", new xp(this.config.env))
+                          );
+                        case 22:
+                          throw o.code
+                            ? new Th({
+                                code: o.code,
+                                message: "邮箱登录失败: ".concat(o.message),
+                              })
+                            : new Th({ message: "邮箱登录失败" });
+                        case 23:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e, t) {
+              return u.apply(this, arguments);
+            }),
+        },
+        {
+          key: "activate",
+          value:
+            ((a = n(
+              t().mark(function e(n) {
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return e.abrupt(
+                            "return",
+                            this._request.send("auth.activateEndUserMail", {
+                              token: n,
+                            })
+                          );
+                        case 1:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e) {
+              return a.apply(this, arguments);
+            }),
+        },
+        {
+          key: "resetPasswordWithToken",
+          value:
+            ((r = n(
+              t().mark(function e(n, r) {
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return e.abrupt(
+                            "return",
+                            this._request.send("auth.resetPasswordWithToken", {
+                              token: n,
+                              newPassword: r,
+                            })
+                          );
+                        case 1:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e, t) {
+              return r.apply(this, arguments);
+            }),
+        },
+      ]),
+      l
+    );
+  })(),
+  Op = (function (e) {
+    i(u, kp);
+    var r,
+      a = o(u);
+    function u() {
+      return s(this, u), a.apply(this, arguments);
+    }
+    return (
+      c(u, [
+        {
+          key: "signIn",
+          value:
+            ((r = n(
+              t().mark(function e(n, r) {
+                var i, o, a, u, s;
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          if ("string" == typeof n) {
+                            e.next = 2;
+                            break;
+                          }
+                          throw new Th({
+                            code: "PARAM_ERROR",
+                            message: "username must be a string",
+                          });
+                        case 2:
+                          return (
+                            "string" != typeof r &&
+                              ((r = ""), console.warn("password is empty")),
+                            (i = this._cache.keys.refreshTokenKey),
+                            (e.next = 6),
+                            this._request.send("auth.signIn", {
+                              loginType: sp.USERNAME,
+                              username: n,
+                              password: r,
+                              refresh_token: this._cache.getStore(i) || "",
+                            })
+                          );
+                        case 6:
+                          if (
+                            ((o = e.sent),
+                            (a = o.refresh_token),
+                            (u = o.access_token_expire),
+                            (s = o.access_token),
+                            !a)
+                          ) {
+                            e.next = 23;
+                            break;
+                          }
+                          if ((this.setRefreshToken(a), !s || !u)) {
+                            e.next = 16;
+                            break;
+                          }
+                          this.setAccessToken(s, u), (e.next = 18);
+                          break;
+                        case 16:
+                          return (
+                            (e.next = 18), this._request.refreshAccessToken()
+                          );
+                        case 18:
+                          return (e.next = 20), this.refreshUserInfo();
+                        case 20:
+                          return (
+                            ap(cp),
+                            ap(lp, {
+                              env: this.config.env,
+                              loginType: sp.USERNAME,
+                              persistence: this.config.persistence,
+                            }),
+                            e.abrupt("return", new xp(this.config.env))
+                          );
+                        case 23:
+                          throw o.code
+                            ? new Th({
+                                code: o.code,
+                                message: "用户名密码登录失败: ".concat(
+                                  o.message
+                                ),
+                              })
+                            : new Th({ message: "用户名密码登录失败" });
+                        case 24:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e, t) {
+              return r.apply(this, arguments);
+            }),
+        },
+      ]),
+      u
+    );
+  })(),
+  Pp = (function () {
+    function e(t) {
+      s(this, e),
+        (this.config = t),
+        (this._cache = tp(t.env)),
+        (this._request = wp(t.env)),
+        (this._onAnonymousConverted = this._onAnonymousConverted.bind(this)),
+        (this._onLoginTypeChanged = this._onLoginTypeChanged.bind(this)),
+        op(lp, this._onLoginTypeChanged);
+    }
+    var i, o, a, u, f, l, h, p, d;
+    return (
+      c(e, [
+        {
+          key: "currentUser",
+          get: function () {
+            var e = this.hasLoginState();
+            return (e && e.user) || null;
+          },
+        },
+        {
+          key: "loginType",
+          get: function () {
+            return this._cache.getStore(this._cache.keys.loginTypeKey);
+          },
+        },
+        {
+          key: "anonymousAuthProvider",
+          value: function () {
+            return new Sp(this.config);
+          },
+        },
+        {
+          key: "customAuthProvider",
+          value: function () {
+            return new Ap(this.config);
+          },
+        },
+        {
+          key: "emailAuthProvider",
+          value: function () {
+            return new Ip(this.config);
+          },
+        },
+        {
+          key: "usernameAuthProvider",
+          value: function () {
+            return new Op(this.config);
+          },
+        },
+        {
+          key: "signInAnonymously",
+          value:
+            ((d = n(
+              t().mark(function e() {
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return e.abrupt(
+                            "return",
+                            new Sp(this.config).signIn()
+                          );
+                        case 1:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function () {
+              return d.apply(this, arguments);
+            }),
+        },
+        {
+          key: "signInWithEmailAndPassword",
+          value:
+            ((p = n(
+              t().mark(function e(n, r) {
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return e.abrupt(
+                            "return",
+                            new Ip(this.config).signIn(n, r)
+                          );
+                        case 1:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e, t) {
+              return p.apply(this, arguments);
+            }),
+        },
+        {
+          key: "signInWithUsernameAndPassword",
+          value: function (e, t) {
+            return new Op(this.config).signIn(e, t);
+          },
+        },
+        {
+          key: "linkAndRetrieveDataWithTicket",
+          value:
+            ((h = n(
+              t().mark(function e(n) {
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (
+                            this._anonymousAuthProvider ||
+                              (this._anonymousAuthProvider = new Sp(
+                                this.config
+                              )),
+                            op(hp, this._onAnonymousConverted),
+                            (e.next = 4),
+                            this._anonymousAuthProvider.linkAndRetrieveDataWithTicket(
+                              n
+                            )
+                          );
+                        case 4:
+                          return e.abrupt("return", e.sent);
+                        case 5:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e) {
+              return h.apply(this, arguments);
+            }),
+        },
+        {
+          key: "signOut",
+          value:
+            ((l = n(
+              t().mark(function e() {
+                var n, r, i, o, a, u;
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          if (this.loginType !== sp.ANONYMOUS) {
+                            e.next = 2;
+                            break;
+                          }
+                          throw new Th({ message: "匿名用户不支持登出操作" });
+                        case 2:
+                          if (
+                            ((n = this._cache.keys),
+                            (r = n.refreshTokenKey),
+                            (i = n.accessTokenKey),
+                            (o = n.accessTokenExpireKey),
+                            (a = this._cache.getStore(r)))
+                          ) {
+                            e.next = 5;
+                            break;
+                          }
+                          return e.abrupt("return");
+                        case 5:
+                          return (
+                            (e.next = 7),
+                            this._request.send("auth.logout", {
+                              refresh_token: a,
+                            })
+                          );
+                        case 7:
+                          return (
+                            (u = e.sent),
+                            e.abrupt(
+                              "return",
+                              (this._cache.removeStore(r),
+                              this._cache.removeStore(i),
+                              this._cache.removeStore(o),
+                              ap(cp),
+                              ap(lp, {
+                                env: this.config.env,
+                                loginType: sp.NULL,
+                                persistence: this.config.persistence,
+                              }),
+                              u)
+                            )
+                          );
+                        case 9:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function () {
+              return l.apply(this, arguments);
+            }),
+        },
+        {
+          key: "signUpWithEmailAndPassword",
+          value:
+            ((f = n(
+              t().mark(function e(n, r) {
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return e.abrupt(
+                            "return",
+                            this._request.send(
+                              "auth.signUpWithEmailAndPassword",
+                              { email: n, password: r }
+                            )
+                          );
+                        case 1:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e, t) {
+              return f.apply(this, arguments);
+            }),
+        },
+        {
+          key: "sendPasswordResetEmail",
+          value:
+            ((u = n(
+              t().mark(function e(n) {
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return e.abrupt(
+                            "return",
+                            this._request.send("auth.sendPasswordResetEmail", {
+                              email: n,
+                            })
+                          );
+                        case 1:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e) {
+              return u.apply(this, arguments);
+            }),
+        },
+        {
+          key: "onLoginStateChanged",
+          value: function (e) {
+            var t = this;
+            op(cp, function () {
+              var n = t.hasLoginState();
+              e.call(t, n);
+            });
+            var n = this.hasLoginState();
+            e.call(this, n);
+          },
+        },
+        {
+          key: "onLoginStateExpired",
+          value: function (e) {
+            op(fp, e.bind(this));
+          },
+        },
+        {
+          key: "onAccessTokenRefreshed",
+          value: function (e) {
+            op(pp, e.bind(this));
+          },
+        },
+        {
+          key: "onAnonymousConverted",
+          value: function (e) {
+            op(hp, e.bind(this));
+          },
+        },
+        {
+          key: "onLoginTypeChanged",
+          value: function (e) {
+            var t = this;
+            op(lp, function () {
+              var n = t.hasLoginState();
+              e.call(t, n);
+            });
+          },
+        },
+        {
+          key: "getAccessToken",
+          value:
+            ((a = n(
+              t().mark(function e() {
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (e.next = 2), this._request.getAccessToken();
+                        case 2:
+                          return (
+                            (e.t0 = e.sent.accessToken),
+                            (e.t1 = this.config.env),
+                            e.abrupt("return", { accessToken: e.t0, env: e.t1 })
+                          );
+                        case 5:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function () {
+              return a.apply(this, arguments);
+            }),
+        },
+        {
+          key: "hasLoginState",
+          value: function () {
+            var e = this._cache.keys.refreshTokenKey;
+            return this._cache.getStore(e) ? new xp(this.config.env) : null;
+          },
+        },
+        {
+          key: "isUsernameRegistered",
+          value:
+            ((o = n(
+              t().mark(function e(n) {
+                var r, i;
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          if ("string" == typeof n) {
+                            e.next = 2;
+                            break;
+                          }
+                          throw new Th({
+                            code: "PARAM_ERROR",
+                            message: "username must be a string",
+                          });
+                        case 2:
+                          return (
+                            (e.next = 4),
+                            this._request.send("auth.isUsernameRegistered", {
+                              username: n,
+                            })
+                          );
+                        case 4:
+                          return (
+                            (r = e.sent),
+                            (i = r.data),
+                            e.abrupt("return", i && i.isRegistered)
+                          );
+                        case 7:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e) {
+              return o.apply(this, arguments);
+            }),
+        },
+        {
+          key: "getLoginState",
+          value: function () {
+            return Promise.resolve(this.hasLoginState());
+          },
+        },
+        {
+          key: "signInWithTicket",
+          value:
+            ((i = n(
+              t().mark(function e(n) {
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return e.abrupt(
+                            "return",
+                            new Ap(this.config).signIn(n)
+                          );
+                        case 1:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e) {
+              return i.apply(this, arguments);
+            }),
+        },
+        {
+          key: "shouldRefreshAccessToken",
+          value: function (e) {
+            this._request._shouldRefreshAccessTokenHook = e.bind(this);
+          },
+        },
+        {
+          key: "getUserInfo",
+          value: function () {
+            return this._request
+              .send("auth.getUserInfo", {})
+              .then(function (e) {
+                return e.code
+                  ? e
+                  : r(r({}, e.data), {}, { requestId: e.seqId });
+              });
+          },
+        },
+        {
+          key: "getAuthHeader",
+          value: function () {
+            var e = this._cache.keys,
+              t = e.refreshTokenKey,
+              n = e.accessTokenKey,
+              r = this._cache.getStore(t);
+            return {
+              "x-cloudbase-credentials": this._cache.getStore(n) + "/@@/" + r,
+            };
+          },
+        },
+        {
+          key: "_onAnonymousConverted",
+          value: function (e) {
+            e.data.env === this.config.env &&
+              this._cache.updatePersistence(this.config.persistence);
+          },
+        },
+        {
+          key: "_onLoginTypeChanged",
+          value: function (e) {
+            var t = e.data,
+              n = t.loginType,
+              r = t.persistence;
+            t.env === this.config.env &&
+              (this._cache.updatePersistence(r),
+              this._cache.setStore(this._cache.keys.loginTypeKey, n));
+          },
+        },
+      ]),
+      e
+    );
+  })(),
+  Tp = function (e, t) {
+    t = t || Wh();
+    var n = wp(this.config.env),
+      r = e.cloudPath,
+      i = e.filePath,
+      o = e.onUploadProgress,
+      a = e.fileType,
+      u = void 0 === a ? "image" : a;
+    return (
+      n
+        .send("storage.getUploadMetadata", { path: r })
+        .then(function (e) {
+          var a = e.data,
+            s = a.url,
+            c = a.authorization,
+            f = a.token,
+            l = a.fileId,
+            h = a.cosFileId,
+            p = e.requestId,
+            d = {
+              key: r,
+              signature: c,
+              "x-cos-meta-fileid": h,
+              success_action_status: "201",
+              "x-cos-security-token": f,
+            };
+          n.upload({
+            url: s,
+            data: d,
+            file: i,
+            name: r,
+            fileType: u,
+            onUploadProgress: o,
+          })
+            .then(function (e) {
+              201 === e.statusCode
+                ? t(null, { fileID: l, requestId: p })
+                : t(
+                    new Th({
+                      code: "STORAGE_REQUEST_FAIL",
+                      message: "STORAGE_REQUEST_FAIL: ".concat(e.data),
+                    })
+                  );
+            })
+            .catch(function (e) {
+              t(e);
+            });
+        })
+        .catch(function (e) {
+          t(e);
+        }),
+      t.promise
+    );
+  },
+  Ep = function (e, t) {
+    t = t || Wh();
+    var n = wp(this.config.env),
+      r = e.cloudPath;
+    return (
+      n
+        .send("storage.getUploadMetadata", { path: r })
+        .then(function (e) {
+          t(null, e);
+        })
+        .catch(function (e) {
+          t(e);
+        }),
+      t.promise
+    );
+  },
+  Cp = function (e, t) {
+    var n = e.fileList;
+    if (((t = t || Wh()), !n || !Array.isArray(n)))
+      return { code: "INVALID_PARAM", message: "fileList必须是非空的数组" };
+    var r,
+      i = u(n);
+    try {
+      for (i.s(); !(r = i.n()).done; ) {
+        var o = r.value;
+        if (!o || "string" != typeof o)
+          return {
+            code: "INVALID_PARAM",
+            message: "fileList的元素必须是非空的字符串",
+          };
+      }
+    } catch (e) {
+      i.e(e);
+    } finally {
+      i.f();
+    }
+    var a = { fileid_list: n };
+    return (
+      wp(this.config.env)
+        .send("storage.batchDeleteFile", a)
+        .then(function (e) {
+          e.code
+            ? t(null, e)
+            : t(null, { fileList: e.data.delete_list, requestId: e.requestId });
+        })
+        .catch(function (e) {
+          t(e);
+        }),
+      t.promise
+    );
+  },
+  Rp = function (e, t) {
+    var n = e.fileList;
+    (t = t || Wh()),
+      (n && Array.isArray(n)) ||
+        t(null, { code: "INVALID_PARAM", message: "fileList必须是非空的数组" });
+    var r,
+      i = [],
+      o = u(n);
+    try {
+      for (o.s(); !(r = o.n()).done; ) {
+        var a = r.value;
+        "object" == f(a)
+          ? ((a.hasOwnProperty("fileID") && a.hasOwnProperty("maxAge")) ||
+              t(null, {
+                code: "INVALID_PARAM",
+                message: "fileList的元素必须是包含fileID和maxAge的对象",
+              }),
+            i.push({ fileid: a.fileID, max_age: a.maxAge }))
+          : "string" == typeof a
+          ? i.push({ fileid: a })
+          : t(null, {
+              code: "INVALID_PARAM",
+              message: "fileList的元素必须是字符串",
+            });
+      }
+    } catch (e) {
+      o.e(e);
+    } finally {
+      o.f();
+    }
+    var s = { file_list: i };
+    return (
+      wp(this.config.env)
+        .send("storage.batchGetDownloadUrl", s)
+        .then(function (e) {
+          e.code
+            ? t(null, e)
+            : t(null, {
+                fileList: e.data.download_list,
+                requestId: e.requestId,
+              });
+        })
+        .catch(function (e) {
+          t(e);
+        }),
+      t.promise
+    );
+  },
+  Lp = (function () {
+    var e = n(
+      t().mark(function e(n, r) {
+        var i, o, a, u;
+        return t().wrap(
+          function (e) {
+            for (;;)
+              switch ((e.prev = e.next)) {
+                case 0:
+                  return (
+                    (i = n.fileID),
+                    (e.next = 3),
+                    Rp.call(this, { fileList: [{ fileID: i, maxAge: 600 }] })
+                  );
+                case 3:
+                  if ("SUCCESS" === (o = e.sent.fileList[0]).code) {
+                    e.next = 6;
+                    break;
+                  }
+                  return e.abrupt(
+                    "return",
+                    r
+                      ? r(o)
+                      : new Promise(function (e) {
+                          e(o);
+                        })
+                  );
+                case 6:
+                  if (
+                    ((a = wp(this.config.env)),
+                    (u = o.download_url),
+                    (u = encodeURI(u)),
+                    r)
+                  ) {
+                    e.next = 10;
+                    break;
+                  }
+                  return e.abrupt("return", a.download({ url: u }));
+                case 10:
+                  return (e.t0 = r), (e.next = 13), a.download({ url: u });
+                case 13:
+                  (e.t1 = e.sent), (0, e.t0)(e.t1);
+                case 15:
+                case "end":
+                  return e.stop();
+              }
+          },
+          e,
+          this
+        );
+      })
+    );
+    return function (t, n) {
+      return e.apply(this, arguments);
+    };
+  })(),
+  Dp = function (e, t) {
+    var n,
+      r = e.name,
+      i = e.data,
+      o = e.query,
+      a = e.parse,
+      u = e.search,
+      s = t || Wh();
+    try {
+      n = i ? JSON.stringify(i) : "";
+    } catch (e) {
+      return Promise.reject(e);
+    }
+    if (!r)
+      return Promise.reject(
+        new Th({ code: "PARAM_ERROR", message: "函数名不能为空" })
+      );
+    var c = {
+      inQuery: o,
+      parse: a,
+      search: u,
+      function_name: r,
+      request_data: n,
+    };
+    return (
+      wp(this.config.env)
+        .send("functions.invokeFunction", c)
+        .then(function (e) {
+          if (e.code) s(null, e);
+          else {
+            var t = e.data.response_data;
+            if (a) s(null, { result: t, requestId: e.requestId });
+            else
+              try {
+                (t = JSON.parse(e.data.response_data)),
+                  s(null, { result: t, requestId: e.requestId });
+              } catch (e) {
+                s(new Th({ message: "response data must be json" }));
+              }
+          }
+          return s.promise;
+        })
+        .catch(function (e) {
+          s(e);
+        }),
+      s.promise
+    );
+  },
+  Bp = { timeout: 15e3, persistence: "session" },
+  Np = {},
+  Up = new ((function () {
+    function e(t) {
+      s(this, e), (this.config = t || this.config), (this.authObj = void 0);
+    }
+    var i;
+    return (
+      c(e, [
+        {
+          key: "init",
+          value: function (t) {
+            switch (
+              (Jh.adapter ||
+                (this.requestClient = new Jh.adapter.reqClass({
+                  timeout: t.timeout || 5e3,
+                  timeoutMsg: "请求在".concat(
+                    (t.timeout || 5e3) / 1e3,
+                    "s内未完成,已中断"
+                  ),
+                })),
+              (this.config = r(r({}, Bp), t)),
+              !0)
+            ) {
+              case this.config.timeout > 6e5:
+                console.warn("timeout大于可配置上限[10分钟],已重置为上限数值"),
+                  (this.config.timeout = 6e5);
+                break;
+              case this.config.timeout < 100:
+                console.warn("timeout小于可配置下限[100ms],已重置为下限数值"),
+                  (this.config.timeout = 100);
+            }
+            return new e(this.config);
+          },
+        },
+        {
+          key: "auth",
+          value: function () {
+            var e =
+                arguments.length > 0 && void 0 !== arguments[0]
+                  ? arguments[0]
+                  : {},
+              t = e.persistence;
+            if (this.authObj) return this.authObj;
+            var n,
+              i = t || Jh.adapter.primaryStorage || Bp.persistence;
+            return (
+              i !== this.config.persistence && (this.config.persistence = i),
+              (function (e) {
+                var t = e.env;
+                (Zh[t] = new Qh(e)),
+                  (ep[t] = new Qh(r(r({}, e), {}, { persistence: "local" })));
+              })(this.config),
+              (n = this.config),
+              (mp[n.env] = new _p(n)),
+              (this.authObj = new Pp(this.config)),
+              this.authObj
+            );
+          },
+        },
+        {
+          key: "on",
+          value: function (e, t) {
+            return op.apply(this, [e, t]);
+          },
+        },
+        {
+          key: "off",
+          value: function (e, t) {
+            return up.apply(this, [e, t]);
+          },
+        },
+        {
+          key: "callFunction",
+          value: function (e, t) {
+            return Dp.apply(this, [e, t]);
+          },
+        },
+        {
+          key: "deleteFile",
+          value: function (e, t) {
+            return Cp.apply(this, [e, t]);
+          },
+        },
+        {
+          key: "getTempFileURL",
+          value: function (e, t) {
+            return Rp.apply(this, [e, t]);
+          },
+        },
+        {
+          key: "downloadFile",
+          value: function (e, t) {
+            return Lp.apply(this, [e, t]);
+          },
+        },
+        {
+          key: "uploadFile",
+          value: function (e, t) {
+            return Tp.apply(this, [e, t]);
+          },
+        },
+        {
+          key: "getUploadMetadata",
+          value: function (e, t) {
+            return Ep.apply(this, [e, t]);
+          },
+        },
+        {
+          key: "registerExtension",
+          value: function (e) {
+            Np[e.name] = e;
+          },
+        },
+        {
+          key: "invokeExtension",
+          value:
+            ((i = n(
+              t().mark(function e(n, r) {
+                var i;
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          if ((i = Np[n])) {
+                            e.next = 3;
+                            break;
+                          }
+                          throw new Th({
+                            message: "扩展".concat(n, " 必须先注册"),
+                          });
+                        case 3:
+                          return (e.next = 5), i.invoke(r, this);
+                        case 5:
+                          return e.abrupt("return", e.sent);
+                        case 6:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e, t) {
+              return i.apply(this, arguments);
+            }),
+        },
+        {
+          key: "useAdapters",
+          value: function (e) {
+            var t =
+                (function (e) {
+                  var t,
+                    n,
+                    r =
+                      ((t = e),
+                      "[object Array]" === Object.prototype.toString.call(t)
+                        ? e
+                        : [e]),
+                    i = u(r);
+                  try {
+                    for (i.s(); !(n = i.n()).done; ) {
+                      var o = n.value,
+                        a = o.isMatch,
+                        s = o.genAdapter,
+                        c = o.runtime;
+                      if (a()) return { adapter: s(), runtime: c };
+                    }
+                  } catch (e) {
+                    i.e(e);
+                  } finally {
+                    i.f();
+                  }
+                })(e) || {},
+              n = t.adapter,
+              r = t.runtime;
+            n && (Jh.adapter = n), r && (Jh.runtime = r);
+          },
+        },
+      ]),
+      e
+    );
+  })())();
+function jp(e, t, n) {
+  void 0 === n && (n = {});
+  var r = /\?/.test(t),
+    i = "";
+  for (var o in n)
+    "" === i ? !r && (t += "?") : (i += "&"),
+      (i += o + "=" + encodeURIComponent(n[o]));
+  return /^http(s)?:\/\//.test((t += i)) ? t : "" + e + t;
+}
+var Mp = (function () {
+    function e() {
+      s(this, e);
+    }
+    return (
+      c(e, [
+        {
+          key: "post",
+          value: function (e) {
+            var t = e.url,
+              n = e.data,
+              r = e.headers;
+            return new Promise(function (e, i) {
+              Eh.request({
+                url: jp("https:", t),
+                data: n,
+                method: "POST",
+                header: r,
+                success: function (t) {
+                  e(t);
+                },
+                fail: function (e) {
+                  i(e);
+                },
+              });
+            });
+          },
+        },
+        {
+          key: "upload",
+          value: function (e) {
+            return new Promise(function (t, n) {
+              var r = e.url,
+                i = e.file,
+                o = e.data,
+                a = e.headers,
+                u = e.fileType,
+                s = Eh.uploadFile({
+                  url: jp("https:", r),
+                  name: "file",
+                  formData: Object.assign({}, o),
+                  filePath: i,
+                  fileType: u,
+                  header: a,
+                  success: function (e) {
+                    var n = { statusCode: e.statusCode, data: e.data || {} };
+                    200 === e.statusCode &&
+                      o.success_action_status &&
+                      (n.statusCode = parseInt(o.success_action_status, 10)),
+                      t(n);
+                  },
+                  fail: function (e) {
+                    n(new Error(e.errMsg || "uploadFile:fail"));
+                  },
+                });
+              "function" == typeof e.onUploadProgress &&
+                s &&
+                "function" == typeof s.onProgressUpdate &&
+                s.onProgressUpdate(function (t) {
+                  e.onUploadProgress({
+                    loaded: t.totalBytesSent,
+                    total: t.totalBytesExpectedToSend,
+                  });
+                });
+            });
+          },
+        },
+      ]),
+      e
+    );
+  })(),
+  $p = {
+    setItem: function (e, t) {
+      Eh.setStorageSync(e, t);
+    },
+    getItem: function (e) {
+      return Eh.getStorageSync(e);
+    },
+    removeItem: function (e) {
+      Eh.removeStorageSync(e);
+    },
+    clear: function () {
+      Eh.clearStorageSync();
+    },
+  },
+  Fp = {
+    genAdapter: function () {
+      return {
+        root: {},
+        reqClass: Mp,
+        localStorage: $p,
+        primaryStorage: "local",
+      };
+    },
+    isMatch: function () {
+      return !0;
+    },
+    runtime: "uni_app",
+  };
+Up.useAdapters(Fp);
+var Hp = Up,
+  qp = Hp.init;
+Hp.init = function (e) {
+  e.env = e.spaceId;
+  var t = qp.call(this, e);
+  (t.config.provider = "tencent"), (t.config.spaceId = e.spaceId);
+  var n = t.auth;
+  return (
+    (t.auth = function (e) {
+      var t = n.call(this, e);
+      return (
+        [
+          "linkAndRetrieveDataWithTicket",
+          "signInAnonymously",
+          "signOut",
+          "getAccessToken",
+          "getLoginState",
+          "signInWithTicket",
+          "getUserInfo",
+        ].forEach(function (e) {
+          var n;
+          t[e] = ((n = t[e]),
+          function (e) {
+            var t = Ih((e = e || {})),
+              r = t.success,
+              i = t.fail,
+              o = t.complete;
+            if (!(r || i || o)) return n.call(this, e);
+            n.call(this, e).then(
+              function (e) {
+                r && r(e), o && o(e);
+              },
+              function (e) {
+                i && i(e), o && o(e);
+              }
+            );
+          }).bind(t);
+        }),
+        t
+      );
+    }),
+    (t.customAuth = t.auth),
+    t
+  );
+};
+var zp = Hp,
+  Wp = (function (e) {
+    i(n, jh);
+    var t = o(n);
+    function n() {
+      return s(this, n), t.apply(this, arguments);
+    }
+    return (
+      c(n, [
+        {
+          key: "getAccessToken",
+          value: function () {
+            var e = this;
+            return new Promise(function (t, n) {
+              var r = "Anonymous_Access_token";
+              e.setAccessToken(r), t(r);
+            });
+          },
+        },
+        {
+          key: "setupRequest",
+          value: function (e, t) {
+            var n = Object.assign({}, e, {
+                spaceId: this.config.spaceId,
+                timestamp: Date.now(),
+              }),
+              r = { "Content-Type": "application/json" };
+            "auth" !== t &&
+              ((n.token = this.accessToken),
+              (r["x-basement-token"] = this.accessToken)),
+              (r["x-serverless-sign"] = Nh(n, this.config.clientSecret));
+            var i = Dh();
+            r["x-client-info"] = encodeURIComponent(JSON.stringify(i));
+            var o = Ch().token;
+            return (
+              (r["x-client-token"] = o),
+              {
+                url: this.config.requestUrl,
+                method: "POST",
+                data: n,
+                dataType: "json",
+                header: JSON.parse(JSON.stringify(r)),
+              }
+            );
+          },
+        },
+        {
+          key: "uploadFileToOSS",
+          value: function (e) {
+            var t = this,
+              n = e.url,
+              r = e.formData,
+              i = e.name,
+              o = e.filePath,
+              a = e.fileType,
+              u = e.onUploadProgress;
+            return new Promise(function (e, s) {
+              var c = t.adapter.uploadFile({
+                url: n,
+                formData: r,
+                name: i,
+                filePath: o,
+                fileType: a,
+                success: function (t) {
+                  t && t.statusCode < 400
+                    ? e(t)
+                    : s(
+                        new Th({
+                          code: "UPLOAD_FAILED",
+                          message: "文件上传失败",
+                        })
+                      );
+                },
+                fail: function (e) {
+                  s(
+                    new Th({
+                      code: e.code || "UPLOAD_FAILED",
+                      message: e.message || e.errMsg || "文件上传失败",
+                    })
+                  );
+                },
+              });
+              "function" == typeof u &&
+                c &&
+                "function" == typeof c.onProgressUpdate &&
+                c.onProgressUpdate(function (e) {
+                  u({
+                    loaded: e.totalBytesSent,
+                    total: e.totalBytesExpectedToSend,
+                  });
+                });
+            });
+          },
+        },
+        {
+          key: "uploadFile",
+          value: function (e) {
+            var t,
+              n = this,
+              r = e.filePath,
+              i = e.cloudPath,
+              o = e.fileType,
+              a = void 0 === o ? "image" : o,
+              u = e.onUploadProgress;
+            if (!i)
+              throw new Th({
+                code: "CLOUDPATH_REQUIRED",
+                message: "cloudPath不可为空",
+              });
+            return this.getOSSUploadOptionsFromPath({ cloudPath: i })
+              .then(function (e) {
+                var i = e.result,
+                  o = i.url,
+                  s = i.formData,
+                  c = i.name;
+                t = e.result.fileUrl;
+                var f = {
+                  url: o,
+                  formData: s,
+                  name: c,
+                  filePath: r,
+                  fileType: a,
+                };
+                return n.uploadFileToOSS(
+                  Object.assign({}, f, { onUploadProgress: u })
+                );
+              })
+              .then(function () {
+                return n.reportOSSUpload({ cloudPath: i });
+              })
+              .then(function (e) {
+                return new Promise(function (n, i) {
+                  e.success
+                    ? n({ success: !0, filePath: r, fileID: t })
+                    : i(
+                        new Th({
+                          code: "UPLOAD_FAILED",
+                          message: "文件上传失败",
+                        })
+                      );
+                });
+              });
+          },
+        },
+        {
+          key: "deleteFile",
+          value: function (e) {
+            var t = e.fileList,
+              n = {
+                method: "serverless.file.resource.delete",
+                params: JSON.stringify({ fileList: t }),
+              };
+            return this.request(this.setupRequest(n)).then(function (e) {
+              if (e.success) return e.result;
+              throw new Th({
+                code: "DELETE_FILE_FAILED",
+                message: "删除文件失败",
+              });
+            });
+          },
+        },
+        {
+          key: "getTempFileURL",
+          value: function () {
+            var e =
+                arguments.length > 0 && void 0 !== arguments[0]
+                  ? arguments[0]
+                  : {},
+              t = e.fileList,
+              n = e.maxAge;
+            if (!Array.isArray(t) || 0 === t.length)
+              throw new Th({
+                code: "INVALID_PARAM",
+                message: "fileList的元素必须是非空的字符串",
+              });
+            var r = {
+              method: "serverless.file.resource.getTempFileURL",
+              params: JSON.stringify({ fileList: t, maxAge: n }),
+            };
+            return this.request(this.setupRequest(r)).then(function (e) {
+              if (e.success)
+                return {
+                  fileList: e.result.fileList.map(function (e) {
+                    return { fileID: e.fileID, tempFileURL: e.tempFileURL };
+                  }),
+                };
+              throw new Th({
+                code: "GET_TEMP_FILE_URL_FAILED",
+                message: "获取临时文件链接失败",
+              });
+            });
+          },
+        },
+      ]),
+      n
+    );
+  })(),
+  Vp = {
+    init: function (e) {
+      var t = new Wp(e),
+        n = {
+          signInAnonymously: function () {
+            return t.authorize();
+          },
+          getLoginState: function () {
+            return Promise.resolve(!1);
+          },
+        };
+      return (
+        (t.auth = function () {
+          return n;
+        }),
+        (t.customAuth = t.auth),
+        t
+      );
+    },
+  },
+  Kp = jl(function (e, t) {
+    e.exports = Ml.enc.Hex;
+  });
+function Jp() {
+  var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "",
+    t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
+    n = t.data,
+    r = t.functionName,
+    i = t.method,
+    o = t.headers,
+    a = t.signHeaderKeys,
+    u = void 0 === a ? [] : a,
+    s = t.config,
+    c = Date.now(),
+    f = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (e) {
+      var t = (16 * Math.random()) | 0;
+      return ("x" === e ? t : (3 & t) | 8).toString(16);
+    }),
+    l = Object.assign({}, o, {
+      "x-from-app-id": s.spaceAppId,
+      "x-from-env-id": s.spaceId,
+      "x-to-env-id": s.spaceId,
+      "x-from-instance-id": c,
+      "x-from-function-name": r,
+      "x-client-timestamp": c,
+      "x-alipay-source": "client",
+      "x-request-id": f,
+      "x-alipay-callid": f,
+      "x-trace-id": f,
+    }),
+    p = [
+      "x-from-app-id",
+      "x-from-env-id",
+      "x-to-env-id",
+      "x-from-instance-id",
+      "x-from-function-name",
+      "x-client-timestamp",
+    ].concat(u),
+    d = e.split("?") || [],
+    v = h(d, 2),
+    g = v[0],
+    y = void 0 === g ? "" : g,
+    _ = v[1],
+    m = void 0 === _ ? "" : _,
+    w = (function (e) {
+      var t = e.signedHeaders.join(";"),
+        n = e.signedHeaders
+          .map(function (t) {
+            return "".concat(t.toLowerCase(), ":").concat(e.headers[t], "\n");
+          })
+          .join(""),
+        r = qh(e.body).toString(Kp),
+        i = ""
+          .concat(e.method.toUpperCase(), "\n")
+          .concat(e.path, "\n")
+          .concat(e.query, "\n")
+          .concat(n, "\n")
+          .concat(t, "\n")
+          .concat(r, "\n"),
+        o = qh(i).toString(Kp),
+        a = "HMAC-SHA256\n".concat(e.timestamp, "\n").concat(o, "\n"),
+        u = zh(a, e.secretKey).toString(Kp);
+      return "HMAC-SHA256 Credential="
+        .concat(e.secretId, ", SignedHeaders=")
+        .concat(t, ", Signature=")
+        .concat(u);
+    })({
+      path: y,
+      query: m,
+      method: i,
+      headers: l,
+      timestamp: c,
+      body: JSON.stringify(n),
+      secretId: s.accessKey,
+      secretKey: s.secretKey,
+      signedHeaders: p.sort(),
+    });
+  return {
+    url: "".concat(s.endpoint).concat(e),
+    headers: Object.assign({}, l, { Authorization: w }),
+  };
+}
+function Gp(e) {
+  var t = e.url,
+    n = e.data,
+    r = e.method,
+    i = void 0 === r ? "POST" : r,
+    o = e.headers,
+    a = void 0 === o ? {} : o;
+  return new Promise(function (e, r) {
+    Eh.request({
+      url: t,
+      method: i,
+      data: n,
+      header: a,
+      dataType: "json",
+      complete: function () {
+        var t =
+            arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+          n = a["x-trace-id"] || "";
+        if (!t.statusCode || t.statusCode >= 400) {
+          var i = t.data || {},
+            o = i.message,
+            u = i.errMsg,
+            s = i.trace_id;
+          return r(
+            new Th({
+              code: "SYS_ERR",
+              message: o || u || "request:fail",
+              requestId: s || n,
+            })
+          );
+        }
+        e({
+          status: t.statusCode,
+          data: t.data,
+          headers: t.header,
+          requestId: n,
+        });
+      },
+    });
+  });
+}
+function Yp(e, t) {
+  var n = e.path,
+    r = e.data,
+    i = e.method,
+    o = void 0 === i ? "GET" : i,
+    a = Jp(n, {
+      functionName: "",
+      data: r,
+      method: o,
+      headers: {
+        "x-alipay-cloud-mode": "oss",
+        "x-data-api-type": "oss",
+        "x-expire-timestamp": Date.now() + 6e4,
+      },
+      signHeaderKeys: ["x-data-api-type", "x-expire-timestamp"],
+      config: t,
+    });
+  return Gp({ url: a.url, data: r, method: o, headers: a.headers })
+    .then(function (e) {
+      var t = e.data || {};
+      if (!t.success)
+        throw new Th({
+          code: e.errCode,
+          message: e.errMsg,
+          requestId: e.requestId,
+        });
+      return t.data || {};
+    })
+    .catch(function (e) {
+      throw new Th({
+        code: e.errCode,
+        message: e.errMsg,
+        requestId: e.requestId,
+      });
+    });
+}
+function Xp() {
+  var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "",
+    t = e.trim().replace(/^cloud:\/\//, ""),
+    n = t.indexOf("/");
+  if (n <= 0) throw new Th({ code: "INVALID_PARAM", message: "fileID不合法" });
+  var r = t.substring(0, n),
+    i = t.substring(n + 1);
+  return (
+    r !== this.config.spaceId &&
+      console.warn(
+        "file "
+          .concat(e, " does not belong to env ")
+          .concat(this.config.spaceId)
+      ),
+    i
+  );
+}
+function Qp() {
+  var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "";
+  return "cloud://"
+    .concat(this.config.spaceId, "/")
+    .concat(e.replace(/^\/+/, ""));
+}
+var Zp = (function () {
+    function e(t) {
+      if (
+        (s(this, e),
+        ["spaceId", "spaceAppId", "accessKey", "secretKey"].forEach(function (
+          e
+        ) {
+          if (!Object.prototype.hasOwnProperty.call(t, e))
+            throw new Error("".concat(e, " required"));
+        }),
+        t.endpoint)
+      ) {
+        if ("string" != typeof t.endpoint)
+          throw new Error("endpoint must be string");
+        if (!/^https:\/\//.test(t.endpoint))
+          throw new Error("endpoint must start with https://");
+        t.endpoint = t.endpoint.replace(/\/$/, "");
+      }
+      this.config = Object.assign({}, t, {
+        endpoint:
+          t.endpoint ||
+          "https://".concat(t.spaceId, ".api-hz.cloudbasefunction.cn"),
+      });
+    }
+    var r, i;
+    return (
+      c(e, [
+        {
+          key: "callFunction",
+          value: function (e) {
+            return (function (e, t) {
+              var n = e.name,
+                r = e.data,
+                i = "POST",
+                o = Jp("/functions/invokeFunction", {
+                  functionName: n,
+                  data: r,
+                  method: i,
+                  headers: { "x-to-function-name": n },
+                  signHeaderKeys: ["x-to-function-name"],
+                  config: t,
+                });
+              return Gp({ url: o.url, data: r, method: i, headers: o.headers })
+                .then(function (e) {
+                  return {
+                    errCode: 0,
+                    success: !0,
+                    requestId: e.requestId,
+                    result: e.data,
+                  };
+                })
+                .catch(function (e) {
+                  throw new Th({
+                    code: e.errCode,
+                    message: e.errMsg,
+                    requestId: e.requestId,
+                  });
+                });
+            })(e, this.config);
+          },
+        },
+        {
+          key: "uploadFileToOSS",
+          value: function (e) {
+            var t = e.url,
+              n = e.filePath,
+              r = e.fileType,
+              i = e.formData,
+              o = e.onUploadProgress;
+            return new Promise(function (e, a) {
+              var u = Eh.uploadFile({
+                url: t,
+                filePath: n,
+                fileType: r,
+                formData: i,
+                name: "file",
+                success: function (t) {
+                  t && t.statusCode < 400
+                    ? e(t)
+                    : a(
+                        new Th({
+                          code: "UPLOAD_FAILED",
+                          message: "文件上传失败",
+                        })
+                      );
+                },
+                fail: function (e) {
+                  a(
+                    new Th({
+                      code: e.code || "UPLOAD_FAILED",
+                      message: e.message || e.errMsg || "文件上传失败",
+                    })
+                  );
+                },
+              });
+              "function" == typeof o &&
+                u &&
+                "function" == typeof u.onProgressUpdate &&
+                u.onProgressUpdate(function (e) {
+                  o({
+                    loaded: e.totalBytesSent,
+                    total: e.totalBytesExpectedToSend,
+                  });
+                });
+            });
+          },
+        },
+        {
+          key: "uploadFile",
+          value:
+            ((i = n(
+              t().mark(function e(n) {
+                var r, i, o, a, u, s, c, f, l, h, p;
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          if (
+                            ((r = n.filePath),
+                            (i = n.cloudPath),
+                            (o = void 0 === i ? "" : i),
+                            (a = n.fileType),
+                            (u = void 0 === a ? "image" : a),
+                            (s = n.onUploadProgress),
+                            "string" === Vl(o))
+                          ) {
+                            e.next = 3;
+                            break;
+                          }
+                          throw new Th({
+                            code: "INVALID_PARAM",
+                            message: "cloudPath必须为字符串类型",
+                          });
+                        case 3:
+                          if ((o = o.trim())) {
+                            e.next = 5;
+                            break;
+                          }
+                          throw new Th({
+                            code: "INVALID_PARAM",
+                            message: "cloudPath不可为空",
+                          });
+                        case 5:
+                          if (!/:\/\//.test(o)) {
+                            e.next = 7;
+                            break;
+                          }
+                          throw new Th({
+                            code: "INVALID_PARAM",
+                            message: "cloudPath不合法",
+                          });
+                        case 7:
+                          return (
+                            (e.next = 9),
+                            Yp(
+                              {
+                                path: "/".concat(
+                                  o.replace(/^\//, ""),
+                                  "?post_url"
+                                ),
+                              },
+                              this.config
+                            )
+                          );
+                        case 9:
+                          return (
+                            (c = e.sent),
+                            (f = c.file_id),
+                            (l = c.upload_url),
+                            (h = c.form_data),
+                            (p =
+                              h &&
+                              h.reduce(function (e, t) {
+                                return (e[t.key] = t.value), e;
+                              }, {})),
+                            e.abrupt(
+                              "return",
+                              this.uploadFileToOSS({
+                                url: l,
+                                filePath: r,
+                                fileType: u,
+                                formData: p,
+                                onUploadProgress: s,
+                              }).then(function () {
+                                return { fileID: f };
+                              })
+                            )
+                          );
+                        case 15:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function (e) {
+              return i.apply(this, arguments);
+            }),
+        },
+        {
+          key: "getTempFileURL",
+          value:
+            ((r = n(
+              t().mark(function e(n) {
+                var r,
+                  i = this;
+                return t().wrap(function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        return (
+                          (r = n.fileList),
+                          e.abrupt(
+                            "return",
+                            new Promise(function (e, t) {
+                              (!r || r.length < 0) &&
+                                t(
+                                  new Th({
+                                    errCode: "INVALID_PARAM",
+                                    errMsg: "fileList不能为空数组",
+                                  })
+                                ),
+                                r.length > 50 &&
+                                  t(
+                                    new Th({
+                                      errCode: "INVALID_PARAM",
+                                      errMsg: "fileList数组长度不能超过50",
+                                    })
+                                  );
+                              var n,
+                                o = [],
+                                a = u(r);
+                              try {
+                                for (a.s(); !(n = a.n()).done; ) {
+                                  var s = n.value;
+                                  "string" !== Vl(s) &&
+                                    t(
+                                      new Th({
+                                        errCode: "INVALID_PARAM",
+                                        errMsg:
+                                          "fileList的元素必须是非空的字符串",
+                                      })
+                                    );
+                                  var c = Xp.call(i, s);
+                                  o.push({ file_id: c, expire: 600 });
+                                }
+                              } catch (e) {
+                                a.e(e);
+                              } finally {
+                                a.f();
+                              }
+                              Yp(
+                                {
+                                  path: "/?download_url",
+                                  data: { file_list: o },
+                                  method: "POST",
+                                },
+                                i.config
+                              )
+                                .then(function (t) {
+                                  var n = t.file_list;
+                                  e({
+                                    fileList: (void 0 === n ? [] : n).map(
+                                      function (e) {
+                                        return {
+                                          fileID: Qp.call(i, e.file_id),
+                                          tempFileURL: e.download_url,
+                                        };
+                                      }
+                                    ),
+                                  });
+                                })
+                                .catch(function (e) {
+                                  return t(e);
+                                });
+                            })
+                          )
+                        );
+                      case 2:
+                      case "end":
+                        return e.stop();
+                    }
+                }, e);
+              })
+            )),
+            function (e) {
+              return r.apply(this, arguments);
+            }),
+        },
+      ]),
+      e
+    );
+  })(),
+  ed = {
+    init: function (e) {
+      e.provider = "alipay";
+      var t = new Zp(e);
+      return (
+        (t.auth = function () {
+          return {
+            signInAnonymously: function () {
+              return Promise.resolve();
+            },
+            getLoginState: function () {
+              return Promise.resolve(!0);
+            },
+          };
+        }),
+        t
+      );
+    },
+  };
+function td(e) {
+  var t,
+    n = e.data;
+  t = Dh();
+  var r = JSON.parse(JSON.stringify(n || {}));
+  if ((Object.assign(r, { clientInfo: t }), !r.uniIdToken)) {
+    var i = Ch().token;
+    i && (r.uniIdToken = i);
+  }
+  return r;
+}
+var nd = [
+    {
+      rule: /fc_function_not_found|FUNCTION_NOT_FOUND/,
+      content:
+        ",云函数[{functionName}]在云端不存在,请检查此云函数名称是否正确以及该云函数是否已上传到服务空间",
+      mode: "append",
+    },
+  ],
+  rd = /[\\^$.*+?()[\]{}|]/g,
+  id = RegExp(rd.source);
+function od(e, t, n) {
+  return e.replace(
+    new RegExp((r = t) && id.test(r) ? r.replace(rd, "\\$&") : r, "g"),
+    n
+  );
+  var r;
+}
+var ad,
+  ud = "request",
+  sd = "response",
+  cd = 2e4,
+  fd = { code: 20101, message: "Invalid client" };
+function ld(e) {
+  var t = e || {},
+    n = t.errSubject,
+    r = t.subject,
+    i = t.errCode,
+    o = t.errMsg,
+    a = t.code,
+    u = t.message,
+    s = t.cause;
+  return new Th({
+    subject: n || r || "uni-secure-network",
+    code: i || a || cd,
+    message: o || u,
+    cause: s,
+  });
+}
+function hd() {
+  var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+    t = e.secretType;
+  return t === ud || t === sd || "both" === t;
+}
+function pd() {
+  var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
+  e.name, e.data;
+  return !1;
+}
+function dd(e) {
+  e.functionName, e.result, e.logPvd;
+}
+function vd(e) {
+  var t = e.callFunction,
+    n = function (n) {
+      var r = this,
+        i = n.name;
+      n.data = td.call(e, { data: n.data });
+      var o = {
+          aliyun: "aliyun",
+          tencent: "tcb",
+          tcb: "tcb",
+          alipay: "alipay",
+        }[this.config.provider],
+        a = hd(n),
+        u = pd(n),
+        s = a || u;
+      return t.call(this, n).then(
+        function (e) {
+          return (
+            (e.errCode = 0),
+            !s && dd.call(r, { functionName: i, result: e, logPvd: o }),
+            Promise.resolve(e)
+          );
+        },
+        function (e) {
+          return (
+            !s && dd.call(r, { functionName: i, result: e, logPvd: o }),
+            e &&
+              e.message &&
+              (e.message = (function () {
+                for (
+                  var e =
+                      arguments.length > 0 && void 0 !== arguments[0]
+                        ? arguments[0]
+                        : {},
+                    t = e.message,
+                    n = void 0 === t ? "" : t,
+                    r = e.extraInfo,
+                    i = void 0 === r ? {} : r,
+                    o = e.formatter,
+                    a = void 0 === o ? [] : o,
+                    u = 0;
+                  u < a.length;
+                  u++
+                ) {
+                  var s = a[u],
+                    c = s.rule,
+                    f = s.content,
+                    l = s.mode,
+                    h = n.match(c);
+                  if (h) {
+                    for (var p = f, d = 1; d < h.length; d++)
+                      p = od(p, "{$".concat(d, "}"), h[d]);
+                    for (var v in i) p = od(p, "{".concat(v, "}"), i[v]);
+                    return "replace" === l ? p : n + p;
+                  }
+                }
+                return n;
+              })({
+                message: "[".concat(n.name, "]: ").concat(e.message),
+                formatter: nd,
+                extraInfo: { functionName: i },
+              })),
+            Promise.reject(e)
+          );
+        }
+      );
+    };
+  e.callFunction = function (t) {
+    var r,
+      i,
+      o = e.config,
+      a = o.provider,
+      u = o.spaceId,
+      s = t.name;
+    return (
+      (t.data = t.data || {}),
+      (r = (r = n).bind(e)),
+      pd(t) ||
+        (i = (function (e) {
+          var t = e.name,
+            n = e.data;
+          return (
+            "uni-id-co" === t &&
+            "secureNetworkHandshakeByWeixin" === (void 0 === n ? {} : n).method
+          );
+        })(t)
+          ? r.call(e, t)
+          : hd(t)
+          ? new ad({
+              secretType: t.secretType,
+              uniCloudIns: e,
+            }).wrapEncryptDataCallFunction(n.bind(e))(t)
+          : (function () {
+              var e =
+                  arguments.length > 0 && void 0 !== arguments[0]
+                    ? arguments[0]
+                    : {},
+                t = e.provider,
+                n = e.spaceId,
+                r = e.functionName,
+                i = Lh(),
+                o = i.appId,
+                a = i.uniPlatform,
+                u = i.osName,
+                s = a;
+              "app" === a && (s = u);
+              var c = (function () {
+                var e,
+                  t =
+                    arguments.length > 0 && void 0 !== arguments[0]
+                      ? arguments[0]
+                      : {},
+                  n = t.provider,
+                  r = t.spaceId;
+                if (!eh) return {};
+                n = "tencent" === (e = n) ? "tcb" : e;
+                var i = eh.find(function (e) {
+                  return e.provider === n && e.spaceId === r;
+                });
+                return i && i.config;
+              })({ provider: t, spaceId: n });
+              if (!c || !c.accessControl || !c.accessControl.enable) return !1;
+              var f = c.accessControl.function || {},
+                l = Object.keys(f);
+              if (0 === l.length) return !0;
+              var h = (function (e, t) {
+                for (var n, r, i, o = 0; o < e.length; o++) {
+                  var a = e[o];
+                  a !== t
+                    ? "*" !== a
+                      ? a
+                          .split(",")
+                          .map(function (e) {
+                            return e.trim();
+                          })
+                          .indexOf(t) > -1 && (r = a)
+                      : (i = a)
+                    : (n = a);
+                }
+                return n || r || i;
+              })(l, r);
+              if (!h) return !1;
+              if (
+                (f[h] || []).find(function () {
+                  var e =
+                    arguments.length > 0 && void 0 !== arguments[0]
+                      ? arguments[0]
+                      : {};
+                  return (
+                    e.appId === o &&
+                    (e.platform || "").toLowerCase() === s.toLowerCase()
+                  );
+                })
+              )
+                return !0;
+              throw (
+                (console.error(
+                  "此应用[appId: "
+                    .concat(o, ", platform: ")
+                    .concat(
+                      s,
+                      "]不在云端配置的允许访问的应用列表内,参考:https://uniapp.dcloud.net.cn/uniCloud/secure-network.html#verify-client"
+                    )
+                ),
+                ld(fd))
+              );
+            })({ provider: a, spaceId: u, functionName: s })
+          ? new ad({
+              secretType: t.secretType,
+              uniCloudIns: e,
+            }).wrapVerifyClientCallFunction(n.bind(e))(t)
+          : r(t)),
+      Object.defineProperty(i, "result", {
+        get: function () {
+          return (
+            console.warn(
+              "当前返回结果为Promise类型,不可直接访问其result属性,详情请参考:https://uniapp.dcloud.net.cn/uniCloud/faq?id=promise"
+            ),
+            {}
+          );
+        },
+      }),
+      i
+    );
+  };
+}
+ad = c(function e() {
+  throw (
+    (s(this, e),
+    ld({
+      message: "Platform ".concat(
+        th,
+        " is not enabled, please check whether secure network module is enabled in your manifest.json"
+      ),
+    }))
+  );
+});
+var gd = Symbol("CLIENT_DB_INTERNAL");
+function yd(e, t) {
+  return (
+    (e.then = "DoNotReturnProxyWithAFunctionNamedThen"),
+    (e._internalType = gd),
+    (e.inspect = null),
+    (e.__v_raw = void 0),
+    new Proxy(e, {
+      get: function (e, n, r) {
+        if ("_uniClient" === n) return null;
+        if ("symbol" == f(n)) return e[n];
+        if (n in e || "string" != typeof n) {
+          var i = e[n];
+          return "function" == typeof i ? i.bind(e) : i;
+        }
+        return t.get(e, n, r);
+      },
+    })
+  );
+}
+function _d(e) {
+  return {
+    on: function (t, n) {
+      (e[t] = e[t] || []), e[t].indexOf(n) > -1 || e[t].push(n);
+    },
+    off: function (t, n) {
+      e[t] = e[t] || [];
+      var r = e[t].indexOf(n);
+      -1 !== r && e[t].splice(r, 1);
+    },
+  };
+}
+var md = ["db.Geo", "db.command", "command.aggregate"];
+function wd(e, t) {
+  return md.indexOf("".concat(e, ".").concat(t)) > -1;
+}
+function kd(e) {
+  switch (
+    Vl(
+      (e = (function e(t) {
+        return (t && e(t.__v_raw)) || t;
+      })(e))
+    )
+  ) {
+    case "array":
+      return e.map(function (e) {
+        return kd(e);
+      });
+    case "object":
+      return (
+        e._internalType === gd ||
+          Object.keys(e).forEach(function (t) {
+            e[t] = kd(e[t]);
+          }),
+        e
+      );
+    case "regexp":
+      return { $regexp: { source: e.source, flags: e.flags } };
+    case "date":
+      return { $date: e.toISOString() };
+    default:
+      return e;
+  }
+}
+function bd(e) {
+  return e && e.content && e.content.$method;
+}
+var xd = (function () {
+  function e(t, n, r) {
+    s(this, e),
+      (this.content = t),
+      (this.prevStage = n || null),
+      (this.udb = null),
+      (this._database = r);
+  }
+  return (
+    c(e, [
+      {
+        key: "toJSON",
+        value: function () {
+          for (var e = this, t = [e.content]; e.prevStage; )
+            (e = e.prevStage), t.push(e.content);
+          return {
+            $db: t.reverse().map(function (e) {
+              return { $method: e.$method, $param: kd(e.$param) };
+            }),
+          };
+        },
+      },
+      {
+        key: "toString",
+        value: function () {
+          return JSON.stringify(this.toJSON());
+        },
+      },
+      {
+        key: "getAction",
+        value: function () {
+          var e = this.toJSON().$db.find(function (e) {
+            return "action" === e.$method;
+          });
+          return e && e.$param && e.$param[0];
+        },
+      },
+      {
+        key: "getCommand",
+        value: function () {
+          return {
+            $db: this.toJSON().$db.filter(function (e) {
+              return "action" !== e.$method;
+            }),
+          };
+        },
+      },
+      {
+        key: "isAggregate",
+        get: function () {
+          for (var e = this; e; ) {
+            var t = bd(e),
+              n = bd(e.prevStage);
+            if (("aggregate" === t && "collection" === n) || "pipeline" === t)
+              return !0;
+            e = e.prevStage;
+          }
+          return !1;
+        },
+      },
+      {
+        key: "isCommand",
+        get: function () {
+          for (var e = this; e; ) {
+            if ("command" === bd(e)) return !0;
+            e = e.prevStage;
+          }
+          return !1;
+        },
+      },
+      {
+        key: "isAggregateCommand",
+        get: function () {
+          for (var e = this; e; ) {
+            var t = bd(e),
+              n = bd(e.prevStage);
+            if ("aggregate" === t && "command" === n) return !0;
+            e = e.prevStage;
+          }
+          return !1;
+        },
+      },
+      {
+        key: "getNextStageFn",
+        value: function (e) {
+          var t = this;
+          return function () {
+            return Sd(
+              { $method: e, $param: kd(Array.from(arguments)) },
+              t,
+              t._database
+            );
+          };
+        },
+      },
+      {
+        key: "count",
+        get: function () {
+          return this.isAggregate
+            ? this.getNextStageFn("count")
+            : function () {
+                return this._send("count", Array.from(arguments));
+              };
+        },
+      },
+      {
+        key: "remove",
+        get: function () {
+          return this.isCommand
+            ? this.getNextStageFn("remove")
+            : function () {
+                return this._send("remove", Array.from(arguments));
+              };
+        },
+      },
+      {
+        key: "get",
+        value: function () {
+          return this._send("get", Array.from(arguments));
+        },
+      },
+      {
+        key: "add",
+        get: function () {
+          return this.isCommand
+            ? this.getNextStageFn("add")
+            : function () {
+                return this._send("add", Array.from(arguments));
+              };
+        },
+      },
+      {
+        key: "update",
+        value: function () {
+          return this._send("update", Array.from(arguments));
+        },
+      },
+      {
+        key: "end",
+        value: function () {
+          return this._send("end", Array.from(arguments));
+        },
+      },
+      {
+        key: "set",
+        get: function () {
+          return this.isCommand
+            ? this.getNextStageFn("set")
+            : function () {
+                throw new Error("JQL禁止使用set方法");
+              };
+        },
+      },
+      {
+        key: "_send",
+        value: function (e, t) {
+          var n = this.getAction(),
+            r = this.getCommand();
+          return (
+            r.$db.push({ $method: e, $param: kd(t) }),
+            this._database._callCloudFunction({ action: n, command: r })
+          );
+        },
+      },
+    ]),
+    e
+  );
+})();
+function Sd(e, t, n) {
+  return yd(new xd(e, t, n), {
+    get: function (e, t) {
+      var r = "db";
+      return (
+        e && e.content && (r = e.content.$method),
+        wd(r, t)
+          ? Sd({ $method: t }, e, n)
+          : function () {
+              return Sd(
+                { $method: t, $param: kd(Array.from(arguments)) },
+                e,
+                n
+              );
+            }
+      );
+    },
+  });
+}
+function Ad(e) {
+  var t = e.path,
+    n = e.method;
+  return (function () {
+    function e() {
+      s(this, e), (this.param = Array.from(arguments));
+    }
+    return (
+      c(e, [
+        {
+          key: "toJSON",
+          value: function () {
+            return {
+              $newDb: [].concat(
+                p(
+                  t.map(function (e) {
+                    return { $method: e };
+                  })
+                ),
+                [{ $method: n, $param: this.param }]
+              ),
+            };
+          },
+        },
+        {
+          key: "toString",
+          value: function () {
+            return JSON.stringify(this.toJSON());
+          },
+        },
+      ]),
+      e
+    );
+  })();
+}
+function Id(e) {
+  var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
+  return yd(new e(t), {
+    get: function (e, t) {
+      return wd("db", t)
+        ? Sd({ $method: t }, null, e)
+        : function () {
+            return Sd(
+              { $method: t, $param: kd(Array.from(arguments)) },
+              null,
+              e
+            );
+          };
+    },
+  });
+}
+var Od = (function (e) {
+    i(n, e);
+    var t = o(n);
+    function n() {
+      return s(this, n), t.apply(this, arguments);
+    }
+    return (
+      c(n, [
+        {
+          key: "_parseResult",
+          value: function (e) {
+            return this._isJQL ? e.result : e;
+          },
+        },
+        {
+          key: "_callCloudFunction",
+          value: function (e) {
+            var t = this,
+              n = e.action,
+              r = e.command,
+              i = e.multiCommand,
+              o = e.queryList;
+            function a(e, t) {
+              if (i && o)
+                for (var n = 0; n < o.length; n++) {
+                  var r = o[n];
+                  r.udb &&
+                    "function" == typeof r.udb.setResult &&
+                    (t
+                      ? r.udb.setResult(t)
+                      : r.udb.setResult(e.result.dataList[n]));
+                }
+            }
+            var u = this,
+              s = this._isJQL ? "databaseForJQL" : "database";
+            function c(e) {
+              return (
+                u._callback("error", [e]),
+                ch(fh(s, "fail"), e)
+                  .then(function () {
+                    return ch(fh(s, "complete"), e);
+                  })
+                  .then(function () {
+                    return (
+                      a(null, e),
+                      bh(ph, { type: gh, content: e }),
+                      Promise.reject(e)
+                    );
+                  })
+              );
+            }
+            var f = ch(fh(s, "invoke")),
+              l = this._uniClient;
+            return f
+              .then(function () {
+                return l.callFunction({
+                  name: "DCloud-clientDB",
+                  type: "CLIENT_DB",
+                  data: { action: n, command: r, multiCommand: i },
+                });
+              })
+              .then(
+                function (e) {
+                  var n = e.result,
+                    r = n.code,
+                    i = n.message,
+                    o = n.token,
+                    f = n.tokenExpired,
+                    l = n.systemInfo,
+                    h = void 0 === l ? [] : l;
+                  if (h)
+                    for (var p = 0; p < h.length; p++) {
+                      var d = h[p],
+                        v = d.level,
+                        g = d.message,
+                        y = d.detail,
+                        _ = "[System Info]" + g;
+                      y && (_ = "".concat(_, "\n详细信息:").concat(y)),
+                        (console[v] || console.log)(_);
+                    }
+                  if (r)
+                    return c(
+                      new Th({ code: r, message: i, requestId: e.requestId })
+                    );
+                  (e.result.errCode = e.result.errCode || e.result.code),
+                    (e.result.errMsg = e.result.errMsg || e.result.message),
+                    o &&
+                      f &&
+                      (Rh({ token: o, tokenExpired: f }),
+                      t._callbackAuth("refreshToken", [
+                        { token: o, tokenExpired: f },
+                      ]),
+                      t._callback("refreshToken", [
+                        { token: o, tokenExpired: f },
+                      ]),
+                      bh(vh, { token: o, tokenExpired: f }));
+                  for (
+                    var m,
+                      w = [
+                        {
+                          prop: "affectedDocs",
+                          tips: "affectedDocs不再推荐使用,请使用inserted/deleted/updated/data.length替代",
+                        },
+                        {
+                          prop: "code",
+                          tips: "code不再推荐使用,请使用errCode替代",
+                        },
+                        {
+                          prop: "message",
+                          tips: "message不再推荐使用,请使用errMsg替代",
+                        },
+                      ],
+                      k = function () {
+                        var t = w[b],
+                          n = t.prop,
+                          r = t.tips;
+                        if ((n in e.result)) {
+                          var i = e.result[n];
+                          Object.defineProperty(e.result, n, {
+                            get: function () {
+                              return console.warn(r), i;
+                            },
+                          });
+                        }
+                      },
+                      b = 0;
+                    b < w.length;
+                    b++
+                  )
+                    k();
+                  return (
+                    (m = e),
+                    ch(fh(s, "success"), m)
+                      .then(function () {
+                        return ch(fh(s, "complete"), m);
+                      })
+                      .then(function () {
+                        a(m, null);
+                        var e = u._parseResult(m);
+                        return (
+                          bh(ph, { type: gh, content: e }), Promise.resolve(e)
+                        );
+                      })
+                  );
+                },
+                function (e) {
+                  return (
+                    /fc_function_not_found|FUNCTION_NOT_FOUND/g.test(
+                      e.message
+                    ) &&
+                      console.warn(
+                        "clientDB未初始化,请在web控制台保存一次schema以开启clientDB"
+                      ),
+                    c(
+                      new Th({
+                        code: e.code || "SYSTEM_ERROR",
+                        message: e.message,
+                        requestId: e.requestId,
+                      })
+                    )
+                  );
+                }
+              );
+          },
+        },
+      ]),
+      n
+    );
+  })(
+    (function () {
+      function e() {
+        var t =
+            arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+          n = t.uniClient,
+          r = void 0 === n ? {} : n,
+          i = t.isJQL,
+          o = void 0 !== i && i;
+        s(this, e),
+          (this._uniClient = r),
+          (this._authCallBacks = {}),
+          (this._dbCallBacks = {}),
+          r._isDefault &&
+            (this._dbCallBacks = ih("_globalUniCloudDatabaseCallback")),
+          o || (this.auth = _d(this._authCallBacks)),
+          (this._isJQL = o),
+          Object.assign(this, _d(this._dbCallBacks)),
+          (this.env = yd(
+            {},
+            {
+              get: function (e, t) {
+                return { $env: t };
+              },
+            }
+          )),
+          (this.Geo = yd(
+            {},
+            {
+              get: function (e, t) {
+                return Ad({ path: ["Geo"], method: t });
+              },
+            }
+          )),
+          (this.serverDate = Ad({ path: [], method: "serverDate" })),
+          (this.RegExp = Ad({ path: [], method: "RegExp" }));
+      }
+      return (
+        c(e, [
+          {
+            key: "getCloudEnv",
+            value: function (e) {
+              if ("string" != typeof e || !e.trim())
+                throw new Error("getCloudEnv参数错误");
+              return { $env: e.replace("$cloudEnv_", "") };
+            },
+          },
+          {
+            key: "_callback",
+            value: function (e, t) {
+              var n = this._dbCallBacks;
+              n[e] &&
+                n[e].forEach(function (e) {
+                  e.apply(void 0, p(t));
+                });
+            },
+          },
+          {
+            key: "_callbackAuth",
+            value: function (e, t) {
+              var n = this._authCallBacks;
+              n[e] &&
+                n[e].forEach(function (e) {
+                  e.apply(void 0, p(t));
+                });
+            },
+          },
+          {
+            key: "multiSend",
+            value: function () {
+              var e = Array.from(arguments),
+                t = e.map(function (e) {
+                  var t = e.getAction(),
+                    n = e.getCommand();
+                  if ("getTemp" !== n.$db[n.$db.length - 1].$method)
+                    throw new Error("multiSend只支持子命令内使用getTemp");
+                  return { action: t, command: n };
+                });
+              return this._callCloudFunction({ multiCommand: t, queryList: e });
+            },
+          },
+        ]),
+        e
+      );
+    })()
+  ),
+  Pd = "token无效,跳转登录页面",
+  Td = "token过期,跳转登录页面",
+  Ed = {
+    TOKEN_INVALID_TOKEN_EXPIRED: Td,
+    TOKEN_INVALID_INVALID_CLIENTID: Pd,
+    TOKEN_INVALID: Pd,
+    TOKEN_INVALID_WRONG_TOKEN: Pd,
+    TOKEN_INVALID_ANONYMOUS_USER: Pd,
+  },
+  Cd = {
+    "uni-id-token-expired": Td,
+    "uni-id-check-token-failed": Pd,
+    "uni-id-token-not-exist": Pd,
+    "uni-id-check-device-feature-failed": Pd,
+  };
+function Rd(e, t) {
+  return (e ? "".concat(e, "/").concat(t) : t).replace(/^\//, "");
+}
+function Ld() {
+  var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [],
+    t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "",
+    n = [],
+    r = [];
+  return (
+    e.forEach(function (e) {
+      !0 === e.needLogin
+        ? n.push(Rd(t, e.path))
+        : !1 === e.needLogin && r.push(Rd(t, e.path));
+    }),
+    { needLoginPage: n, notNeedLoginPage: r }
+  );
+}
+function Dd(e) {
+  return e.split("?")[0].replace(/^\//, "");
+}
+function Bd() {
+  return (function (e) {
+    var t = (e && e.$page && e.$page.fullPath) || "";
+    return t ? ("/" !== t.charAt(0) && (t = "/" + t), t) : t;
+  })(
+    (function () {
+      var e = getCurrentPages();
+      return e[e.length - 1];
+    })()
+  );
+}
+function Nd() {
+  return Dd(Bd());
+}
+function Ud() {
+  var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "",
+    t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
+  if (!e) return !1;
+  if (!(t && t.list && t.list.length)) return !1;
+  var n = t.list,
+    r = Dd(e);
+  return n.some(function (e) {
+    return e.pagePath === r;
+  });
+}
+var jd,
+  Md = !!Ul.uniIdRouter,
+  $d = (function () {
+    var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : Ul,
+      t = e.pages,
+      n = void 0 === t ? [] : t,
+      r = e.subPackages,
+      i = void 0 === r ? [] : r,
+      o = e.uniIdRouter,
+      a = void 0 === o ? {} : o,
+      u = e.tabBar,
+      s = void 0 === u ? {} : u,
+      c = a.loginPage,
+      f = a.needLogin,
+      l = void 0 === f ? [] : f,
+      h = a.resToLogin,
+      d = void 0 === h || h,
+      v = Ld(n),
+      g = v.needLoginPage,
+      y = v.notNeedLoginPage,
+      _ = (function () {
+        var e =
+            arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [],
+          t = [],
+          n = [];
+        return (
+          e.forEach(function (e) {
+            var r = e.root,
+              i = e.pages,
+              o = Ld(void 0 === i ? [] : i, r),
+              a = o.needLoginPage,
+              u = o.notNeedLoginPage;
+            t.push.apply(t, p(a)), n.push.apply(n, p(u));
+          }),
+          { needLoginPage: t, notNeedLoginPage: n }
+        );
+      })(i),
+      m = _.needLoginPage,
+      w = _.notNeedLoginPage;
+    return {
+      loginPage: c,
+      routerNeedLogin: l,
+      resToLogin: d,
+      needLoginPage: [].concat(p(g), p(m)),
+      notNeedLoginPage: [].concat(p(y), p(w)),
+      loginPageInTabBar: Ud(c, s),
+    };
+  })(),
+  Fd = $d.loginPage,
+  Hd = $d.routerNeedLogin,
+  qd = $d.resToLogin,
+  zd = $d.needLoginPage,
+  Wd = $d.notNeedLoginPage,
+  Vd = $d.loginPageInTabBar;
+if (zd.indexOf(Fd) > -1)
+  throw new Error(
+    "Login page [".concat(
+      Fd,
+      '] should not be "needLogin", please check your pages.json'
+    )
+  );
+function Kd(e) {
+  var t = Nd();
+  if ("/" === e.charAt(0)) return e;
+  var n = e.split("?"),
+    r = h(n, 2),
+    i = r[0],
+    o = r[1],
+    a = i.replace(/^\//, "").split("/"),
+    u = t.split("/");
+  u.pop();
+  for (var s = 0; s < a.length; s++) {
+    var c = a[s];
+    ".." === c ? u.pop() : "." !== c && u.push(c);
+  }
+  return "" === u[0] && u.shift(), "/" + u.join("/") + (o ? "?" + o : "");
+}
+function Jd(e) {
+  var t = Dd(e.redirect),
+    n = Dd(Fd);
+  return Nd() !== n && t !== n;
+}
+function Gd() {
+  var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+    t = e.api,
+    n = e.redirect;
+  if (n && Jd({ redirect: n })) {
+    var r,
+      i,
+      o =
+        ((i = n),
+        "/" !== (r = Fd).charAt(0) && (r = "/" + r),
+        i
+          ? r.indexOf("?") > -1
+            ? r + "&uniIdRedirectUrl=".concat(encodeURIComponent(i))
+            : r + "?uniIdRedirectUrl=".concat(encodeURIComponent(i))
+          : r);
+    Vd
+      ? ("navigateTo" !== t && "redirectTo" !== t) || (t = "switchTab")
+      : "switchTab" === t && (t = "navigateTo");
+    var a = {
+      navigateTo: Pn.navigateTo,
+      redirectTo: Pn.redirectTo,
+      switchTab: Pn.switchTab,
+      reLaunch: Pn.reLaunch,
+    };
+    setTimeout(function () {
+      a[t]({ url: o });
+    });
+  }
+}
+function Yd() {
+  var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+    t = e.url,
+    n = { abortLoginPageJump: !1, autoToLoginPage: !1 },
+    r = (function () {
+      var e,
+        t = Ch(),
+        n = t.token,
+        r = t.tokenExpired;
+      if (n) {
+        if (r < Date.now()) {
+          var i = "uni-id-token-expired";
+          e = { errCode: i, errMsg: Cd[i] };
+        }
+      } else {
+        var o = "uni-id-check-token-failed";
+        e = { errCode: o, errMsg: Cd[o] };
+      }
+      return e;
+    })();
+  if (
+    (function (e) {
+      var t = Dd(Kd(e));
+      return (
+        !(Wd.indexOf(t) > -1) &&
+        (zd.indexOf(t) > -1 ||
+          Hd.some(function (t) {
+            return (n = e), new RegExp(t).test(n);
+            var n;
+          }))
+      );
+    })(t) &&
+    r
+  ) {
+    if (((r.uniIdRedirectUrl = t), mh(dh).length > 0))
+      return (
+        setTimeout(function () {
+          bh(dh, r);
+        }, 0),
+        (n.abortLoginPageJump = !0),
+        n
+      );
+    n.autoToLoginPage = !0;
+  }
+  return n;
+}
+function Xd() {
+  !(function () {
+    var e = Bd(),
+      t = Yd({ url: e }),
+      n = t.abortLoginPageJump,
+      r = t.autoToLoginPage;
+    n || (r && Gd({ api: "redirectTo", redirect: e }));
+  })();
+  for (
+    var e = ["navigateTo", "redirectTo", "reLaunch", "switchTab"],
+      t = function () {
+        var t = e[n];
+        Pn.addInterceptor(t, {
+          invoke: function (e) {
+            var n = Yd({ url: e.url }),
+              r = n.abortLoginPageJump,
+              i = n.autoToLoginPage;
+            return r ? e : i ? (Gd({ api: t, redirect: Kd(e.url) }), !1) : e;
+          },
+        });
+      },
+      n = 0;
+    n < e.length;
+    n++
+  )
+    t();
+}
+function Qd() {
+  this.onResponse(function (e) {
+    var t = e.type,
+      n = e.content,
+      r = !1;
+    switch (t) {
+      case "cloudobject":
+        r = (function (e) {
+          return "object" == f(e) && (e || {}).errCode in Cd;
+        })(n);
+        break;
+      case "clientdb":
+        r = (function (e) {
+          return "object" == f(e) && (e || {}).errCode in Ed;
+        })(n);
+    }
+    r &&
+      (function () {
+        var e =
+            arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+          t = mh(dh);
+        Ah().then(function () {
+          var n = Bd();
+          if (n && Jd({ redirect: n }))
+            return t.length > 0
+              ? bh(dh, Object.assign({ uniIdRedirectUrl: n }, e))
+              : void (Fd && Gd({ api: "navigateTo", redirect: n }));
+        });
+      })(n);
+  });
+}
+function Zd(e) {
+  var t;
+  ((t = e).onResponse = function (e) {
+    wh(ph, e);
+  }),
+    (t.offResponse = function (e) {
+      kh(ph, e);
+    }),
+    (function (e) {
+      (e.onNeedLogin = function (e) {
+        wh(dh, e);
+      }),
+        (e.offNeedLogin = function (e) {
+          kh(dh, e);
+        }),
+        Md &&
+          (ih("_globalUniCloudStatus").needLoginInit ||
+            ((ih("_globalUniCloudStatus").needLoginInit = !0),
+            Ah().then(function () {
+              Xd.call(e);
+            }),
+            qd && Qd.call(e)));
+    })(e),
+    (function (e) {
+      (e.onRefreshToken = function (e) {
+        wh(vh, e);
+      }),
+        (e.offRefreshToken = function (e) {
+          kh(vh, e);
+        });
+    })(e);
+}
+var ev = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
+  tv = /^(?:[A-Za-z\d+/]{4})*?(?:[A-Za-z\d+/]{2}(?:==)?|[A-Za-z\d+/]{3}=?)?$/;
+function nv() {
+  var e,
+    t,
+    n = Ch().token || "",
+    r = n.split(".");
+  if (!n || 3 !== r.length)
+    return { uid: null, role: [], permission: [], tokenExpired: 0 };
+  try {
+    e = JSON.parse(
+      ((t = r[1]),
+      decodeURIComponent(
+        jd(t)
+          .split("")
+          .map(function (e) {
+            return "%" + ("00" + e.charCodeAt(0).toString(16)).slice(-2);
+          })
+          .join("")
+      ))
+    );
+  } catch (e) {
+    throw new Error("获取当前用户信息出错,详细错误信息为:" + e.message);
+  }
+  return (e.tokenExpired = 1e3 * e.exp), delete e.exp, delete e.iat, e;
+}
+jd =
+  "function" != typeof atob
+    ? function (e) {
+        if (((e = String(e).replace(/[\t\n\f\r ]+/g, "")), !tv.test(e)))
+          throw new Error(
+            "Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded."
+          );
+        var t;
+        e += "==".slice(2 - (3 & e.length));
+        for (var n, r, i = "", o = 0; o < e.length; )
+          (t =
+            (ev.indexOf(e.charAt(o++)) << 18) |
+            (ev.indexOf(e.charAt(o++)) << 12) |
+            ((n = ev.indexOf(e.charAt(o++))) << 6) |
+            (r = ev.indexOf(e.charAt(o++)))),
+            (i +=
+              64 === n
+                ? String.fromCharCode((t >> 16) & 255)
+                : 64 === r
+                ? String.fromCharCode((t >> 16) & 255, (t >> 8) & 255)
+                : String.fromCharCode(
+                    (t >> 16) & 255,
+                    (t >> 8) & 255,
+                    255 & t
+                  ));
+        return i;
+      }
+    : atob;
+var rv = (function (e) {
+  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default")
+    ? e.default
+    : e;
+})(
+  jl(function (e, t) {
+    Object.defineProperty(t, "__esModule", { value: !0 });
+    var n = "chooseAndUploadFile:ok",
+      r = "chooseAndUploadFile:fail";
+    function i(e, t) {
+      return (
+        e.tempFiles.forEach(function (e, n) {
+          e.name || (e.name = e.path.substring(e.path.lastIndexOf("/") + 1)),
+            t && (e.fileType = t),
+            (e.cloudPath =
+              Date.now() + "_" + n + e.name.substring(e.name.lastIndexOf(".")));
+        }),
+        e.tempFilePaths ||
+          (e.tempFilePaths = e.tempFiles.map(function (e) {
+            return e.path;
+          })),
+        e
+      );
+    }
+    function o(e, t, r) {
+      var i = r.onChooseFile,
+        o = r.onUploadProgress;
+      return t
+        .then(function (e) {
+          if (i) {
+            var t = i(e);
+            if (void 0 !== t)
+              return Promise.resolve(t).then(function (t) {
+                return void 0 === t ? e : t;
+              });
+          }
+          return e;
+        })
+        .then(function (t) {
+          return !1 === t
+            ? { errMsg: n, tempFilePaths: [], tempFiles: [] }
+            : (function (e, t) {
+                var r =
+                    arguments.length > 2 && void 0 !== arguments[2]
+                      ? arguments[2]
+                      : 5,
+                  i = arguments.length > 3 ? arguments[3] : void 0;
+                (t = Object.assign({}, t)).errMsg = n;
+                var o = t.tempFiles,
+                  a = o.length,
+                  u = 0;
+                return new Promise(function (n) {
+                  for (; u < r; ) s();
+                  function s() {
+                    var r = u++;
+                    if (r >= a)
+                      !o.find(function (e) {
+                        return !e.url && !e.errMsg;
+                      }) && n(t);
+                    else {
+                      var c = o[r];
+                      e.uploadFile({
+                        filePath: c.path,
+                        cloudPath: c.cloudPath,
+                        fileType: c.fileType,
+                        cloudPathAsRealPath: c.cloudPathAsRealPath,
+                        onUploadProgress: function (e) {
+                          (e.index = r),
+                            (e.tempFile = c),
+                            (e.tempFilePath = c.path),
+                            i && i(e);
+                        },
+                      })
+                        .then(function (e) {
+                          (c.url = e.fileID), r < a && s();
+                        })
+                        .catch(function (e) {
+                          (c.errMsg = e.errMsg || e.message), r < a && s();
+                        });
+                    }
+                  }
+                });
+              })(e, t, 5, o);
+        });
+    }
+    t.initChooseAndUploadFile = function (e) {
+      return function () {
+        var t =
+          arguments.length > 0 && void 0 !== arguments[0]
+            ? arguments[0]
+            : { type: "all" };
+        return "image" === t.type
+          ? o(
+              e,
+              (function (e) {
+                var t = e.count,
+                  n = e.sizeType,
+                  o = e.sourceType,
+                  a = void 0 === o ? ["album", "camera"] : o,
+                  u = e.extension;
+                return new Promise(function (e, o) {
+                  Pn.chooseImage({
+                    count: t,
+                    sizeType: n,
+                    sourceType: a,
+                    extension: u,
+                    success: function (t) {
+                      e(i(t, "image"));
+                    },
+                    fail: function (e) {
+                      o({ errMsg: e.errMsg.replace("chooseImage:fail", r) });
+                    },
+                  });
+                });
+              })(t),
+              t
+            )
+          : "video" === t.type
+          ? o(
+              e,
+              (function (e) {
+                var t = e.camera,
+                  n = e.compressed,
+                  o = e.maxDuration,
+                  a = e.sourceType,
+                  u = void 0 === a ? ["album", "camera"] : a,
+                  s = e.extension;
+                return new Promise(function (e, a) {
+                  Pn.chooseVideo({
+                    camera: t,
+                    compressed: n,
+                    maxDuration: o,
+                    sourceType: u,
+                    extension: s,
+                    success: function (t) {
+                      var n = t.tempFilePath,
+                        r = t.duration,
+                        o = t.size,
+                        a = t.height,
+                        u = t.width;
+                      e(
+                        i(
+                          {
+                            errMsg: "chooseVideo:ok",
+                            tempFilePaths: [n],
+                            tempFiles: [
+                              {
+                                name: (t.tempFile && t.tempFile.name) || "",
+                                path: n,
+                                size: o,
+                                type: (t.tempFile && t.tempFile.type) || "",
+                                width: u,
+                                height: a,
+                                duration: r,
+                                fileType: "video",
+                                cloudPath: "",
+                              },
+                            ],
+                          },
+                          "video"
+                        )
+                      );
+                    },
+                    fail: function (e) {
+                      a({ errMsg: e.errMsg.replace("chooseVideo:fail", r) });
+                    },
+                  });
+                });
+              })(t),
+              t
+            )
+          : o(
+              e,
+              (function (e) {
+                var t = e.count,
+                  n = e.extension;
+                return new Promise(function (e, o) {
+                  var a = Pn.chooseFile;
+                  if (
+                    (void 0 !== On &&
+                      "function" == typeof On.chooseMessageFile &&
+                      (a = On.chooseMessageFile),
+                    "function" != typeof a)
+                  )
+                    return o({
+                      errMsg:
+                        r +
+                        " 请指定 type 类型,该平台仅支持选择 image 或 video。",
+                    });
+                  a({
+                    type: "all",
+                    count: t,
+                    extension: n,
+                    success: function (t) {
+                      e(i(t));
+                    },
+                    fail: function (e) {
+                      o({ errMsg: e.errMsg.replace("chooseFile:fail", r) });
+                    },
+                  });
+                });
+              })(t),
+              t
+            );
+      };
+    };
+  })
+);
+function iv(e) {
+  return {
+    props: {
+      localdata: {
+        type: Array,
+        default: function () {
+          return [];
+        },
+      },
+      options: {
+        type: [Object, Array],
+        default: function () {
+          return {};
+        },
+      },
+      spaceInfo: {
+        type: Object,
+        default: function () {
+          return {};
+        },
+      },
+      collection: { type: [String, Array], default: "" },
+      action: { type: String, default: "" },
+      field: { type: String, default: "" },
+      orderby: { type: String, default: "" },
+      where: { type: [String, Object], default: "" },
+      pageData: { type: String, default: "add" },
+      pageCurrent: { type: Number, default: 1 },
+      pageSize: { type: Number, default: 20 },
+      getcount: { type: [Boolean, String], default: !1 },
+      gettree: { type: [Boolean, String], default: !1 },
+      gettreepath: { type: [Boolean, String], default: !1 },
+      startwith: { type: String, default: "" },
+      limitlevel: { type: Number, default: 10 },
+      groupby: { type: String, default: "" },
+      groupField: { type: String, default: "" },
+      distinct: { type: [Boolean, String], default: !1 },
+      foreignKey: { type: String, default: "" },
+      loadtime: { type: String, default: "auto" },
+      manual: { type: Boolean, default: !1 },
+    },
+    data: function () {
+      return {
+        mixinDatacomLoading: !1,
+        mixinDatacomHasMore: !1,
+        mixinDatacomResData: [],
+        mixinDatacomErrorMessage: "",
+        mixinDatacomPage: {},
+      };
+    },
+    created: function () {
+      var e = this;
+      (this.mixinDatacomPage = {
+        current: this.pageCurrent,
+        size: this.pageSize,
+        count: 0,
+      }),
+        this.$watch(
+          function () {
+            var t = [];
+            return (
+              [
+                "pageCurrent",
+                "pageSize",
+                "localdata",
+                "collection",
+                "action",
+                "field",
+                "orderby",
+                "where",
+                "getont",
+                "getcount",
+                "gettree",
+                "groupby",
+                "groupField",
+                "distinct",
+              ].forEach(function (n) {
+                t.push(e[n]);
+              }),
+              t
+            );
+          },
+          function (t, n) {
+            if ("manual" !== e.loadtime) {
+              for (var r = !1, i = [], o = 2; o < t.length; o++)
+                t[o] !== n[o] && (i.push(t[o]), (r = !0));
+              t[0] !== n[0] && (e.mixinDatacomPage.current = e.pageCurrent),
+                (e.mixinDatacomPage.size = e.pageSize),
+                e.onMixinDatacomPropsChange(r, i);
+            }
+          }
+        );
+    },
+    methods: {
+      onMixinDatacomPropsChange: function (e, t) {},
+      mixinDatacomEasyGet: function () {
+        var e = this,
+          t =
+            arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+          n = t.getone,
+          r = void 0 !== n && n,
+          i = t.success,
+          o = t.fail;
+        this.mixinDatacomLoading ||
+          ((this.mixinDatacomLoading = !0),
+          (this.mixinDatacomErrorMessage = ""),
+          this.mixinDatacomGet()
+            .then(function (t) {
+              e.mixinDatacomLoading = !1;
+              var n = t.result,
+                o = n.data,
+                a = n.count;
+              e.getcount && (e.mixinDatacomPage.count = a),
+                (e.mixinDatacomHasMore = o.length < e.pageSize);
+              var u = r ? (o.length ? o[0] : void 0) : o;
+              (e.mixinDatacomResData = u), i && i(u);
+            })
+            .catch(function (t) {
+              (e.mixinDatacomLoading = !1),
+                (e.mixinDatacomErrorMessage = t),
+                o && o(t);
+            }));
+      },
+      mixinDatacomGet: function () {
+        var t,
+          n =
+            arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+          r = e.database(this.spaceInfo),
+          i = n.action || this.action;
+        i && (r = r.action(i));
+        var o = n.collection || this.collection;
+        r = Array.isArray(o)
+          ? (t = r).collection.apply(t, p(o))
+          : r.collection(o);
+        var a = n.where || this.where;
+        a && Object.keys(a).length && (r = r.where(a));
+        var u = n.field || this.field;
+        u && (r = r.field(u));
+        var s = n.foreignKey || this.foreignKey;
+        s && (r = r.foreignKey(s));
+        var c = n.groupby || this.groupby;
+        c && (r = r.groupBy(c));
+        var f = n.groupField || this.groupField;
+        f && (r = r.groupField(f)),
+          !0 === (void 0 !== n.distinct ? n.distinct : this.distinct) &&
+            (r = r.distinct());
+        var l = n.orderby || this.orderby;
+        l && (r = r.orderBy(l));
+        var h =
+            void 0 !== n.pageCurrent
+              ? n.pageCurrent
+              : this.mixinDatacomPage.current,
+          d = void 0 !== n.pageSize ? n.pageSize : this.mixinDatacomPage.size,
+          v = void 0 !== n.getcount ? n.getcount : this.getcount,
+          g = void 0 !== n.gettree ? n.gettree : this.gettree,
+          y = void 0 !== n.gettreepath ? n.gettreepath : this.gettreepath,
+          _ = { getCount: v },
+          m = {
+            limitLevel:
+              void 0 !== n.limitlevel ? n.limitlevel : this.limitlevel,
+            startWith: void 0 !== n.startwith ? n.startwith : this.startwith,
+          };
+        return (
+          g && (_.getTree = m),
+          y && (_.getTreePath = m),
+          (r = r
+            .skip(d * (h - 1))
+            .limit(d)
+            .get(_))
+        );
+      },
+    },
+  };
+}
+function ov(e) {
+  return ih(
+    "_globalUniCloudSecureNetworkCache__{spaceId}".replace(
+      "{spaceId}",
+      e.config.spaceId
+    )
+  );
+}
+function av() {
+  return uv.apply(this, arguments);
+}
+function uv() {
+  return (uv = n(
+    t().mark(function e() {
+      var n,
+        r,
+        i,
+        o,
+        a,
+        u,
+        s,
+        c = arguments;
+      return t().wrap(
+        function (e) {
+          for (;;)
+            switch ((e.prev = e.next)) {
+              case 0:
+                if (
+                  ((n = c.length > 0 && void 0 !== c[0] ? c[0] : {}),
+                  (r = n.openid),
+                  (i = n.callLoginByWeixin),
+                  (o = void 0 !== i && i),
+                  (a = ov(this)),
+                  !r || !o)
+                ) {
+                  e.next = 4;
+                  break;
+                }
+                throw new Error(
+                  "[SecureNetwork] openid and callLoginByWeixin cannot be passed at the same time"
+                );
+              case 4:
+                if (!r) {
+                  e.next = 6;
+                  break;
+                }
+                return e.abrupt("return", ((a.mpWeixinOpenid = r), {}));
+              case 6:
+                return (
+                  (e.next = 8),
+                  new Promise(function (e, t) {
+                    Pn.login({
+                      success: function (t) {
+                        e(t.code);
+                      },
+                      fail: function (e) {
+                        t(new Error(e.errMsg));
+                      },
+                    });
+                  })
+                );
+              case 8:
+                return (
+                  (u = e.sent),
+                  (s = this.importObject("uni-id-co", { customUI: !0 })),
+                  (e.next = 12),
+                  s.secureNetworkHandshakeByWeixin({
+                    code: u,
+                    callLoginByWeixin: o,
+                  })
+                );
+              case 12:
+                return (a.mpWeixinCode = u), e.abrupt("return", { code: u });
+              case 14:
+              case "end":
+                return e.stop();
+            }
+        },
+        e,
+        this
+      );
+    })
+  )).apply(this, arguments);
+}
+function sv(e) {
+  return cv.apply(this, arguments);
+}
+function cv() {
+  return (cv = n(
+    t().mark(function e(n) {
+      var r;
+      return t().wrap(
+        function (e) {
+          for (;;)
+            switch ((e.prev = e.next)) {
+              case 0:
+                return (
+                  (r = ov(this)),
+                  e.abrupt(
+                    "return",
+                    (r.initPromise || (r.initPromise = av.call(this, n)),
+                    r.initPromise)
+                  )
+                );
+              case 2:
+              case "end":
+                return e.stop();
+            }
+        },
+        e,
+        this
+      );
+    })
+  )).apply(this, arguments);
+}
+function fv(e) {
+  var t = {
+    getSystemInfo: Pn.getSystemInfo,
+    getPushClientId: Pn.getPushClientId,
+  };
+  return function (n) {
+    return new Promise(function (i, o) {
+      t[e](
+        r(
+          r({}, n),
+          {},
+          {
+            success: function (e) {
+              i(e);
+            },
+            fail: function (e) {
+              o(e);
+            },
+          }
+        )
+      );
+    });
+  };
+}
+var lv = (function (r) {
+    i(f, r);
+    var a,
+      u = o(f);
+    function f() {
+      var t;
+      return (
+        s(this, f),
+        ((t = u.call(this))._uniPushMessageCallback =
+          t._receivePushMessage.bind(e(t))),
+        (t._currentMessageId = -1),
+        (t._payloadQueue = []),
+        t
+      );
+    }
+    return (
+      c(f, [
+        {
+          key: "init",
+          value: function () {
+            var e = this;
+            return Promise.all([
+              fv("getSystemInfo")(),
+              fv("getPushClientId")(),
+            ]).then(
+              function () {
+                var t =
+                    arguments.length > 0 && void 0 !== arguments[0]
+                      ? arguments[0]
+                      : [],
+                  n = h(t, 2),
+                  r = n[0],
+                  i = void 0 === r ? {} : r,
+                  o = i.appId,
+                  a = n[1],
+                  u = void 0 === a ? {} : a,
+                  s = u.cid;
+                if (!o)
+                  throw new Error(
+                    "Invalid appId, please check the manifest.json file"
+                  );
+                if (!s) throw new Error("Invalid push client id");
+                (e._appId = o),
+                  (e._pushClientId = s),
+                  (e._seqId =
+                    Date.now() + "-" + Math.floor(9e5 * Math.random() + 1e5)),
+                  e.emit("open"),
+                  e._initMessageListener();
+              },
+              function (t) {
+                throw (e.emit("error", t), e.close(), t);
+              }
+            );
+          },
+        },
+        {
+          key: "open",
+          value:
+            ((a = n(
+              t().mark(function e() {
+                return t().wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return e.abrupt("return", this.init());
+                        case 1:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  this
+                );
+              })
+            )),
+            function () {
+              return a.apply(this, arguments);
+            }),
+        },
+        {
+          key: "_isUniCloudSSE",
+          value: function (e) {
+            if ("receive" !== e.type) return !1;
+            var t = e && e.data && e.data.payload;
+            return !(
+              !t ||
+              "UNI_CLOUD_SSE" !== t.channel ||
+              t.seqId !== this._seqId
+            );
+          },
+        },
+        {
+          key: "_receivePushMessage",
+          value: function (e) {
+            if (this._isUniCloudSSE(e)) {
+              var t = e && e.data && e.data.payload,
+                n = t.action,
+                r = t.messageId,
+                i = t.message;
+              this._payloadQueue.push({ action: n, messageId: r, message: i }),
+                this._consumMessage();
+            }
+          },
+        },
+        {
+          key: "_consumMessage",
+          value: function () {
+            for (var e = this; ; ) {
+              var t = this._payloadQueue.find(function (t) {
+                return t.messageId === e._currentMessageId + 1;
+              });
+              if (!t) break;
+              this._currentMessageId++, this._parseMessagePayload(t);
+            }
+          },
+        },
+        {
+          key: "_parseMessagePayload",
+          value: function (e) {
+            var t = e.action,
+              n = e.messageId,
+              r = e.message;
+            "end" === t
+              ? this._end({ messageId: n, message: r })
+              : "message" === t &&
+                this._appendMessage({ messageId: n, message: r });
+          },
+        },
+        {
+          key: "_appendMessage",
+          value: function () {
+            var e =
+                arguments.length > 0 && void 0 !== arguments[0]
+                  ? arguments[0]
+                  : {},
+              t = (e.messageId, e.message);
+            this.emit("message", t);
+          },
+        },
+        {
+          key: "_end",
+          value: function () {
+            var e =
+                arguments.length > 0 && void 0 !== arguments[0]
+                  ? arguments[0]
+                  : {},
+              t = (e.messageId, e.message);
+            this.emit("end", t), this.close();
+          },
+        },
+        {
+          key: "_initMessageListener",
+          value: function () {
+            Pn.onPushMessage(this._uniPushMessageCallback);
+          },
+        },
+        {
+          key: "_destroy",
+          value: function () {
+            Pn.offPushMessage(this._uniPushMessageCallback);
+          },
+        },
+        {
+          key: "toJSON",
+          value: function () {
+            return {
+              appId: this._appId,
+              pushClientId: this._pushClientId,
+              seqId: this._seqId,
+            };
+          },
+        },
+        {
+          key: "close",
+          value: function () {
+            this._destroy(), this.emit("close");
+          },
+        },
+      ]),
+      f
+    );
+  })(
+    (function () {
+      function e() {
+        s(this, e), (this._callback = {});
+      }
+      return (
+        c(e, [
+          {
+            key: "addListener",
+            value: function (e, t) {
+              this._callback[e] || (this._callback[e] = []),
+                this._callback[e].push(t);
+            },
+          },
+          {
+            key: "on",
+            value: function (e, t) {
+              return this.addListener(e, t);
+            },
+          },
+          {
+            key: "removeListener",
+            value: function (e, t) {
+              if (!t)
+                throw new Error(
+                  'The "listener" argument must be of type function. Received undefined'
+                );
+              var n = this._callback[e];
+              if (n) {
+                var r = (function (e, t) {
+                  for (var n = e.length - 1; n >= 0; n--)
+                    if (e[n] === t) return n;
+                  return -1;
+                })(n, t);
+                n.splice(r, 1);
+              }
+            },
+          },
+          {
+            key: "off",
+            value: function (e, t) {
+              return this.removeListener(e, t);
+            },
+          },
+          {
+            key: "removeAllListener",
+            value: function (e) {
+              delete this._callback[e];
+            },
+          },
+          {
+            key: "emit",
+            value: function (e) {
+              for (
+                var t = this._callback[e],
+                  n = arguments.length,
+                  r = new Array(n > 1 ? n - 1 : 0),
+                  i = 1;
+                i < n;
+                i++
+              )
+                r[i - 1] = arguments[i];
+              if (t) for (var o = 0; o < t.length; o++) t[o].apply(t, r);
+            },
+          },
+        ]),
+        e
+      );
+    })()
+  ),
+  hv = { tcb: zp, tencent: zp, aliyun: Mh, private: Vp, alipay: ed },
+  pv = new ((function () {
+    function e() {
+      s(this, e);
+    }
+    return (
+      c(e, [
+        {
+          key: "init",
+          value: function (e) {
+            var i,
+              o = {},
+              a = hv[e.provider];
+            if (!a) throw new Error("未提供正确的provider参数");
+            return (
+              (function (e) {
+                e._initPromiseHub ||
+                  (e._initPromiseHub = new Ql({
+                    createPromise: function () {
+                      var t = Promise.resolve();
+                      t = new Promise(function (e) {
+                        setTimeout(function () {
+                          e();
+                        }, 1);
+                      });
+                      var n = e.auth();
+                      return t
+                        .then(function () {
+                          return n.getLoginState();
+                        })
+                        .then(function (e) {
+                          return e ? Promise.resolve() : n.signInAnonymously();
+                        });
+                    },
+                  }));
+              })((o = a.init(e))),
+              vd(o),
+              (function (e) {
+                var t = e.uploadFile;
+                e.uploadFile = function (e) {
+                  return t.call(this, e);
+                };
+              })(o),
+              ((i = o).database = function (e) {
+                if (e && Object.keys(e).length > 0) return i.init(e).database();
+                if (this._database) return this._database;
+                var t = Id(Od, { uniClient: i });
+                return (this._database = t), t;
+              }),
+              (i.databaseForJQL = function (e) {
+                if (e && Object.keys(e).length > 0)
+                  return i.init(e).databaseForJQL();
+                if (this._databaseForJQL) return this._databaseForJQL;
+                var t = Id(Od, { uniClient: i, isJQL: !0 });
+                return (this._databaseForJQL = t), t;
+              }),
+              (function (e) {
+                (e.getCurrentUserInfo = nv),
+                  (e.chooseAndUploadFile = rv.initChooseAndUploadFile(e)),
+                  Object.assign(e, {
+                    get mixinDatacom() {
+                      return iv(e);
+                    },
+                  }),
+                  (e.SSEChannel = lv),
+                  (e.initSecureNetworkByWeixin = (function (e) {
+                    return function () {
+                      var t =
+                          arguments.length > 0 && void 0 !== arguments[0]
+                            ? arguments[0]
+                            : {},
+                        n = t.openid,
+                        r = t.callLoginByWeixin,
+                        i = void 0 !== r && r;
+                      return sv.call(e, { openid: n, callLoginByWeixin: i });
+                    };
+                  })(e)),
+                  (e.importObject = (function (e) {
+                    return function (i) {
+                      var o =
+                          arguments.length > 1 && void 0 !== arguments[1]
+                            ? arguments[1]
+                            : {},
+                        a = (o = (function (e) {
+                          var t =
+                            arguments.length > 1 && void 0 !== arguments[1]
+                              ? arguments[1]
+                              : {};
+                          return (
+                            (e.customUI = t.customUI || e.customUI),
+                            (e.parseSystemError =
+                              t.parseSystemError || e.parseSystemError),
+                            Object.assign(e.loadingOptions, t.loadingOptions),
+                            Object.assign(e.errorOptions, t.errorOptions),
+                            "object" == f(t.secretMethods) &&
+                              (e.secretMethods = t.secretMethods),
+                            e
+                          );
+                        })(
+                          {
+                            customUI: !1,
+                            loadingOptions: { title: "加载中...", mask: !0 },
+                            errorOptions: { type: "modal", retry: !1 },
+                          },
+                          o
+                        )),
+                        u = a.customUI,
+                        s = a.loadingOptions,
+                        c = a.errorOptions,
+                        l = a.parseSystemError,
+                        h = !u;
+                      return new Proxy(
+                        {},
+                        {
+                          get: function (a, u) {
+                            switch (u) {
+                              case "toString":
+                                return "[object UniCloudObject]";
+                              case "toJSON":
+                                return {};
+                            }
+                            return (function () {
+                              var e =
+                                  arguments.length > 0 &&
+                                  void 0 !== arguments[0]
+                                    ? arguments[0]
+                                    : {},
+                                i = e.fn,
+                                o = e.interceptorName,
+                                a = e.getCallbackArgs;
+                              return n(
+                                t().mark(function e() {
+                                  var n,
+                                    u,
+                                    s,
+                                    c,
+                                    f,
+                                    l,
+                                    h = arguments;
+                                  return t().wrap(
+                                    function (e) {
+                                      for (;;)
+                                        switch ((e.prev = e.next)) {
+                                          case 0:
+                                            for (
+                                              n = h.length,
+                                                u = new Array(n),
+                                                s = 0;
+                                              s < n;
+                                              s++
+                                            )
+                                              u[s] = h[s];
+                                            return (
+                                              (c = a ? a({ params: u }) : {}),
+                                              (e.prev = 2),
+                                              (e.next = 5),
+                                              ch(fh(o, "invoke"), r({}, c))
+                                            );
+                                          case 5:
+                                            return (
+                                              (e.next = 7), i.apply(void 0, u)
+                                            );
+                                          case 7:
+                                            return (
+                                              (f = e.sent),
+                                              (e.next = 10),
+                                              ch(
+                                                fh(o, "success"),
+                                                r(r({}, c), {}, { result: f })
+                                              )
+                                            );
+                                          case 10:
+                                            return e.abrupt("return", f);
+                                          case 13:
+                                            return (
+                                              (e.prev = 13),
+                                              (e.t0 = e.catch(2)),
+                                              (l = e.t0),
+                                              (e.next = 18),
+                                              ch(
+                                                fh(o, "fail"),
+                                                r(r({}, c), {}, { error: l })
+                                              )
+                                            );
+                                          case 18:
+                                            throw l;
+                                          case 19:
+                                            return (
+                                              (e.prev = 19),
+                                              (e.next = 22),
+                                              ch(
+                                                fh(o, "complete"),
+                                                r(
+                                                  r({}, c),
+                                                  {},
+                                                  l
+                                                    ? { error: l }
+                                                    : { result: f }
+                                                )
+                                              )
+                                            );
+                                          case 22:
+                                            return e.finish(19);
+                                          case 23:
+                                          case "end":
+                                            return e.stop();
+                                        }
+                                    },
+                                    e,
+                                    null,
+                                    [[2, 13, 19, 23]]
+                                  );
+                                })
+                              );
+                            })({
+                              fn: (function () {
+                                var a = n(
+                                  t().mark(function a() {
+                                    var d,
+                                      v,
+                                      g,
+                                      y,
+                                      _,
+                                      m,
+                                      w,
+                                      k,
+                                      b,
+                                      x,
+                                      S,
+                                      A,
+                                      I,
+                                      O,
+                                      P,
+                                      T = arguments;
+                                    return t().wrap(
+                                      function (a) {
+                                        for (;;)
+                                          switch ((a.prev = a.next)) {
+                                            case 0:
+                                              for (
+                                                h &&
+                                                  Pn.showLoading({
+                                                    title: s.title,
+                                                    mask: s.mask,
+                                                  }),
+                                                  v = T.length,
+                                                  g = new Array(v),
+                                                  y = 0;
+                                                y < v;
+                                                y++
+                                              )
+                                                g[y] = T[y];
+                                              return (
+                                                (_ = {
+                                                  name: i,
+                                                  type: "OBJECT",
+                                                  data: {
+                                                    method: u,
+                                                    params: g,
+                                                  },
+                                                }),
+                                                "object" ==
+                                                  f(o.secretMethods) &&
+                                                  (function (e, t) {
+                                                    var n = t.data.method,
+                                                      r = e.secretMethods || {},
+                                                      i = r[n] || r["*"];
+                                                    i && (t.secretType = i);
+                                                  })(o, _),
+                                                (m = !1),
+                                                (a.prev = 5),
+                                                (a.next = 8),
+                                                e.callFunction(_)
+                                              );
+                                            case 8:
+                                              (d = a.sent), (a.next = 14);
+                                              break;
+                                            case 11:
+                                              (a.prev = 11),
+                                                (a.t0 = a.catch(5)),
+                                                (m = !0),
+                                                (d = { result: new Th(a.t0) });
+                                            case 14:
+                                              if (
+                                                ((w = d.result || {}),
+                                                (k = w.errSubject),
+                                                (b = w.errCode),
+                                                (x = w.errMsg),
+                                                (S = w.newToken),
+                                                h && Pn.hideLoading(),
+                                                S &&
+                                                  S.token &&
+                                                  S.tokenExpired &&
+                                                  (Rh(S), bh(vh, r({}, S))),
+                                                !b)
+                                              ) {
+                                                a.next = 40;
+                                                break;
+                                              }
+                                              if (
+                                                ((A = x),
+                                                (a.t1 = m && l),
+                                                !a.t1)
+                                              ) {
+                                                a.next = 25;
+                                                break;
+                                              }
+                                              return (
+                                                (a.next = 21),
+                                                l({
+                                                  objectName: i,
+                                                  methodName: u,
+                                                  params: g,
+                                                  errSubject: k,
+                                                  errCode: b,
+                                                  errMsg: x,
+                                                })
+                                              );
+                                            case 21:
+                                              if (
+                                                ((a.t2 = a.sent.errMsg), a.t2)
+                                              ) {
+                                                a.next = 24;
+                                                break;
+                                              }
+                                              a.t2 = x;
+                                            case 24:
+                                              A = a.t2;
+                                            case 25:
+                                              if (!h) {
+                                                a.next = 38;
+                                                break;
+                                              }
+                                              if ("toast" !== c.type) {
+                                                a.next = 30;
+                                                break;
+                                              }
+                                              Pn.showToast({
+                                                title: A,
+                                                icon: "none",
+                                              }),
+                                                (a.next = 38);
+                                              break;
+                                            case 30:
+                                              if ("modal" === c.type) {
+                                                a.next = 32;
+                                                break;
+                                              }
+                                              throw new Error(
+                                                "Invalid errorOptions.type: ".concat(
+                                                  c.type
+                                                )
+                                              );
+                                            case 32:
+                                              return (
+                                                (a.next = 34),
+                                                n(
+                                                  t().mark(function e() {
+                                                    var n,
+                                                      r,
+                                                      i,
+                                                      o,
+                                                      a,
+                                                      u,
+                                                      s = arguments;
+                                                    return t().wrap(function (
+                                                      e
+                                                    ) {
+                                                      for (;;)
+                                                        switch (
+                                                          (e.prev = e.next)
+                                                        ) {
+                                                          case 0:
+                                                            return (
+                                                              (n =
+                                                                s.length > 0 &&
+                                                                void 0 !== s[0]
+                                                                  ? s[0]
+                                                                  : {}),
+                                                              (r = n.title),
+                                                              (i = n.content),
+                                                              (o =
+                                                                n.showCancel),
+                                                              (a =
+                                                                n.cancelText),
+                                                              (u =
+                                                                n.confirmText),
+                                                              e.abrupt(
+                                                                "return",
+                                                                new Promise(
+                                                                  function (
+                                                                    e,
+                                                                    t
+                                                                  ) {
+                                                                    Pn.showModal(
+                                                                      {
+                                                                        title:
+                                                                          r,
+                                                                        content:
+                                                                          i,
+                                                                        showCancel:
+                                                                          o,
+                                                                        cancelText:
+                                                                          a,
+                                                                        confirmText:
+                                                                          u,
+                                                                        success:
+                                                                          function (
+                                                                            t
+                                                                          ) {
+                                                                            e(
+                                                                              t
+                                                                            );
+                                                                          },
+                                                                        fail: function () {
+                                                                          e({
+                                                                            confirm:
+                                                                              !1,
+                                                                            cancel:
+                                                                              !0,
+                                                                          });
+                                                                        },
+                                                                      }
+                                                                    );
+                                                                  }
+                                                                )
+                                                              )
+                                                            );
+                                                          case 2:
+                                                          case "end":
+                                                            return e.stop();
+                                                        }
+                                                    },
+                                                    e);
+                                                  })
+                                                )({
+                                                  title: "提示",
+                                                  content: A,
+                                                  showCancel: c.retry,
+                                                  cancelText: "取消",
+                                                  confirmText: c.retry
+                                                    ? "重试"
+                                                    : "确定",
+                                                })
+                                              );
+                                            case 34:
+                                              if (
+                                                ((I = a.sent),
+                                                (O = I.confirm),
+                                                !c.retry || !O)
+                                              ) {
+                                                a.next = 38;
+                                                break;
+                                              }
+                                              return a.abrupt(
+                                                "return",
+                                                p.apply(void 0, g)
+                                              );
+                                            case 38:
+                                              throw (
+                                                (((P = new Th({
+                                                  subject: k,
+                                                  code: b,
+                                                  message: x,
+                                                  requestId: d.requestId,
+                                                })).detail = d.result),
+                                                bh(ph, {
+                                                  type: _h,
+                                                  content: P,
+                                                }),
+                                                P)
+                                              );
+                                            case 40:
+                                              return a.abrupt(
+                                                "return",
+                                                (bh(ph, {
+                                                  type: _h,
+                                                  content: d.result,
+                                                }),
+                                                d.result)
+                                              );
+                                            case 41:
+                                            case "end":
+                                              return a.stop();
+                                          }
+                                      },
+                                      a,
+                                      null,
+                                      [[5, 11]]
+                                    );
+                                  })
+                                );
+                                function p() {
+                                  return a.apply(this, arguments);
+                                }
+                                return p;
+                              })(),
+                              interceptorName: "callObject",
+                              getCallbackArgs: function () {
+                                var e =
+                                    arguments.length > 0 &&
+                                    void 0 !== arguments[0]
+                                      ? arguments[0]
+                                      : {},
+                                  t = e.params;
+                                return {
+                                  objectName: i,
+                                  methodName: u,
+                                  params: t,
+                                };
+                              },
+                            });
+                          },
+                        }
+                      );
+                    };
+                  })(e));
+              })(o),
+              [
+                "callFunction",
+                "uploadFile",
+                "deleteFile",
+                "getTempFileURL",
+                "downloadFile",
+                "chooseAndUploadFile",
+              ].forEach(function (e) {
+                if (o[e]) {
+                  var t,
+                    n,
+                    r = o[e];
+                  (o[e] = function () {
+                    return r.apply(o, Array.from(arguments));
+                  }),
+                    (o[e] = ((t = o[e]),
+                    (n = e),
+                    function (e) {
+                      var r = this,
+                        i = !1;
+                      if ("callFunction" === n) {
+                        var o = (e && e.type) || ql;
+                        i = o !== ql;
+                      }
+                      var a = "callFunction" === n && !i,
+                        u = this._initPromiseHub.exec(),
+                        s = Ih((e = e || {})),
+                        c = s.success,
+                        f = s.fail,
+                        l = s.complete,
+                        h = u
+                          .then(function () {
+                            return i
+                              ? Promise.resolve()
+                              : ch(fh(n, "invoke"), e);
+                          })
+                          .then(function () {
+                            return t.call(r, e);
+                          })
+                          .then(
+                            function (e) {
+                              return i
+                                ? Promise.resolve(e)
+                                : ch(fh(n, "success"), e)
+                                    .then(function () {
+                                      return ch(fh(n, "complete"), e);
+                                    })
+                                    .then(function () {
+                                      return (
+                                        a && bh(ph, { type: yh, content: e }),
+                                        Promise.resolve(e)
+                                      );
+                                    });
+                            },
+                            function (e) {
+                              return i
+                                ? Promise.reject(e)
+                                : ch(fh(n, "fail"), e)
+                                    .then(function () {
+                                      return ch(fh(n, "complete"), e);
+                                    })
+                                    .then(function () {
+                                      return (
+                                        bh(ph, { type: yh, content: e }),
+                                        Promise.reject(e)
+                                      );
+                                    });
+                            }
+                          );
+                      if (!(c || f || l)) return h;
+                      h.then(
+                        function (e) {
+                          c && c(e),
+                            l && l(e),
+                            a && bh(ph, { type: yh, content: e });
+                        },
+                        function (e) {
+                          f && f(e),
+                            l && l(e),
+                            a && bh(ph, { type: yh, content: e });
+                        }
+                      );
+                    }).bind(o));
+                }
+              }),
+              (o.init = this.init),
+              o
+            );
+          },
+        },
+      ]),
+      e
+    );
+  })())();
+!(function () {
+  var e = nh,
+    t = {};
+  if (e && 1 === e.length) (t = e[0]), ((pv = pv.init(t))._isDefault = !0);
+  else {
+    var n;
+    (n =
+      e && e.length > 0
+        ? "应用有多个服务空间,请通过uniCloud.init方法指定要使用的服务空间"
+        : "uni-app cli项目内使用uniCloud需要使用HBuilderX的运行菜单运行项目,且需要在uniCloud目录关联服务空间"),
+      [
+        "auth",
+        "callFunction",
+        "uploadFile",
+        "deleteFile",
+        "getTempFileURL",
+        "downloadFile",
+        "database",
+        "getCurrentUSerInfo",
+        "importObject",
+      ].forEach(function (e) {
+        pv[e] = function () {
+          return (
+            console.error(n),
+            Promise.reject(new Th({ code: "SYS_ERR", message: n }))
+          );
+        };
+      });
+  }
+  Object.assign(pv, {
+    get mixinDatacom() {
+      return iv(pv);
+    },
+  }),
+    Zd(pv),
+    (pv.addInterceptor = uh),
+    (pv.removeInterceptor = sh),
+    (pv.interceptObject = lh);
+})();
+var dv = pv;
+(exports.CryptoJS = Sc),
+  (exports.Pinia = Pl),
+  (exports.Ws = dv),
+  (exports._ = Ic),
+  (exports._export_sfc = function (e, t) {
+    var n,
+      r = e.__vccOpts || e,
+      i = u(t);
+    try {
+      for (i.s(); !(n = i.n()).done; ) {
+        var o = h(n.value, 2),
+          a = o[0],
+          s = o[1];
+        r[a] = s;
+      }
+    } catch (e) {
+      i.e(e);
+    } finally {
+      i.f();
+    }
+    return r;
+  }),
+  (exports.createPinia = vl),
+  (exports.createSSRApp = function (e) {
+    var t =
+      arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null;
+    return e && (e.mpType = "app"), ca(e, t).use(ba);
+  }),
+  (exports.defineStore = xl),
+  (exports.e = function (e) {
+    for (
+      var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1;
+      r < t;
+      r++
+    )
+      n[r - 1] = arguments[r];
+    return O.apply(void 0, [e].concat(n));
+  }),
+  (exports.f = function (e, t) {
+    return (function (e, t) {
+      var n;
+      if (C(e) || B(e)) {
+        n = new Array(e.length);
+        for (var r = 0, i = e.length; r < i; r++) n[r] = t(e[r], r, r);
+      } else if ("number" == typeof e) {
+        n = new Array(e);
+        for (var o = 0; o < e; o++) n[o] = t(o + 1, o, o);
+      } else if (U(e))
+        if (e[Symbol.iterator])
+          n = Array.from(e, function (e, n) {
+            return t(e, n, n);
+          });
+        else {
+          var a = Object.keys(e);
+          n = new Array(a.length);
+          for (var u = 0, s = a.length; u < s; u++) {
+            var c = a[u];
+            n[u] = t(e[c], c, u);
+          }
+        }
+      else n = [];
+      return n;
+    })(e, t);
+  }),
+  (exports.index = Pn),
+  (exports.initVueI18n = function (e) {
+    var t,
+      n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
+      r = arguments.length > 2 ? arguments[2] : void 0,
+      i = arguments.length > 3 ? arguments[3] : void 0;
+    "string" != typeof e && ((e = (t = [n, e])[0]), (n = t[1])),
+      "string" != typeof e &&
+        (e =
+          void 0 !== Pn && Pn.getLocale
+            ? Pn.getLocale()
+            : "undefined" != typeof global && global.getLocale
+            ? global.getLocale()
+            : ze),
+      "string" != typeof r &&
+        (r =
+          ("undefined" != typeof __uniConfig && __uniConfig.fallbackLocale) ||
+          ze);
+    var o = new Ge({ locale: e, fallbackLocale: r, messages: n, watcher: i }),
+      a = function (e, t) {
+        if ("function" != typeof getApp)
+          a = function (e, t) {
+            return o.t(e, t);
+          };
+        else {
+          var n = !1;
+          a = function (e, t) {
+            var r = getApp().$vm;
+            return (
+              r &&
+                (r.$locale,
+                n ||
+                  ((n = !0),
+                  (function (e, t) {
+                    e.$watchLocale
+                      ? e.$watchLocale(function (e) {
+                          t.setLocale(e);
+                        })
+                      : e.$watch(
+                          function () {
+                            return e.$locale;
+                          },
+                          function (e) {
+                            t.setLocale(e);
+                          }
+                        );
+                  })(r, o))),
+              o.t(e, t)
+            );
+          };
+        }
+        return a(e, t);
+      };
+    return {
+      i18n: o,
+      f: function (e, t, n) {
+        return o.f(e, t, n);
+      },
+      t: function (e, t) {
+        return a(e, t);
+      },
+      add: function (e, t) {
+        var n =
+          !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2];
+        return o.add(e, t, n);
+      },
+      watch: function (e) {
+        return o.watchLocale(e);
+      },
+      getLocale: function () {
+        return o.getLocale();
+      },
+      setLocale: function (e) {
+        return o.setLocale(e);
+      },
+    };
+  }),
+  (exports.lib = fl),
+  (exports.n = function (e) {
+    return (function e(t) {
+      var n = "";
+      if (B(t)) n = t;
+      else if (C(t))
+        for (var r = 0; r < t.length; r++) {
+          var i = e(t[r]);
+          i && (n += i + " ");
+        }
+      else if (U(t)) for (var o in t) t[o] && (n += o + " ");
+      return n.trim();
+    })(e);
+  }),
+  (exports.o = function (e, t) {
+    return (function (e, t) {
+      var n = Co(),
+        r = n.ctx,
+        i =
+          void 0 === t ||
+          ("mp-weixin" !== r.$mpPlatform && "mp-qq" !== r.$mpPlatform) ||
+          (!B(t) && "number" != typeof t)
+            ? ""
+            : "_" + t,
+        o = "e" + n.$ei++ + i,
+        a = r.$scope;
+      if (!e) return delete a[o], o;
+      var u = a[o];
+      return (
+        u
+          ? (u.value = e)
+          : (a[o] = (function (e, t) {
+              var n = function e(n) {
+                var r;
+                (r = n).type &&
+                  r.target &&
+                  ((r.preventDefault = b),
+                  (r.stopPropagation = b),
+                  (r.stopImmediatePropagation = b),
+                  E(r, "detail") || (r.detail = {}),
+                  E(r, "markerId") &&
+                    ((r.detail = "object" == f(r.detail) ? r.detail : {}),
+                    (r.detail.markerId = r.markerId)),
+                  F(r.detail) &&
+                    E(r.detail, "checked") &&
+                    !E(r.detail, "value") &&
+                    (r.detail.value = r.detail.checked),
+                  F(r.detail) && (r.target = O({}, r.target, r.detail)));
+                var i = [n];
+                n.detail && n.detail.__args__ && (i = n.detail.__args__);
+                var o = e.value,
+                  a = function () {
+                    return oi(
+                      (function (e, t) {
+                        if (C(t)) {
+                          var n = e.stopImmediatePropagation;
+                          return (
+                            (e.stopImmediatePropagation = function () {
+                              n && n.call(e), (e._stopped = !0);
+                            }),
+                            t.map(function (e) {
+                              return function (t) {
+                                return !t._stopped && e(t);
+                              };
+                            })
+                          );
+                        }
+                        return t;
+                      })(n, o),
+                      t,
+                      5,
+                      i
+                    );
+                  },
+                  u = n.target,
+                  s =
+                    !!u &&
+                    !!u.dataset &&
+                    "true" === String(u.dataset.eventsync);
+                if (!xa.includes(n.type) || s) {
+                  var c = a();
+                  if ("input" === n.type && (C(c) || j(c))) return;
+                  return c;
+                }
+                setTimeout(a);
+              };
+              return (n.value = e), n;
+            })(e, n)),
+        o
+      );
+    })(e, t);
+  }),
+  (exports.onLaunch = Cl),
+  (exports.onLoad = Rl),
+  (exports.onMounted = zi),
+  (exports.onPageScroll = Ll),
+  (exports.onPullDownRefresh = Bl),
+  (exports.onReachBottom = Dl),
+  (exports.onShareAppMessage = Nl),
+  (exports.onShow = El),
+  (exports.p = function (e) {
+    return (function (e) {
+      var t = Co(),
+        n = t.uid,
+        r = t.__counter;
+      return (
+        n +
+        "," +
+        ((ma[n] || (ma[n] = [])).push(
+          (function (e) {
+            return e
+              ? Mr((t = e)) || $r(t) || "__vInternal" in e
+                ? O({}, e)
+                : e
+              : null;
+            var t;
+          })(e)
+        ) -
+          1) +
+        "," +
+        r
+      );
+    })(e);
+  }),
+  (exports.ref = Gr),
+  (exports.resolveComponent = function (e, t) {
+    return (
+      (function (e, t) {
+        var n = arguments.length > 3 && void 0 !== arguments[3] && arguments[3],
+          r = Oi || Eo;
+        if (r) {
+          var i = r.type;
+          if (e === Zi) {
+            var o = (function (e) {
+              var t =
+                !(arguments.length > 1 && void 0 !== arguments[1]) ||
+                arguments[1];
+              return D(e) ? e.displayName || e.name : e.name || (t && e.__name);
+            })(i, !1);
+            if (o && (o === t || o === V(t) || o === G(V(t)))) return i;
+          }
+          var a = eo(r[e] || i[e], t) || eo(r.appContext[e], t);
+          return !a && n ? i : a;
+        }
+      })(Zi, e, !0, t) || e
+    );
+  }),
+  (exports.s = function (e) {
+    return Sa(e);
+  }),
+  (exports.sr = function (e, t, n) {
+    return (function (e, t) {
+      var n =
+          arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
+        r = Co(),
+        i = r.$templateRefs;
+      i.push({ i: t, r: e, k: n.k, f: n.f });
+    })(e, t, n);
+  }),
+  (exports.storeToRefs = Ol),
+  (exports.t = function (e) {
+    return (function (e) {
+      return B(e)
+        ? e
+        : null == e
+        ? ""
+        : C(e) || (U(e) && (e.toString === M || !D(e.toString)))
+        ? JSON.stringify(e, m, 2)
+        : String(e);
+    })(e);
+  }),
+  (exports.unref = Xr),
+  (exports.watch = Ci),
+  (exports.wx$1 = On);
diff --git a/components/agreement/index.js b/components/agreement/index.js
new file mode 100644
index 0000000..f1749a3
--- /dev/null
+++ b/components/agreement/index.js
@@ -0,0 +1,85 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../hooks/useState.js"),
+  t = require("../../constant/index.js"),
+  o = require("../../utils/navigate.js"),
+  a = require("../../utils/util.js");
+require("../../store/app/index.js"),
+  require("../../enums/index.js"),
+  require("../../data/index.js"),
+  Array || e.resolveComponent("uni-popup")(),
+  Math;
+var r = {
+    __name: "index",
+    props: { checked: { type: Boolean, default: !0 } },
+    emits: ["change"],
+    setup: function (r, i) {
+      var u = i.emit,
+        s = n.useState().setAgreementPopupShow,
+        c = e.ref(null),
+        l = e.ref(!1),
+        p = function () {
+          u("change");
+        },
+        d = function () {
+          o.navigateTo({
+            url: "/pages/web-view/index",
+            params: { url: t.userAgreementUrl, title: "用户协议" },
+          });
+        },
+        g = function () {
+          o.navigateTo({
+            url: "/pages/web-view/index",
+            params: { url: t.userNoticeUrl, title: "用户须知" },
+          });
+        },
+        v = function () {
+          l.value = !l.value;
+        },
+        m = function () {
+          s(!1), c.value.close();
+        },
+        f = function () {
+          if (l.value) {
+            var n = e.index.getStorageSync("hasClickAgreement");
+            n ? n++ : (n = 1),
+              e.index.setStorageSync("hasClickAgreement", n),
+              s(!1),
+              c.value.close(),
+              u("change");
+          } else a.showToast("请先阅读并同意协议");
+        };
+      return (
+        e.onMounted(function () {
+          !e.index.getStorageSync("hasClickAgreement") ||
+          e.index.getStorageSync("hasClickAgreement") < 1
+            ? setTimeout(function () {
+                c.value.open(), s(!0);
+              }, 300)
+            : (u("change"), s(!1));
+        }),
+        function (n, t) {
+          return {
+            a: r.checked,
+            b: e.o(p),
+            c: !r.checked,
+            d: e.o(p),
+            e: e.o(p),
+            f: e.o(d),
+            g: e.o(g),
+            h: e.o(d),
+            i: e.o(g),
+            j: l.value,
+            k: !l.value,
+            l: e.o(v),
+            m: e.o(m),
+            n: e.n(l.value ? "canClick" : ""),
+            o: e.o(f),
+            p: e.sr(c, "14559edd-0", { k: "popup" }),
+            q: e.p({ type: "center", "is-mask-click": !1, animation: !0 }),
+          };
+        }
+      );
+    },
+  },
+  i = e._export_sfc(r, [["__scopeId", "data-v-14559edd"]]);
+wx.createComponent(i);
diff --git a/components/agreement/index.json b/components/agreement/index.json
new file mode 100644
index 0000000..40d85b9
--- /dev/null
+++ b/components/agreement/index.json
@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
+  }
+}
diff --git a/components/agreement/index.wxml b/components/agreement/index.wxml
new file mode 100644
index 0000000..adf99e7
--- /dev/null
+++ b/components/agreement/index.wxml
@@ -0,0 +1,86 @@
+<view class="data-v-14559edd">
+  <view class="container data-v-14559edd">
+    <image
+      bindtap="{{b}}"
+      class="data-v-14559edd"
+      hidden="{{!a}}"
+      src="/static/images/icon_checked_1.png"
+    ></image>
+    <image
+      bindtap="{{d}}"
+      class="data-v-14559edd"
+      hidden="{{!c}}"
+      src="/static/images/icon_unchecked_1.png"
+    ></image>
+    <text class="data-v-14559edd">
+      <text bindtap="{{e}}" class="data-v-14559edd">我已阅读并同意</text>
+      <text bindtap="{{f}}" class="agreement data-v-14559edd"
+        >《用户协议》</text
+      >
+      <text class="data-v-14559edd">和</text>
+      <text bindtap="{{g}}" class="agreement data-v-14559edd"
+        >《用户须知》</text
+      >
+    </text>
+  </view>
+  <uni-popup
+    bind:__l="__l"
+    class="r data-v-14559edd"
+    uI="14559edd-0"
+    uP="{{q}}"
+    uR="popup"
+    uS="{{['d']}}"
+    wx:if="{{q}}"
+  >
+    <view class="popup data-v-14559edd">
+      <view class="popup-title data-v-14559edd">用户须知</view>
+      <view class="popup-content data-v-14559edd">
+        <view class="tip data-v-14559edd">
+          <text class="data-v-14559edd">使用本服务意味着您已阅读并同意</text>
+          <text bindtap="{{h}}" class="agreement data-v-14559edd"
+            >《用户协议》</text
+          >
+          <text class="data-v-14559edd">和</text>
+          <text bindtap="{{i}}" class="agreement data-v-14559edd"
+            >《用户须知》</text
+          >
+        </view>
+        <view bindtap="{{l}}" class="confirm data-v-14559edd">
+          <image
+            class="data-v-14559edd"
+            hidden="{{!j}}"
+            src="/static/images/icon_checked_1.png"
+          ></image>
+          <image
+            class="data-v-14559edd"
+            hidden="{{!k}}"
+            src="/static/images/icon_unchecked_1.png"
+          ></image>
+          <view class="data-v-14559edd">
+            <text class="data-v-14559edd">我已阅读以上协议并确认是</text>
+            <text class="important data-v-14559edd">车主本人/经过车主授权</text>
+            <text class="data-v-14559edd">同意使用该服务</text>
+          </view>
+        </view>
+      </view>
+      <view class="popup-buttons data-v-14559edd">
+        <view
+          bindtap="{{m}}"
+          class="button normal data-v-14559edd"
+          hoverClass="hover-class"
+          hoverStayTime="100"
+        >
+          取消
+        </view>
+        <view
+          bindtap="{{o}}"
+          class="{{['button','data-v-14559edd',n]}}"
+          hoverClass="hover-class"
+          hoverStayTime="100"
+        >
+          确认
+        </view>
+      </view>
+    </view>
+  </uni-popup>
+</view>
diff --git a/components/agreement/index.wxss b/components/agreement/index.wxss
new file mode 100644
index 0000000..745719c
--- /dev/null
+++ b/components/agreement/index.wxss
@@ -0,0 +1,86 @@
+.container.data-v-14559edd {
+  align-items: center;
+  color: #9a9a9a;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 26rpx;
+  margin-top: 30rpx;
+}
+.container image.data-v-14559edd {
+  height: 44rpx;
+  margin-right: 10rpx;
+  width: 44rpx;
+}
+.agreement.data-v-14559edd {
+  color: #1f68e9;
+}
+.popup.data-v-14559edd {
+  background-color: #fff;
+  border-radius: 20rpx;
+  margin-bottom: 15vh;
+  overflow: hidden;
+  width: 625rpx;
+}
+.popup .popup-title.data-v-14559edd {
+  color: #333;
+  font-size: 32rpx;
+  font-weight: 700;
+  margin: 50rpx 0 40rpx;
+  text-align: center;
+}
+.popup .popup-content.data-v-14559edd {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  padding: 0 60rpx;
+}
+.popup .popup-content .tip.data-v-14559edd {
+  color: #333;
+  font-size: 32rpx;
+}
+.popup .popup-content .confirm.data-v-14559edd {
+  align-items: center;
+  color: #8a8a8a;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 28rpx;
+  margin-top: 10rpx;
+}
+.popup .popup-content .confirm image.data-v-14559edd {
+  flex-shrink: 0;
+  height: 40rpx;
+  margin-right: 10rpx;
+  width: 40rpx;
+}
+.popup .popup-content .important.data-v-14559edd {
+  color: #ff8453;
+}
+.popup .popup-buttons.data-v-14559edd {
+  align-items: center;
+  border-top: 2rpx solid #f2f2f2;
+  display: -webkit-flex;
+  display: flex;
+  margin-top: 40rpx;
+}
+.popup .popup-buttons .button.data-v-14559edd {
+  flex-grow: 1;
+  font-size: 32rpx;
+  font-weight: 700;
+  padding: 30rpx;
+  text-align: center;
+}
+.popup .popup-buttons .button.normal.data-v-14559edd {
+  color: #333;
+}
+.popup .popup-buttons .button.canClick.data-v-14559edd {
+  color: #1f68e9;
+}
+.popup .popup-buttons .button.data-v-14559edd:nth-child(1) {
+  border-right: 2rpx solid #f2f2f2;
+  color: #333;
+}
+.hover-class.data-v-14559edd {
+  background-color: #e5e5e5;
+}
diff --git a/components/divider/index.js b/components/divider/index.js
new file mode 100644
index 0000000..7994b42
--- /dev/null
+++ b/components/divider/index.js
@@ -0,0 +1,10 @@
+var e = require("../../common/vendor.js")._export_sfc({}, [
+  [
+    "render",
+    function (e, r) {
+      return {};
+    },
+  ],
+  ["__scopeId", "data-v-e781bbeb"],
+]);
+wx.createComponent(e);
diff --git a/components/divider/index.json b/components/divider/index.json
new file mode 100644
index 0000000..1a3499c
--- /dev/null
+++ b/components/divider/index.json
@@ -0,0 +1 @@
+{ "component": true, "usingComponents": {} }
diff --git a/components/divider/index.wxml b/components/divider/index.wxml
new file mode 100644
index 0000000..fcf8115
--- /dev/null
+++ b/components/divider/index.wxml
@@ -0,0 +1,5 @@
+<view class="content data-v-e781bbeb">
+  <view class="before data-v-e781bbeb"></view>
+  <view class="text data-v-e781bbeb">本服务数据由第三方提供</view>
+  <view class="after data-v-e781bbeb"></view>
+</view>
diff --git a/components/divider/index.wxss b/components/divider/index.wxss
new file mode 100644
index 0000000..939fd48
--- /dev/null
+++ b/components/divider/index.wxss
@@ -0,0 +1,18 @@
+.content.data-v-e781bbeb {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin-top: 30rpx;
+}
+.content .after.data-v-e781bbeb,
+.content .before.data-v-e781bbeb {
+  background-color: #ebedf0;
+  flex-grow: 1;
+  height: 1px;
+  margin: 0 20rpx;
+}
+.content .text.data-v-e781bbeb {
+  color: #bebebe;
+  font-size: 26rpx;
+}
diff --git a/components/empty/index.js b/components/empty/index.js
new file mode 100644
index 0000000..62a2905
--- /dev/null
+++ b/components/empty/index.js
@@ -0,0 +1,12 @@
+var e = require("../../common/vendor.js"),
+  n = {
+    __name: "index",
+    props: { info: { type: String, default: "" } },
+    setup: function (n) {
+      return function (t, r) {
+        return { a: e.t(n.info) };
+      };
+    },
+  },
+  t = e._export_sfc(n, [["__scopeId", "data-v-574ebeda"]]);
+wx.createComponent(t);
diff --git a/components/empty/index.json b/components/empty/index.json
new file mode 100644
index 0000000..1a3499c
--- /dev/null
+++ b/components/empty/index.json
@@ -0,0 +1 @@
+{ "component": true, "usingComponents": {} }
diff --git a/components/empty/index.wxml b/components/empty/index.wxml
new file mode 100644
index 0000000..b228b23
--- /dev/null
+++ b/components/empty/index.wxml
@@ -0,0 +1,4 @@
+<view class="content data-v-574ebeda">
+  <image class="data-v-574ebeda" src="/static/images/pic_empty.png"></image>
+  <text class="data-v-574ebeda">{{a}}</text>
+</view>
diff --git a/components/empty/index.wxss b/components/empty/index.wxss
new file mode 100644
index 0000000..12bdc06
--- /dev/null
+++ b/components/empty/index.wxss
@@ -0,0 +1,20 @@
+.content.data-v-574ebeda {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  height: 100%;
+  justify-content: center;
+  position: fixed;
+  width: 100%;
+  z-index: 10;
+}
+.content image.data-v-574ebeda {
+  height: 300rpx;
+  margin-top: -150rpx;
+  width: 300rpx;
+}
+.content text.data-v-574ebeda {
+  color: #9a9a9a;
+  font-size: 30rpx;
+}
diff --git a/components/float-back-to-top/index.js b/components/float-back-to-top/index.js
new file mode 100644
index 0000000..22b35e8
--- /dev/null
+++ b/components/float-back-to-top/index.js
@@ -0,0 +1,24 @@
+var e = require("../../common/vendor.js");
+Array || e.resolveComponent("uni-icons")(), Math;
+var o = {
+    __name: "index",
+    props: { visible: { type: Boolean, default: !1 } },
+    setup: function (o) {
+      var r = function () {
+        e.index.pageScrollTo({ scrollTop: 0, duration: 100 });
+      };
+      return function (n, t) {
+        return e.e(
+          { a: o.visible },
+          o.visible
+            ? {
+                b: e.p({ type: "arrow-up", size: "24", color: "#1F68E9" }),
+                c: e.o(r),
+              }
+            : {}
+        );
+      };
+    },
+  },
+  r = e._export_sfc(o, [["__scopeId", "data-v-f87a1e9e"]]);
+wx.createComponent(r);
diff --git a/components/float-back-to-top/index.json b/components/float-back-to-top/index.json
new file mode 100644
index 0000000..9969b9a
--- /dev/null
+++ b/components/float-back-to-top/index.json
@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons"
+  }
+}
diff --git a/components/float-back-to-top/index.wxml b/components/float-back-to-top/index.wxml
new file mode 100644
index 0000000..b493dac
--- /dev/null
+++ b/components/float-back-to-top/index.wxml
@@ -0,0 +1,15 @@
+<view
+  catchtap="{{c}}"
+  class="button data-v-f87a1e9e"
+  hoverClass="default-hover-class"
+  hoverStayTime="100"
+  wx:if="{{a}}"
+>
+  <uni-icons
+    bind:__l="__l"
+    class="data-v-f87a1e9e"
+    uI="f87a1e9e-0"
+    uP="{{b}}"
+    wx:if="{{b}}"
+  ></uni-icons>
+</view>
diff --git a/components/float-back-to-top/index.wxss b/components/float-back-to-top/index.wxss
new file mode 100644
index 0000000..a5f45a3
--- /dev/null
+++ b/components/float-back-to-top/index.wxss
@@ -0,0 +1,15 @@
+.button.data-v-f87a1e9e {
+  align-items: center;
+  background-color: #fff;
+  border-radius: 100%;
+  bottom: 180rpx;
+  box-shadow: 0 5rpx 15rpx rgba(0, 0, 0, 0.15);
+  display: -webkit-flex;
+  display: flex;
+  height: 80rpx;
+  justify-content: center;
+  position: fixed;
+  right: 40rpx;
+  width: 80rpx;
+  z-index: 88;
+}
diff --git a/components/float-help/index.js b/components/float-help/index.js
new file mode 100644
index 0000000..6b370fd
--- /dev/null
+++ b/components/float-help/index.js
@@ -0,0 +1,15 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../utils/navigate.js"),
+  t = {
+    __name: "index",
+    setup: function (t) {
+      var r = function () {
+        n.navigateTo({ url: "/pages/question/index" });
+      };
+      return function (n, t) {
+        return { a: e.o(r) };
+      };
+    },
+  },
+  r = e._export_sfc(t, [["__scopeId", "data-v-75efef85"]]);
+wx.createComponent(r);
diff --git a/components/float-help/index.json b/components/float-help/index.json
new file mode 100644
index 0000000..1a3499c
--- /dev/null
+++ b/components/float-help/index.json
@@ -0,0 +1 @@
+{ "component": true, "usingComponents": {} }
diff --git a/components/float-help/index.wxml b/components/float-help/index.wxml
new file mode 100644
index 0000000..fc9ce0a
--- /dev/null
+++ b/components/float-help/index.wxml
@@ -0,0 +1,8 @@
+<view
+  catchtap="{{a}}"
+  class="button data-v-75efef85"
+  hoverClass="default-hover-class"
+  hoverStayTime="100"
+>
+  <image class="icon data-v-75efef85" src="/static/svgs/icon_help.svg"></image>
+</view>
diff --git a/components/float-help/index.wxss b/components/float-help/index.wxss
new file mode 100644
index 0000000..0846d24
--- /dev/null
+++ b/components/float-help/index.wxss
@@ -0,0 +1,20 @@
+.button.data-v-75efef85 {
+  align-items: center;
+  background-color: #fff;
+  border-radius: 100%;
+  bottom: 180rpx;
+  box-shadow: 0 5rpx 15rpx rgba(0, 0, 0, 0.15);
+  display: -webkit-flex;
+  display: flex;
+  height: 80rpx;
+  justify-content: center;
+  padding: 0;
+  position: fixed;
+  right: 40rpx;
+  width: 80rpx;
+  z-index: 10;
+}
+.button image.data-v-75efef85 {
+  height: 40rpx;
+  width: 40rpx;
+}
diff --git a/components/float-refresh/index.js b/components/float-refresh/index.js
new file mode 100644
index 0000000..091d6cb
--- /dev/null
+++ b/components/float-refresh/index.js
@@ -0,0 +1,40 @@
+var o = require("../../common/vendor.js");
+Array ||
+  (o.resolveComponent("uni-load-more") + o.resolveComponent("uni-icons"))(),
+  Math ||
+    (
+      function () {
+        return "../../uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js";
+      } +
+      function () {
+        return "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
+      }
+    )();
+var n = {
+    __name: "index",
+    props: { loading: { type: Boolean, default: !1 } },
+    emits: ["click"],
+    setup: function (n, e) {
+      var i = e.emit,
+        r = function () {
+          i("click");
+        };
+      return function (e, i) {
+        return {
+          a: n.loading,
+          b: o.p({
+            iconType: "circle",
+            iconSize: 20,
+            status: "loading",
+            showText: !1,
+            color: "#1F68E9",
+          }),
+          c: !n.loading,
+          d: o.p({ type: "refreshempty", size: "24", color: "#1F68E9" }),
+          e: o.o(r),
+        };
+      };
+    },
+  },
+  e = o._export_sfc(n, [["__scopeId", "data-v-8535e783"]]);
+wx.createComponent(e);
diff --git a/components/float-refresh/index.json b/components/float-refresh/index.json
new file mode 100644
index 0000000..c407c45
--- /dev/null
+++ b/components/float-refresh/index.json
@@ -0,0 +1,7 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uni-load-more": "../../uni_modules/uni-load-more/components/uni-load-more/uni-load-more",
+    "uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons"
+  }
+}
diff --git a/components/float-refresh/index.wxml b/components/float-refresh/index.wxml
new file mode 100644
index 0000000..d9b224e
--- /dev/null
+++ b/components/float-refresh/index.wxml
@@ -0,0 +1,23 @@
+<view
+  catchtap="{{e}}"
+  class="button data-v-8535e783"
+  hoverClass="default-hover-class"
+  hoverStayTime="100"
+>
+  <uni-load-more
+    bind:__l="__l"
+    class="data-v-8535e783"
+    data-c-h="{{!a}}"
+    uI="8535e783-0"
+    uP="{{b}}"
+    wx:if="{{b}}"
+  ></uni-load-more>
+  <uni-icons
+    bind:__l="__l"
+    class="data-v-8535e783"
+    data-c-h="{{!c}}"
+    uI="8535e783-1"
+    uP="{{d}}"
+    wx:if="{{d}}"
+  ></uni-icons>
+</view>
diff --git a/components/float-refresh/index.wxss b/components/float-refresh/index.wxss
new file mode 100644
index 0000000..ba4e15f
--- /dev/null
+++ b/components/float-refresh/index.wxss
@@ -0,0 +1,15 @@
+.button.data-v-8535e783 {
+  align-items: center;
+  background-color: #fff;
+  border-radius: 100%;
+  bottom: 80rpx;
+  box-shadow: 0 5rpx 15rpx rgba(0, 0, 0, 0.15);
+  display: -webkit-flex;
+  display: flex;
+  height: 80rpx;
+  justify-content: center;
+  position: fixed;
+  right: 40rpx;
+  width: 80rpx;
+  z-index: 88;
+}
diff --git a/components/float-share/index.js b/components/float-share/index.js
new file mode 100644
index 0000000..b192b06
--- /dev/null
+++ b/components/float-share/index.js
@@ -0,0 +1,10 @@
+var e = require("../../common/vendor.js")._export_sfc({}, [
+  [
+    "render",
+    function (e, r) {
+      return {};
+    },
+  ],
+  ["__scopeId", "data-v-babab3c4"],
+]);
+wx.createComponent(e);
diff --git a/components/float-share/index.json b/components/float-share/index.json
new file mode 100644
index 0000000..1a3499c
--- /dev/null
+++ b/components/float-share/index.json
@@ -0,0 +1 @@
+{ "component": true, "usingComponents": {} }
diff --git a/components/float-share/index.wxml b/components/float-share/index.wxml
new file mode 100644
index 0000000..191ef78
--- /dev/null
+++ b/components/float-share/index.wxml
@@ -0,0 +1,11 @@
+<button
+  class="button data-v-babab3c4"
+  hoverClass="default-hover-class"
+  hoverStayTime="100"
+  openType="share"
+>
+  <image
+    class="icon data-v-babab3c4"
+    src="/static/svgs/icon_share_1.svg"
+  ></image>
+</button>
diff --git a/components/float-share/index.wxss b/components/float-share/index.wxss
new file mode 100644
index 0000000..22a6b9a
--- /dev/null
+++ b/components/float-share/index.wxss
@@ -0,0 +1,20 @@
+.button.data-v-babab3c4 {
+  align-items: center;
+  background-color: #fff;
+  border-radius: 100%;
+  bottom: 80rpx;
+  box-shadow: 0 5rpx 15rpx rgba(0, 0, 0, 0.15);
+  display: -webkit-flex;
+  display: flex;
+  height: 80rpx;
+  justify-content: center;
+  padding: 0;
+  position: fixed;
+  right: 40rpx;
+  width: 80rpx;
+  z-index: 88;
+}
+.button image.data-v-babab3c4 {
+  height: 40rpx;
+  width: 40rpx;
+}
diff --git a/components/keyboard/index.js b/components/keyboard/index.js
new file mode 100644
index 0000000..e2b4bea
--- /dev/null
+++ b/components/keyboard/index.js
@@ -0,0 +1,189 @@
+require("../../@babel/runtime/helpers/Arrayincludes");
+var e = require("../../common/vendor.js"),
+  n = require("../../enums/index.js"),
+  a = require("../../utils/util.js");
+require("../../constant/index.js"),
+  Array || e.resolveComponent("uni-popup")(),
+  Math;
+var r = {
+    __name: "index",
+    props: {
+      visible: { type: Boolean, default: !1 },
+      keyboardType: { type: String, default: n.KeyboardEnum.ABC },
+      vin: { type: String, default: "" },
+      vehicleNoList: { type: Array, default: ["", "", "", "", "", "", "", ""] },
+      vehicleNoIndex: { type: Number, default: 0 },
+      canSwitch: { type: Boolean, default: !0 },
+      initCopy: { type: Boolean, default: !0 },
+    },
+    emits: ["close", "change", "type-change"],
+    setup: function (r, o) {
+      var u = o.emit,
+        t = r,
+        i = [
+          [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
+          ["Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P"],
+          ["A", "S", "D", "F", "G", "H", "J", "K", "L", "Z"],
+          [
+            n.KeyboardEnum.AREA,
+            "X",
+            "C",
+            "V",
+            "B",
+            "N",
+            "M",
+            n.KeyboardEnum.DELETE,
+          ],
+        ],
+        d = [
+          ["京", "津", "渝", "沪", "冀", "晋", "辽", "吉", "黑", "苏"],
+          ["浙", "皖", "闽", "赣", "鲁", "豫", "鄂", "湘", "粤", "琼"],
+          ["川", "贵", "云", "陕", "甘", "青", "蒙", "桂", "宁", "新"],
+          [
+            n.KeyboardEnum.ABC,
+            "藏",
+            "使",
+            "警",
+            "学",
+            "港",
+            "澳",
+            n.KeyboardEnum.DELETE,
+          ],
+        ],
+        c = ["I", "O"],
+        l = e.ref(null),
+        y = e.ref("");
+      e.watch(
+        function () {
+          return t.visible;
+        },
+        function () {
+          t.visible
+            ? (t.initCopy || m(), l.value.open(), l.value.closeMask())
+            : l.value.close();
+        }
+      );
+      var b = function () {
+          u("close");
+        },
+        E = function (e) {
+          e.show || u("close");
+        },
+        f = function (r) {
+          if (
+            ((r !== n.KeyboardEnum.AREA && r !== n.KeyboardEnum.ABC) ||
+              t.canSwitch) &&
+            !c.includes(r)
+          )
+            if ((a.vibrate(), t.canSwitch)) {
+              var o = e._.cloneDeep(t.vehicleNoList),
+                i = e._.cloneDeep(t.vehicleNoIndex);
+              r === n.KeyboardEnum.AREA || r === n.KeyboardEnum.ABC
+                ? u("type-change")
+                : r === n.KeyboardEnum.DELETE
+                ? (o[i] ? (o[i] = "") : (o[i - 1] = ""),
+                  i > 0 && i--,
+                  u("change", { value: o, index: i }))
+                : ((o[i] = r),
+                  i < 7 &&
+                    (0 === i &&
+                      u("change", { keyboardType: n.KeyboardEnum.ABC }),
+                    i++),
+                  u("change", { value: o, index: i }));
+            } else {
+              var d = e._.cloneDeep(t.vin);
+              if (r === n.KeyboardEnum.DELETE)
+                (d = d.substring(0, d.length - 1)), u("change", { value: d });
+              else {
+                if (r === n.KeyboardEnum.AREA) return;
+                if (d.length >= 17) return;
+                u("change", { value: (d += r) });
+              }
+            }
+        },
+        s = function () {
+          u("change", { value: y.value });
+        },
+        m = function () {
+          e.index.getClipboardData().then(function (a) {
+            var r = a.data;
+            e.index.hideToast(),
+              17 === r.trim().length && t.keyboardType === n.KeyboardEnum.ABC
+                ? (y.value = r.trim())
+                : (y.value = "");
+          });
+        };
+      return (
+        e.onMounted(function () {
+          t.initCopy && m();
+        }),
+        function (a, o) {
+          return e.e(
+            { a: r.keyboardType === e.unref(n.KeyboardEnum).ABC && y.value },
+            r.keyboardType === e.unref(n.KeyboardEnum).ABC && y.value
+              ? { b: e.t(y.value) }
+              : {},
+            {
+              c: e.o(s),
+              d: e.o(b),
+              e: e.f(
+                r.keyboardType === e.unref(n.KeyboardEnum).ABC ? i : d,
+                function (a, o, u) {
+                  return {
+                    a: e.f(a, function (a, o, u) {
+                      return e.e(
+                        { a: a === e.unref(n.KeyboardEnum).DELETE },
+                        a === e.unref(n.KeyboardEnum).DELETE
+                          ? {
+                              b: e.o(function (e) {
+                                return f(a);
+                              }, o),
+                            }
+                          : a === e.unref(n.KeyboardEnum).AREA ||
+                            a === e.unref(n.KeyboardEnum).ABC
+                          ? {
+                              d: e.t(a),
+                              e: e.n(r.canSwitch ? "" : "disabled"),
+                              f: r.canSwitch ? "keyboard-hover" : "",
+                              g: e.o(function (e) {
+                                return f(a);
+                              }, o),
+                            }
+                          : {
+                              h: e.t(a),
+                              i: e.n(c.includes(a) ? "disabled" : ""),
+                              j: c.includes(a) ? "" : "keyboard-hover",
+                              k: e.o(function (e) {
+                                return f(a);
+                              }, o),
+                            },
+                        {
+                          c:
+                            a === e.unref(n.KeyboardEnum).AREA ||
+                            a === e.unref(n.KeyboardEnum).ABC,
+                          l: o,
+                        }
+                      );
+                    }),
+                    b: o,
+                  };
+                }
+              ),
+              f: e.sr(l, "8922672d-0", { k: "popup" }),
+              g: e.o(E),
+              h: e.p({
+                type: "bottom",
+                "background-color": "#F2F2F2",
+                "mask-background-color": "rgba(0, 0, 0, 0)",
+                "safe-area": !1,
+                animation: !0,
+                "is-mask-click": !1,
+              }),
+            }
+          );
+        }
+      );
+    },
+  },
+  o = e._export_sfc(r, [["__scopeId", "data-v-8922672d"]]);
+wx.createComponent(o);
diff --git a/components/keyboard/index.json b/components/keyboard/index.json
new file mode 100644
index 0000000..40d85b9
--- /dev/null
+++ b/components/keyboard/index.json
@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
+  }
+}
diff --git a/components/keyboard/index.wxml b/components/keyboard/index.wxml
new file mode 100644
index 0000000..94951b1
--- /dev/null
+++ b/components/keyboard/index.wxml
@@ -0,0 +1,53 @@
+<uni-popup
+  bind:__l="__l"
+  bindchange="{{g}}"
+  class="r data-v-8922672d"
+  uI="8922672d-0"
+  uP="{{h}}"
+  uR="popup"
+  uS="{{['d']}}"
+  wx:if="{{h}}"
+>
+  <view class="content data-v-8922672d">
+    <view class="close data-v-8922672d">
+      <view bindtap="{{c}}" class="copy-value data-v-8922672d">
+        <view class="data-v-8922672d" wx:if="{{a}}">
+          粘贴<text class="data-v-8922672d">({{b}})</text>
+        </view>
+      </view>
+      <view bindtap="{{d}}" class="hide data-v-8922672d">收起</view>
+    </view>
+    <view
+      class="key-row data-v-8922672d"
+      wx:for="{{e}}"
+      wx:for-item="list"
+      wx:key="b"
+    >
+      <block wx:for="{{list.a}}" wx:for-item="value" wx:key="l">
+        <view
+          bindtap="{{value.b}}"
+          class="key big delete data-v-8922672d"
+          hoverClass="delete-hover"
+          hoverStayTime="100"
+          wx:if="{{value.a}}"
+        ></view>
+        <view
+          bindtap="{{value.g}}"
+          class="{{['key','big','data-v-8922672d',value.e]}}"
+          hoverClass="{{value.f}}"
+          hoverStayTime="100"
+          wx:elif="{{value.c}}"
+          >{{value.d}}</view
+        >
+        <view
+          bindtap="{{value.k}}"
+          class="{{['key','data-v-8922672d',value.i]}}"
+          hoverClass="{{value.j}}"
+          hoverStayTime="100"
+          wx:else
+          >{{value.h}}</view
+        >
+      </block>
+    </view>
+  </view>
+</uni-popup>
diff --git a/components/keyboard/index.wxss b/components/keyboard/index.wxss
new file mode 100644
index 0000000..228038a
--- /dev/null
+++ b/components/keyboard/index.wxss
@@ -0,0 +1,63 @@
+.content.data-v-8922672d {
+  color: #2c2c34;
+  padding: 0 30rpx 40rpx;
+  position: relative;
+}
+.content .close.data-v-8922672d {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-weight: 700;
+  justify-content: space-between;
+}
+.content .close .copy-value.data-v-8922672d {
+  color: #1f68e9;
+  font-size: 34rpx;
+  padding: 25rpx 0 15rpx;
+}
+.content .close .copy-value text.data-v-8922672d {
+  color: #2c2c34;
+}
+.content .close .hide.data-v-8922672d {
+  color: #1f68e9;
+  display: block;
+  font-size: 34rpx;
+  padding: 25rpx 0 15rpx 20rpx;
+}
+.content .key-row .key.data-v-8922672d,
+.content .key-row.data-v-8922672d {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: center;
+}
+.content .key-row .key.data-v-8922672d {
+  background-color: #fff;
+  border-radius: 8rpx;
+  font-size: 34rpx;
+  font-weight: 700;
+  height: 78rpx;
+  margin: 10rpx 6rpx;
+  min-width: 60rpx;
+  position: relative;
+}
+.content .key-row .key.big.data-v-8922672d {
+  width: 200rpx;
+}
+.content .key-row .key.disabled.data-v-8922672d {
+  color: #ccc;
+}
+.content .key-row .key.delete.data-v-8922672d {
+  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFEAAABRCAMAAACdUboEAAAAflBMVEUAAAAtLS0sLDUrKzQvLy8sLDMsLDQpKTosLDQsLDQsLDQsLDQsLDQrKzQsLDQsLDQrKzMrKzQtLTMsLDMsLDQqKjEsLDMtLTMsLDQsLDUsLDQsLDMsLDQsLDUtLTMsLDMuLjgqKjErKzUsLDQsLDQsLDMtLTMrKzQrKzMsLDT8XkmbAAAAKXRSTlMAEcdIBa56CHP5qfXu1722mYRaRjUM4yjz6cyPfW8sIBsUwpeKZ1VUQbJFaDkAAAFMSURBVFjD7ZfdboJAEIXHSlVQsSqCbbWt/Z/3f8HW6cVJN1mm4EnKxX5XZAkfBJizM5JIJBKJDoyKvXZm8TKVGFmpvVhLjLX241kijLUnVxHh44JsnN7Z2ftRJz5ajDc/t8ukE+O4cWPC2ydhGR/mZtwKy7hbmnAiNGNhwpXQjDMT1ieascrP63klLOOp1jNvwfLnsQquPjZ/NJYmLILVg6rOBGSFar51jciH5S4oobn+UmbX+k3pGZEP+0YCY66mhNCu9YzIh/dIVZrShMbGMyIfJACSSXAcNfr5AA2OfCPyoUV5gNAxOvkAJYRxo58PUELoG1+RD65yIp4RxdJIC9Nacdt/eEb2e+R/a/7/yK8Zfl3zs4efj/wMB6sL9hn2Xujv1wPuKQR9z4B7M0FmDLfHvbAP588K/HmGP3Px50L+7MqfrxOJRCIR5QtvTr9dFVXplQAAAABJRU5ErkJggg==);
+  background-position: 50%;
+  background-repeat: no-repeat;
+  background-size: 55rpx 55rpx;
+}
+.content .key-row .key.delete-hover.data-v-8922672d {
+  background-color: #1f68e9 !important;
+  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFEAAABRCAMAAACdUboEAAAAh1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9qkf8RAAAALHRSTlMAEcdIBa56+bypCAv17teYhHRaS0Yc4/PpzLSPcm9UNCwofiIVwpqKZ0E4DWyPr9sAAAFbSURBVFjD7Zdpb8IwDIbdretBB2UcZQewDdiJ///vA1Iho0iJaZ0CH/x8qiL1SY/kjQ2KoihKA6J8ho3plz1wEWfYiiG4GGI7vsDBGFty5xCu+4GNvRc88BY1YukxftfTxdCIe7dxZITPUwhl/Hg0xgmEMhYDI0wgmDE3wlcIZpwbYRUFM/6nuCd9h1DGTYUHfq3hv4U1xXjxeaaxzofcGl0h4hyIOEdMJ6yR8mFQWFvILKcnEj7gnowzUj7M7BcqUjRKEtK9fuO0zocl2JR4VJIQR5yR8gEsSJJY14yR8sGnpCveSPngUa5IyBiZfCAlCTnjlssHoyQhb/yhfGCVCXBG2ixr8FBUaMgArvKM8u8o/9eh1mPCr8cTSuGeke/ry2ePPB/lGd75OSM/C6Xntbym2MAN1z0ntdnt1o8d1LiUGUKjvFe4VD8j77m67wvlvWv4/lpRFEVxsgO4qs1ntHZ77QAAAABJRU5ErkJggg==);
+}
+.content .keyboard-hover.data-v-8922672d {
+  background-color: #1f68e9 !important;
+  color: #fff;
+}
diff --git a/components/popup-copy-vin/index.js b/components/popup-copy-vin/index.js
new file mode 100644
index 0000000..fc8edaa
--- /dev/null
+++ b/components/popup-copy-vin/index.js
@@ -0,0 +1,44 @@
+var e = require("../../common/vendor.js");
+Array || e.resolveComponent("uni-popup")(), Math;
+var n = {
+    __name: "index",
+    props: {
+      visible: { type: Boolean, default: !1 },
+      copyVin: { type: String, default: "" },
+    },
+    emits: ["cancel", "confirm"],
+    setup: function (n, o) {
+      var t = o.emit,
+        c = n,
+        i = e.ref(null);
+      e.watch(
+        function () {
+          return c.visible;
+        },
+        function () {
+          c.visible ? i.value.open() : i.value.close();
+        }
+      );
+      var r = function (e) {
+          e.show || t("cancel");
+        },
+        a = function () {
+          t("cancel");
+        },
+        u = function () {
+          t("confirm");
+        };
+      return function (o, t) {
+        return {
+          a: e.t(n.copyVin),
+          b: e.o(a),
+          c: e.o(u),
+          d: e.sr(i, "fa16f1de-0", { k: "popup" }),
+          e: e.o(r),
+          f: e.p({ type: "center", "is-mask-click": !1, animation: !0 }),
+        };
+      };
+    },
+  },
+  o = e._export_sfc(n, [["__scopeId", "data-v-fa16f1de"]]);
+wx.createComponent(o);
diff --git a/components/popup-copy-vin/index.json b/components/popup-copy-vin/index.json
new file mode 100644
index 0000000..40d85b9
--- /dev/null
+++ b/components/popup-copy-vin/index.json
@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
+  }
+}
diff --git a/components/popup-copy-vin/index.wxml b/components/popup-copy-vin/index.wxml
new file mode 100644
index 0000000..1940fb0
--- /dev/null
+++ b/components/popup-copy-vin/index.wxml
@@ -0,0 +1,36 @@
+<uni-popup
+  bind:__l="__l"
+  bindchange="{{e}}"
+  class="r data-v-fa16f1de"
+  uI="fa16f1de-0"
+  uP="{{f}}"
+  uR="popup"
+  uS="{{['d']}}"
+  wx:if="{{f}}"
+>
+  <view class="content data-v-fa16f1de">
+    <view class="popup-title data-v-fa16f1de">提示</view>
+    <view class="popup-content data-v-fa16f1de">
+      <view class="data-v-fa16f1de">是否要查询这个车架号?</view>
+      <view class="data-v-fa16f1de" style="margin-top: 5rpx">{{a}}</view>
+    </view>
+    <view class="popup-buttons data-v-fa16f1de">
+      <view
+        bindtap="{{b}}"
+        class="button data-v-fa16f1de"
+        hoverClass="hover-class"
+        hoverStayTime="100"
+      >
+        不用了
+      </view>
+      <view
+        bindtap="{{c}}"
+        class="button data-v-fa16f1de"
+        hoverClass="hover-class"
+        hoverStayTime="100"
+      >
+        马上查询
+      </view>
+    </view>
+  </view>
+</uni-popup>
diff --git a/components/popup-copy-vin/index.wxss b/components/popup-copy-vin/index.wxss
new file mode 100644
index 0000000..cafe8a5
--- /dev/null
+++ b/components/popup-copy-vin/index.wxss
@@ -0,0 +1,53 @@
+.content.data-v-fa16f1de {
+  background-color: #fff;
+  border-radius: 20rpx;
+  margin-bottom: 15vh;
+  overflow: hidden;
+  width: 625rpx;
+}
+.content .popup-title.data-v-fa16f1de {
+  color: #333;
+  font-size: 32rpx;
+  font-weight: 700;
+  margin: 50rpx 0 40rpx;
+  text-align: center;
+}
+.content .popup-content.data-v-fa16f1de {
+  align-items: center;
+  color: #8a8a8a;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  font-size: 32rpx;
+  justify-content: center;
+}
+.content .popup-content .important.data-v-fa16f1de {
+  font-weight: 700;
+}
+.content .popup-content .type.data-v-fa16f1de {
+  color: #ff8453;
+}
+.content .popup-buttons.data-v-fa16f1de {
+  align-items: center;
+  border-top: 2rpx solid #f2f2f2;
+  display: -webkit-flex;
+  display: flex;
+  margin-top: 40rpx;
+}
+.content .popup-buttons .button.data-v-fa16f1de {
+  flex-grow: 1;
+  font-size: 32rpx;
+  font-weight: 700;
+  padding: 30rpx;
+  text-align: center;
+}
+.content .popup-buttons .button.data-v-fa16f1de:nth-child(1) {
+  border-right: 2rpx solid #f2f2f2;
+  color: #333;
+}
+.content .popup-buttons .button.data-v-fa16f1de:nth-child(2) {
+  color: #1f68e9;
+}
+.hover-class.data-v-fa16f1de {
+  background-color: #e5e5e5;
+}
diff --git a/components/popup-coupon/index.js b/components/popup-coupon/index.js
new file mode 100644
index 0000000..51b3e8b
--- /dev/null
+++ b/components/popup-coupon/index.js
@@ -0,0 +1,71 @@
+var n = require("../../common/vendor.js"),
+  e = require("../../utils/navigate.js"),
+  o = require("../../enums/index.js");
+Array ||
+  (n.resolveComponent("uni-countdown") + n.resolveComponent("uni-popup"))(),
+  Math ||
+    (
+      function () {
+        return "../../uni_modules/uni-countdown/components/uni-countdown/uni-countdown.js";
+      } +
+      function () {
+        return "../../uni_modules/uni-popup/components/uni-popup/uni-popup.js";
+      }
+    )();
+var t = {
+    __name: "index",
+    props: { visible: { type: Boolean, default: !1 } },
+    emits: ["close"],
+    setup: function (t, r) {
+      var u = r.emit,
+        i = t,
+        c = n.ref(null);
+      n.watch(
+        function () {
+          return i.visible;
+        },
+        function () {
+          i.visible ? c.value.open() : c.value.close();
+        }
+      );
+      var s = function (n) {
+          n.show || u("close");
+        },
+        p = function () {
+          u("close");
+          var e = n.index.getStorageSync("fisrtIn");
+          e ? e++ : (e = 1), n.index.setStorageSync("fisrtIn", e);
+        },
+        a = function () {
+          u("close"),
+            e.navigateTo({
+              url: "/pages/report-query/index",
+              params: {
+                title: "综合车况",
+                productType: o.ProductTypeEnum.OVERALL,
+                queryType: o.QueryTypeEnum.VIN,
+              },
+            });
+          var t = n.index.getStorageSync("fisrtIn");
+          t ? t++ : (t = 1), n.index.setStorageSync("fisrtIn", t);
+        };
+      return function (e, o) {
+        return {
+          a: n.p({
+            minute: 10,
+            "font-size": 30,
+            color: "#ffffff",
+            "splitor-color": "#910F0E",
+            "background-color": "#F11220",
+          }),
+          b: n.o(a),
+          c: n.o(p),
+          d: n.sr(c, "68f7b9c0-0", { k: "popup" }),
+          e: n.o(s),
+          f: n.p({ type: "center", animation: !0, "is-mask-click": !1 }),
+        };
+      };
+    },
+  },
+  r = n._export_sfc(t, [["__scopeId", "data-v-68f7b9c0"]]);
+wx.createComponent(r);
diff --git a/components/popup-coupon/index.json b/components/popup-coupon/index.json
new file mode 100644
index 0000000..a19e8c6
--- /dev/null
+++ b/components/popup-coupon/index.json
@@ -0,0 +1,7 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uni-countdown": "../../uni_modules/uni-countdown/components/uni-countdown/uni-countdown",
+    "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
+  }
+}
diff --git a/components/popup-coupon/index.wxml b/components/popup-coupon/index.wxml
new file mode 100644
index 0000000..3264111
--- /dev/null
+++ b/components/popup-coupon/index.wxml
@@ -0,0 +1,48 @@
+<uni-popup
+  bind:__l="__l"
+  bindchange="{{e}}"
+  class="r data-v-68f7b9c0"
+  uI="68f7b9c0-0"
+  uP="{{f}}"
+  uR="popup"
+  uS="{{['d']}}"
+  wx:if="{{f}}"
+>
+  <view class="content data-v-68f7b9c0">
+    <view class="container data-v-68f7b9c0">
+      <image
+        class="background data-v-68f7b9c0"
+        src="/static/images/pic_coupon.png"
+      ></image>
+      <view class="coupon data-v-68f7b9c0">
+        <text class="coupon-left data-v-68f7b9c0">┏</text>
+        <text class="coupon-text data-v-68f7b9c0">综合车况立减30元</text>
+        <text class="coupon-right data-v-68f7b9c0">┛</text>
+      </view>
+      <view class="count-down data-v-68f7b9c0">
+        <text class="count-down-text data-v-68f7b9c0">限时抢购:</text>
+        <uni-countdown
+          bind:__l="__l"
+          class="data-v-68f7b9c0"
+          uI="68f7b9c0-1,68f7b9c0-0"
+          uP="{{a}}"
+          wx:if="{{a}}"
+        ></uni-countdown>
+      </view>
+      <view
+        bindtap="{{b}}"
+        class="button data-v-68f7b9c0"
+        hoverClass="default-hover-class"
+        hoverStayTime="100"
+      >
+        <text class="button-text data-v-68f7b9c0">领取使用</text>
+      </view>
+    </view>
+    <view bindtap="{{c}}" class="close data-v-68f7b9c0">
+      <image
+        class="close-image data-v-68f7b9c0"
+        src="/static/images/icon_close_3.png"
+      ></image>
+    </view>
+  </view>
+</uni-popup>
diff --git a/components/popup-coupon/index.wxss b/components/popup-coupon/index.wxss
new file mode 100644
index 0000000..87f0065
--- /dev/null
+++ b/components/popup-coupon/index.wxss
@@ -0,0 +1,98 @@
+.content.data-v-68f7b9c0 {
+  height: 1000rpx;
+  justify-content: center;
+}
+.container.data-v-68f7b9c0,
+.content.data-v-68f7b9c0 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+}
+.container.data-v-68f7b9c0 {
+  height: 670rpx;
+  padding: 40rpx;
+  position: relative;
+  width: 525rpx;
+}
+.background.data-v-68f7b9c0 {
+  height: 670rpx;
+  left: 0;
+  position: absolute;
+  top: 0;
+  width: 525rpx;
+  z-index: 9;
+}
+.coupon.data-v-68f7b9c0 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: row;
+  justify-content: center;
+  margin-top: 200rpx;
+  padding: 25rpx 40rpx;
+  position: relative;
+  z-index: 20;
+}
+.coupon-text.data-v-68f7b9c0 {
+  color: #e95857;
+  font-size: 44rpx;
+  font-weight: 700;
+}
+.coupon-left.data-v-68f7b9c0 {
+  color: #e95857;
+  left: 0;
+  position: absolute;
+  top: 0;
+  z-index: 21;
+}
+.coupon-right.data-v-68f7b9c0 {
+  bottom: 0;
+  color: #e95857;
+  position: absolute;
+  right: 0;
+  z-index: 21;
+}
+.count-down.data-v-68f7b9c0 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: row;
+  justify-content: center;
+  margin-top: 60rpx;
+  position: relative;
+  z-index: 20;
+}
+.count-down-text.data-v-68f7b9c0 {
+  color: #910f0e;
+  font-size: 30rpx;
+  font-weight: 700;
+  margin-right: 10rpx;
+}
+.button.data-v-68f7b9c0 {
+  align-items: center;
+  background-color: #ffe1af;
+  border-radius: 100rpx;
+  display: -webkit-flex;
+  display: flex;
+  height: 70rpx;
+  justify-content: center;
+  line-height: 70rpx;
+  margin-top: 95rpx;
+  position: relative;
+  width: 200rpx;
+  z-index: 10;
+}
+.button-text.data-v-68f7b9c0 {
+  color: #690000;
+  font-size: 32rpx;
+  font-weight: 700;
+}
+.close.data-v-68f7b9c0 {
+  margin-top: 10rpx;
+}
+.close-image.data-v-68f7b9c0 {
+  height: 90rpx;
+  padding: 20rpx;
+  width: 90rpx;
+}
diff --git a/components/popup-login/index.js b/components/popup-login/index.js
new file mode 100644
index 0000000..7821d7e
--- /dev/null
+++ b/components/popup-login/index.js
@@ -0,0 +1,94 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../constant/index.js"),
+  r = require("../../service/index.js"),
+  o = require("../../hooks/useState.js"),
+  t = require("../../config/index.js"),
+  i = require("../../utils/navigate.js"),
+  s = require("../../utils/util.js");
+require("../../utils/request.js"),
+  require("../../enums/index.js"),
+  require("../../store/app/index.js"),
+  require("../../data/index.js"),
+  Array || e.resolveComponent("uni-popup")(),
+  Math;
+var u = {
+    __name: "index",
+    props: { visible: { type: Boolean, default: !1 } },
+    emits: ["close"],
+    setup: function (u, a) {
+      var l = a.emit,
+        c = u,
+        p = o.useState().setUserData,
+        v = e.ref(!0),
+        f = e.ref(null);
+      e.watch(
+        function () {
+          return c.visible;
+        },
+        function () {
+          c.visible ? f.value.open() : f.value.close();
+        }
+      );
+      var d = function (e) {
+          e.show || l("close");
+        },
+        m = function () {
+          l("close");
+        },
+        g = function (e) {
+          var n = e.detail;
+          if (v.value) {
+            var o = n.errMsg,
+              t = n.code;
+            "getPhoneNumber:ok" === o
+              ? r.getUserMobileForMpWeixin({ code: t }).then(function () {
+                  r.getUserInfo().then(function (e) {
+                    var n = e.token,
+                      r = e.openId,
+                      o = e.userId,
+                      t = e.userInfo;
+                    s.showToast("登录成功"),
+                      p({ token: n, openId: r, userId: o, userInfo: t }),
+                      l("close");
+                  });
+                })
+              : "getPhoneNumber:fail user deny" === o &&
+                s.showToast("授权登录之后才能继续操作");
+          } else s.showToast("请先阅读并同意协议");
+        },
+        h = function () {
+          v.value = !v.value;
+        },
+        j = function () {
+          i.navigateTo({
+            url: "/pages/web-view/index",
+            params: { url: n.userAgreementUrl, title: "用户协议" },
+          });
+        },
+        q = function () {
+          i.navigateTo({
+            url: "/pages/web-view/index",
+            params: { url: n.concealAgreementUrl, title: "隐私协议" },
+          });
+        };
+      return function (n, r) {
+        return {
+          a: e.o(m),
+          b: e.t(e.unref(t.appName)),
+          c: e.o(function () {}),
+          d: e.o(g),
+          e: v.value,
+          f: e.o(h),
+          g: !v.value,
+          h: e.o(h),
+          i: e.o(j),
+          j: e.o(q),
+          k: e.sr(f, "1095514c-0", { k: "popup" }),
+          l: e.o(d),
+          m: e.p({ type: "center", "is-mask-click": !1, animation: !0 }),
+        };
+      };
+    },
+  },
+  a = e._export_sfc(u, [["__scopeId", "data-v-1095514c"]]);
+wx.createComponent(a);
diff --git a/components/popup-login/index.json b/components/popup-login/index.json
new file mode 100644
index 0000000..40d85b9
--- /dev/null
+++ b/components/popup-login/index.json
@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
+  }
+}
diff --git a/components/popup-login/index.wxml b/components/popup-login/index.wxml
new file mode 100644
index 0000000..3f59950
--- /dev/null
+++ b/components/popup-login/index.wxml
@@ -0,0 +1,59 @@
+<uni-popup
+  bind:__l="__l"
+  bindchange="{{l}}"
+  class="r data-v-1095514c"
+  uI="1095514c-0"
+  uP="{{m}}"
+  uR="popup"
+  uS="{{['d']}}"
+  wx:if="{{m}}"
+>
+  <view class="content data-v-1095514c">
+    <image
+      bindtap="{{a}}"
+      class="close data-v-1095514c"
+      src="/static/svgs/icon_close_2.svg"
+    ></image>
+    <view class="title data-v-1095514c">用户登录</view>
+    <image
+      class="app-logo data-v-1095514c"
+      src="/static/images/logo_app.png"
+    ></image>
+    <view class="app-name data-v-1095514c">{{b}}</view>
+    <button
+      bindgetphonenumber="{{d}}"
+      catchtap="{{c}}"
+      class="data-v-1095514c"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+      openType="getPhoneNumber"
+    >
+      <image class="data-v-1095514c" src="/static/svgs/icon_wechat.svg"></image>
+      <text class="data-v-1095514c">微信一键登录</text>
+    </button>
+    <view class="tips data-v-1095514c">
+      <image
+        bindtap="{{f}}"
+        class="data-v-1095514c"
+        hidden="{{!e}}"
+        src="/static/images/icon_checked_1.png"
+      ></image>
+      <image
+        bindtap="{{h}}"
+        class="data-v-1095514c"
+        hidden="{{!g}}"
+        src="/static/images/icon_unchecked_1.png"
+      ></image>
+      <text class="data-v-1095514c">
+        <text class="data-v-1095514c">已阅读并同意</text>
+        <text bindtap="{{i}}" class="agreement data-v-1095514c"
+          >《用户协议》</text
+        >
+        <text class="data-v-1095514c">和</text>
+        <text bindtap="{{j}}" class="agreement data-v-1095514c"
+          >《隐私协议》</text
+        >
+      </text>
+    </view>
+  </view>
+</uni-popup>
diff --git a/components/popup-login/index.wxss b/components/popup-login/index.wxss
new file mode 100644
index 0000000..59e43fa
--- /dev/null
+++ b/components/popup-login/index.wxss
@@ -0,0 +1,72 @@
+.content.data-v-1095514c {
+  align-items: center;
+  background-color: #fff;
+  border-radius: 20rpx;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  height: 520rpx;
+  padding: 0 30rpx 40rpx;
+  width: 600rpx;
+}
+.content .close.data-v-1095514c {
+  height: 30rpx;
+  padding: 20rpx;
+  position: absolute;
+  right: 20rpx;
+  top: 20rpx;
+  width: 30rpx;
+}
+.content .title.data-v-1095514c {
+  font-size: 32rpx;
+  font-weight: 700;
+  height: 120rpx;
+  line-height: 120rpx;
+}
+.content .app-logo.data-v-1095514c {
+  border-radius: 100%;
+  height: 128rpx;
+  width: 128rpx;
+}
+.content .app-name.data-v-1095514c {
+  font-size: 32rpx;
+  font-weight: 700;
+  margin-top: 20rpx;
+}
+.content button.data-v-1095514c {
+  align-items: center;
+  background-color: #1f68e9;
+  border: 0;
+  border-radius: 100rpx;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: center;
+  margin-top: 40rpx;
+  padding: 0;
+  width: 500rpx;
+}
+.content button image.data-v-1095514c {
+  height: 44rpx;
+  margin-right: 40rpx;
+  width: 44rpx;
+}
+.content button text.data-v-1095514c {
+  color: #fff;
+  font-size: 28rpx;
+}
+.content .tips.data-v-1095514c {
+  align-items: center;
+  color: #9a9a9a;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 24rpx;
+  margin-top: 30rpx;
+}
+.content .tips image.data-v-1095514c {
+  height: 38rpx;
+  margin-right: 10rpx;
+  width: 38rpx;
+}
+.content .tips .agreement.data-v-1095514c {
+  color: #1f68e9;
+}
diff --git a/components/popup-modify-vin/index.js b/components/popup-modify-vin/index.js
new file mode 100644
index 0000000..51cc893
--- /dev/null
+++ b/components/popup-modify-vin/index.js
@@ -0,0 +1,90 @@
+var e = require("../../common/vendor.js");
+Array || e.resolveComponent("uni-popup")();
+Math ||
+  (
+    e.unref(n) +
+    function () {
+      return "../../uni_modules/uni-popup/components/uni-popup/uni-popup.js";
+    }
+  )();
+var n = function () {
+    return "../keyboard/index.js";
+  },
+  u = {
+    __name: "index",
+    props: {
+      visible: { type: Boolean, default: !1 },
+      copyVin: { type: String, default: "" },
+    },
+    emits: ["close", "confirm"],
+    setup: function (n, u) {
+      var o = u.emit,
+        t = n,
+        i = e.ref(null),
+        l = e.ref(""),
+        a = e.ref(!1);
+      e.watch(
+        function () {
+          return t.visible;
+        },
+        function () {
+          t.visible
+            ? ((l.value = t.copyVin),
+              setTimeout(function () {
+                return (a.value = !0);
+              }, 100),
+              i.value.open())
+            : ((a.value = !1), i.value.close());
+        }
+      );
+      var c = function (e) {
+          e.show || o("close");
+        },
+        r = function () {
+          o("close");
+        },
+        p = function () {
+          a.value = !1;
+        },
+        v = function (e) {
+          l.value = e.value;
+        },
+        s = function () {
+          l.value = "";
+        },
+        f = function () {
+          (a.value = !1), o("confirm", l.value);
+        };
+      return function (n, u) {
+        return e.e(
+          { a: e.o(r), b: 0 === l.value.length },
+          (l.value.length, {}),
+          {
+            c: e.t(l.value),
+            d: e.o(function (e) {
+              a.value = !0;
+            }),
+            e: l.value.length > 0,
+          },
+          l.value.length > 0 ? { f: e.o(s) } : {},
+          {
+            g: e.t(l.value.length),
+            h: e.o(f),
+            i: e.o(p),
+            j: e.o(v),
+            k: e.p({
+              visible: a.value,
+              "can-switch": !1,
+              vin: l.value,
+              "init-copy": !1,
+            }),
+            l: e.sr(i, "665bd5fd-0", { k: "popup" }),
+            m: e.o(c),
+            n: e.p({ type: "center", "is-mask-click": !1, animation: !0 }),
+          }
+        );
+      };
+    },
+  },
+  o = e._export_sfc(u, [["__scopeId", "data-v-665bd5fd"]]);
+wx.createComponent(o);
diff --git a/components/popup-modify-vin/index.json b/components/popup-modify-vin/index.json
new file mode 100644
index 0000000..f159b28
--- /dev/null
+++ b/components/popup-modify-vin/index.json
@@ -0,0 +1,7 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup",
+    "keyboard": "../keyboard/index"
+  }
+}
diff --git a/components/popup-modify-vin/index.wxml b/components/popup-modify-vin/index.wxml
new file mode 100644
index 0000000..6ebe100
--- /dev/null
+++ b/components/popup-modify-vin/index.wxml
@@ -0,0 +1,52 @@
+<uni-popup
+  bind:__l="__l"
+  bindchange="{{m}}"
+  class="r data-v-665bd5fd"
+  uI="665bd5fd-0"
+  uP="{{n}}"
+  uR="popup"
+  uS="{{['d']}}"
+  wx:if="{{n}}"
+>
+  <view class="content data-v-665bd5fd">
+    <image
+      bindtap="{{a}}"
+      class="close data-v-665bd5fd"
+      src="/static/svgs/icon_close_2.svg"
+    ></image>
+    <view class="popup-title data-v-665bd5fd">修改VIN车架号</view>
+    <view class="input-content data-v-665bd5fd">
+      <view bindtap="{{d}}" class="input data-v-665bd5fd">
+        <text class="placeholder data-v-665bd5fd" wx:if="{{b}}"
+          >请输入17位VIN车架号</text
+        >
+        <text userSelect class="default data-v-665bd5fd">{{c}}</text>
+        <text class="cursor data-v-665bd5fd"></text>
+      </view>
+      <image
+        bindtap="{{f}}"
+        class="clear data-v-665bd5fd"
+        src="/static/svgs/icon_clear.svg"
+        wx:if="{{e}}"
+      ></image>
+      <view class="input-length data-v-665bd5fd">{{g}}/17 </view>
+    </view>
+    <view
+      bindtap="{{h}}"
+      class="button data-v-665bd5fd"
+      hoverClass="default-ihover-class"
+      hoverStayTime="100"
+    >
+      确认修改
+    </view>
+  </view>
+  <keyboard
+    bind:__l="__l"
+    bindchange="{{j}}"
+    bindclose="{{i}}"
+    class="data-v-665bd5fd"
+    uI="665bd5fd-1,665bd5fd-0"
+    uP="{{k}}"
+    wx:if="{{k}}"
+  ></keyboard>
+</uni-popup>
diff --git a/components/popup-modify-vin/index.wxss b/components/popup-modify-vin/index.wxss
new file mode 100644
index 0000000..4a2442b
--- /dev/null
+++ b/components/popup-modify-vin/index.wxss
@@ -0,0 +1,104 @@
+.content.data-v-665bd5fd {
+  background-color: #fff;
+  border-radius: 20rpx;
+  margin-bottom: 15vh;
+  overflow: hidden;
+  padding: 50rpx;
+  width: 625rpx;
+}
+.content .close.data-v-665bd5fd {
+  height: 30rpx;
+  padding: 20rpx;
+  position: absolute;
+  right: 20rpx;
+  top: 20rpx;
+  width: 30rpx;
+}
+.content .popup-title.data-v-665bd5fd {
+  color: #333;
+  font-size: 32rpx;
+  font-weight: 700;
+  text-align: center;
+}
+.content .input-content.data-v-665bd5fd {
+  background-color: #f7f7f7;
+  border-radius: 10rpx;
+  height: 90rpx;
+  margin-top: 50rpx;
+  padding: 0 20rpx;
+}
+.content .input-content .input.data-v-665bd5fd,
+.content .input-content.data-v-665bd5fd {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  position: relative;
+}
+.content .input-content .input.data-v-665bd5fd {
+  flex-grow: 1;
+  font-size: 32rpx;
+  overflow-y: scroll;
+}
+.content .input-content .input .placeholder.data-v-665bd5fd {
+  color: silver;
+  left: 0;
+  position: absolute;
+}
+.content .input-content .input .cursor.data-v-665bd5fd {
+  animation: cursor-blinks-665bd5fd 1.5s step-start infinite;
+  background: #1f68e9;
+  height: 40rpx;
+  width: 4rpx;
+}
+.content .input-content .clear.data-v-665bd5fd {
+  flex-shrink: 0;
+  height: 32rpx;
+  padding: 0 10rpx 0 20rpx;
+  width: 32rpx;
+}
+.content .input-content .input-length.data-v-665bd5fd {
+  color: #232323;
+  flex-shrink: 0;
+  font-size: 26rpx;
+}
+.content .button.data-v-665bd5fd {
+  align-items: center;
+  background-color: #1f68e9;
+  border-radius: 100rpx;
+  color: #fff;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  font-weight: 700;
+  height: 80rpx;
+  justify-content: center;
+  margin-top: 50rpx;
+}
+@-webkit-keyframes cursor-blinks-665bd5fd {
+  0% {
+    display: block;
+    opacity: 1;
+  }
+  50% {
+    display: none;
+    opacity: 0;
+  }
+  to {
+    display: block;
+    opacity: 1;
+  }
+}
+@keyframes cursor-blinks-665bd5fd {
+  0% {
+    display: block;
+    opacity: 1;
+  }
+  50% {
+    display: none;
+    opacity: 0;
+  }
+  to {
+    display: block;
+    opacity: 1;
+  }
+}
diff --git a/components/popup-order/index.js b/components/popup-order/index.js
new file mode 100644
index 0000000..19c8e20
--- /dev/null
+++ b/components/popup-order/index.js
@@ -0,0 +1,45 @@
+var e = require("../../common/vendor.js"),
+  t = require("../../utils/navigate.js");
+Array || e.resolveComponent("uni-popup")(), Math;
+var n = {
+    __name: "index",
+    props: {
+      visible: { type: Boolean, default: !1 },
+      title: { type: String, default: "" },
+    },
+    emits: ["close"],
+    setup: function (n, o) {
+      var i = o.emit,
+        r = n,
+        s = e.ref(null);
+      e.watch(
+        function () {
+          return r.visible;
+        },
+        function () {
+          r.visible ? s.value.open() : s.value.close();
+        }
+      );
+      var a = function (e) {
+          e.show || i("close");
+        },
+        u = function () {
+          i("close");
+        },
+        c = function () {
+          i("close"), t.switchTab({ url: "/pages/order-list/index" });
+        };
+      return function (t, o) {
+        return {
+          a: e.t(n.title),
+          b: e.o(c),
+          c: e.o(u),
+          d: e.sr(s, "149b6e75-0", { k: "popup" }),
+          e: e.o(a),
+          f: e.p({ type: "center", animation: !0, "is-mask-click": !1 }),
+        };
+      };
+    },
+  },
+  o = e._export_sfc(n, [["__scopeId", "data-v-149b6e75"]]);
+wx.createComponent(o);
diff --git a/components/popup-order/index.json b/components/popup-order/index.json
new file mode 100644
index 0000000..40d85b9
--- /dev/null
+++ b/components/popup-order/index.json
@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
+  }
+}
diff --git a/components/popup-order/index.wxml b/components/popup-order/index.wxml
new file mode 100644
index 0000000..1de6fb7
--- /dev/null
+++ b/components/popup-order/index.wxml
@@ -0,0 +1,37 @@
+<uni-popup
+  bind:__l="__l"
+  bindchange="{{e}}"
+  class="r data-v-149b6e75"
+  uI="149b6e75-0"
+  uP="{{f}}"
+  uR="popup"
+  uS="{{['d']}}"
+  wx:if="{{f}}"
+>
+  <view class="content data-v-149b6e75">
+    <view class="wrap data-v-149b6e75">
+      <view class="container data-v-149b6e75">
+        <text class="title data-v-149b6e75">{{a}}</text>
+        <text class="title2 data-v-149b6e75">查看历史车况,杜绝事故车</text>
+        <view
+          bindtap="{{b}}"
+          class="button data-v-149b6e75"
+          hoverClass="default-hover-class"
+          hoverStayTime="100"
+        >
+          <text class="button-text data-v-149b6e75">立即查看</text>
+        </view>
+      </view>
+      <image
+        class="notice data-v-149b6e75"
+        src="/static/images/pic_notice.png"
+      ></image>
+    </view>
+    <view bindtap="{{c}}" class="close data-v-149b6e75">
+      <image
+        class="close-image data-v-149b6e75"
+        src="/static/images/icon_close_3.png"
+      ></image>
+    </view>
+  </view>
+</uni-popup>
diff --git a/components/popup-order/index.wxss b/components/popup-order/index.wxss
new file mode 100644
index 0000000..0f27b64
--- /dev/null
+++ b/components/popup-order/index.wxss
@@ -0,0 +1,72 @@
+.content.data-v-149b6e75 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  height: 1000rpx;
+  justify-content: center;
+}
+.wrap.data-v-149b6e75 {
+  position: relative;
+}
+.notice.data-v-149b6e75 {
+  height: 550rpx;
+  position: absolute;
+  top: -125rpx;
+  width: 490rpx;
+}
+.container.data-v-149b6e75 {
+  align-items: center;
+  background-color: #fff;
+  border-radius: 20rpx;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  height: 450rpx;
+  margin-top: 100rpx;
+  padding: 40rpx;
+  position: relative;
+  width: 490rpx;
+}
+.title.data-v-149b6e75 {
+  color: #1f68e9;
+  font-size: 34rpx;
+  font-weight: 700;
+  margin-top: 125rpx;
+  position: relative;
+  z-index: 10;
+}
+.title2.data-v-149b6e75 {
+  color: #666;
+  font-size: 28rpx;
+  margin-top: 25rpx;
+  position: relative;
+  z-index: 10;
+}
+.button.data-v-149b6e75 {
+  align-items: center;
+  background-color: #1f68e9;
+  border-radius: 100rpx;
+  display: -webkit-flex;
+  display: flex;
+  height: 75rpx;
+  justify-content: center;
+  line-height: 75rpx;
+  margin-bottom: 10rpx;
+  margin-top: 50rpx;
+  position: relative;
+  width: 350rpx;
+  z-index: 10;
+}
+.button-text.data-v-149b6e75 {
+  color: #fff;
+  font-size: 30rpx;
+}
+.close.data-v-149b6e75 {
+  margin-top: 10rpx;
+}
+.close-image.data-v-149b6e75 {
+  height: 90rpx;
+  padding: 20rpx;
+  width: 90rpx;
+}
diff --git a/components/popup-pay-again/index.js b/components/popup-pay-again/index.js
new file mode 100644
index 0000000..6520972
--- /dev/null
+++ b/components/popup-pay-again/index.js
@@ -0,0 +1,77 @@
+var e = require("../../common/vendor.js"),
+  u = require("../../enums/index.js"),
+  r = require("../../utils/common.js");
+require("../../service/index.js"),
+  require("../../utils/request.js"),
+  require("../../hooks/useState.js"),
+  require("../../store/app/index.js"),
+  require("../../data/index.js"),
+  require("../../config/index.js"),
+  require("../../constant/index.js"),
+  require("../../utils/util.js"),
+  require("../../utils/navigate.js"),
+  Array || e.resolveComponent("uni-popup")(),
+  Math;
+var n = {
+    __name: "index",
+    props: { visible: { type: Boolean, default: !1 } },
+    emits: ["close", "confirm"],
+    setup: function (n, i) {
+      var t = i.emit,
+        o = n,
+        a = e.ref(null),
+        s = e.ref(null);
+      e.watch(
+        function () {
+          return o.visible;
+        },
+        function () {
+          o.visible
+            ? (r.isSupportWeChatPay()
+                ? (s.value = u.PayMethodEnum.WECHAT_PAY)
+                : r.isSupportAliPay && (s.value = u.PayMethodEnum.ALI_PAY),
+              a.value.open())
+            : a.value.close();
+        }
+      );
+      var l = function (e) {
+          e.show || t("close");
+        },
+        c = function () {
+          t("close");
+        },
+        p = function () {
+          t("confirm", s.value);
+        },
+        f = function (e) {
+          s.value = e.detail.value;
+        };
+      return function (n, i) {
+        return e.e(
+          { a: e.o(c), b: e.unref(r.isSupportWeChatPay)() },
+          e.unref(r.isSupportWeChatPay)()
+            ? {
+                c: e.unref(u.PayMethodEnum).WECHAT_PAY,
+                d: s.value === e.unref(u.PayMethodEnum).WECHAT_PAY,
+              }
+            : {},
+          { e: e.unref(r.isSupportAliPay)() },
+          e.unref(r.isSupportAliPay)()
+            ? {
+                f: e.unref(u.PayMethodEnum).ALI_PAY,
+                g: s.value === e.unref(u.PayMethodEnum).ALI_PAY,
+              }
+            : {},
+          {
+            h: e.o(f),
+            i: e.o(p),
+            j: e.sr(a, "c238c94e-0", { k: "popup" }),
+            k: e.o(l),
+            l: e.p({ type: "center", "is-mask-click": !1, animation: !0 }),
+          }
+        );
+      };
+    },
+  },
+  i = e._export_sfc(n, [["__scopeId", "data-v-c238c94e"]]);
+wx.createComponent(i);
diff --git a/components/popup-pay-again/index.json b/components/popup-pay-again/index.json
new file mode 100644
index 0000000..40d85b9
--- /dev/null
+++ b/components/popup-pay-again/index.json
@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
+  }
+}
diff --git a/components/popup-pay-again/index.wxml b/components/popup-pay-again/index.wxml
new file mode 100644
index 0000000..76e162d
--- /dev/null
+++ b/components/popup-pay-again/index.wxml
@@ -0,0 +1,55 @@
+<uni-popup
+  bind:__l="__l"
+  bindchange="{{k}}"
+  class="r data-v-c238c94e"
+  uI="c238c94e-0"
+  uP="{{l}}"
+  uR="popup"
+  uS="{{['d']}}"
+  wx:if="{{l}}"
+>
+  <view class="content data-v-c238c94e">
+    <image
+      bindtap="{{a}}"
+      class="close data-v-c238c94e"
+      src="/static/svgs/icon_close_2.svg"
+    ></image>
+    <view class="title data-v-c238c94e">支付订单</view>
+    <radio-group bindchange="{{h}}" class="pay-group data-v-c238c94e">
+      <label class="data-v-c238c94e" wx:if="{{b}}">
+        <image
+          class="data-v-c238c94e"
+          src="/static/images/logo_wechat.png"
+        ></image>
+        <text class="pay-name data-v-c238c94e">微信支付</text>
+        <radio
+          checked="{{d}}"
+          class="data-v-c238c94e"
+          color="#FA5E29"
+          value="{{c}}"
+        ></radio>
+      </label>
+      <label class="data-v-c238c94e" wx:if="{{e}}">
+        <image
+          class="data-v-c238c94e"
+          src="/static/images/logo_alipay.png"
+        ></image>
+        <text class="pay-name data-v-c238c94e">支付宝支付</text>
+        <radio
+          checked="{{g}}"
+          class="data-v-c238c94e"
+          color="#FA5E29"
+          value="{{f}}"
+        ></radio>
+      </label>
+    </radio-group>
+    <view
+      bindtap="{{i}}"
+      class="button data-v-c238c94e"
+      hoverClass="default-ihover-class"
+      hoverStayTime="100"
+    >
+      确认支付
+    </view>
+  </view>
+</uni-popup>
diff --git a/components/popup-pay-again/index.wxss b/components/popup-pay-again/index.wxss
new file mode 100644
index 0000000..d29ecee
--- /dev/null
+++ b/components/popup-pay-again/index.wxss
@@ -0,0 +1,69 @@
+.content.data-v-c238c94e {
+  align-items: center;
+  background-color: #fff;
+  border-radius: 20rpx;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  padding: 0 40rpx;
+  width: 600rpx;
+}
+.content .close.data-v-c238c94e {
+  height: 30rpx;
+  padding: 20rpx;
+  position: absolute;
+  right: 20rpx;
+  top: 20rpx;
+  width: 30rpx;
+}
+.content .title.data-v-c238c94e {
+  font-size: 32rpx;
+  font-weight: 700;
+  height: 120rpx;
+  line-height: 120rpx;
+}
+.content .pay-group.data-v-c238c94e {
+  flex-direction: column;
+  font-size: 32rpx;
+}
+.content .pay-group label.data-v-c238c94e,
+.content .pay-group.data-v-c238c94e {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  width: 100%;
+}
+.content .pay-group label.data-v-c238c94e {
+  border-bottom: 2rpx solid #f2f2f2;
+  justify-content: space-between;
+  padding: 25rpx 0;
+}
+.content .pay-group label image.data-v-c238c94e {
+  flex-shrink: 0;
+  height: 56rpx;
+  width: 56rpx;
+}
+.content .pay-group label text.data-v-c238c94e {
+  flex-grow: 1;
+  font-size: 30rpx;
+  margin-left: 30rpx;
+}
+.content .button.data-v-c238c94e {
+  align-items: center;
+  background-color: #1f68e9;
+  border-radius: 100rpx;
+  color: #fff;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  font-weight: 700;
+  height: 80rpx;
+  justify-content: center;
+  margin: 50rpx 0;
+  text-align: center;
+  width: 100%;
+}
+radio.data-v-c238c94e {
+  flex-shrink: 0;
+  transform: scale(0.8);
+}
diff --git a/components/popup-upload-tips/index.js b/components/popup-upload-tips/index.js
new file mode 100644
index 0000000..5033d74
--- /dev/null
+++ b/components/popup-upload-tips/index.js
@@ -0,0 +1,40 @@
+var e = require("../../common/vendor.js");
+Array || e.resolveComponent("uni-popup")(), Math;
+var n = {
+    __name: "index",
+    props: { visible: { type: Boolean, default: !1 } },
+    emits: ["cancel", "confirm"],
+    setup: function (n, o) {
+      var t = o.emit,
+        a = n,
+        c = e.ref(null);
+      e.watch(
+        function () {
+          return a.visible;
+        },
+        function () {
+          a.visible ? c.value.open() : c.value.close();
+        }
+      );
+      var i = function (e) {
+          e.show || t("cancel");
+        },
+        r = function () {
+          t("cancel");
+        },
+        u = function () {
+          t("confirm");
+        };
+      return function (n, o) {
+        return {
+          a: e.o(r),
+          b: e.o(u),
+          c: e.sr(c, "58a85bba-0", { k: "popup" }),
+          d: e.o(i),
+          e: e.p({ type: "center", "is-mask-click": !1, animation: !0 }),
+        };
+      };
+    },
+  },
+  o = e._export_sfc(n, [["__scopeId", "data-v-58a85bba"]]);
+wx.createComponent(o);
diff --git a/components/popup-upload-tips/index.json b/components/popup-upload-tips/index.json
new file mode 100644
index 0000000..40d85b9
--- /dev/null
+++ b/components/popup-upload-tips/index.json
@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
+  }
+}
diff --git a/components/popup-upload-tips/index.wxml b/components/popup-upload-tips/index.wxml
new file mode 100644
index 0000000..d189cd1
--- /dev/null
+++ b/components/popup-upload-tips/index.wxml
@@ -0,0 +1,35 @@
+<uni-popup
+  bind:__l="__l"
+  bindchange="{{d}}"
+  class="r data-v-58a85bba"
+  uI="58a85bba-0"
+  uP="{{e}}"
+  uR="popup"
+  uS="{{['d']}}"
+  wx:if="{{e}}"
+>
+  <view class="content data-v-58a85bba">
+    <view class="title data-v-58a85bba">提示</view>
+    <view class="txt data-v-58a85bba"
+      >非常建议您上传行驶证提高报告的精准度。同时您作为查询服务的发起方,应确保被查询车辆与您相关或已获取车主授权,且不侵犯任何第三方利益。</view
+    >
+    <view class="popup-buttons data-v-58a85bba">
+      <view
+        bindtap="{{a}}"
+        class="button data-v-58a85bba"
+        hoverClass="hover-class"
+        hoverStayTime="100"
+      >
+        我再想想
+      </view>
+      <view
+        bindtap="{{b}}"
+        class="button data-v-58a85bba"
+        hoverClass="hover-class"
+        hoverStayTime="100"
+      >
+        确认查询
+      </view>
+    </view>
+  </view>
+</uni-popup>
diff --git a/components/popup-upload-tips/index.wxss b/components/popup-upload-tips/index.wxss
new file mode 100644
index 0000000..b94d453
--- /dev/null
+++ b/components/popup-upload-tips/index.wxss
@@ -0,0 +1,45 @@
+.content.data-v-58a85bba {
+  background-color: #fff;
+  border-radius: 20rpx;
+  margin-bottom: 15vh;
+  overflow: hidden;
+  width: 625rpx;
+}
+.content .title.data-v-58a85bba {
+  color: #333;
+  font-size: 32rpx;
+  font-weight: 700;
+  margin: 50rpx 0 40rpx;
+  text-align: center;
+}
+.content .txt.data-v-58a85bba {
+  color: #8a8a8a;
+  font-size: 30rpx;
+  line-height: 46rpx;
+  margin-bottom: 30rpx;
+  padding: 0 55rpx;
+}
+.content .popup-buttons.data-v-58a85bba {
+  align-items: center;
+  border-top: 2rpx solid #f2f2f2;
+  display: -webkit-flex;
+  display: flex;
+  margin-top: 40rpx;
+}
+.content .popup-buttons .button.data-v-58a85bba {
+  flex-grow: 1;
+  font-size: 32rpx;
+  font-weight: 700;
+  padding: 30rpx;
+  text-align: center;
+}
+.content .popup-buttons .button.data-v-58a85bba:nth-child(1) {
+  border-right: 2rpx solid #f2f2f2;
+  color: #333;
+}
+.content .popup-buttons .button.data-v-58a85bba:nth-child(2) {
+  color: #1f68e9;
+}
+.hover-class.data-v-58a85bba {
+  background-color: #e5e5e5;
+}
diff --git a/components/prompt/index.js b/components/prompt/index.js
new file mode 100644
index 0000000..cf89eb9
--- /dev/null
+++ b/components/prompt/index.js
@@ -0,0 +1,10 @@
+var e = require("../../common/vendor.js")._export_sfc({}, [
+  [
+    "render",
+    function (e, r) {
+      return {};
+    },
+  ],
+  ["__scopeId", "data-v-42b6c56e"],
+]);
+wx.createComponent(e);
diff --git a/components/prompt/index.json b/components/prompt/index.json
new file mode 100644
index 0000000..1a3499c
--- /dev/null
+++ b/components/prompt/index.json
@@ -0,0 +1 @@
+{ "component": true, "usingComponents": {} }
diff --git a/components/prompt/index.wxml b/components/prompt/index.wxml
new file mode 100644
index 0000000..80a1ad5
--- /dev/null
+++ b/components/prompt/index.wxml
@@ -0,0 +1,3 @@
+<view class="content data-v-42b6c56e">
+  查到的报告可能与本样例有所不同,请以实际报告为准。
+</view>
diff --git a/components/prompt/index.wxss b/components/prompt/index.wxss
new file mode 100644
index 0000000..8feb95f
--- /dev/null
+++ b/components/prompt/index.wxss
@@ -0,0 +1,6 @@
+.content.data-v-42b6c56e {
+  background-color: #fffbe8;
+  color: #ed6a0c;
+  font-size: 26rpx;
+  padding: 20rpx;
+}
diff --git a/components/time-line/index.js b/components/time-line/index.js
new file mode 100644
index 0000000..0d53674
--- /dev/null
+++ b/components/time-line/index.js
@@ -0,0 +1,64 @@
+var e = require("../../common/vendor.js"),
+  t = require("../../enums/index.js"),
+  n = {
+    __name: "index",
+    props: {
+      data: { type: Array, default: [] },
+      type: { type: String, default: "" },
+    },
+    setup: function (n) {
+      return function (a, r) {
+        return {
+          a: e.f(n.data, function (a, r, i) {
+            return e.e(
+              { a: r !== n.data.length - 1 && n.data.length > 1 },
+              (r !== n.data.length - 1 && n.data.length, {}),
+              n.type === e.unref(t.TimeLineEnum).MILEAGE
+                ? e.e(
+                    {
+                      b: e.t(a.date),
+                      c: e.t(a.mile),
+                      d: a.important ? 1 : "",
+                      e: a.important,
+                    },
+                    (a.important, {}),
+                    { f: r === n.data.length - 1 ? 1 : "" }
+                  )
+                : {},
+              n.type === e.unref(t.TimeLineEnum).RECORD
+                ? e.e(
+                    { g: e.t(a.date), h: a.amount },
+                    a.amount ? { i: e.t(a.amount) } : {},
+                    { j: a.mile },
+                    a.mile ? { k: e.t(a.mile) } : {},
+                    { l: a.detail || a.other },
+                    a.detail || a.other
+                      ? { m: e.t(a.detail || "-"), n: e.t(a.other || "-") }
+                      : {},
+                    { o: a.type || a.remark },
+                    a.type || a.remark
+                      ? { p: e.t(a.type || "-"), q: e.t(a.remark || "-") }
+                      : {}
+                  )
+                : {},
+              n.type === e.unref(t.TimeLineEnum).VIOLATION
+                ? {
+                    r: e.t(a.date),
+                    s: e.t(a.location),
+                    t: e.t(a.reason),
+                    v: e.t(a.score),
+                    w: e.t(a.pay),
+                  }
+                : {},
+              { x: r }
+            );
+          }),
+          b: n.type === e.unref(t.TimeLineEnum).MILEAGE,
+          c: n.type === e.unref(t.TimeLineEnum).RECORD,
+          d: n.type === e.unref(t.TimeLineEnum).VIOLATION,
+        };
+      };
+    },
+  },
+  a = e._export_sfc(n, [["__scopeId", "data-v-03179962"]]);
+wx.createComponent(a);
diff --git a/components/time-line/index.json b/components/time-line/index.json
new file mode 100644
index 0000000..1a3499c
--- /dev/null
+++ b/components/time-line/index.json
@@ -0,0 +1 @@
+{ "component": true, "usingComponents": {} }
diff --git a/components/time-line/index.wxml b/components/time-line/index.wxml
new file mode 100644
index 0000000..a3c117e
--- /dev/null
+++ b/components/time-line/index.wxml
@@ -0,0 +1,88 @@
+<view class="content data-v-03179962">
+  <view class="item data-v-03179962" wx:for="{{a}}" wx:key="x">
+    <view class="dot data-v-03179962"></view>
+    <view class="tail data-v-03179962" wx:if="{{item.a}}"></view>
+    <view class="body data-v-03179962">
+      <view
+        class="{{['mileage-content','data-v-03179962',item.f&&'last']}}"
+        wx:if="{{b}}"
+      >
+        <view class="date data-v-03179962">{{item.b}}</view>
+        <view class="{{['unit','data-v-03179962',item.d&&'important']}}"
+          >{{item.c}}公里
+        </view>
+        <image
+          class="wraning data-v-03179962"
+          src="/static/svgs/icon_warning_1.svg"
+          wx:if="{{item.e}}"
+        ></image>
+      </view>
+      <view class="record-content data-v-03179962" wx:if="{{c}}">
+        <view class="title data-v-03179962">
+          <view class="data-v-03179962">{{item.g}}</view>
+          <view class="data-v-03179962" wx:if="{{item.h}}">{{item.i}}元</view>
+          <view class="data-v-03179962" wx:if="{{item.j}}">{{item.k}}公里</view>
+        </view>
+        <view class="record-info data-v-03179962" wx:if="{{item.l}}">
+          <text class="data-v-03179962">
+            <text class="data-v-03179962" style="font-weight: bold"
+              >明细:</text
+            >
+            {{item.m}}</text
+          >
+          <text class="data-v-03179962">
+            <text class="data-v-03179962" style="font-weight: bold"
+              >材料:</text
+            >
+            {{item.n}}</text
+          >
+        </view>
+        <view class="record-info data-v-03179962" wx:if="{{item.o}}">
+          <text class="data-v-03179962">
+            <text class="data-v-03179962" style="font-weight: bold"
+              >类型:</text
+            >
+            {{item.p}}</text
+          >
+          <text class="data-v-03179962">
+            <text class="data-v-03179962" style="font-weight: bold"
+              >备注:</text
+            >
+            {{item.q}}</text
+          >
+        </view>
+      </view>
+      <view class="record-content data-v-03179962" wx:if="{{d}}">
+        <view class="title data-v-03179962">
+          <view class="data-v-03179962">{{item.r}}</view>
+        </view>
+        <view class="record-info data-v-03179962">
+          <text class="data-v-03179962">
+            <text class="data-v-03179962" style="font-weight: bold"
+              >地点:</text
+            >
+            {{item.s}}</text
+          >
+          <text class="data-v-03179962">
+            <text class="data-v-03179962" style="font-weight: bold"
+              >原因:</text
+            >
+            {{item.t}}</text
+          >
+          <text class="data-v-03179962">
+            <text class="data-v-03179962" style="font-weight: bold"
+              >扣分:</text
+            >
+            {{item.v}}</text
+          >
+          <text class="data-v-03179962">
+            <text class="data-v-03179962" style="font-weight: bold"
+              >付款:</text
+            >
+            {{item.w}}</text
+          >
+        </view>
+      </view>
+    </view>
+  </view>
+</view>
diff --git a/components/time-line/index.wxss b/components/time-line/index.wxss
new file mode 100644
index 0000000..d5ae564
--- /dev/null
+++ b/components/time-line/index.wxss
@@ -0,0 +1,89 @@
+.content.data-v-03179962 {
+  padding-top: 40rpx;
+}
+.content .item.data-v-03179962 {
+  align-items: flex-start;
+  display: -webkit-flex;
+  display: flex;
+  overflow: visible;
+  position: relative;
+}
+.content .item .dot.data-v-03179962 {
+  background-color: #1f68e9;
+  border-radius: 100%;
+  height: 20rpx;
+  left: 0;
+  position: absolute;
+  top: 10rpx;
+  width: 20rpx;
+  z-index: 10;
+}
+.content .item .tail.data-v-03179962 {
+  background-color: #e4e7ed;
+  height: 100%;
+  left: 8rpx;
+  position: absolute;
+  top: 20rpx;
+  width: 4rpx;
+  z-index: 9;
+}
+.content .item .body.data-v-03179962 {
+  font-size: 30rpx;
+  margin-left: 10rpx;
+  width: 100%;
+}
+.content .item .body .mileage-content.data-v-03179962 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  padding-bottom: 30rpx;
+  padding-left: 30rpx;
+  position: relative;
+}
+.content .item .body .mileage-content.last.data-v-03179962 {
+  padding-bottom: 0;
+}
+.content .item .body .mileage-content .date.data-v-03179962 {
+  color: #9a9a9a;
+}
+.content .item .body .mileage-content .unit.data-v-03179962 {
+  color: #000;
+}
+.content .item .body .mileage-content .unit.important.data-v-03179962 {
+  color: #ff7038;
+}
+.content .item .body .mileage-content .wraning.data-v-03179962 {
+  height: 28rpx;
+  left: 210rpx;
+  position: absolute;
+  top: 5rpx;
+  width: 28rpx;
+}
+.content .item .body .record-content.data-v-03179962 {
+  font-size: 30rpx;
+  padding-bottom: 30rpx;
+  padding-left: 30rpx;
+}
+.content .item .body .record-content .title.data-v-03179962 {
+  align-items: center;
+  color: #515151;
+  display: -webkit-flex;
+  display: flex;
+  font-weight: 700;
+  justify-content: space-between;
+}
+.content .item .body .record-content .record-info.data-v-03179962 {
+  background-color: #eaf1f8;
+  border-radius: 6rpx;
+  color: #515151;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  line-height: 42rpx;
+  margin-top: 20rpx;
+  padding: 20rpx;
+}
+.content .item .body .record-content .record-info .title.data-v-03179962 {
+  font-weight: 700;
+}
diff --git a/components/tips/index.js b/components/tips/index.js
new file mode 100644
index 0000000..613b976
--- /dev/null
+++ b/components/tips/index.js
@@ -0,0 +1,10 @@
+var e = require("../../common/vendor.js")._export_sfc({}, [
+  [
+    "render",
+    function (e, r) {
+      return {};
+    },
+  ],
+  ["__scopeId", "data-v-1cadef20"],
+]);
+wx.createComponent(e);
diff --git a/components/tips/index.json b/components/tips/index.json
new file mode 100644
index 0000000..1a3499c
--- /dev/null
+++ b/components/tips/index.json
@@ -0,0 +1 @@
+{ "component": true, "usingComponents": {} }
diff --git a/components/tips/index.wxml b/components/tips/index.wxml
new file mode 100644
index 0000000..90814fa
--- /dev/null
+++ b/components/tips/index.wxml
@@ -0,0 +1,6 @@
+<view class="content data-v-1cadef20">
+  <view class="blank data-v-1cadef20"></view>
+  <view class="info data-v-1cadef20"
+    >用户通知:查询需车主本人/经过车主授权同意才可使用,若未经车主同意使用,需自行承担因此导致的法律责任。</view
+  >
+</view>
diff --git a/components/tips/index.wxss b/components/tips/index.wxss
new file mode 100644
index 0000000..721829a
--- /dev/null
+++ b/components/tips/index.wxss
@@ -0,0 +1,27 @@
+.content.data-v-1cadef20 {
+  height: 120rpx;
+  position: relative;
+}
+.content .blank.data-v-1cadef20 {
+  background-color: #fff9ea;
+  z-index: 1;
+}
+.content .blank.data-v-1cadef20,
+.content .info.data-v-1cadef20 {
+  height: 120rpx;
+  left: -30rpx;
+  position: absolute;
+  top: -30rpx;
+  width: 750rpx;
+}
+.content .info.data-v-1cadef20 {
+  align-items: center;
+  background-color: #fffbe8;
+  color: #ed6a0c;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 28rpx;
+  justify-content: center;
+  padding: 0 18rpx;
+  z-index: 2;
+}
diff --git a/components/vehicle-number/index.js b/components/vehicle-number/index.js
new file mode 100644
index 0000000..b1a9c51
--- /dev/null
+++ b/components/vehicle-number/index.js
@@ -0,0 +1,28 @@
+var t = require("../../common/vendor.js"),
+  e = {
+    __name: "index",
+    props: {
+      data: { type: String, default: "" },
+      fontSize: { type: String, default: "28rpx" },
+    },
+    setup: function (e) {
+      return function (a, r) {
+        return t.e(
+          { a: e.data.trim().length < 7 },
+          e.data.trim().length < 7
+            ? { b: t.t(e.data.trim()) }
+            : {
+                c: t.t(e.data.trim().substring(0, 2)),
+                d: t.t(e.data.trim().substring(2)),
+              },
+          {
+            e: e.data.trim().length > 7 ? 1 : "",
+            f: e.data.trim().length < 7 ? 1 : "",
+            g: e.fontSize,
+          }
+        );
+      };
+    },
+  },
+  a = t._export_sfc(e, [["__scopeId", "data-v-78f4d0b2"]]);
+wx.createComponent(a);
diff --git a/components/vehicle-number/index.json b/components/vehicle-number/index.json
new file mode 100644
index 0000000..1a3499c
--- /dev/null
+++ b/components/vehicle-number/index.json
@@ -0,0 +1 @@
+{ "component": true, "usingComponents": {} }
diff --git a/components/vehicle-number/index.wxml b/components/vehicle-number/index.wxml
new file mode 100644
index 0000000..d5a1779
--- /dev/null
+++ b/components/vehicle-number/index.wxml
@@ -0,0 +1,7 @@
+<view
+  class="{{['number','data-v-78f4d0b2',e&&'new',f&&'abnormal']}}"
+  style="{{'font-size:'+g}}"
+>
+  <view class="data-v-78f4d0b2" wx:if="{{a}}">{{b}}</view>
+  <view class="data-v-78f4d0b2" wx:else>{{c}}·{{d}}</view>
+</view>
diff --git a/components/vehicle-number/index.wxss b/components/vehicle-number/index.wxss
new file mode 100644
index 0000000..1e1e6d0
--- /dev/null
+++ b/components/vehicle-number/index.wxss
@@ -0,0 +1,15 @@
+.number.data-v-78f4d0b2 {
+  background: #2862c7;
+  border-radius: 8rpx;
+  color: #fff;
+  padding: 5rpx 10rpx;
+  text-align: center;
+}
+.number.new.data-v-78f4d0b2 {
+  background: linear-gradient(180deg, #ebebe7, #03b022);
+  color: #000;
+}
+.number.abnormal.data-v-78f4d0b2 {
+  background: #dbdbdb;
+  color: #000;
+}
diff --git a/config/index.js b/config/index.js
new file mode 100644
index 0000000..f7fc096
--- /dev/null
+++ b/config/index.js
@@ -0,0 +1,7 @@
+require("../common/vendor.js"), require("../constant/index.js");
+(exports.appName = "优选查车"),
+  (exports.appVersion = "1.0.0"),
+  (exports.baseUrl = "https://api.rjxx.com.cn"),
+  (exports.defaultChannelName = "nature-mp-youxuan"),
+  (exports.mpWeixinBannerUnitAd = "adunit-c70d5c16146bdcad"),
+  (exports.mpWeixinVideoUnitAd = "adunit-305137feb58ae156");
diff --git a/constant/index.js b/constant/index.js
new file mode 100644
index 0000000..2527bc7
--- /dev/null
+++ b/constant/index.js
@@ -0,0 +1,45 @@
+var e = { user: "", conceal: "", notice: "" };
+(e.user =
+  "https://xrh-1254083922.cos.ap-nanjing.myqcloud.com/static/%E4%BC%98%E9%80%89%E6%9F%A5%E8%BD%A6-%E5%B0%8F%E7%A8%8B%E5%BA%8F/%E7%94%A8%E6%88%B7%E5%8D%8F%E8%AE%AE.html"),
+  (e.conceal =
+    "https://xrh-1254083922.cos.ap-nanjing.myqcloud.com/static/%E4%BC%98%E9%80%89%E6%9F%A5%E8%BD%A6-%E5%B0%8F%E7%A8%8B%E5%BA%8F/%E9%9A%90%E7%A7%81%E5%8D%8F%E8%AE%AE.html"),
+  (e.notice =
+    "https://xrh-1254083922.cos.ap-nanjing.myqcloud.com/static/%E4%BC%98%E9%80%89%E6%9F%A5%E8%BD%A6-%E5%B0%8F%E7%A8%8B%E5%BA%8F/%E7%94%A8%E6%88%B7%E9%A1%BB%E7%9F%A5.html");
+var t = e.user,
+  a = e.conceal,
+  l = e.notice;
+(exports.concealAgreementUrl = a),
+  (exports.decryptIV = "1234567890123456"),
+  (exports.decryptKey = "zhi11shi22seng33lin2023startwin1"),
+  (exports.disclaimer =
+    "本报告提供的所有内容仅基于截止到报告购买日期收集到的相关数据,所有数据均来自第三方。由于部分数据无法被采集, 所以我们不做准确性,真实性,完整性承诺(即本报告上的内容该车真实发生过,但不表示该车只发生过报告上的内容)由于我们的数据来源并非记录事故的第一手资料, 所以无法作为法律取证资料。不同数据格式及记录详细程度会存在差异, 此为行业正常现像。本报告仅作交易参考资料之一,请结合实车勘验结果和试乘体验,做出更准确的决策。"),
+  (exports.encryptKey = "jack928"),
+  (exports.userAgreementUrl = t),
+  (exports.userNoticeUrl = l),
+  (exports.vehicleNoExp =
+    /^(([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z](([0-9]{5}[A-Z])|([A-Z]([A-HJ-NP-Z0-9])[0-9]{4})))|([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳使领]))$/),
+  (exports.vehicleTypeList = [
+    { value: "10", text: "领馆摩托车" },
+    { value: "11", text: "境外摩托车" },
+    { value: "12", text: "外籍摩托车" },
+    { value: "13", text: "低速车" },
+    { value: "14", text: "拖拉机" },
+    { value: "15", text: "挂车" },
+    { value: "16", text: "教练汽车" },
+    { value: "17", text: "教练摩托车" },
+    { value: "20", text: "临时入境车" },
+    { value: "21", text: "临时入境摩托车" },
+    { value: "22", text: "临时行驶车" },
+    { value: "23", text: "警用汽车" },
+    { value: "51", text: "新能源大型车" },
+    { value: "52", text: "新能源小型车" },
+    { value: "01", text: "大型汽车" },
+    { value: "02", text: "小型汽车" },
+    { value: "03", text: "使馆汽车" },
+    { value: "04", text: "领馆汽车" },
+    { value: "05", text: "境外汽车" },
+    { value: "06", text: "外籍汽车" },
+    { value: "07", text: "普通摩托车" },
+    { value: "08", text: "轻便摩托车" },
+    { value: "09", text: "使馆摩托车" },
+  ]);
diff --git a/data/index.js b/data/index.js
new file mode 100644
index 0000000..673dfc2
--- /dev/null
+++ b/data/index.js
@@ -0,0 +1,554 @@
+var e = require("../enums/index.js"),
+  a = [
+    {
+      name: "综合车况",
+      desc: "",
+      icon: "/static/images/icon_home_operation_5.png",
+      url: "/pages/report-query/index",
+      params: {
+        title: "综合车况",
+        productType: e.ProductTypeEnum.OVERALL,
+        queryType: e.QueryTypeEnum.VIN,
+      },
+    },
+    {
+      name: "查维保信息",
+      desc: "",
+      icon: "/static/images/icon_home_operation_6.png",
+      url: "/pages/report-query/index",
+      params: {
+        title: "查维保信息",
+        productType: e.ProductTypeEnum.INSURANCE_MAINTAIN,
+        queryType: e.QueryTypeEnum.VIN,
+      },
+    },
+    {
+      name: "查出险信息",
+      desc: "",
+      icon: "/static/images/icon_home_operation_7.png",
+      url: "/pages/report-query/index",
+      params: {
+        title: "查出险信息",
+        productType: e.ProductTypeEnum.ACCIDENT,
+        queryType: e.QueryTypeEnum.VIN,
+      },
+    },
+    {
+      name: "查车辆状态",
+      desc: "",
+      icon: "/static/images/icon_home_operation_1.png",
+      url: "/pages/vehicle-status-query/index",
+      params: {
+        title: "查车辆状态",
+        productType: e.ProductTypeEnum.VEHICLE_STATUS,
+        queryType: e.QueryTypeEnum.VIN,
+      },
+    },
+    {
+      name: "查车五项",
+      desc: "",
+      icon: "/static/images/icon_home_operation_4.png",
+      url: "/pages/vehicle-five-query/index",
+      params: {
+        title: "查车五项",
+        productType: e.ProductTypeEnum.VEHICLE_FIVE,
+      },
+    },
+    {
+      name: "强险投保日期",
+      desc: "",
+      icon: "/static/images/icon_home_operation_1.png",
+      url: "/pages/sali-check-query/index",
+      params: {
+        title: "查交强险投保日期",
+        productType: e.ProductTypeEnum.SALI_CHECK,
+      },
+    },
+    {
+      name: "商业险查询",
+      desc: "",
+      icon: "/static/images/icon_home_operation_2.png",
+      url: "/pages/commercial-insurance-query/index",
+      params: {
+        title: "查商业险信息",
+        productType: e.ProductTypeEnum.COMMERICAL_INSURANCE,
+      },
+    },
+    {
+      name: "交强险查询",
+      desc: "",
+      icon: "/static/images/icon_home_operation_3.png",
+      url: "/pages/sali-query/index",
+      params: { title: "查交强险信息", productType: e.ProductTypeEnum.SALI },
+    },
+    {
+      name: "车型识别",
+      desc: "",
+      icon: "/static/images/icon_home_operation_8.png",
+      url: "/pages/vehicle-info-query/index",
+      params: {
+        title: "车型识别",
+        productType: e.ProductTypeEnum.VEHICLE_INFO,
+      },
+    },
+  ],
+  l = [
+    {
+      name: "综合车况",
+      desc: "维修保养+出险事故",
+      icon: "/static/images/pic_home_query_1.png",
+      url: "/pages/report-query/index",
+      params: {
+        title: "综合车况",
+        productType: e.ProductTypeEnum.OVERALL,
+        queryType: e.QueryTypeEnum.VIN,
+      },
+    },
+    {
+      name: "扫描查车型",
+      desc: "定型号识别高低配",
+      icon: "/static/images/pic_home_query_2.png",
+      url: "/pages/vehicle-info-query/index",
+      params: { title: "车型识别" },
+    },
+    {
+      name: "出险记录查询",
+      desc: "识别车辆碰撞历史",
+      icon: "/static/images/pic_home_query_3.png",
+      url: "/pages/report-query/index",
+      params: {
+        title: "出险查询",
+        productType: e.ProductTypeEnum.ACCIDENT,
+        queryType: e.QueryTypeEnum.VIN,
+      },
+    },
+    {
+      name: "维保记录查询",
+      desc: "4S店维修保养记录",
+      icon: "/static/images/pic_home_query_4.png",
+      url: "/pages/report-query/index",
+      params: {
+        title: "维保查询",
+        productType: e.ProductTypeEnum.INSURANCE_MAINTAIN,
+        queryType: e.QueryTypeEnum.VIN,
+      },
+    },
+  ];
+(exports.mockBlankReportList = [
+  {
+    date: "初登日期:未知",
+    mile: "0",
+    type: "出厂PDI",
+    desc: "4S店无记录,注意是否试驾车的情况",
+  },
+]),
+  (exports.mockCkdlpcList = [
+    {
+      name: "骨架",
+      value: 0,
+      key: "type1",
+      icon: "/static/svgs/pic_ckpc_normal_1.svg",
+    },
+    {
+      name: "外观",
+      value: 1,
+      key: "type2",
+      icon: "/static/svgs/pic_ckpc_normal_2.svg",
+    },
+    {
+      name: "发动机",
+      value: 0,
+      key: "type3",
+      icon: "/static/svgs/pic_ckpc_normal_3.svg",
+    },
+    {
+      name: "变速箱",
+      value: 0,
+      key: "type3",
+      icon: "/static/svgs/pic_ckpc_normal_4.svg",
+    },
+    {
+      name: "火烧",
+      value: 0,
+      key: "type4",
+      icon: "/static/svgs/pic_ckpc_normal_5.svg",
+    },
+    {
+      name: "水淹",
+      value: 0,
+      key: "type5",
+      icon: "/static/svgs/pic_ckpc_normal_6.svg",
+    },
+    {
+      name: "气囊",
+      value: 0,
+      key: "type6",
+      icon: "/static/svgs/pic_ckpc_normal_7.svg",
+    },
+    {
+      name: "加强件",
+      value: 1,
+      key: "type7",
+      icon: "/static/svgs/pic_ckpc_normal_8.svg",
+    },
+  ]),
+  (exports.mockCkpclbList = [
+    { name: "外观", value: [], key: "wg" },
+    { name: "底盘悬挂", value: [], key: "dp" },
+    {
+      name: "发动机",
+      value: [
+        { name: "发送机", type: "更换配件" },
+        { name: "变速器", type: "更换配件" },
+      ],
+      key: "fdj",
+    },
+    { name: "加强件", value: [], key: "jqj" },
+    { name: "气囊", value: [], key: "qn" },
+    { name: "附属配件", value: [], key: "fspj" },
+    { name: "骨架", value: [], key: "gj" },
+    { name: "火烧", value: [], key: "hs" },
+    { name: "水淹", value: [], key: "sy" },
+  ]),
+  (exports.mockCkxxList = [
+    {
+      name: "非火烧车",
+      value: 0,
+      key: "isFire",
+      icon: "/static/svgs/icon_ckxx_normal_1.svg",
+    },
+    {
+      name: "非泡水车",
+      value: 0,
+      key: "isFlood",
+      icon: "/static/svgs/icon_ckxx_normal_2.svg",
+    },
+    {
+      name: "非盗抢车",
+      value: 0,
+      key: "isTheft",
+      icon: "/static/svgs/icon_ckxx_normal_3.svg",
+    },
+    {
+      name: "覆盖件未损伤",
+      value: 0,
+      key: "isPanel",
+      icon: "/static/svgs/icon_ckxx_normal_4.svg",
+    },
+    {
+      name: "无大额赔偿",
+      value: 2,
+      key: "isLargeCost",
+      icon: "/static/svgs/icon_ckxx_unknown_5.svg",
+    },
+    {
+      name: "无结案记录",
+      value: 0,
+      key: "recordIcpending",
+      icon: "/static/svgs/icon_ckxx_normal_6.svg",
+    },
+    {
+      name: "无注销记录",
+      value: 0,
+      key: "recordIwriteoff",
+      icon: "/static/svgs/icon_ckxx_normal_7.svg",
+    },
+    {
+      name: "无拒赔记录",
+      value: 0,
+      key: "refusalRecord",
+      icon: "/static/svgs/icon_ckxx_normal_8.svg",
+    },
+    {
+      name: "交强险有效",
+      value: 2,
+      key: "effectiveCpi",
+      icon: "/static/svgs/icon_ckxx_unknown_9.svg",
+    },
+    {
+      name: "商业险有效",
+      value: 2,
+      key: "effectiveCmi",
+      icon: "/static/svgs/icon_ckxx_unknown_10.svg",
+    },
+    {
+      name: "交强险连续投保",
+      value: 2,
+      key: "seriesCoverCpi",
+      icon: "/static/svgs/icon_ckxx_unknown_11.svg",
+    },
+    {
+      name: "无营业记录",
+      value: 0,
+      key: "isBusiness",
+      icon: "/static/svgs/icon_ckxx_normal_12.svg",
+    },
+  ]),
+  (exports.mockClfwzj = {
+    正前方: 1,
+    正后方: 1,
+    顶部: 0,
+    底部: 0,
+    前方左侧: 1,
+    后方左侧: 0,
+    中间左侧: 0,
+    前方右侧: 1,
+    后方右侧: 0,
+    中间右侧: 0,
+    内部: 0,
+    其他: 0,
+  }),
+  (exports.mockCommercialInsuranceList = [
+    { label: "保险公司", value: "中国人保" },
+    { label: "保单号", value: "PDAA202214251100096236" },
+    { label: "起保日期", value: "2023-11-22 16:30:00" },
+    { label: "终保日期", value: "2024-11-23 00:00:00" },
+    { label: "保险种类", value: "机动车第三者责任保险" },
+    { label: "VIN车架号", value: "WDDBF*******40972" },
+    { label: "发动机号", value: "G4F781A" },
+    { label: "投保地区", value: "浙江" },
+  ]),
+  (exports.mockInsuranceList = [
+    {
+      date: "2021-02-27",
+      mile: 29030,
+      other: "机油放油口垫:1.00;机油滤清器:1.00;发动机机油4L(紫) 0W-20:1.00;",
+      detail: "整车检查;定期维护;检查底盘、轮胎、车灯和机油;",
+    },
+    {
+      date: "2020-09-21",
+      mile: 20244,
+      other:
+        "发动机机油4L(紫) 0W-20:1.00;氢氧除碳-进气系统清洗剂:1.00;机油润滑系统保护剂:1.00;汽油发动机清洁剂 新国标:1.00;【GHAC】高效空调滤芯:1.00;机油润滑系统清洗剂:1.00;空气滤清器:1.00;机油放油口垫:1.00;机油滤清器:1.00;氢氧除碳-燃油系统清洗剂:1.00;",
+      detail:
+        "整车检查;定期维护;节气门喷嘴清洁;检查底盘、轮胎、车灯和机油;四轮动平衡;",
+    },
+    {
+      date: "2020-06-06",
+      mile: 15874,
+      other: "汽油泵维修包 CV1:1.00;",
+      detail: "燃油泵制造商召回;制造商活动、洗车;",
+    },
+    {
+      date: "2020-03-15",
+      mile: 12809,
+      other:
+        "机油放油口垫:1.00;汽油发动机清洁剂:1.00;机油滤清器:1.00;线路保护剂:1.00;发动机机油4L(紫) 0W-20:1.00;空调滤网:1.00;空调清洗剂:1.00;",
+      detail:
+        "检查底盘、轮胎、车灯和机油;拆卸和组装左前门和右后门;整车检查;定期维护,出事故自费,洗车;左前门、右后门、右后翼子板喷漆;空调风机的拆装;",
+    },
+    {
+      date: "2019-09-08",
+      mile: 8463,
+      other:
+        "汽油发动机清洁剂:1.00;机油放油口垫:1.00;发动机机油4L(紫) 0W-20:1.00;机油滤清器:1.00;调配管套件2:1.00;",
+      detail:
+        "整车检查;安装调整管套件;检查机箱;检查胎压灯;检查底盘、轮胎、车灯和机油;厂家活动,定期维护,机修,洗车;",
+    },
+    {
+      date: "2019-02-23",
+      mile: 3056,
+      other:
+        "机油滤清器:1.00;机油放油口垫:1.00;发动机机油4L(绿)0W-20:1.00;汽油发动机清洁剂 通用型:1.00;",
+      detail:
+        "检查前后悬架系统、转向系统、空气滤清器和空调滤芯;第一次维护;根据本田保修进行定期维护(首次定期维护);检查空调系统、制动系统等;免费添加冷却液、制动液等;更换发动机机油、发动机机油滤清器、排放螺栓和垫片;添加汽油清洁剂;定期保养项目包括:检查整车的灯具、电器、轮胎、蓄电池、油和水;",
+    },
+  ]),
+  (exports.mockJbxxList = [
+    { label: "车身颜色", value: "黑色" },
+    { label: "发动机号", value: "G3064*" },
+    { label: "车辆排量", value: "2996" },
+    { label: "排放标准", value: "GB18352.3-2005国Ⅳ" },
+    { label: "车身结构", value: "4门5座三厢车" },
+    { label: "车辆种类", value: "六座以下客车" },
+    { label: "核定载客人数", value: "5" },
+    { label: "初次登记日期", value: "7年及以上" },
+  ]),
+  (exports.mockMailList = [
+    { date: "2021-02-27", mile: 29030 },
+    { date: "2020-09-21", mile: 20244 },
+    { date: "2020-06-06", mile: 15874 },
+    { date: "2020-03-15", mile: 12809 },
+    { date: "2019-09-08", mile: 8463 },
+    { date: "2019-02-23", mile: 3056 },
+  ]),
+  (exports.mockPzlsmxList = [
+    {
+      date: "2019-07",
+      result: [
+        {
+          dangerSingleType: "1",
+          dangerSingleName: "雾灯护罩(前左)",
+          dangerSingleMoney: "0",
+          dangerSingleNum: "1",
+        },
+        {
+          dangerSingleType: "1",
+          dangerSingleName: "保险杠(前下)",
+          dangerSingleMoney: "0",
+          dangerSingleNum: "1",
+        },
+        {
+          dangerSingleType: "1",
+          dangerSingleName: "轮眉(前左)",
+          dangerSingleMoney: "0",
+          dangerSingleNum: "1",
+        },
+        {
+          dangerSingleType: "2",
+          dangerSingleName: "前杠",
+          dangerSingleMoney: "0",
+          dangerSingleNum: "0",
+        },
+        {
+          dangerSingleType: "2",
+          dangerSingleName: "左前叶子板",
+          dangerSingleMoney: "0",
+          dangerSingleNum: "0",
+        },
+      ],
+      vin: "LVHRM3865F5017337",
+      type: "",
+      serviceMoney: "300000",
+      claimStatus: "已结案",
+    },
+    {
+      date: "2019-10",
+      result: [
+        {
+          dangerSingleType: "1",
+          dangerSingleName: "前保险杠皮",
+          dangerSingleMoney: "0",
+          dangerSingleNum: "1",
+        },
+        {
+          dangerSingleType: "1",
+          dangerSingleName: "中网",
+          dangerSingleMoney: "0",
+          dangerSingleNum: "1",
+        },
+        {
+          dangerSingleType: "1",
+          dangerSingleName: "前大灯(右)",
+          dangerSingleMoney: "0",
+          dangerSingleNum: "1",
+        },
+        {
+          dangerSingleType: "2",
+          dangerSingleName: "发动机罩",
+          dangerSingleMoney: "0",
+          dangerSingleNum: "1",
+        },
+        {
+          dangerSingleType: "2",
+          dangerSingleName: "前门壳",
+          dangerSingleMoney: "0",
+          dangerSingleNum: "1",
+        },
+      ],
+      vin: "LVHRM3865F5017337",
+      type: "",
+      serviceMoney: "400000",
+      claimStatus: "已结案",
+    },
+    {
+      date: "2022-05",
+      result: [
+        {
+          dangerSingleType: "2",
+          dangerSingleName: "右后视镜座",
+          dangerSingleMoney: "0",
+          dangerSingleNum: "1",
+        },
+        {
+          dangerSingleType: "2",
+          dangerSingleName: "后保险杠外皮",
+          dangerSingleMoney: "0",
+          dangerSingleNum: "1",
+        },
+      ],
+      vin: "LVHRM3865F5017337",
+      type: "",
+      serviceMoney: "100000",
+      claimStatus: "已结案",
+    },
+  ]),
+  (exports.mockSaliCheckList = [
+    { label: "车牌号码", value: "粤A*****" },
+    { label: "VIN车架号", value: "WDDBF*******40972" },
+    { label: "号牌种类", value: "小型汽车" },
+    { label: "初次投保日期", value: "2018-12-05" },
+    { label: "上次交强险投保年月", value: "2022-12" },
+    { label: "最近交强险投保期始", value: "2022-12-05" },
+    { label: "最近交强险投保期止", value: "2023-12-05" },
+  ]),
+  (exports.mockSaliList = [
+    { label: "保险公司", value: "中国人保" },
+    { label: "投保确认码", value: "67001080120220122493" },
+    { label: "保单号", value: "6140101030120220013611" },
+    { label: "起保日期", value: "2023-11-22 16:30:00" },
+    { label: "终保日期", value: "2024-11-23 00:00:00" },
+    { label: "车牌号码", value: "粤A*****" },
+    { label: "号牌种类", value: "小型汽车" },
+    { label: "VIN车架号", value: "WDDBF*******40972" },
+    { label: "发动机号", value: "CA04474" },
+    { label: "投保地区", value: "广东" },
+  ]),
+  (exports.mockTjxxList = [
+    { name: "事故次数", value: "3", key: "claimCount" },
+    { name: "理赔总金额", value: "0万-1万", key: "totalAmount" },
+    { name: "最大理赔金额", value: "0万-1万", key: "largestAmount" },
+    { name: "已结案次数", value: "3", key: "claimCacCount" },
+    { name: "拒赔次数", value: "0", key: "claimRejectedCount" },
+  ]),
+  (exports.mockVehicleFiveList = [
+    { label: "车牌号码", value: "粤A*****" },
+    { label: "VIN车架号", value: "WDDBF*******40972" },
+    { label: "车辆品牌", value: "奔驰" },
+    { label: "车辆类型", value: "小型汽车" },
+    { label: "发动机号", value: "2018C9****" },
+    { label: "初次登记日期", value: "2019-03-11 00:00:00" },
+  ]),
+  (exports.mockVehicleInfoList = [
+    { label: "厂家名称", value: "奥迪(进口)" },
+    { label: "车型名称", value: "Q7" },
+    { label: "版本", value: "2021款 55 TFSI quattro S line运动型" },
+    { label: "年款", value: "2020" },
+    { label: "上市日期", value: "2020-12" },
+    { label: "新车购置价格", value: "78.88万" },
+    { label: "市场价", value: "-" },
+    { label: "发动机型号", value: "DCB" },
+    { label: "排量", value: "3.0T" },
+    { label: "燃油类型", value: "汽油" },
+    { label: "燃油标号", value: "95号" },
+    { label: "喷射方式", value: "混合喷射" },
+    { label: "最大功率 KW", value: "250" },
+    { label: "最大马力(Ps)", value: "340" },
+    { label: "轴距", value: "2999" },
+    { label: "尺寸类型", value: "中大型SUV" },
+    { label: "车身型式", value: "5门7座SUV" },
+    { label: "车体结构", value: "承载式" },
+    { label: "变速箱类型", value: "AT" },
+    { label: "驱动方式", value: "前置四驱" },
+    { label: "前轮胎尺寸", value: "285/40 R21" },
+    { label: "后轮胎尺寸", value: "285/40 R21" },
+    { label: "前制动类型", value: "通风盘式" },
+    { label: "后制动类型", value: "通风盘式" },
+    { label: "驻车制动类型", value: "电子驻车" },
+    { label: "档位数", value: "无" },
+    { label: "座位数", value: "7" },
+    { label: "车门数", value: "5" },
+    { label: "气缸数", value: "6" },
+    { label: "长 mm", value: "5067" },
+    { label: "宽", value: "1970" },
+    { label: "高", value: "1712" },
+    { label: "整备质量 kg", value: "2265" },
+    { label: "是否是进口", value: "进口" },
+  ]),
+  (exports.mockVehicleStatusList = [
+    { label: "VIN车架号", value: "WDDBF*******40972" },
+    { label: "车辆状态", value: "抵押、违法未处理" },
+    { label: "车辆品牌", value: "奥迪" },
+  ]),
+  (exports.theActionList1 = a),
+  (exports.theActionList2 = l);
diff --git a/enums/index.js b/enums/index.js
new file mode 100644
index 0000000..8c97c77
--- /dev/null
+++ b/enums/index.js
@@ -0,0 +1,34 @@
+(exports.KeyboardEnum = { ABC: "ABC", AREA: "地区", DELETE: "删除" }),
+  (exports.OrderStatusEnum = { UNPAID: 1, PAID: 2, REFUND: 3, COMPLETE: 4 }),
+  (exports.PageStatusEnum = {
+    LOADING: "loading",
+    MORE: "more",
+    NOMORE: "noMore",
+  }),
+  (exports.PayMethodEnum = { WECHAT_PAY: 1, ALI_PAY: 2 }),
+  (exports.ProductStatusEnum = {
+    SUCCESS: 1,
+    IN_QUERY: 2,
+    FAIL: 3,
+    UNPAID: 4,
+    TO_BE_UPLOADED: 5,
+  }),
+  (exports.ProductTypeEnum = {
+    VEHICLE_INFO: "200000",
+    OVERALL: "100000",
+    SALI_CHECK: "10000X",
+    INSURANCE_MAINTAIN: "100001",
+    ACCIDENT: "100002",
+    VEHICLE_FIVE: "100003",
+    COMMERICAL_INSURANCE: "100004",
+    VIOLATION: "100005",
+    SALI: "100006",
+    VEHICLE_STATUS: "100007",
+  }),
+  (exports.QueryTypeEnum = { VIN: "vin", VEHICLE_NO: "vehicleNo" }),
+  (exports.RoleEnum = { NORMAL: 1, VIP: 2 }),
+  (exports.TimeLineEnum = {
+    MILEAGE: "mileage",
+    RECORD: "record",
+    VIOLATION: "violation",
+  });
diff --git a/hooks/onMounted.js b/hooks/onMounted.js
new file mode 100644
index 0000000..b754816
--- /dev/null
+++ b/hooks/onMounted.js
@@ -0,0 +1,84 @@
+var e = require("../@babel/runtime/helpers/slicedToArray"),
+  n = require("../common/vendor.js"),
+  t = require("./useState.js"),
+  o = require("../service/index.js"),
+  r = require("../utils/util.js");
+exports.onMounted = function (i) {
+  var u = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1];
+  n.onLoad(function (a) {
+    var s = t.useState().setChannelName;
+    n.index.hideHomeButton(),
+      a &&
+        a.channelName &&
+        !t.useState().channelName.value &&
+        s({ channelName: a.channelName });
+    var c = new Date().getTime();
+    u && r.showLoading(),
+      (function () {
+        var r = t.useState(),
+          i = r.setUserData,
+          u = r.setConfig,
+          a = n.index.getStorageSync("token"),
+          s = n.index.getStorageSync("openId"),
+          c = t.useState().userId.value,
+          d = t.useState().userInfo.value,
+          f = t.useState().config.value,
+          l = function () {
+            return Promise.resolve({
+              token: a,
+              openId: s,
+              userId: c,
+              userInfo: d,
+            });
+          },
+          g = function () {
+            return Promise.resolve({ config: f });
+          };
+        return (
+          a || s
+            ? c ||
+              (l = function () {
+                return o.getUserInfo();
+              })
+            : (l = function () {
+                return n.index
+                  .login({ provider: "weixin" })
+                  .then(function (e) {
+                    var n = e.code;
+                    return o.loginForMpWeixin({ code: n });
+                  })
+                  .then(function (e) {
+                    return (
+                      n.index.setStorageSync("token", e.token),
+                      n.index.setStorageSync("openId", e.openId),
+                      o.getUserInfo()
+                    );
+                  });
+              }),
+          f ||
+            (g = function () {
+              return o.getConfig();
+            }),
+          Promise.all([l(), g()]).then(function (n) {
+            var t = e(n, 2),
+              o = t[0],
+              r = t[1];
+            i({
+              token: o.token,
+              openId: o.openId,
+              userId: o.userId,
+              userInfo: o.userInfo,
+            }),
+              u({ config: r.config });
+          })
+        );
+      })().then(function () {
+        i(
+          n._.assign(
+            a.params ? JSON.parse(decodeURIComponent(a.params)) : null,
+            { loadingTime: new Date().getTime() - c }
+          )
+        );
+      });
+  });
+};
diff --git a/hooks/onShareAppMessage.js b/hooks/onShareAppMessage.js
new file mode 100644
index 0000000..ecb3046
--- /dev/null
+++ b/hooks/onShareAppMessage.js
@@ -0,0 +1,11 @@
+var e = require("../common/vendor.js"),
+  r = require("../config/index.js");
+exports.onShareAppMessage = function () {
+  return e.onShareAppMessage(function () {
+    return {
+      title: "欢迎使用".concat(r.appName),
+      path: "/pages/splash/index",
+      imageUrl: "/static/images/pic_share_mp.png",
+    };
+  });
+};
diff --git a/hooks/onShow.js b/hooks/onShow.js
new file mode 100644
index 0000000..4618555
--- /dev/null
+++ b/hooks/onShow.js
@@ -0,0 +1,11 @@
+var e = require("../common/vendor.js"),
+  o = require("./useState.js");
+exports.onShow = function (r) {
+  var t = o.useState().totalOrderNum;
+  e.onShow(function () {
+    t.value > 0
+      ? e.index.showTabBarRedDot({ index: 1 })
+      : e.index.hideTabBarRedDot({ index: 1 }),
+      r && r();
+  });
+};
diff --git a/hooks/useHeight.js b/hooks/useHeight.js
new file mode 100644
index 0000000..3ce4dc9
--- /dev/null
+++ b/hooks/useHeight.js
@@ -0,0 +1,13 @@
+var e = require("../common/vendor.js");
+exports.useHeight = function () {
+  var t = e.ref(0),
+    a = e.ref(0),
+    i = e.ref(0),
+    n = e.index.getMenuButtonBoundingClientRect();
+  return (
+    (t.value = e.index.getSystemInfoSync().statusBarHeight),
+    (a.value = 2 * (n.top - t.value) + n.height),
+    (i.value = t.value + a.value),
+    { statusBarHeight: t, titleBarHeight: a, navigationBarHeight: i }
+  );
+};
diff --git a/hooks/useState.js b/hooks/useState.js
new file mode 100644
index 0000000..85a2d7a
--- /dev/null
+++ b/hooks/useState.js
@@ -0,0 +1,7 @@
+var e = require("../@babel/runtime/helpers/objectSpread2"),
+  r = require("../common/vendor.js"),
+  t = require("../store/app/index.js");
+exports.useState = function () {
+  var s = t.useAppStore();
+  return e(e({}, s), r.storeToRefs(s));
+};
diff --git a/pages/accident-blank/index.js b/pages/accident-blank/index.js
new file mode 100644
index 0000000..4148a31
--- /dev/null
+++ b/pages/accident-blank/index.js
@@ -0,0 +1,138 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../hooks/onMounted.js"),
+  a = require("../../hooks/onShareAppMessage.js"),
+  t = require("../../service/index.js"),
+  r = require("../../constant/index.js"),
+  i = require("../../utils/util.js");
+require("../../hooks/useState.js"),
+  require("../../store/app/index.js"),
+  require("../../enums/index.js"),
+  require("../../data/index.js"),
+  require("../../config/index.js"),
+  require("../../utils/request.js"),
+  Math || (e.unref(u) + e.unref(o) + e.unref(s))();
+var o = function () {
+    return "../../components/float-back-to-top/index.js";
+  },
+  u = function () {
+    return "../../components/divider/index.js";
+  },
+  s = function () {
+    return "../../components/float-share/index.js";
+  },
+  c = {
+    __name: "index",
+    setup: function (o) {
+      var u = e.ref(!0),
+        s = e.ref({}),
+        c = e.ref(!1),
+        v = e.ref([
+          {
+            name: "骨架",
+            value: 0,
+            key: "type1",
+            icon: "/static/svgs/pic_ckpc_normal_1.svg",
+          },
+          {
+            name: "外观",
+            value: 0,
+            key: "type2",
+            icon: "/static/svgs/pic_ckpc_normal_2.svg",
+          },
+          {
+            name: "发动机",
+            value: 0,
+            key: "type3",
+            icon: "/static/svgs/pic_ckpc_normal_3.svg",
+          },
+          {
+            name: "变速箱",
+            value: 0,
+            key: "type3",
+            icon: "/static/svgs/pic_ckpc_normal_4.svg",
+          },
+          {
+            name: "火烧",
+            value: 0,
+            key: "type4",
+            icon: "/static/svgs/pic_ckpc_normal_5.svg",
+          },
+          {
+            name: "水淹",
+            value: 0,
+            key: "type5",
+            icon: "/static/svgs/pic_ckpc_normal_6.svg",
+          },
+          {
+            name: "气囊",
+            value: 0,
+            key: "type6",
+            icon: "/static/svgs/pic_ckpc_normal_7.svg",
+          },
+          {
+            name: "加强件",
+            value: 0,
+            key: "type7",
+            icon: "/static/svgs/pic_ckpc_normal_8.svg",
+          },
+        ]);
+      return (
+        n.onMounted(function (e) {
+          var n = e.order_no,
+            a = e.product_id;
+          i.showLoading("努力查询中"),
+            t
+              .getBlankReportDetail({ order_no: n, product_id: a })
+              .then(function (e) {
+                (s.value = e), (u.value = !1), i.hideLoading();
+              });
+        }, !1),
+        e.onPageScroll(function (n) {
+          var a = n.scrollTop;
+          c.value = a >= e.index.getSystemInfoSync().windowHeight / 3;
+        }),
+        a.onShareAppMessage(),
+        function (n, a) {
+          return e.e(
+            { a: !u.value },
+            u.value
+              ? {}
+              : {
+                  b: e.t(
+                    (s.value.vin || "")
+                      .toString()
+                      .replace(/^(.{5}).{6}/, "$1******")
+                  ),
+                  c: e.t(s.value.order_no),
+                  d: e.t(s.value.report_date),
+                  e: e.t(s.value.manufacturer),
+                  f: e.t(s.value.comfuelconsumption),
+                  g: e.t(s.value.engine_no),
+                  h: e.t(s.value.displacementml),
+                  i: e.t(s.value.environmentalstandards),
+                  j: e.t(s.value.sizetype),
+                  k: e.t(s.value.isimport),
+                  l: e.t(s.value.seatnum),
+                  m: e.f(v.value, function (n, a, t) {
+                    return e.e(
+                      { a: n.icon, b: e.t(n.name), c: 0 === n.value },
+                      (n.value, {}),
+                      { d: 1 === n.value },
+                      (n.value, {}),
+                      { e: 2 === n.value },
+                      (n.value, {}),
+                      { f: 3 === n.value || 4 === n.value },
+                      (3 === n.value || n.value, {}),
+                      { g: a }
+                    );
+                  }),
+                  n: e.t(e.unref(r.disclaimer)),
+                  o: e.p({ visible: c.value }),
+                }
+          );
+        }
+      );
+    },
+  },
+  v = e._export_sfc(c, [["__scopeId", "data-v-0ece0644"]]);
+(c.__runtimeHooks = 3), wx.createPage(v);
diff --git a/pages/accident-blank/index.json b/pages/accident-blank/index.json
new file mode 100644
index 0000000..00949a2
--- /dev/null
+++ b/pages/accident-blank/index.json
@@ -0,0 +1,9 @@
+{
+  "navigationBarTitleText": "出险查询报告",
+  "navigationBarBackgroundColor": "#1F68E9",
+  "usingComponents": {
+    "float-back-to-top": "../../components/float-back-to-top/index",
+    "divider": "../../components/divider/index",
+    "float-share": "../../components/float-share/index"
+  }
+}
diff --git a/pages/accident-blank/index.wxml b/pages/accident-blank/index.wxml
new file mode 100644
index 0000000..4258212
--- /dev/null
+++ b/pages/accident-blank/index.wxml
@@ -0,0 +1,167 @@
+<view class="content data-v-0ece0644" wx:if="{{a}}">
+  <view class="notice data-v-0ece0644"
+    >本查询结果仅供参考,具体车况,请自行检查判断</view
+  >
+  <view class="background data-v-0ece0644"></view>
+  <view class="content-title data-v-0ece0644">车辆历史报告</view>
+  <view class="sub-title data-v-0ece0644">中国汽车流通协会发起建设</view>
+  <view class="order-detail data-v-0ece0644">
+    <view class="detail-item data-v-0ece0644">
+      <view class="label data-v-0ece0644">VIN车架号:</view>
+      <view class="value data-v-0ece0644">{{b}}</view>
+    </view>
+    <view class="detail-item data-v-0ece0644">
+      <view class="label data-v-0ece0644">订单编号:</view>
+      <view class="value data-v-0ece0644">{{c}}</view>
+    </view>
+    <view class="detail-item data-v-0ece0644">
+      <view class="label data-v-0ece0644">报告时间:</view>
+      <view class="value data-v-0ece0644">{{d}}</view>
+    </view>
+  </view>
+  <view class="card data-v-0ece0644">
+    <view class="card-title data-v-0ece0644">
+      <image
+        class="icon-title data-v-0ece0644"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-0ece0644">基本信息</text>
+    </view>
+    <view class="cell-info data-v-0ece0644">
+      <view class="cell data-v-0ece0644">
+        <view class="title data-v-0ece0644">品牌</view>
+        <view class="value data-v-0ece0644">{{e}}</view>
+      </view>
+      <view class="cell data-v-0ece0644">
+        <view class="title data-v-0ece0644">油耗</view>
+        <view class="value data-v-0ece0644">{{f}}</view>
+      </view>
+      <view class="cell data-v-0ece0644">
+        <view class="title data-v-0ece0644">发动机号</view>
+        <view class="value data-v-0ece0644">{{g}}</view>
+      </view>
+      <view class="cell data-v-0ece0644">
+        <view class="title data-v-0ece0644">排量(ml)</view>
+        <view class="value data-v-0ece0644">{{h}}</view>
+      </view>
+      <view class="cell data-v-0ece0644">
+        <view class="title data-v-0ece0644">排放标准</view>
+        <view class="value data-v-0ece0644">{{i}}</view>
+      </view>
+      <view class="cell data-v-0ece0644">
+        <view class="title data-v-0ece0644">车辆种类</view>
+        <view class="value data-v-0ece0644">{{j}}</view>
+      </view>
+      <view class="cell data-v-0ece0644">
+        <view class="title data-v-0ece0644">进口或国产</view>
+        <view class="value data-v-0ece0644">{{k}}</view>
+      </view>
+      <view class="cell data-v-0ece0644">
+        <view class="title data-v-0ece0644">核定载客数</view>
+        <view class="value data-v-0ece0644">{{l}}</view>
+      </view>
+    </view>
+  </view>
+  <view class="card data-v-0ece0644">
+    <view class="card-title data-v-0ece0644">
+      <image
+        class="icon-title data-v-0ece0644"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-0ece0644">车况排查</text>
+    </view>
+    <view class="ckpc-content data-v-0ece0644">
+      <view class="item data-v-0ece0644" wx:for="{{m}}" wx:key="g">
+        <image
+          class="icon data-v-0ece0644"
+          mode="aspectFit"
+          src="{{item.a}}"
+        ></image>
+        <text class="name data-v-0ece0644">{{item.b}}</text>
+        <text class="status normal data-v-0ece0644" wx:if="{{item.c}}"
+          >正常</text
+        >
+        <text class="status unidentified data-v-0ece0644" wx:if="{{item.d}}"
+          >无法确定</text
+        >
+        <text class="status doubt data-v-0ece0644" wx:if="{{item.e}}"
+          >疑似</text
+        >
+        <text class="status error data-v-0ece0644" wx:if="{{item.f}}"
+          >异常</text
+        >
+      </view>
+    </view>
+  </view>
+  <view class="card data-v-0ece0644">
+    <view class="card-title data-v-0ece0644">
+      <image
+        class="icon-title data-v-0ece0644"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-0ece0644">重大问题排查</text>
+    </view>
+    <image
+      class="pic1 data-v-0ece0644"
+      src="/static/images/pic_detail_info_1.png"
+    ></image>
+    <image
+      class="checked data-v-0ece0644"
+      src="/static/svgs/icon_check_3.svg"
+    ></image>
+  </view>
+  <view class="card data-v-0ece0644">
+    <view class="card-title data-v-0ece0644">
+      <image
+        class="icon-title data-v-0ece0644"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-0ece0644">一般维修排查</text>
+    </view>
+    <image
+      class="pic2 data-v-0ece0644"
+      src="/static/images/pic_detail_info_2.png"
+    ></image>
+    <image
+      class="checked data-v-0ece0644"
+      src="/static/svgs/icon_check_3.svg"
+    ></image>
+  </view>
+  <view class="card data-v-0ece0644">
+    <view class="card-title data-v-0ece0644">
+      <image
+        class="icon-title data-v-0ece0644"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-0ece0644">车况统计</text>
+    </view>
+    <view class="info data-v-0ece0644">
+      <text class="data-v-0ece0644">出险 0次</text>
+      <text class="data-v-0ece0644">核损金额 0元</text>
+    </view>
+    <view class="msg data-v-0ece0644"> 当前车辆投保期间没有事故出险记录 </view>
+  </view>
+  <view class="card data-v-0ece0644">
+    <view class="card-title data-v-0ece0644">
+      <image
+        class="icon-title data-v-0ece0644"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-0ece0644">免责声明</text>
+    </view>
+    <view class="disclaimer data-v-0ece0644">{{n}}</view>
+  </view>
+  <divider bind:__l="__l" class="data-v-0ece0644" uI="0ece0644-0"></divider>
+  <float-back-to-top
+    bind:__l="__l"
+    class="data-v-0ece0644"
+    uI="0ece0644-1"
+    uP="{{o}}"
+    wx:if="{{o}}"
+  ></float-back-to-top>
+  <float-share
+    bind:__l="__l"
+    class="data-v-0ece0644"
+    uI="0ece0644-2"
+  ></float-share>
+</view>
diff --git a/pages/accident-blank/index.wxss b/pages/accident-blank/index.wxss
new file mode 100644
index 0000000..4736d96
--- /dev/null
+++ b/pages/accident-blank/index.wxss
@@ -0,0 +1,233 @@
+.content.data-v-0ece0644 {
+  padding: 30rpx;
+  position: relative;
+}
+.content .notice.data-v-0ece0644 {
+  background-color: #fde198;
+  color: #936a26;
+  font-size: 25rpx;
+  height: 60rpx;
+  left: 0;
+  line-height: 60rpx;
+  position: absolute;
+  text-align: center;
+  top: 0;
+  width: 100%;
+}
+.content .background.data-v-0ece0644 {
+  background: linear-gradient(180deg, #1f68e9, #fff);
+  height: 2000rpx;
+  left: 0;
+  position: absolute;
+  top: 0;
+  width: 100%;
+  z-index: -1;
+}
+.content .content-title.data-v-0ece0644 {
+  border-bottom: 1rpx solid #74a8e6;
+  color: #fff;
+  font-size: 66rpx;
+  margin-top: 50rpx;
+  padding-bottom: 20rpx;
+  text-align: center;
+}
+.content .sub-title.data-v-0ece0644 {
+  color: #fff;
+  font-size: 26rpx;
+  margin-top: 20rpx;
+  text-align: center;
+}
+.content .order-detail.data-v-0ece0644 {
+  color: #fff;
+  font-size: 28rpx;
+  margin-top: 50rpx;
+}
+.content .order-detail .detail-item.data-v-0ece0644 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  margin: 15rpx 0;
+}
+.content .order-detail .detail-item .label.data-v-0ece0644 {
+  width: 170rpx;
+}
+.content .order-detail .detail-item .value.data-v-0ece0644 {
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  width: 510rpx;
+}
+.content .card.data-v-0ece0644 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  margin: 30rpx 0;
+  padding: 30rpx;
+  position: relative;
+}
+.content .card .card-title.data-v-0ece0644 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+}
+.content .card .card-title .icon-title.data-v-0ece0644 {
+  height: 30rpx;
+  margin-right: 10rpx;
+  width: 34rpx;
+}
+.content .card .card-title .suffix.data-v-0ece0644 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+}
+.content .card .card-title .suffix image.data-v-0ece0644 {
+  height: 30rpx;
+  margin-left: 30rpx;
+  width: 30rpx;
+}
+.content .card .card-title .suffix text.data-v-0ece0644 {
+  color: #9a9a9a;
+  font-size: 3028rpxrpx;
+  margin-left: 8rpx;
+}
+.content .card .card-title image.data-v-0ece0644 {
+  flex-shrink: 0;
+}
+.content .card .card-title text.data-v-0ece0644 {
+  color: #1f68e9;
+  flex-grow: 1;
+  font-size: 32rpx;
+}
+.content .card .pic1.data-v-0ece0644 {
+  height: 235rpx;
+  margin: 40rpx auto 0;
+  width: 500rpx;
+}
+.content .card .pic2.data-v-0ece0644 {
+  height: 320rpx;
+  margin: 40rpx auto 0;
+  width: 500rpx;
+}
+.content .card .checked.data-v-0ece0644 {
+  height: 44rpx;
+  position: absolute;
+  right: 50rpx;
+  top: 50rpx;
+  width: 44rpx;
+}
+.content .card .info.data-v-0ece0644 {
+  color: #333;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  justify-content: space-between;
+  margin: 20rpx 0;
+}
+.content .card .msg.data-v-0ece0644 {
+  background-color: #dbf5e2;
+  border-radius: 10rpx;
+  color: #4aa444;
+  font-size: 28rpx;
+  padding: 18rpx 28rpx;
+  text-align: center;
+}
+.content .card .maintain.data-v-0ece0644 {
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  margin-bottom: 20rpx;
+}
+.content .card .maintain text.data-v-0ece0644 {
+  font-size: 30rpx;
+  margin: 10rpx 0;
+}
+.content .card .maintain .button-content.data-v-0ece0644 {
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin-top: 30rpx;
+}
+.content .card .maintain .button-content .button.data-v-0ece0644 {
+  background-color: #fff;
+  border-radius: 60rpx;
+  font-size: 28rpx;
+  height: 70rpx;
+  line-height: 70rpx;
+  margin: 0 10rpx;
+  padding: 0;
+  text-align: center;
+  width: 225rpx;
+}
+.content .card .maintain .button-content .button.type1.data-v-0ece0644 {
+  background: #1f68e9;
+  color: #fff;
+}
+.content .card .maintain .button-content .button.type2.data-v-0ece0644 {
+  border: 1rpx solid #1f68e9;
+  color: #1f68e9;
+}
+.content .brand-name.data-v-0ece0644 {
+  font-size: 32rpx;
+  font-weight: 700;
+  margin-top: 30rpx;
+}
+.content .cell-info.data-v-0ece0644 {
+  font-size: 30rpx;
+}
+.content .cell-info .cell.data-v-0ece0644 {
+  margin-top: 30rpx;
+}
+.content .cell-info .cell.data-v-0ece0644,
+.content .ckpc-content.data-v-0ece0644 {
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+}
+.content .ckpc-content.data-v-0ece0644 {
+  align-items: center;
+  flex-wrap: wrap;
+}
+.content .ckpc-content .item.data-v-0ece0644 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  margin-top: 30rpx;
+  position: relative;
+  width: 135rpx;
+}
+.content .ckpc-content .item .icon.data-v-0ece0644 {
+  height: 56rpx;
+  width: 56rpx;
+}
+.content .ckpc-content .item .name.data-v-0ece0644 {
+  font-size: 28rpx;
+  margin-top: 10rpx;
+}
+.content .ckpc-content .item .status.data-v-0ece0644 {
+  border-radius: 50rpx;
+  font-size: 24rpx;
+  margin-top: 20rpx;
+  padding: 5rpx 16rpx;
+}
+.content .ckpc-content .item .status.normal.data-v-0ece0644 {
+  background-color: #dbf5e2;
+  color: #4aa444;
+}
+.content .ckpc-content .item .status.error.data-v-0ece0644 {
+  background-color: rgba(238, 36, 25, 0.094);
+  color: #eb5a5a;
+}
+.content .ckpc-content .item .status.unidentified.data-v-0ece0644 {
+  background-color: #ececec;
+  color: #606060;
+}
+.content .ckpc-content .item .status.doubt.data-v-0ece0644 {
+  background-color: rgba(255, 112, 56, 0.157);
+  color: #ff7038;
+}
+.content .disclaimer.data-v-0ece0644 {
+  color: #333;
+  font-size: 30rpx;
+  padding: 20rpx 0;
+}
diff --git a/pages/accident-detail/index.js b/pages/accident-detail/index.js
new file mode 100644
index 0000000..15e22a0
--- /dev/null
+++ b/pages/accident-detail/index.js
@@ -0,0 +1,336 @@
+var e = require("../../common/vendor.js"),
+  a = require("../../hooks/onMounted.js"),
+  l = require("../../hooks/onShareAppMessage.js"),
+  u = require("../../service/index.js"),
+  n = require("../../constant/index.js"),
+  t = require("../../utils/util.js");
+require("../../hooks/useState.js"),
+  require("../../store/app/index.js"),
+  require("../../enums/index.js"),
+  require("../../data/index.js"),
+  require("../../config/index.js"),
+  require("../../utils/request.js"),
+  Array ||
+    (
+      e.resolveComponent("uni-collapse-item") +
+      e.resolveComponent("uni-collapse")
+    )(),
+  Math ||
+    (
+      function () {
+        return "../../uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.js";
+      } +
+      function () {
+        return "../../uni_modules/uni-collapse/components/uni-collapse/uni-collapse.js";
+      } +
+      e.unref(v) +
+      e.unref(i) +
+      e.unref(r)
+    )();
+var i = function () {
+    return "../../components/float-back-to-top/index.js";
+  },
+  v = function () {
+    return "../../components/divider/index.js";
+  },
+  r = function () {
+    return "../../components/float-share/index.js";
+  },
+  c = {
+    __name: "index",
+    setup: function (i) {
+      var v = e.ref(!0),
+        r = e.ref({}),
+        c = e.ref(!1),
+        o = e.ref([
+          { name: "品牌类型", value: "", key: "brandName" },
+          { name: "上牌日期", value: "", key: "regDate" },
+          { name: "发动机号", value: "", key: "engine" },
+          { name: "车身颜色", value: "", key: "bodyColor" },
+          { name: "指导价", value: "", key: "guidePrice" },
+          { name: "排放标准", value: "", key: "emisSandard" },
+          { name: "过户次数", value: "", key: "changeTimes" },
+          { name: "使用性质", value: "", key: "properties" },
+          { name: "使用性质是否红色警示", value: "", key: "warning" },
+          { name: "车主任数", value: "", key: "ownerNumber" },
+          { name: "车主类型", value: "", key: "ownerType" },
+        ]),
+        d = e.ref([
+          { name: "骨架", value: "", key: "type1" },
+          { name: "外观", value: "", key: "type2" },
+          { name: "发动机", value: "", key: "type3" },
+          { name: "变速箱", value: "", key: "type3" },
+          { name: "火烧", value: "", key: "type4" },
+          { name: "水淹", value: "", key: "type5" },
+          { name: "气囊", value: "", key: "type6" },
+          { name: "加强件", value: "", key: "type7" },
+        ]),
+        s = e.ref([
+          { name: "外观", value: [], key: "wg" },
+          { name: "底盘悬挂", value: [], key: "dp" },
+          { name: "发动机", value: [], key: "fdj" },
+          { name: "加强件", value: [], key: "jqj" },
+          { name: "气囊", value: [], key: "qn" },
+          { name: "附属配件", value: [], key: "fspj" },
+          { name: "骨架", value: [], key: "gj" },
+          { name: "火烧", value: [], key: "hs" },
+          { name: "水淹", value: [], key: "sy" },
+        ]),
+        f = e.ref([
+          { name: "非火烧车", value: "", key: "isFire" },
+          { name: "非泡水车", value: "", key: "isFlood" },
+          { name: "非盗抢车", value: "", key: "isTheft" },
+          { name: "覆盖件未损伤", value: "", key: "isPanel" },
+          { name: "无大额赔偿", value: "", key: "isLargeCost" },
+          { name: "无结案记录", value: "", key: "recordIcpending" },
+          { name: "无注销记录", value: "", key: "recordIwriteoff" },
+          { name: "无拒赔记录", value: "", key: "refusalRecord" },
+          { name: "交强险有效", value: "", key: "effectiveCpi" },
+          { name: "商业险有效", value: "", key: "effectiveCmi" },
+          { name: "交强险连续投保", value: "", key: "seriesCoverCpi" },
+          { name: "无营业记录", value: "", key: "isBusiness" },
+        ]),
+        m = e.ref([
+          { name: "事故次数", value: "", key: "claimCount" },
+          { name: "理赔总金额", value: "", key: "totalAmount" },
+          { name: "最大理赔金额", value: "", key: "largestAmount" },
+          { name: "已结案次数", value: "", key: "claimCacCount" },
+          { name: "拒赔次数", value: "", key: "claimRejectedCount" },
+        ]);
+      return (
+        a.onMounted(function (a) {
+          var l = a.order_no,
+            n = a.product_id;
+          t.showLoading("努力查询中"),
+            u
+              .getReportDetail({ order_no: l, product_id: n })
+              .then(function (a) {
+                (a.detail.pzlsmx.records = e._.orderBy(
+                  a.detail.pzlsmx.records,
+                  ["date"],
+                  ["desc"]
+                )),
+                  (r.value = a);
+                var l = a.detail,
+                  u = l.clxx,
+                  n = l.ckdlpc,
+                  i = l.ckpclb,
+                  c = l.ckxx,
+                  y = l.tjxx;
+                e._.each(o.value, function (e) {
+                  if (((e.value = u[e.key]), "warning" === e.key)) {
+                    var a = u[e.key];
+                    1 === a
+                      ? (e.value = "是")
+                      : 0 === a
+                      ? (e.value = "否")
+                      : 2 === a && (e.value = "无法判断");
+                  }
+                }),
+                  e._.each(d.value, function (e, a) {
+                    e.value = n[e.key];
+                    var l = "";
+                    0 === e.value
+                      ? (l = "normal")
+                      : 1 === e.value
+                      ? (l = "unidentified")
+                      : 2 === e.value
+                      ? (l = "doubt")
+                      : (3 !== e.value && 4 !== e.value) || (l = "error"),
+                      (e.icon = "/static/svgs/pic_ckpc_"
+                        .concat(l, "_")
+                        .concat(a + 1, ".svg"));
+                  }),
+                  e._.each(s.value, function (e) {
+                    e.value = i[e.key];
+                  }),
+                  e._.each(f.value, function (e, a) {
+                    if (
+                      ((e.value = c[e.key]),
+                      null === c[e.key] && (e.value = 2),
+                      "recordIcpending" === e.key ||
+                        "recordIwriteoff" === e.key ||
+                        "refusalRecord" === e.key)
+                    ) {
+                      var l = c[e.key];
+                      "是" === l ? (e.value = 1) : "否" === l && (e.value = 0);
+                    }
+                    if ("effectiveCpi" === e.key || "effectiveCmi" === e.key) {
+                      var u = c[e.key];
+                      0 === u ? (e.value = 1) : 1 === u && (e.value = 0);
+                    }
+                    if ("seriesCoverCpi" === e.key) {
+                      var n = c[e.key];
+                      1 === n || 2 === n
+                        ? (e.value = 0)
+                        : 3 === n
+                        ? (e.value = 1)
+                        : (0 !== n && 4 !== n) || (e.value = 2);
+                    }
+                    var t = "";
+                    0 === e.value
+                      ? (t = "normal")
+                      : 1 === e.value
+                      ? (t = "warning")
+                      : 2 === e.value && (t = "unknown"),
+                      (e.icon = "/static/svgs/icon_ckxx_"
+                        .concat(t, "_")
+                        .concat(a + 1, ".svg"));
+                  }),
+                  e._.each(m.value, function (e) {
+                    e.value = y[e.key];
+                  }),
+                  (v.value = !1),
+                  t.hideLoading();
+              });
+        }, !1),
+        e.onPageScroll(function (a) {
+          var l = a.scrollTop;
+          c.value = l >= e.index.getSystemInfoSync().windowHeight / 3;
+        }),
+        l.onShareAppMessage(),
+        function (a, l) {
+          return e.e(
+            { a: !v.value },
+            v.value
+              ? {}
+              : e.e(
+                  {
+                    b: e.t(
+                      (r.value.vin || "")
+                        .toString()
+                        .replace(/^(.{5}).{6}/, "$1******")
+                    ),
+                    c: e.t(r.value.order_no),
+                    d: e.t(r.value.create_time),
+                    e: e.f(o.value, function (a, l, u) {
+                      return { a: e.t(a.name), b: e.t(a.value || "-"), c: l };
+                    }),
+                    f: e.f(d.value, function (a, l, u) {
+                      return e.e(
+                        { a: a.icon, b: e.t(a.name), c: 0 === a.value },
+                        (a.value, {}),
+                        { d: 1 === a.value },
+                        (a.value, {}),
+                        { e: 2 === a.value },
+                        (a.value, {}),
+                        { f: 3 === a.value || 4 === a.value },
+                        (3 === a.value || a.value, {}),
+                        { g: l }
+                      );
+                    }),
+                    g: 1 === r.value.detail.clpj,
+                  },
+                  (r.value.detail.clpj, {}),
+                  { h: 2 === r.value.detail.clpj },
+                  (r.value.detail.clpj, {}),
+                  { i: 3 === r.value.detail.clpj },
+                  (r.value.detail.clpj, {}),
+                  { j: 4 === r.value.detail.clpj },
+                  (r.value.detail.clpj, {}),
+                  {
+                    k: e.f(s.value, function (a, l, u) {
+                      return {
+                        a: e.t(a.name),
+                        b: e.t(a.value.length),
+                        c: a.value.length > 0 ? 1 : "",
+                        d: e.f(a.value, function (a, l, u) {
+                          return { a: e.t(a.name), b: e.t(a.type), c: l };
+                        }),
+                        e: l,
+                        f: "a4079225-1-" + u + ",a4079225-0",
+                        g: e.p({ name: a.name, open: a.value.length > 0 }),
+                      };
+                    }),
+                    l: e.f(r.value.detail.clfwzj, function (a, l, u) {
+                      return e.e(
+                        { a: !a },
+                        {},
+                        { b: !!a },
+                        {},
+                        { c: e.t(l), d: l }
+                      );
+                    }),
+                    m: !!r.value.detail.clfwzj.前方左侧,
+                  },
+                  (r.value.detail.clfwzj.前方左侧, {}),
+                  { n: !!r.value.detail.clfwzj.中间左侧 },
+                  (r.value.detail.clfwzj.中间左侧, {}),
+                  { o: !!r.value.detail.clfwzj.后方左侧 },
+                  (r.value.detail.clfwzj.后方左侧, {}),
+                  { p: !!r.value.detail.clfwzj.前方右侧 },
+                  (r.value.detail.clfwzj.前方右侧, {}),
+                  { q: !!r.value.detail.clfwzj.中间右侧 },
+                  (r.value.detail.clfwzj.中间右侧, {}),
+                  { r: !!r.value.detail.clfwzj.底部 },
+                  (r.value.detail.clfwzj.底部, {}),
+                  { s: !!r.value.detail.clfwzj.后方右侧 },
+                  (r.value.detail.clfwzj.后方右侧, {}),
+                  { t: !!r.value.detail.clfwzj.顶部 },
+                  (r.value.detail.clfwzj.顶部, {}),
+                  { v: !!r.value.detail.clfwzj.正前方 },
+                  (r.value.detail.clfwzj.正前方, {}),
+                  { w: !!r.value.detail.clfwzj.内部 },
+                  (r.value.detail.clfwzj.内部, {}),
+                  { x: !!r.value.detail.clfwzj.正后方 },
+                  (r.value.detail.clfwzj.正后方, {}),
+                  { y: !!r.value.detail.clfwzj.其他 },
+                  (r.value.detail.clfwzj.其他, {}),
+                  {
+                    z: e.f(f.value, function (a, l, u) {
+                      return e.e(
+                        { a: a.icon, b: e.t(a.name), c: 0 === a.value },
+                        (a.value, {}),
+                        { d: 1 === a.value },
+                        (a.value, {}),
+                        { e: 2 === a.value },
+                        (a.value, {}),
+                        { f: l }
+                      );
+                    }),
+                    A: e.f(m.value, function (a, l, u) {
+                      return { a: e.t(a.name), b: e.t(a.value || "-"), c: l };
+                    }),
+                    B: e.t(r.value.detail.pzlsmx.serviceSumCount),
+                    C: e.t(
+                      (
+                        Number(r.value.detail.pzlsmx.serviceSumMoney) / 100
+                      ).toFixed(0)
+                    ),
+                    D: e.f(r.value.detail.pzlsmx.records, function (a, l, u) {
+                      return {
+                        a: e.t(a.date),
+                        b: e.t(a.claimStatus),
+                        c: e.t((Number(a.serviceMoney) / 100).toFixed(0)),
+                        d: e.f(a.result, function (a, l, u) {
+                          return e.e(
+                            {
+                              a: e.t(a.dangerSingleName || "-"),
+                              b: 1 == a.dangerSingleType,
+                            },
+                            (1 == a.dangerSingleType ||
+                              2 == a.dangerSingleType ||
+                              a.dangerSingleType,
+                            {}),
+                            {
+                              c: 2 == a.dangerSingleType,
+                              d: 3 == a.dangerSingleType,
+                              e: e.t(a.dangerSingleNum),
+                              f: l,
+                            }
+                          );
+                        }),
+                        e: l,
+                      };
+                    }),
+                    E: e.t(e.unref(n.disclaimer)),
+                    F: e.p({ visible: c.value }),
+                  }
+                )
+          );
+        }
+      );
+    },
+  },
+  o = e._export_sfc(c, [["__scopeId", "data-v-a4079225"]]);
+(c.__runtimeHooks = 3), wx.createPage(o);
diff --git a/pages/accident-detail/index.json b/pages/accident-detail/index.json
new file mode 100644
index 0000000..4595512
--- /dev/null
+++ b/pages/accident-detail/index.json
@@ -0,0 +1,11 @@
+{
+  "navigationBarTitleText": "出险查询报告",
+  "navigationBarBackgroundColor": "#1F68E9",
+  "usingComponents": {
+    "uni-collapse-item": "../../uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item",
+    "uni-collapse": "../../uni_modules/uni-collapse/components/uni-collapse/uni-collapse",
+    "float-back-to-top": "../../components/float-back-to-top/index",
+    "divider": "../../components/divider/index",
+    "float-share": "../../components/float-share/index"
+  }
+}
diff --git a/pages/accident-detail/index.wxml b/pages/accident-detail/index.wxml
new file mode 100644
index 0000000..fa9b88f
--- /dev/null
+++ b/pages/accident-detail/index.wxml
@@ -0,0 +1,456 @@
+<view class="content data-v-a4079225" wx:if="{{a}}">
+  <view class="background data-v-a4079225"></view>
+  <view class="content-title data-v-a4079225">车辆历史报告</view>
+  <view class="sub-title data-v-a4079225">中国汽车流通协会发起建设</view>
+  <view class="order-detail data-v-a4079225">
+    <view class="detail-item data-v-a4079225">
+      <view class="label data-v-a4079225">VIN车架号:</view>
+      <view class="value data-v-a4079225">{{b}}</view>
+    </view>
+    <view class="detail-item data-v-a4079225">
+      <view class="label data-v-a4079225">订单编号:</view>
+      <view class="value data-v-a4079225">{{c}}</view>
+    </view>
+    <view class="detail-item data-v-a4079225">
+      <view class="label data-v-a4079225">报告时间:</view>
+      <view class="value data-v-a4079225">{{d}}</view>
+    </view>
+  </view>
+  <view class="card data-v-a4079225">
+    <view class="card-title data-v-a4079225">
+      <image
+        class="icon-title data-v-a4079225"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-a4079225">基本信息</text>
+    </view>
+    <view class="vehicle-info data-v-a4079225">
+      <view class="item data-v-a4079225" wx:for="{{e}}" wx:key="c">
+        <view class="title data-v-a4079225">{{item.a}}</view>
+        <view class="value data-v-a4079225">{{item.b}}</view>
+      </view>
+    </view>
+  </view>
+  <view class="card data-v-a4079225">
+    <view class="card-title data-v-a4079225">
+      <image
+        class="icon-title data-v-a4079225"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-a4079225">车况排查</text>
+    </view>
+    <view class="ckpc-content data-v-a4079225">
+      <view class="item data-v-a4079225" wx:for="{{f}}" wx:key="g">
+        <image
+          class="icon data-v-a4079225"
+          mode="aspectFit"
+          src="{{item.a}}"
+        ></image>
+        <text class="name data-v-a4079225">{{item.b}}</text>
+        <text class="status normal data-v-a4079225" wx:if="{{item.c}}"
+          >正常</text
+        >
+        <text class="status unidentified data-v-a4079225" wx:if="{{item.d}}"
+          >无法确定</text
+        >
+        <text class="status doubt data-v-a4079225" wx:if="{{item.e}}"
+          >疑似</text
+        >
+        <text class="status error data-v-a4079225" wx:if="{{item.f}}"
+          >异常</text
+        >
+      </view>
+    </view>
+  </view>
+  <view class="card data-v-a4079225">
+    <view class="card-title data-v-a4079225">
+      <image
+        class="icon-title data-v-a4079225"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-a4079225">综合车况评级</text>
+    </view>
+    <view class="grade-info data-v-a4079225">
+      <image
+        class="grade-img data-v-a4079225"
+        src="/static/images/icon_excellent.jpg"
+        wx:if="{{g}}"
+      ></image>
+      <image
+        class="grade-img data-v-a4079225"
+        src="/static/images/icon_good.jpg"
+        wx:if="{{h}}"
+      ></image>
+      <image
+        class="grade-img data-v-a4079225"
+        src="/static/images/icon_average.jpg"
+        wx:if="{{i}}"
+      ></image>
+      <image
+        class="grade-img data-v-a4079225"
+        src="/static/images/icon_poor.jpg"
+        wx:if="{{j}}"
+      ></image>
+      <view class="explain data-v-a4079225">
+        车况评级分为四种:优秀、良好、中等、较差。车况评级结果仅供参考,请谨慎使用。
+      </view>
+    </view>
+  </view>
+  <view class="card data-v-a4079225">
+    <view class="card-title data-v-a4079225">
+      <image
+        class="icon-title data-v-a4079225"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-a4079225">排查明细</text>
+    </view>
+    <view class="vehicle-detail data-v-a4079225">
+      <uni-collapse
+        bind:__l="__l"
+        class="data-v-a4079225"
+        uI="a4079225-0"
+        uS="{{['d']}}"
+      >
+        <uni-collapse-item
+          bind:__l="__l"
+          class="data-v-a4079225"
+          uI="{{item.f}}"
+          uP="{{item.g}}"
+          uS="{{['title','d']}}"
+          wx:for="{{k}}"
+          wx:key="e"
+        >
+          <view class="part-title data-v-a4079225" slot="title">
+            <view class="title data-v-a4079225">{{item.a}}</view>
+            <view class="value data-v-a4079225">
+              <text class="{{['data-v-a4079225',item.c&&'count']}}"
+                >{{item.b}}</text
+              >
+              项
+            </view>
+          </view>
+          <view
+            class="part-list data-v-a4079225"
+            wx:for="{{item.d}}"
+            wx:for-item="partItem"
+            wx:key="c"
+          >
+            <view class="part-item data-v-a4079225">
+              <view class="label data-v-a4079225"> 部件名 </view>
+              <view class="value data-v-a4079225">{{partItem.a}}</view>
+            </view>
+            <view class="part-item data-v-a4079225">
+              <view class="label data-v-a4079225"> 类型 </view>
+              <view class="value data-v-a4079225">{{partItem.b}}</view>
+            </view>
+            <view class="divider data-v-a4079225"></view>
+          </view>
+        </uni-collapse-item>
+      </uni-collapse>
+    </view>
+  </view>
+  <view class="card data-v-a4079225">
+    <view class="card-title data-v-a4079225">
+      <image
+        class="icon-title data-v-a4079225"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-a4079225">碰撞部位</text>
+      <view class="suffix data-v-a4079225">
+        <image
+          class="data-v-a4079225"
+          src="/static/svgs/icon_normal.svg"
+        ></image>
+        <text class="data-v-a4079225">正常</text>
+        <image
+          class="data-v-a4079225"
+          src="/static/svgs/icon_warning_2.svg"
+        ></image>
+        <text class="data-v-a4079225">异常</text>
+      </view>
+    </view>
+    <view class="part-content data-v-a4079225">
+      <view class="part-left data-v-a4079225">
+        <view
+          class="part-left-item data-v-a4079225"
+          wx:for="{{l}}"
+          wx:for-item="value"
+          wx:key="d"
+        >
+          <image
+            class="data-v-a4079225"
+            src="/static/svgs/icon_normal.svg"
+            wx:if="{{value.a}}"
+          ></image>
+          <image
+            class="data-v-a4079225"
+            src="/static/svgs/icon_warning_2.svg"
+            wx:if="{{value.b}}"
+          ></image>
+          <text class="data-v-a4079225">{{value.c}}</text>
+        </view>
+      </view>
+      <view class="part-right data-v-a4079225">
+        <image
+          class="pic data-v-a4079225"
+          src="/static/images/pic_vehicle.jpg"
+        ></image>
+        <view
+          class="position left data-v-a4079225"
+          style="top: 110rpx; left: -20rpx"
+          wx:if="{{m}}"
+        >
+          <view class="name data-v-a4079225">前方左侧</view>
+          <view class="horizontal-line data-v-a4079225"></view>
+          <view class="icon data-v-a4079225"></view>
+        </view>
+        <view
+          class="position left data-v-a4079225"
+          style="top: 350rpx; left: -20rpx"
+          wx:if="{{n}}"
+        >
+          <view class="name data-v-a4079225">中间左侧</view>
+          <view class="horizontal-line data-v-a4079225"></view>
+          <view class="icon data-v-a4079225"></view>
+        </view>
+        <view
+          class="position left data-v-a4079225"
+          style="bottom: 100rpx; left: -20rpx"
+          wx:if="{{o}}"
+        >
+          <view class="name data-v-a4079225">后方左侧</view>
+          <view class="horizontal-line data-v-a4079225"></view>
+          <view class="icon data-v-a4079225"></view>
+        </view>
+        <view
+          class="position right data-v-a4079225"
+          style="top: 110rpx; right: -20rpx"
+          wx:if="{{p}}"
+        >
+          <view class="name data-v-a4079225">前方右侧</view>
+          <view class="horizontal-line data-v-a4079225"></view>
+          <view class="icon data-v-a4079225"></view>
+        </view>
+        <view
+          class="position right data-v-a4079225"
+          style="top: 350rpx; right: -20rpx"
+          wx:if="{{q}}"
+        >
+          <view class="name data-v-a4079225">中间右侧</view>
+          <view class="horizontal-line data-v-a4079225"></view>
+          <view class="icon data-v-a4079225"></view>
+        </view>
+        <view
+          class="position right data-v-a4079225"
+          style="bottom: 260rpx; right: 10rpx"
+          wx:if="{{r}}"
+        >
+          <view class="name data-v-a4079225">底部</view>
+          <view class="horizontal-line data-v-a4079225"></view>
+          <view class="icon data-v-a4079225"></view>
+        </view>
+        <view
+          class="position right data-v-a4079225"
+          style="bottom: 100rpx; right: -20rpx"
+          wx:if="{{s}}"
+        >
+          <view class="name data-v-a4079225">后方右侧</view>
+          <view class="horizontal-line data-v-a4079225"></view>
+          <view class="icon data-v-a4079225"></view>
+        </view>
+        <view
+          class="position right data-v-a4079225"
+          style="top: 450rpx; left: 190rpx"
+          wx:if="{{t}}"
+        >
+          <view class="name data-v-a4079225">顶部</view>
+          <view class="horizontal-line data-v-a4079225"></view>
+          <view class="icon data-v-a4079225"></view>
+        </view>
+        <view
+          class="position top data-v-a4079225"
+          style="top: 20rpx; left: 175rpx"
+          wx:if="{{v}}"
+        >
+          <view class="name data-v-a4079225">正前方</view>
+          <view class="vertical-line data-v-a4079225"></view>
+          <view class="icon data-v-a4079225"></view>
+        </view>
+        <view
+          class="position top data-v-a4079225"
+          style="top: 140rpx; left: 190rpx"
+          wx:if="{{w}}"
+        >
+          <view class="name data-v-a4079225">内部</view>
+          <view class="vertical-line data-v-a4079225"></view>
+          <view class="icon data-v-a4079225"></view>
+        </view>
+        <view
+          class="position bottom data-v-a4079225"
+          style="bottom: 30rpx; left: 180rpx"
+          wx:if="{{x}}"
+        >
+          <view class="name data-v-a4079225">正后方</view>
+          <view class="vertical-line data-v-a4079225"></view>
+          <view class="icon data-v-a4079225"></view>
+        </view>
+        <view
+          class="position bottom data-v-a4079225"
+          style="bottom: -20rpx; right: 20rpx"
+          wx:if="{{y}}"
+        >
+          <view class="name data-v-a4079225">其他</view>
+          <view class="vertical-line data-v-a4079225"></view>
+          <view class="icon data-v-a4079225"></view>
+        </view>
+      </view>
+    </view>
+  </view>
+  <view class="card data-v-a4079225">
+    <view class="card-title data-v-a4079225">
+      <image
+        class="icon-title data-v-a4079225"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-a4079225">保险信息</text>
+    </view>
+    <view class="insurance-content data-v-a4079225">
+      <view class="tips data-v-a4079225">
+        *
+        若当前交强险或商业险未在保,但当前断缴时长不超过一个月时,不纳入断缴统计记录中。
+      </view>
+      <view class="top-content data-v-a4079225">
+        <view class="item data-v-a4079225" wx:for="{{z}}" wx:key="f">
+          <image class="icon data-v-a4079225" src="{{item.a}}"></image>
+          <text class="name data-v-a4079225">{{item.b}}</text>
+          <text class="status normal data-v-a4079225" wx:if="{{item.c}}"
+            >正常</text
+          >
+          <text class="status warning data-v-a4079225" wx:if="{{item.d}}"
+            >异常</text
+          >
+          <text class="status unknown data-v-a4079225" wx:if="{{item.e}}"
+            >未知</text
+          >
+        </view>
+      </view>
+      <view class="divider data-v-a4079225"></view>
+      <view class="bottom-content data-v-a4079225">
+        <view class="item data-v-a4079225" wx:for="{{A}}" wx:key="c">
+          <view class="title data-v-a4079225">{{item.a}}</view>
+          <view class="value data-v-a4079225">{{item.b}}</view>
+        </view>
+      </view>
+    </view>
+  </view>
+  <view class="card data-v-a4079225">
+    <view class="card-title data-v-a4079225">
+      <image
+        class="icon-title data-v-a4079225"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-a4079225">出险明细</text>
+    </view>
+    <view class="insurance-detail data-v-a4079225">
+      <view class="top-content data-v-a4079225">
+        <view class="item data-v-a4079225">
+          <view class="count data-v-a4079225">{{B}}</view>
+          <view class="info data-v-a4079225">维修总次数(次)</view>
+        </view>
+        <view class="item data-v-a4079225">
+          <view class="count data-v-a4079225">{{C}}</view>
+          <view class="info data-v-a4079225">维修总金额(元)</view>
+        </view>
+      </view>
+      <view class="insurance-list data-v-a4079225">
+        <view class="insurance-item data-v-a4079225" wx:for="{{D}}" wx:key="e">
+          <view class="title data-v-a4079225">
+            <view class="dot data-v-a4079225"></view>
+            <view class="date data-v-a4079225">{{item.a}}</view>
+            <view class="status data-v-a4079225">({{item.b}})</view>
+            <view class="money data-v-a4079225">{{item.c}}元</view>
+          </view>
+          <view class="records data-v-a4079225">
+            <view class="record-title data-v-a4079225">
+              <view class="value data-v-a4079225" style="width: 40%"
+                >维修名称</view
+              >
+              <view class="value data-v-a4079225">维修类型</view>
+              <view class="value data-v-a4079225">件数</view>
+            </view>
+            <view
+              class="record-item data-v-a4079225"
+              wx:for="{{item.d}}"
+              wx:for-item="listItem"
+              wx:key="f"
+            >
+              <view
+                class="value data-v-a4079225"
+                style="width: 40%; padding: 0 10rpx"
+                >{{listItem.a}}</view
+              >
+              <view class="value data-v-a4079225">
+                <text class="data-v-a4079225" wx:if="{{listItem.b}}">更换</text>
+                <text class="data-v-a4079225" wx:elif="{{listItem.c}}"
+                  >维修</text
+                >
+                <text class="data-v-a4079225" wx:elif="{{listItem.d}}"
+                  >其他</text
+                >
+                <text class="data-v-a4079225" wx:else>-</text>
+              </view>
+              <view class="value data-v-a4079225">{{listItem.e}}</view>
+            </view>
+          </view>
+        </view>
+      </view>
+    </view>
+  </view>
+  <view class="card data-v-a4079225">
+    <view class="card-title data-v-a4079225">
+      <image
+        class="icon-title data-v-a4079225"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-a4079225">车况评级说明</text>
+    </view>
+    <view class="intro data-v-a4079225" style="margin-top: 20rpx">
+      (1)优秀:外观无可见瑕疵和喷漆修复等记录;内饰无磨损维修记录;动力系统、机械部位运行正常且无维修;按时保养且记录完整;电子系统无任何故障
+    </view>
+    <view class="intro data-v-a4079225">
+      (2)良好:外观局部有1-2处损伤记录;内饰有1-2
+      处磨损维修记录;动力系统正常且无维修;机械部位运行正常有部分维修或更换记录;电子设备及模块使用正常
+    </view>
+    <view class="intro data-v-a4079225">
+      (3)中等:外观局部有3-5处损伤记录;内饰有5-
+      10处磨损维修记录;动力系统有维修记录;结构件有轻微异常记录
+    </view>
+    <view class="intro data-v-a4079225">
+      (4)较差:外观局部有5处以上损伤记录;内饰有
+      10处以上磨损记录;动力系统有3次以上维修记录或发动机变速箱有维修记录;大灯框架/水箱框架更换或变形;机械部位运行存在严重异常或有大修记录
+    </view>
+  </view>
+  <view class="card data-v-a4079225">
+    <view class="card-title data-v-a4079225">
+      <image
+        class="icon-title data-v-a4079225"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-a4079225">免责声明</text>
+    </view>
+    <view class="disclaimer data-v-a4079225">{{E}}</view>
+  </view>
+  <divider bind:__l="__l" class="data-v-a4079225" uI="a4079225-2"></divider>
+  <float-back-to-top
+    bind:__l="__l"
+    class="data-v-a4079225"
+    uI="a4079225-3"
+    uP="{{F}}"
+    wx:if="{{F}}"
+  ></float-back-to-top>
+  <float-share
+    bind:__l="__l"
+    class="data-v-a4079225"
+    uI="a4079225-4"
+  ></float-share>
+</view>
diff --git a/pages/accident-detail/index.wxss b/pages/accident-detail/index.wxss
new file mode 100644
index 0000000..e205777
--- /dev/null
+++ b/pages/accident-detail/index.wxss
@@ -0,0 +1,448 @@
+.content.data-v-a4079225 {
+  padding: 30rpx;
+  position: relative;
+}
+.content .background.data-v-a4079225 {
+  background: linear-gradient(180deg, #1f68e9, #fff);
+  height: 2000rpx;
+  left: 0;
+  position: absolute;
+  top: 0;
+  width: 100%;
+  z-index: -1;
+}
+.content .content-title.data-v-a4079225 {
+  border-bottom: 1rpx solid #74a8e6;
+  color: #fff;
+  font-size: 66rpx;
+  padding-bottom: 20rpx;
+  text-align: center;
+}
+.content .sub-title.data-v-a4079225 {
+  color: #fff;
+  font-size: 26rpx;
+  margin-top: 20rpx;
+  text-align: center;
+}
+.content .order-detail.data-v-a4079225 {
+  color: #fff;
+  font-size: 28rpx;
+  margin-top: 50rpx;
+}
+.content .order-detail .detail-item.data-v-a4079225 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  margin: 15rpx 0;
+}
+.content .order-detail .detail-item .label.data-v-a4079225 {
+  width: 170rpx;
+}
+.content .order-detail .detail-item .value.data-v-a4079225 {
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  width: 510rpx;
+}
+.content .card.data-v-a4079225 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  margin: 30rpx 0;
+  padding: 30rpx;
+}
+.content .card .card-title.data-v-a4079225 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+}
+.content .card .card-title .icon-title.data-v-a4079225 {
+  height: 30rpx;
+  margin-right: 10rpx;
+  width: 34rpx;
+}
+.content .card .card-title .suffix.data-v-a4079225 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+}
+.content .card .card-title .suffix image.data-v-a4079225 {
+  height: 30rpx;
+  margin-left: 30rpx;
+  width: 30rpx;
+}
+.content .card .card-title .suffix text.data-v-a4079225 {
+  color: #9a9a9a;
+  font-size: 3028rpxrpx;
+  margin-left: 8rpx;
+}
+.content .card .card-title image.data-v-a4079225 {
+  flex-shrink: 0;
+}
+.content .card .card-title text.data-v-a4079225 {
+  color: #1f68e9;
+  flex-grow: 1;
+  font-size: 32rpx;
+}
+.content .brand-name.data-v-a4079225 {
+  font-size: 32rpx;
+  font-weight: 700;
+  margin-top: 30rpx;
+}
+.content .vehicle-info.data-v-a4079225 {
+  font-size: 30rpx;
+}
+.content .vehicle-info .item.data-v-a4079225 {
+  margin-top: 30rpx;
+}
+.content .ckpc-content.data-v-a4079225,
+.content .vehicle-info .item.data-v-a4079225 {
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+}
+.content .ckpc-content.data-v-a4079225 {
+  align-items: center;
+  flex-wrap: wrap;
+}
+.content .ckpc-content .item.data-v-a4079225 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  margin-top: 30rpx;
+  position: relative;
+  width: 135rpx;
+}
+.content .ckpc-content .item .icon.data-v-a4079225 {
+  height: 56rpx;
+  width: 56rpx;
+}
+.content .ckpc-content .item .name.data-v-a4079225 {
+  font-size: 28rpx;
+  margin-top: 10rpx;
+}
+.content .ckpc-content .item .status.data-v-a4079225 {
+  border-radius: 50rpx;
+  font-size: 24rpx;
+  margin-top: 20rpx;
+  padding: 5rpx 16rpx;
+}
+.content .ckpc-content .item .status.normal.data-v-a4079225 {
+  background-color: #dbf5e2;
+  color: #4aa444;
+}
+.content .ckpc-content .item .status.error.data-v-a4079225 {
+  background-color: rgba(238, 36, 25, 0.094);
+  color: #eb5a5a;
+}
+.content .ckpc-content .item .status.unidentified.data-v-a4079225 {
+  background-color: #ececec;
+  color: #606060;
+}
+.content .ckpc-content .item .status.doubt.data-v-a4079225 {
+  background-color: rgba(255, 112, 56, 0.157);
+  color: #ff7038;
+}
+.content .grade-info.data-v-a4079225 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+}
+.content .grade-info .grade-img.data-v-a4079225 {
+  height: 172rpx;
+  margin: 30rpx 0;
+  width: 200rpx;
+}
+.content .grade-info .explain.data-v-a4079225 {
+  background: #fafafa;
+  border-radius: 10rpx;
+  color: #9a9a9a;
+  font-size: 26rpx;
+  line-height: 38rpx;
+  padding: 20rpx;
+  position: relative;
+}
+.content .vehicle-detail.data-v-a4079225 {
+  margin-top: 20rpx;
+}
+.content .vehicle-detail .part-title.data-v-a4079225 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  justify-content: space-between;
+  margin: 25rpx 0;
+}
+.content .vehicle-detail .part-title .count.data-v-a4079225 {
+  color: #333;
+}
+.content .vehicle-detail .part-list.data-v-a4079225 {
+  font-size: 28rpx;
+}
+.content .vehicle-detail .part-list .part-item.data-v-a4079225 {
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin: 25rpx 0;
+}
+.content .vehicle-detail .part-list .part-item .label.data-v-a4079225 {
+  color: #9a9a9a;
+}
+.content .vehicle-detail .part-list .part-item .value.data-v-a4079225 {
+  color: #333;
+  margin-right: 50rpx;
+}
+.content .part-content.data-v-a4079225 {
+  border-radius: 17rpx;
+  display: -webkit-flex;
+  display: flex;
+  margin-top: 20rpx;
+}
+.content .part-content .part-left.data-v-a4079225 {
+  flex-shrink: 0;
+  width: 200rpx;
+}
+.content .part-content .part-left-item.data-v-a4079225 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  height: 65rpx;
+}
+.content .part-content .part-left-item image.data-v-a4079225 {
+  height: 30rpx;
+  width: 30rpx;
+}
+.content .part-content .part-left-item text.data-v-a4079225 {
+  color: #333;
+  font-size: 28rpx;
+  margin-left: 20rpx;
+}
+.content .part-content .part-right.data-v-a4079225 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-grow: 1;
+  justify-content: center;
+  position: relative;
+}
+.content .part-content .part-right .pic.data-v-a4079225 {
+  height: 577rpx;
+  width: 300rpx;
+  z-index: 10;
+}
+.content .part-content .part-right .position.data-v-a4079225 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  position: absolute;
+  z-index: 20;
+}
+.content .part-content .part-right .position.right.data-v-a4079225 {
+  flex-direction: row-reverse;
+}
+.content .part-content .part-right .position.top.data-v-a4079225 {
+  flex-direction: column;
+}
+.content .part-content .part-right .position.bottom.data-v-a4079225 {
+  flex-direction: column-reverse;
+}
+.content .part-content .part-right .position .name.data-v-a4079225 {
+  color: #333;
+  font-size: 26rpx;
+}
+.content .part-content .part-right .position .horizontal-line.data-v-a4079225 {
+  background: #bf5759;
+  height: 2rpx;
+  margin: 4rpx;
+  width: 15rpx;
+}
+.content .part-content .part-right .position .vertical-line.data-v-a4079225 {
+  background: #bf5759;
+  height: 15rpx;
+  margin: 4rpx;
+  width: 2rpx;
+}
+.content .part-content .part-right .position .icon.data-v-a4079225 {
+  background: #eb5a5b;
+  border: 1rpx solid #fff;
+  border-radius: 100%;
+  height: 22rpx;
+  width: 22rpx;
+}
+.content .insurance-content .tips.data-v-a4079225 {
+  color: #5e5e6b;
+  font-size: 24rpx;
+  margin-top: 30rpx;
+}
+.content .insurance-content .top-content.data-v-a4079225 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-wrap: wrap;
+  justify-content: space-between;
+  margin-bottom: 30rpx;
+}
+.content .insurance-content .top-content .item.data-v-a4079225 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  margin-top: 20rpx;
+  position: relative;
+  width: 200rpx;
+}
+.content .insurance-content .top-content .item .icon.data-v-a4079225 {
+  height: 56rpx;
+  width: 56rpx;
+}
+.content .insurance-content .top-content .item .name.data-v-a4079225 {
+  font-size: 28rpx;
+  margin-top: 10rpx;
+}
+.content .insurance-content .top-content .item .status.data-v-a4079225 {
+  border-radius: 50rpx;
+  font-size: 24rpx;
+  margin-top: 20rpx;
+  padding: 5rpx 16rpx;
+}
+.content .insurance-content .top-content .item .status.normal.data-v-a4079225 {
+  background-color: #dbf5e2;
+  color: #4aa444;
+}
+.content .insurance-content .top-content .item .status.unknown.data-v-a4079225 {
+  background-color: #ececec;
+  color: #606060;
+}
+.content .insurance-content .top-content .item .status.warning.data-v-a4079225 {
+  background-color: rgba(255, 112, 56, 0.157);
+  color: #ff7038;
+}
+.content .insurance-content .bottom-content .item.data-v-a4079225 {
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  justify-content: space-between;
+  margin-top: 30rpx;
+}
+.content .insurance-content .bottom-content .item .title.data-v-a4079225,
+.content .insurance-content .bottom-content .item .value.data-v-a4079225 {
+  color: #333;
+}
+.content .insurance-detail.data-v-a4079225 {
+  margin-top: 30rpx;
+}
+.content .insurance-detail .top-content.data-v-a4079225 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+}
+.content .insurance-detail .top-content .item.data-v-a4079225 {
+  align-items: center;
+  background: #f3f3f3;
+  border: 1rpx solid #d9d9d9;
+  border-radius: 10rpx;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  height: 167rpx;
+  justify-content: center;
+  width: 295rpx;
+}
+.content .insurance-detail .top-content .item .info.data-v-a4079225 {
+  color: #9a9a9a;
+  font-size: 26rpx;
+  margin-top: 20rpx;
+}
+.content .insurance-detail .top-content .item .count.data-v-a4079225 {
+  color: #1f68e9;
+  font-size: 50rpx;
+  font-weight: 700;
+}
+.content .insurance-detail .insurance-item .title.data-v-a4079225 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  margin: 30rpx 0;
+}
+.content .insurance-detail .insurance-item .title .dot.data-v-a4079225 {
+  background-color: #1f68e9;
+  border-radius: 100%;
+  flex-shrink: 0;
+  height: 18rpx;
+  width: 18rpx;
+}
+.content .insurance-detail .insurance-item .title .date.data-v-a4079225 {
+  flex-shrink: 0;
+  font-weight: 700;
+  margin-left: 10rpx;
+}
+.content .insurance-detail .insurance-item .title .status.data-v-a4079225 {
+  flex-grow: 1;
+}
+.content .insurance-detail .insurance-item .title .money.data-v-a4079225 {
+  flex-shrink: 0;
+}
+.content .insurance-detail .insurance-item .records.data-v-a4079225 {
+  background-color: #fff;
+  border: 1rpx solid #d9d9d9;
+  border-radius: 10rpx;
+  font-size: 28rpx;
+}
+.content
+  .insurance-detail
+  .insurance-item
+  .records
+  .record-title.data-v-a4079225 {
+  align-items: center;
+  background-color: #f3f3f3;
+  display: -webkit-flex;
+  display: flex;
+  padding: 15rpx 0;
+}
+.content
+  .insurance-detail
+  .insurance-item
+  .records
+  .record-title
+  .value.data-v-a4079225 {
+  display: -webkit-flex;
+  display: flex;
+  font-weight: 700;
+  justify-content: center;
+  width: 30%;
+}
+.content
+  .insurance-detail
+  .insurance-item
+  .records
+  .record-item.data-v-a4079225 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  padding: 15rpx 0;
+}
+.content
+  .insurance-detail
+  .insurance-item
+  .records
+  .record-item
+  .value.data-v-a4079225 {
+  display: -webkit-flex;
+  display: flex;
+  justify-content: center;
+  width: 30%;
+}
+.content .intro.data-v-a4079225 {
+  color: #333;
+  font-size: 30rpx;
+  padding: 10rpx 0;
+}
+.content .disclaimer.data-v-a4079225 {
+  color: #333;
+  font-size: 30rpx;
+  padding: 20rpx 0;
+}
diff --git a/pages/accident-web-view/index.js b/pages/accident-web-view/index.js
new file mode 100644
index 0000000..46a9972
--- /dev/null
+++ b/pages/accident-web-view/index.js
@@ -0,0 +1,30 @@
+var e = require("../../common/vendor.js"),
+  r = require("../../hooks/onMounted.js"),
+  i = require("../../hooks/onShareAppMessage.js");
+require("../../hooks/useState.js"),
+  require("../../store/app/index.js"),
+  require("../../enums/index.js"),
+  require("../../data/index.js"),
+  require("../../service/index.js"),
+  require("../../utils/request.js"),
+  require("../../config/index.js"),
+  require("../../constant/index.js"),
+  require("../../utils/util.js");
+var s = {
+  __name: "index",
+  setup: function (s) {
+    var n = e.ref("");
+    return (
+      r.onMounted(function (r) {
+        e.index.setNavigationBarTitle({ title: "车辆历史报告" }),
+          (n.value = r.url);
+      }, !1),
+      i.onShareAppMessage(),
+      function (e, r) {
+        return { a: n.value };
+      }
+    );
+  },
+  __runtimeHooks: 2,
+};
+wx.createPage(s);
diff --git a/pages/accident-web-view/index.json b/pages/accident-web-view/index.json
new file mode 100644
index 0000000..1887129
--- /dev/null
+++ b/pages/accident-web-view/index.json
@@ -0,0 +1 @@
+{ "navigationBarBackgroundColor": "#1F68E9", "usingComponents": {} }
diff --git a/pages/accident-web-view/index.wxml b/pages/accident-web-view/index.wxml
new file mode 100644
index 0000000..0d2d5e6
--- /dev/null
+++ b/pages/accident-web-view/index.wxml
@@ -0,0 +1 @@
+<web-view src="{{a}}" updateTitle="{{false}}"></web-view>
diff --git a/pages/accident-web-view/index.wxss b/pages/accident-web-view/index.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/pages/commercial-insurance-detail/index.js b/pages/commercial-insurance-detail/index.js
new file mode 100644
index 0000000..f539658
--- /dev/null
+++ b/pages/commercial-insurance-detail/index.js
@@ -0,0 +1,97 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../hooks/onMounted.js"),
+  t = require("../../hooks/onShareAppMessage.js"),
+  r = require("../../service/index.js"),
+  i = require("../../constant/index.js"),
+  u = require("../../utils/util.js");
+require("../../hooks/useState.js"),
+  require("../../store/app/index.js"),
+  require("../../enums/index.js"),
+  require("../../data/index.js"),
+  require("../../config/index.js"),
+  require("../../utils/request.js"),
+  Math || (e.unref(o) + e.unref(a) + e.unref(s))();
+var a = function () {
+    return "../../components/empty/index.js";
+  },
+  o = function () {
+    return "../../components/divider/index.js";
+  },
+  s = function () {
+    return "../../components/float-share/index.js";
+  },
+  v = {
+    __name: "index",
+    setup: function (a) {
+      var o = e.ref(!0),
+        s = e.ref(!1),
+        v = e.ref({}),
+        d = function () {
+          e.index.setClipboardData({ data: v.value.vin }).then(function () {
+            u.showToast("VIN车架号已复制");
+          });
+        };
+      return (
+        n.onMounted(function (n) {
+          var t = n.order_no,
+            a = n.product_id;
+          u.showLoading("努力查询中"),
+            r
+              .getReportDetail({ order_no: t, product_id: a })
+              .then(function (n) {
+                var t = e._.find(i.vehicleTypeList, function (e) {
+                  return e.value == n.type;
+                });
+                (n.type = t ? t.text : "-"),
+                  (v.value = n),
+                  (o.value = !1),
+                  u.hideLoading();
+              });
+        }, !1),
+        t.onShareAppMessage(),
+        function (n, t) {
+          return e.e(
+            { a: !o.value },
+            o.value
+              ? {}
+              : e.e(
+                  { b: !s.value },
+                  s.value
+                    ? {}
+                    : e.e(
+                        { c: v.value.info },
+                        v.value.info
+                          ? {
+                              d: e.t(v.value.vin),
+                              e: e.o(d),
+                              f: e.t(v.value.info || "-"),
+                              g: e.t(v.value.create_time || "-"),
+                            }
+                          : {},
+                        { h: !v.value.info },
+                        v.value.info
+                          ? {}
+                          : {
+                              i: e.t(v.value.name.trim() || "-"),
+                              j: e.t(v.value.no.trim() || "-"),
+                              k: e.t(v.value.start_time.trim() || "-"),
+                              l: e.t(v.value.end_time.trim() || "-"),
+                              m: e.t(v.value.insurance.trim() || "-"),
+                              n: e.t(v.value.vin),
+                              o: e.o(d),
+                              p: e.t(v.value.engine_no.trim() || "-"),
+                              q: e.t(v.value.area.trim() || "-"),
+                              r: e.t(v.value.create_time || "-"),
+                            },
+                        { s: e.t(e.unref(i.disclaimer)) }
+                      ),
+                  { t: s.value },
+                  s.value ? { v: e.p({ info: "抱歉~!没有查到数据哦" }) } : {}
+                )
+          );
+        }
+      );
+    },
+  },
+  d = e._export_sfc(v, [["__scopeId", "data-v-1d1feea9"]]);
+(v.__runtimeHooks = 2), wx.createPage(d);
diff --git a/pages/commercial-insurance-detail/index.json b/pages/commercial-insurance-detail/index.json
new file mode 100644
index 0000000..6e9ef0f
--- /dev/null
+++ b/pages/commercial-insurance-detail/index.json
@@ -0,0 +1,8 @@
+{
+  "navigationBarTitleText": "商业险信息",
+  "usingComponents": {
+    "empty": "../../components/empty/index",
+    "divider": "../../components/divider/index",
+    "float-share": "../../components/float-share/index"
+  }
+}
diff --git a/pages/commercial-insurance-detail/index.wxml b/pages/commercial-insurance-detail/index.wxml
new file mode 100644
index 0000000..82838fb
--- /dev/null
+++ b/pages/commercial-insurance-detail/index.wxml
@@ -0,0 +1,82 @@
+<view class="content data-v-1d1feea9" wx:if="{{a}}">
+  <view class="data-v-1d1feea9" wx:if="{{b}}">
+    <view class="module-title data-v-1d1feea9">商业险信息</view>
+    <view class="detail data-v-1d1feea9" wx:if="{{c}}">
+      <view class="cell data-v-1d1feea9">
+        <view class="title data-v-1d1feea9">VIN车架号</view>
+        <view class="value data-v-1d1feea9">
+          <text class="data-v-1d1feea9">{{d}}</text>
+          <text bindtap="{{e}}" class="copy data-v-1d1feea9">复制</text>
+        </view>
+      </view>
+      <view class="cell data-v-1d1feea9">
+        <view class="title data-v-1d1feea9">状态</view>
+        <view
+          class="value data-v-1d1feea9"
+          style="font-weight: bold; color: #333"
+          >{{f}}</view
+        >
+      </view>
+      <view class="cell data-v-1d1feea9">
+        <view class="title data-v-1d1feea9">报告时间</view>
+        <view class="value data-v-1d1feea9">{{g}}</view>
+      </view>
+    </view>
+    <view class="detail data-v-1d1feea9" wx:if="{{h}}">
+      <view class="cell data-v-1d1feea9">
+        <view class="title data-v-1d1feea9">保险公司</view>
+        <view class="value data-v-1d1feea9">{{i}}</view>
+      </view>
+      <view class="cell data-v-1d1feea9">
+        <view class="title data-v-1d1feea9">保单号</view>
+        <view class="value data-v-1d1feea9">{{j}}</view>
+      </view>
+      <view class="cell data-v-1d1feea9">
+        <view class="title data-v-1d1feea9">起保日期</view>
+        <view class="value data-v-1d1feea9">{{k}}</view>
+      </view>
+      <view class="cell data-v-1d1feea9">
+        <view class="title data-v-1d1feea9">终保日期</view>
+        <view class="value data-v-1d1feea9">{{l}}</view>
+      </view>
+      <view class="cell data-v-1d1feea9">
+        <view class="title data-v-1d1feea9">保险种类</view>
+        <view class="value data-v-1d1feea9">{{m}}</view>
+      </view>
+      <view class="cell data-v-1d1feea9">
+        <view class="title data-v-1d1feea9">VIN车架号</view>
+        <view class="value data-v-1d1feea9">
+          <text class="data-v-1d1feea9">{{n}}</text>
+          <text bindtap="{{o}}" class="copy data-v-1d1feea9">复制</text>
+        </view>
+      </view>
+      <view class="cell data-v-1d1feea9">
+        <view class="title data-v-1d1feea9">发动机号</view>
+        <view class="value data-v-1d1feea9">{{p}}</view>
+      </view>
+      <view class="cell data-v-1d1feea9">
+        <view class="title data-v-1d1feea9">投保地区</view>
+        <view class="value data-v-1d1feea9">{{q}}</view>
+      </view>
+      <view class="cell data-v-1d1feea9">
+        <view class="title data-v-1d1feea9">报告时间</view>
+        <view class="value data-v-1d1feea9">{{r}}</view>
+      </view>
+    </view>
+    <view class="module-title data-v-1d1feea9">免责声明</view>
+    <view class="disclaimer data-v-1d1feea9">{{s}}</view>
+    <divider bind:__l="__l" class="data-v-1d1feea9" uI="1d1feea9-0"></divider>
+  </view>
+  <empty
+    bind:__l="__l"
+    class="data-v-1d1feea9"
+    uI="1d1feea9-1"
+    uP="{{v}}"
+    wx:if="{{t}}"
+  ></empty>
+  <float-share
+    bind:__l="__l"
+    class="data-v-1d1feea9"
+    uI="1d1feea9-2"
+  ></float-share>
+</view>
diff --git a/pages/commercial-insurance-detail/index.wxss b/pages/commercial-insurance-detail/index.wxss
new file mode 100644
index 0000000..95ce002
--- /dev/null
+++ b/pages/commercial-insurance-detail/index.wxss
@@ -0,0 +1,56 @@
+.content.data-v-1d1feea9 {
+  padding: 30rpx;
+}
+.content .module-title.data-v-1d1feea9 {
+  align-items: center;
+  border-left: 6rpx solid #1f68e9;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 34rpx;
+  font-weight: 700;
+  justify-content: space-between;
+  line-height: 34rpx;
+  margin: 30rpx 0;
+  padding-left: 20rpx;
+}
+.content .module-title .tips.data-v-1d1feea9 {
+  color: #1f68e9;
+  font-size: 30rpx;
+  font-weight: 400;
+}
+.content .disclaimer.data-v-1d1feea9 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  color: #333;
+  font-size: 30rpx;
+  padding: 30rpx 40rpx;
+}
+.content .detail.data-v-1d1feea9 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  padding: 10rpx 40rpx;
+  position: relative;
+}
+.content .detail .cell.data-v-1d1feea9 {
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin: 30rpx 0;
+}
+.content .detail .cell .title.data-v-1d1feea9 {
+  color: #333;
+  flex-shrink: 0;
+  font-size: 30rpx;
+  padding-left: 5rpx;
+  position: relative;
+}
+.content .detail .cell .value.data-v-1d1feea9 {
+  color: #686868;
+  font-size: 30rpx;
+  max-width: 450rpx;
+  padding-right: 5rpx;
+}
+.content .detail .cell .value .copy.data-v-1d1feea9 {
+  color: #d71818;
+  margin-left: 15rpx;
+}
diff --git a/pages/commercial-insurance-query/index.js b/pages/commercial-insurance-query/index.js
new file mode 100644
index 0000000..67e338d
--- /dev/null
+++ b/pages/commercial-insurance-query/index.js
@@ -0,0 +1,205 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../hooks/onMounted.js"),
+  u = require("../../hooks/onShareAppMessage.js"),
+  t = require("../../hooks/useState.js"),
+  i = require("../../enums/index.js"),
+  o = require("../../constant/index.js"),
+  r = require("../../data/index.js"),
+  a = require("../../utils/navigate.js"),
+  l = require("../../utils/util.js"),
+  s = require("../../utils/common.js"),
+  v = require("../../utils/vin.js");
+require("../../service/index.js"),
+  require("../../utils/request.js"),
+  require("../../config/index.js"),
+  require("../../store/app/index.js"),
+  Math ||
+    (
+      e.unref(h) +
+      e.unref(f) +
+      e.unref(m) +
+      e.unref(p) +
+      e.unref(g) +
+      e.unref(x) +
+      e.unref(d) +
+      e.unref(c)
+    )();
+var c = function () {
+    return "../../components/popup-copy-vin/index.js";
+  },
+  f = function () {
+    return "../../components/agreement/index.js";
+  },
+  d = function () {
+    return "../../components/keyboard/index.js";
+  },
+  p = function () {
+    return "../../components/divider/index.js";
+  },
+  h = function () {
+    return "../../components/tips/index.js";
+  },
+  m = function () {
+    return "../../components/prompt/index.js";
+  },
+  g = function () {
+    return "../../components/float-back-to-top/index.js";
+  },
+  x = function () {
+    return "../../components/float-share/index.js";
+  },
+  j = {
+    __name: "index",
+    setup: function (c) {
+      var f = t.useState().showAgreementPopup,
+        d = e.ref(!0),
+        p = e.ref(""),
+        h = e.ref(i.QueryTypeEnum.VIN),
+        m = e.ref(!1),
+        g = e.ref(""),
+        x = e.ref(!1),
+        j = e.ref(0),
+        q = e.ref(!1),
+        y = e.ref(""),
+        T = e.ref(!1),
+        b = function () {
+          var e = f.value || q.value;
+          return "height: 100%; overflow: "
+            .concat(e ? "hidden" : "visible", "; position: ")
+            .concat(e ? "fixed" : "relative");
+        },
+        w = function () {
+          a.navigateTo({ url: "/pages/vin-info/index" });
+        },
+        I = function () {
+          g.value = "";
+        },
+        k = function () {
+          s.ocrIdentifyVin().then(function (e) {
+            g.value = e;
+          });
+        },
+        _ = function () {
+          x.value = !0;
+        },
+        N = function () {
+          x.value = !1;
+        },
+        S = function (e) {
+          g.value = e.value;
+        },
+        A = function () {
+          m.value = !m.value;
+        },
+        M = function () {
+          q.value = !1;
+        },
+        C = function () {
+          (g.value = y.value), (q.value = !1), V();
+        },
+        V = function () {
+          if (((x.value = !1), m.value)) {
+            if (h.value === i.QueryTypeEnum.VIN) {
+              if (0 === g.value.length)
+                return void l.showToast("请输入VIN车架号");
+              if (g.value.length < 17)
+                return void l.showToast("请输入完整的VIN车架号");
+              if (!v.validateVIN(g.value))
+                return void l.showToast("车架号有误,请检查后重新输入");
+            }
+            a.navigateTo({
+              url: "/pages/order-confirm/index",
+              params: {
+                productType: i.ProductTypeEnum.COMMERICAL_INSURANCE,
+                queryType: h.value,
+                vin: g.value,
+              },
+            });
+          } else l.showToast("请先阅读并同意协议");
+        };
+      return (
+        n.onMounted(function (n) {
+          e.index.setNavigationBarTitle({ title: n.title }),
+            s.hasClickAgreement() &&
+              e.index.getClipboardData().then(function (n) {
+                var u = n.data;
+                e.index.hideToast(),
+                  17 === u.trim().length &&
+                    setTimeout(function () {
+                      (y.value = u.trim()), (q.value = !0);
+                    }, 300);
+              }),
+            (p.value = n.title),
+            (d.value = !1),
+            l.hideLoading();
+        }),
+        e.onPageScroll(function (n) {
+          var u = n.scrollTop;
+          T.value = u >= e.index.getSystemInfoSync().windowHeight / 3;
+        }),
+        u.onShareAppMessage(),
+        function (n, u) {
+          return e.e(
+            { a: b(), b: !d.value },
+            d.value
+              ? {}
+              : e.e(
+                  { c: e.t(p.value), d: e.o(w), e: 0 === g.value.length },
+                  (g.value.length, {}),
+                  { f: e.t(g.value), g: e.o(_), h: g.value.length > 0 },
+                  g.value.length > 0 ? { i: e.o(I) } : {},
+                  {
+                    j: e.t(g.value.length),
+                    k: e.o(k),
+                    l: g.value.length > 0 ? 1 : "",
+                    m: e.o(V),
+                    n: e.o(A),
+                    o: e.p({ checked: m.value }),
+                    p: e.f(["车辆在保", "车辆脱保"], function (n, u, t) {
+                      return {
+                        a: e.t(n),
+                        b: e.n(j.value === u ? "active" : ""),
+                        c: u,
+                        d: e.o(function (e) {
+                          return (function (e) {
+                            j.value = e;
+                          })(u);
+                        }, u),
+                      };
+                    }),
+                    q: 0 === j.value,
+                  },
+                  0 === j.value
+                    ? {
+                        r: e.f(
+                          e.unref(r.mockCommercialInsuranceList),
+                          function (n, u, t) {
+                            return { a: e.t(n.label), b: e.t(n.value), c: u };
+                          }
+                        ),
+                      }
+                    : {},
+                  { s: 1 === j.value },
+                  (j.value, {}),
+                  {
+                    t: e.t(e.unref(o.disclaimer)),
+                    v: e.p({ visible: T.value }),
+                    w: e.o(N),
+                    x: e.o(S),
+                    y: e.p({
+                      visible: x.value,
+                      "can-switch": !1,
+                      vin: g.value,
+                    }),
+                    z: e.o(C),
+                    A: e.o(M),
+                    B: e.p({ visible: q.value, "copy-vin": y.value }),
+                  }
+                )
+          );
+        }
+      );
+    },
+  },
+  q = e._export_sfc(j, [["__scopeId", "data-v-c416e9c3"]]);
+(j.__runtimeHooks = 3), wx.createPage(q);
diff --git a/pages/commercial-insurance-query/index.json b/pages/commercial-insurance-query/index.json
new file mode 100644
index 0000000..66d2940
--- /dev/null
+++ b/pages/commercial-insurance-query/index.json
@@ -0,0 +1,14 @@
+{
+  "navigationBarTextStyle": "black",
+  "navigationBarBackgroundColor": "#ffffff",
+  "usingComponents": {
+    "popup-copy-vin": "../../components/popup-copy-vin/index",
+    "agreement": "../../components/agreement/index",
+    "keyboard": "../../components/keyboard/index",
+    "divider": "../../components/divider/index",
+    "tips": "../../components/tips/index",
+    "prompt": "../../components/prompt/index",
+    "float-back-to-top": "../../components/float-back-to-top/index",
+    "float-share": "../../components/float-share/index"
+  }
+}
diff --git a/pages/commercial-insurance-query/index.wxml b/pages/commercial-insurance-query/index.wxml
new file mode 100644
index 0000000..8fbe420
--- /dev/null
+++ b/pages/commercial-insurance-query/index.wxml
@@ -0,0 +1,124 @@
+<page-meta class="data-v-c416e9c3" pageStyle="{{a}}"></page-meta>
+<view class="content data-v-c416e9c3" wx:if="{{b}}">
+  <tips bind:__l="__l" class="data-v-c416e9c3" uI="c416e9c3-0"></tips>
+  <view class="banner data-v-c416e9c3">
+    <image
+      class="title data-v-c416e9c3"
+      mode="heightFix"
+      src="/static/images/pic_title_6.png"
+    ></image>
+    <image
+      class="image data-v-c416e9c3"
+      src="/static/images/pic_commercial_insurance.png"
+    ></image>
+  </view>
+  <view class="module-title data-v-c416e9c3">
+    <view class="data-v-c416e9c3">{{c}}</view>
+    <view bindtap="{{d}}" class="tips data-v-c416e9c3">什么是VIN?</view>
+  </view>
+  <view class="query-content data-v-c416e9c3">
+    <view class="{{['input-content','data-v-c416e9c3',l&&'selected']}}">
+      <view bindtap="{{g}}" class="input data-v-c416e9c3">
+        <text class="placeholder data-v-c416e9c3" wx:if="{{e}}"
+          >请输入17位VIN车架号</text
+        >
+        <text userSelect class="default data-v-c416e9c3">{{f}}</text>
+        <text class="cursor data-v-c416e9c3"></text>
+      </view>
+      <image
+        bindtap="{{i}}"
+        class="clear data-v-c416e9c3"
+        src="/static/svgs/icon_clear.svg"
+        wx:if="{{h}}"
+      ></image>
+      <view class="input-length data-v-c416e9c3">{{j}}/17 </view>
+      <image
+        bindtap="{{k}}"
+        class="photo data-v-c416e9c3"
+        src="/static/svgs/icon_scan.svg"
+      ></image>
+    </view>
+    <view
+      bindtap="{{m}}"
+      class="button data-v-c416e9c3"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+    >
+      查 询
+    </view>
+    <agreement
+      bind:__l="__l"
+      bindchange="{{n}}"
+      class="data-v-c416e9c3"
+      uI="c416e9c3-1"
+      uP="{{o}}"
+      wx:if="{{o}}"
+    ></agreement>
+  </view>
+  <view class="module-title data-v-c416e9c3">样例报告</view>
+  <view class="example-content data-v-c416e9c3">
+    <view class="tabs data-v-c416e9c3">
+      <view
+        bindtap="{{item.d}}"
+        class="{{['tab','data-v-c416e9c3',item.b]}}"
+        wx:for="{{p}}"
+        wx:key="c"
+        >{{item.a}}</view
+      >
+    </view>
+    <prompt bind:__l="__l" class="data-v-c416e9c3" uI="c416e9c3-2"></prompt>
+    <block wx:if="{{q}}">
+      <view class="cell data-v-c416e9c3" wx:for="{{r}}" wx:key="c">
+        <view class="cell-title data-v-c416e9c3">{{item.a}}</view>
+        <view class="cell-value data-v-c416e9c3">{{item.b}}</view>
+      </view>
+    </block>
+    <block wx:if="{{s}}">
+      <view class="cell data-v-c416e9c3">
+        <view class="cell-title data-v-c416e9c3">VIN车架号</view>
+        <view class="cell-value data-v-c416e9c3">WDDBF*******40972</view>
+      </view>
+      <view class="cell data-v-c416e9c3">
+        <view class="cell-title data-v-c416e9c3">状态</view>
+        <view class="cell-value data-v-c416e9c3">脱保</view>
+      </view>
+      <view class="cell data-v-c416e9c3">
+        <view class="cell-title data-v-c416e9c3">报告时间</view>
+        <view class="cell-value data-v-c416e9c3">2021-08-01 11:27:27</view>
+      </view>
+    </block>
+  </view>
+  <view class="module-title data-v-c416e9c3">免责声明</view>
+  <view class="disclaimer data-v-c416e9c3">{{t}}</view>
+  <divider bind:__l="__l" class="data-v-c416e9c3" uI="c416e9c3-3"></divider>
+  <float-back-to-top
+    bind:__l="__l"
+    class="data-v-c416e9c3"
+    uI="c416e9c3-4"
+    uP="{{v}}"
+    wx:if="{{v}}"
+  ></float-back-to-top>
+  <float-share
+    bind:__l="__l"
+    class="data-v-c416e9c3"
+    uI="c416e9c3-5"
+  ></float-share>
+  <keyboard
+    bind:__l="__l"
+    bindchange="{{x}}"
+    bindclose="{{w}}"
+    class="data-v-c416e9c3"
+    uI="c416e9c3-6"
+    uP="{{y}}"
+    wx:if="{{y}}"
+  ></keyboard>
+  <popup-copy-vin
+    bind:__l="__l"
+    bindcancel="{{A}}"
+    bindconfirm="{{z}}"
+    class="data-v-c416e9c3"
+    uI="c416e9c3-7"
+    uP="{{B}}"
+    wx:if="{{B}}"
+  ></popup-copy-vin>
+</view>
diff --git a/pages/commercial-insurance-query/index.wxss b/pages/commercial-insurance-query/index.wxss
new file mode 100644
index 0000000..3583da2
--- /dev/null
+++ b/pages/commercial-insurance-query/index.wxss
@@ -0,0 +1,265 @@
+.content.data-v-c416e9c3 {
+  padding: 30rpx;
+}
+.content .banner.data-v-c416e9c3 {
+  background-color: #1f68e9;
+  border-radius: 15rpx;
+  color: #fff;
+  height: 240rpx;
+  padding: 30rpx;
+  position: relative;
+}
+.content .banner .title.data-v-c416e9c3 {
+  height: 95rpx;
+  position: absolute;
+  top: 40rpx;
+  z-index: 10;
+}
+.content .banner .image.data-v-c416e9c3 {
+  bottom: -15rpx;
+  height: 172rpx;
+  position: absolute;
+  right: -5rpx;
+  width: 350rpx;
+  z-index: 9;
+}
+.content .module-title.data-v-c416e9c3 {
+  align-items: center;
+  border-left: 6rpx solid #1f68e9;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 34rpx;
+  font-weight: 700;
+  justify-content: space-between;
+  line-height: 34rpx;
+  margin: 30rpx 0;
+  padding-left: 20rpx;
+}
+.content .module-title .tips.data-v-c416e9c3 {
+  color: #1f68e9;
+  font-size: 30rpx;
+  font-weight: 400;
+}
+.content .query-content.data-v-c416e9c3 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  padding: 40rpx;
+}
+.content .query-content .radio-group.data-v-c416e9c3 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 32rpx;
+  margin-bottom: 30rpx;
+}
+.content .query-content .radio-group label.data-v-c416e9c3 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  margin-right: 20rpx;
+}
+.content .query-content .radio-group .tips.data-v-c416e9c3 {
+  color: #1f68e9;
+  font-size: 30rpx;
+}
+.content .query-content .vehicle-content.data-v-c416e9c3 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+}
+.content .query-content .vehicle-content .number-item.data-v-c416e9c3 {
+  border: 2rpx solid #e1e1e1;
+  display: -webkit-flex;
+  display: flex;
+  font-weight: 700;
+  height: 85rpx;
+  justify-content: center;
+  margin: 0 7rpx;
+  position: relative;
+  width: 75rpx;
+}
+.content .query-content .vehicle-content .number-item.new.data-v-c416e9c3 {
+  border: 2rpx dashed #6fd99a;
+}
+.content .query-content .vehicle-content .number-item .number.data-v-c416e9c3 {
+  font-size: 32rpx;
+  height: 50rpx;
+  margin-top: 18rpx;
+  padding-bottom: 18rpx;
+  text-align: center;
+  width: 35rpx;
+}
+.content
+  .query-content
+  .vehicle-content
+  .number-item
+  .number.selected.data-v-c416e9c3 {
+  border-bottom: 4rpx solid #1f68e9;
+}
+.content .query-content .vehicle-content .number-item .energy.data-v-c416e9c3 {
+  background: #0ac260;
+  border-radius: 14rpx;
+  color: #fff;
+  font-size: 16rpx;
+  height: 28rpx;
+  left: 2rpx;
+  line-height: 28rpx;
+  position: absolute;
+  text-align: center;
+  top: -20rpx;
+  width: 60rpx;
+}
+.content .query-content .input-content.data-v-c416e9c3 {
+  align-items: center;
+  background-color: #fff;
+  border: 1px solid #e1e1e1;
+  border-radius: 10rpx;
+  display: -webkit-flex;
+  display: flex;
+  padding: 20rpx;
+  position: relative;
+}
+.content .query-content .input-content.selected.data-v-c416e9c3 {
+  border-color: #1f68e9;
+}
+.content .query-content .input-content .input.data-v-c416e9c3 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-grow: 1;
+  font-size: 32rpx;
+  overflow-y: scroll;
+  position: relative;
+}
+.content .query-content .input-content .input .placeholder.data-v-c416e9c3 {
+  color: silver;
+  left: 0;
+  position: absolute;
+}
+.content .query-content .input-content .input .cursor.data-v-c416e9c3 {
+  animation: cursor-blinks-c416e9c3 1.5s step-start infinite;
+  background: #1f68e9;
+  height: 40rpx;
+  width: 4rpx;
+}
+.content .query-content .input-content .clear.data-v-c416e9c3 {
+  flex-shrink: 0;
+  height: 32rpx;
+  padding: 0 10rpx 0 20rpx;
+  width: 32rpx;
+}
+.content .query-content .input-content .input-length.data-v-c416e9c3 {
+  color: #232323;
+  flex-shrink: 0;
+  font-size: 26rpx;
+}
+.content .query-content .input-content .photo.data-v-c416e9c3 {
+  flex-shrink: 0;
+  height: 50rpx;
+  margin-left: 10rpx;
+  margin-top: -5rpx;
+  width: 50rpx;
+}
+.content .query-content .button.data-v-c416e9c3 {
+  align-items: center;
+  background-color: #1f68e9;
+  border-radius: 10rpx;
+  color: #fff;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 32rpx;
+  font-weight: 700;
+  height: 90rpx;
+  justify-content: center;
+  margin-top: 30rpx;
+}
+.content .example-content.data-v-c416e9c3 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  overflow: hidden;
+}
+.content .example-content .tabs.data-v-c416e9c3 {
+  align-items: center;
+  background-color: #fff;
+  border-bottom: 2rpx solid #ebeef5;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 32rpx;
+  height: 90rpx;
+  justify-content: space-evenly;
+  width: 100%;
+}
+.content .example-content .tabs .tab.data-v-c416e9c3 {
+  height: 90rpx;
+  line-height: 90rpx;
+}
+.content .example-content .tabs .tab.active.data-v-c416e9c3 {
+  border-bottom: 4rpx solid #1f68e9;
+  color: #1f68e9;
+}
+.content .example-content .cell.data-v-c416e9c3 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin: 40rpx;
+}
+.content .example-content .cell-title.data-v-c416e9c3 {
+  align-items: center;
+  color: #333;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  padding-left: 5rpx;
+}
+.content .example-content .cell-title image.data-v-c416e9c3 {
+  height: 30rpx;
+  margin-left: 10rpx;
+  width: 30rpx;
+}
+.content .example-content .cell-value.data-v-c416e9c3 {
+  color: #686868;
+  font-size: 30rpx;
+  padding-right: 5rpx;
+}
+.content .example-content .tips.data-v-c416e9c3 {
+  background-color: #fffbe8;
+  color: #ed6a0c;
+  font-size: 26rpx;
+  padding: 20rpx;
+}
+.content .disclaimer.data-v-c416e9c3 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  color: #333;
+  font-size: 30rpx;
+  padding: 30rpx 40rpx;
+}
+@-webkit-keyframes cursor-blinks-c416e9c3 {
+  0% {
+    display: block;
+    opacity: 1;
+  }
+  50% {
+    display: none;
+    opacity: 0;
+  }
+  to {
+    display: block;
+    opacity: 1;
+  }
+}
+@keyframes cursor-blinks-c416e9c3 {
+  0% {
+    display: block;
+    opacity: 1;
+  }
+  50% {
+    display: none;
+    opacity: 0;
+  }
+  to {
+    display: block;
+    opacity: 1;
+  }
+}
diff --git a/pages/easter-egg/index.js b/pages/easter-egg/index.js
new file mode 100644
index 0000000..384df10
--- /dev/null
+++ b/pages/easter-egg/index.js
@@ -0,0 +1,50 @@
+var e = require("../../common/vendor.js"),
+  r = require("../../hooks/onMounted.js"),
+  n = require("../../service/index.js"),
+  i = require("../../utils/util.js"),
+  o = require("../../utils/navigate.js");
+require("../../hooks/useState.js"),
+  require("../../store/app/index.js"),
+  require("../../enums/index.js"),
+  require("../../data/index.js"),
+  require("../../utils/request.js"),
+  require("../../config/index.js"),
+  require("../../constant/index.js");
+var t = {
+    __name: "index",
+    setup: function (t) {
+      var u = e.ref(""),
+        a = function (e) {
+          u.value = e.detail.value;
+        },
+        s = function () {
+          u.value
+            ? u.value.length < 20
+              ? i.showToast("请输入正确的订单编号")
+              : (i.showLoading(),
+                n
+                  .getOrderDetail({ order_no: u.value })
+                  .then(function (e) {
+                    o.navigateTo({
+                      url: "/pages/order-detail/index",
+                      params: { orderNo: e.order_no, productName: "彩蛋查询" },
+                    });
+                  })
+                  .catch(function () {
+                    i.showToast("订单不存在,请重新输入订单编号");
+                  })
+                  .finally(function () {
+                    i.hideLoading();
+                  }))
+            : i.showToast("请输入订单编号");
+        };
+      return (
+        r.onMounted(function () {}, !1),
+        function (r, n) {
+          return { a: u.value, b: e.o(a), c: e.o(s) };
+        }
+      );
+    },
+  },
+  u = e._export_sfc(t, [["__scopeId", "data-v-a2957840"]]);
+wx.createPage(u);
diff --git a/pages/easter-egg/index.json b/pages/easter-egg/index.json
new file mode 100644
index 0000000..006b511
--- /dev/null
+++ b/pages/easter-egg/index.json
@@ -0,0 +1 @@
+{ "navigationBarTitleText": "彩蛋", "usingComponents": {} }
diff --git a/pages/easter-egg/index.wxml b/pages/easter-egg/index.wxml
new file mode 100644
index 0000000..b22d952
--- /dev/null
+++ b/pages/easter-egg/index.wxml
@@ -0,0 +1,4 @@
+<view class="content data-v-a2957840">
+    <input focus bindinput="{{b}}" class="data-v-a2957840" maxlength="20" placeholder="请输入订单编号" value="{{a}}"></input>
+    <view bindtap="{{c}}" class="button data-v-a2957840" hoverClass="default-hover-class" hoverStayTime="100"> 查 询 </view>
+</view>
diff --git a/pages/easter-egg/index.wxss b/pages/easter-egg/index.wxss
new file mode 100644
index 0000000..8e72c22
--- /dev/null
+++ b/pages/easter-egg/index.wxss
@@ -0,0 +1,20 @@
+.content.data-v-a2957840 {
+  padding: 30rpx;
+}
+.content input.data-v-a2957840 {
+  background-color: #fff;
+  border: 1px solid #e1e1e1;
+  border-radius: 10rpx;
+  font-size: 34rpx;
+  padding: 20rpx;
+}
+.content .button.data-v-a2957840 {
+  background-color: #1f68e9;
+  border-radius: 10rpx;
+  color: #fff;
+  font-size: 32rpx;
+  height: 90rpx;
+  line-height: 90rpx;
+  margin-top: 30rpx;
+  text-align: center;
+}
diff --git a/pages/home/index.js b/pages/home/index.js
new file mode 100644
index 0000000..896b229
--- /dev/null
+++ b/pages/home/index.js
@@ -0,0 +1,174 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../hooks/onMounted.js"),
+  t = require("../../hooks/onShow.js"),
+  r = require("../../hooks/onShareAppMessage.js"),
+  u = require("../../hooks/useState.js"),
+  o = require("../../data/index.js"),
+  i = require("../../utils/navigate.js"),
+  a = require("../../service/index.js"),
+  c = require("../../enums/index.js");
+require("../../utils/util.js"),
+  require("../../constant/index.js"),
+  require("../../config/index.js"),
+  require("../../store/app/index.js"),
+  require("../../utils/request.js"),
+  Math || (e.unref(s) + e.unref(f))();
+var s = function () {
+    return "../../components/popup-order/index.js";
+  },
+  f = function () {
+    return "../../components/popup-coupon/index.js";
+  },
+  d = {
+    __name: "index",
+    setup: function (s) {
+      var f = u.useState(),
+        d = f.totalOrderNum,
+        p = f.setTotalOrderNum,
+        l = f.actionList,
+        m = e.ref(!1),
+        v = e.ref(""),
+        h = e.ref(!1),
+        g = e.ref(0),
+        T = function () {
+          var e = m.value || h.value;
+          return "height: 100%; overflow: "
+            .concat(e ? "hidden" : "visible", "; position: ")
+            .concat(e ? "fixed" : "relative");
+        },
+        E = function () {
+          a.getOrderNum().then(function (n) {
+            var t = n.num;
+            p({ totalOrderNum: t }),
+              t > 0 && e.index.showTabBarRedDot({ index: 1 });
+          });
+        },
+        j = function (e) {
+          var n = e.url,
+            t = e.params;
+          i.navigateTo({ url: n, params: t });
+        },
+        x = function () {
+          m.value = !1;
+        },
+        S = function () {
+          (h.value = !1), g.value++;
+        };
+      return (
+        n.onMounted(function () {
+          e.index.$on("refreshOrderDetail", function (n) {
+            return (function (n) {
+              a.getOrderDetail({ order_no: n })
+                .then(function (n) {
+                  var t = e._.find(n.productIdList, function (e) {
+                    return e.status === c.ProductStatusEnum.TO_BE_UPLOADED;
+                  });
+                  n.status === c.OrderStatusEnum.UNPAID
+                    ? (v.value = "存在一笔待支付订单")
+                    : (v.value = t ? "存在待上传行驶证订单" : ""),
+                    (m.value = !!v.value);
+                })
+                .catch(function () {
+                  m.value = !1;
+                });
+            })(n);
+          }),
+            e.index.$on("refreshOrderNum", function () {
+              0 === d.value && E();
+            }),
+            E(),
+            g.value++;
+        }, !1),
+        t.onShow(function () {
+          (!e.index.getStorageSync("fisrtIn") ||
+            e.index.getStorageSync("fisrtIn") < 2) &&
+            1 === g.value &&
+            (setTimeout(function () {
+              h.value = !0;
+            }, 500),
+            console.log("onShow"));
+        }),
+        r.onShareAppMessage(),
+        function (n, t) {
+          return e.e(
+            { a: T(), b: 0 === e.unref(l).length },
+            0 === e.unref(l).length
+              ? {
+                  c: e.f([1, 2, 3, 4, 5, 6, 7, 8], function (e, n, t) {
+                    return { a: n };
+                  }),
+                }
+              : {},
+            { d: e.unref(l).length > 0 },
+            e.unref(l).length > 0
+              ? {
+                  e: e.f(e.unref(l), function (n, t, r) {
+                    return e.e(
+                      {
+                        a: n.icon,
+                        b: e.t(n.name),
+                        c:
+                          n.params.productType ===
+                          e.unref(c.ProductTypeEnum).OVERALL,
+                      },
+                      (n.params.productType,
+                      e.unref(c.ProductTypeEnum).OVERALL,
+                      {}),
+                      {
+                        d:
+                          n.params.productType ===
+                          e.unref(c.ProductTypeEnum).VEHICLE_INFO,
+                      },
+                      (n.params.productType,
+                      e.unref(c.ProductTypeEnum).VEHICLE_INFO,
+                      {}),
+                      {
+                        e:
+                          n.params.productType ===
+                          e.unref(c.ProductTypeEnum).VEHICLE_STATUS,
+                      },
+                      (n.params.productType,
+                      e.unref(c.ProductTypeEnum).VEHICLE_STATUS,
+                      {}),
+                      {
+                        f: t,
+                        g: e.o(function (e) {
+                          return j(n);
+                        }, t),
+                      }
+                    );
+                  }),
+                }
+              : {},
+            {
+              f: e.f(e.unref(o.theActionList2), function (n, t, r) {
+                return e.e(
+                  { a: e.t(n.name), b: e.t(n.desc), c: n.icon, d: 0 === t },
+                  {},
+                  { e: 1 === t },
+                  {},
+                  {
+                    f: t,
+                    g: e.n(t >= 2 ? "action-content2-item-top" : ""),
+                    h: e.n(0 === t ? "action-content2-item-0" : ""),
+                    i: e.n(1 === t ? "action-content2-item-1" : ""),
+                    j: e.n(2 === t ? "action-content2-item-2" : ""),
+                    k: e.n(3 === t ? "action-content2-item-3" : ""),
+                    l: e.o(function (e) {
+                      return j(n);
+                    }, t),
+                  }
+                );
+              }),
+              g: e.o(x),
+              h: e.p({ visible: m.value, title: v.value }),
+              i: e.o(S),
+              j: e.p({ visible: h.value }),
+            }
+          );
+        }
+      );
+    },
+  },
+  p = e._export_sfc(d, [["__scopeId", "data-v-45f75add"]]);
+(d.__runtimeHooks = 2), wx.createPage(p);
diff --git a/pages/home/index.json b/pages/home/index.json
new file mode 100644
index 0000000..33eba92
--- /dev/null
+++ b/pages/home/index.json
@@ -0,0 +1,9 @@
+{
+  "navigationBarTitleText": "首页",
+  "navigationBarTextStyle": "black",
+  "navigationBarBackgroundColor": "#ffffff",
+  "usingComponents": {
+    "popup-order": "../../components/popup-order/index",
+    "popup-coupon": "../../components/popup-coupon/index"
+  }
+}
diff --git a/pages/home/index.wxml b/pages/home/index.wxml
new file mode 100644
index 0000000..8e3a3af
--- /dev/null
+++ b/pages/home/index.wxml
@@ -0,0 +1,86 @@
+<page-meta class="data-v-45f75add" pageStyle="{{a}}"></page-meta>
+<view class="content data-v-45f75add">
+  <image
+    class="banner data-v-45f75add"
+    src="/static/images/banner_home.png"
+  ></image>
+  <text class="title data-v-45f75add">常用工具</text>
+  <view class="action-skeletons data-v-45f75add" wx:if="{{b}}">
+    <view
+      class="action-skeletons-item data-v-45f75add"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+      wx:for="{{c}}"
+      wx:key="a"
+    >
+      <view class="action-skeletons-item-image data-v-45f75add"></view>
+      <view class="action-skeletons-item-name data-v-45f75add"></view>
+    </view>
+  </view>
+  <view class="action-content1 data-v-45f75add" wx:if="{{d}}">
+    <view
+      bindtap="{{item.g}}"
+      class="action-content1-item data-v-45f75add"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+      wx:for="{{e}}"
+      wx:key="f"
+    >
+      <view class="action-content1-item-image-content data-v-45f75add">
+        <image
+          class="action-content1-item-image data-v-45f75add"
+          mode="widthFix"
+          src="{{item.a}}"
+        ></image>
+      </view>
+      <text class="action-content1-item-name data-v-45f75add">{{item.b}}</text>
+      <text class="tip tip-discount data-v-45f75add" wx:if="{{item.c}}"
+        >优惠</text
+      >
+      <text class="tip tip-free data-v-45f75add" wx:if="{{item.d}}">限免</text>
+      <text class="tip tip-info data-v-45f75add" wx:if="{{item.e}}"
+        >违法+抵押</text
+      >
+    </view>
+  </view>
+  <text class="title data-v-45f75add">热门工具</text>
+  <view class="action-content2 data-v-45f75add">
+    <view
+      bindtap="{{item.l}}"
+      class="{{['action-content2-item','data-v-45f75add',item.g,item.h,item.i,item.j,item.k]}}"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+      wx:for="{{f}}"
+      wx:key="f"
+    >
+      <text class="action-content2-item-name data-v-45f75add">{{item.a}}</text>
+      <text class="action-content2-item-desc data-v-45f75add">{{item.b}}</text>
+      <image
+        class="action-content2-item-image data-v-45f75add"
+        src="{{item.c}}"
+      ></image>
+      <view class="label data-v-45f75add" wx:if="{{item.d}}">
+        <text class="label-text label-hot data-v-45f75add">热门</text>
+      </view>
+      <view class="label data-v-45f75add" wx:if="{{item.e}}">
+        <text class="label-text label-free data-v-45f75add">限免</text>
+      </view>
+    </view>
+  </view>
+  <popup-order
+    bind:__l="__l"
+    bindclose="{{g}}"
+    class="data-v-45f75add"
+    uI="45f75add-0"
+    uP="{{h}}"
+    wx:if="{{h}}"
+  ></popup-order>
+  <popup-coupon
+    bind:__l="__l"
+    bindclose="{{i}}"
+    class="data-v-45f75add"
+    uI="45f75add-1"
+    uP="{{j}}"
+    wx:if="{{j}}"
+  ></popup-coupon>
+</view>
diff --git a/pages/home/index.wxss b/pages/home/index.wxss
new file mode 100644
index 0000000..ffb8a27
--- /dev/null
+++ b/pages/home/index.wxss
@@ -0,0 +1,211 @@
+label,
+scroll-view,
+swiper-item,
+view {
+  align-content: flex-start;
+  align-items: stretch;
+  display: -webkit-flex;
+  display: flex;
+  flex-basis: auto;
+  flex-direction: column;
+  flex-grow: 0;
+  flex-shrink: 0;
+}
+image,
+input,
+scroll-view,
+swiper,
+swiper-item,
+text,
+textarea,
+video,
+view {
+  border: 0 solid #000;
+  box-sizing: border-box;
+  position: relative;
+}
+swiper-item {
+  position: absolute;
+}
+button {
+  margin: 0;
+}
+.content.data-v-45f75add {
+  padding: 30rpx;
+}
+.banner.data-v-45f75add {
+  border-radius: 12rpx;
+  height: 258rpx;
+  width: 690rpx;
+}
+.title.data-v-45f75add {
+  font-size: 34rpx;
+  font-weight: 700;
+  margin: 30rpx 10rpx;
+}
+.action-skeletons.data-v-45f75add {
+  background-color: #fff;
+  border-radius: 12rpx;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: row;
+  flex-wrap: wrap;
+  padding: 30rpx 0 10rpx;
+}
+.action-skeletons-item.data-v-45f75add {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  height: 155rpx;
+  position: relative;
+  width: 171rpx;
+}
+.action-skeletons-item-image.data-v-45f75add {
+  background: #f1f2f4;
+  border-radius: 10rpx;
+  height: 100rpx;
+  width: 100rpx;
+}
+.action-skeletons-item-name.data-v-45f75add {
+  background: #f1f2f4;
+  border-radius: 5rpx;
+  height: 20rpx;
+  margin-top: 10rpx;
+  width: 100rpx;
+}
+.action-content1.data-v-45f75add {
+  background-color: #fff;
+  border-radius: 12rpx;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: row;
+  flex-wrap: wrap;
+  padding: 10rpx 0 30rpx;
+}
+.action-content1-item.data-v-45f75add {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  height: 155rpx;
+  justify-content: flex-end;
+  position: relative;
+  width: 171rpx;
+}
+.action-content1-item-image-content.data-v-45f75add {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  height: 100rpx;
+  justify-content: center;
+  width: 100rpx;
+}
+.action-content1-item-image.data-v-45f75add {
+  width: 100rpx;
+}
+.action-content1-item-name.data-v-45f75add {
+  font-size: 26rpx;
+  font-weight: 700;
+  height: 30rpx;
+}
+.tip.data-v-45f75add {
+  border-radius: 6rpx;
+  color: #fff;
+  font-size: 20rpx;
+  font-weight: 400;
+  height: 28rpx;
+  left: 57rpx;
+  line-height: 28rpx;
+  padding: 0 8rpx;
+  position: absolute;
+  top: 12rpx;
+}
+.tip-free.data-v-45f75add {
+  background-color: #fe902e;
+}
+.tip-discount.data-v-45f75add {
+  background-color: #f06a62;
+}
+.tip-info.data-v-45f75add {
+  background-color: #ffa39e;
+  left: 35rpx;
+}
+.action-content2.data-v-45f75add {
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: row;
+  flex-wrap: wrap;
+  justify-content: space-between;
+}
+.action-content2-item.data-v-45f75add {
+  background-color: #fff;
+  border-radius: 12rpx;
+  height: 200rpx;
+  overflow: hidden;
+  padding: 30rpx;
+  position: relative;
+  width: 335rpx;
+}
+.action-content2-item-0.data-v-45f75add {
+  background-color: #f1f0fd;
+}
+.action-content2-item-1.data-v-45f75add {
+  background-color: rgba(255, 249, 244, 0.886);
+}
+.action-content2-item-2.data-v-45f75add {
+  background-color: rgba(140, 222, 162, 0.1);
+}
+.action-content2-item-3.data-v-45f75add {
+  background-color: rgba(202, 234, 248, 0.255);
+}
+.action-content2-item-top.data-v-45f75add {
+  margin-top: 20rpx;
+}
+.action-content2-item-name.data-v-45f75add {
+  color: #444;
+  font-size: 32rpx;
+  font-weight: 700;
+  position: relative;
+  z-index: 2;
+}
+.action-content2-item-desc.data-v-45f75add {
+  color: #9a9a9a;
+  font-size: 28rpx;
+  margin-top: 5rpx;
+  position: relative;
+  z-index: 2;
+}
+.action-content2-item-image.data-v-45f75add {
+  bottom: 0;
+  height: 90rpx;
+  opacity: 0.8;
+  position: absolute;
+  right: 10rpx;
+  width: 90rpx;
+  z-index: 1;
+}
+.label.data-v-45f75add {
+  align-items: flex-start;
+  display: -webkit-flex;
+  display: flex;
+  margin-top: 20rpx;
+}
+.label-text.data-v-45f75add {
+  background-color: #fcdede;
+  border-radius: 6rpx;
+  font-size: 24rpx;
+  font-weight: 700;
+  height: 36rpx;
+  line-height: 36rpx;
+  padding: 0 6rpx;
+}
+.label-free.data-v-45f75add {
+  color: #fe902e;
+}
+.label-hot.data-v-45f75add {
+  color: #f06a62;
+}
+.default-hover-class.data-v-45f75add {
+  opacity: 0.8;
+}
diff --git a/pages/insurance-maintain-blank/index.js b/pages/insurance-maintain-blank/index.js
new file mode 100644
index 0000000..c4fe2d6
--- /dev/null
+++ b/pages/insurance-maintain-blank/index.js
@@ -0,0 +1,176 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../hooks/onMounted.js"),
+  t = require("../../hooks/onShareAppMessage.js"),
+  a = require("../../service/index.js"),
+  r = require("../../constant/index.js"),
+  i = require("../../utils/util.js"),
+  o = require("../../config/index.js"),
+  u = require("../../utils/common.js"),
+  s = require("../../utils/navigate.js"),
+  c = require("../../enums/index.js"),
+  l = require("../../data/index.js");
+require("../../hooks/useState.js"),
+  require("../../store/app/index.js"),
+  require("../../utils/request.js"),
+  Math || (e.unref(v) + e.unref(d) + e.unref(p) + e.unref(m))();
+var v = function () {
+    return "../../components/time-line/index.js";
+  },
+  p = function () {
+    return "../../components/float-back-to-top/index.js";
+  },
+  d = function () {
+    return "../../components/divider/index.js";
+  },
+  m = function () {
+    return "../../components/float-share/index.js";
+  },
+  _ = {
+    __name: "index",
+    setup: function (v) {
+      var p = e.ref(!0),
+        d = e.ref({}),
+        m = e.ref(!1),
+        _ = e.ref(""),
+        f = e.ref([
+          {
+            name: "骨架",
+            value: 0,
+            key: "type1",
+            icon: "/static/svgs/pic_ckpc_normal_1.svg",
+          },
+          {
+            name: "外观",
+            value: 0,
+            key: "type2",
+            icon: "/static/svgs/pic_ckpc_normal_2.svg",
+          },
+          {
+            name: "发动机",
+            value: 0,
+            key: "type3",
+            icon: "/static/svgs/pic_ckpc_normal_3.svg",
+          },
+          {
+            name: "变速箱",
+            value: 0,
+            key: "type3",
+            icon: "/static/svgs/pic_ckpc_normal_4.svg",
+          },
+          {
+            name: "火烧",
+            value: 0,
+            key: "type4",
+            icon: "/static/svgs/pic_ckpc_normal_5.svg",
+          },
+          {
+            name: "水淹",
+            value: 0,
+            key: "type5",
+            icon: "/static/svgs/pic_ckpc_normal_6.svg",
+          },
+          {
+            name: "气囊",
+            value: 0,
+            key: "type6",
+            icon: "/static/svgs/pic_ckpc_normal_7.svg",
+          },
+          {
+            name: "加强件",
+            value: 0,
+            key: "type7",
+            icon: "/static/svgs/pic_ckpc_normal_8.svg",
+          },
+        ]),
+        g = function () {
+          i.showLoading(),
+            a
+              .getOrderDetail({ order_no: _.value })
+              .then(function (n) {
+                var t = e._.map(n.productList, function (e) {
+                  return e.product_id;
+                }).join(",");
+                s.navigateTo({
+                  url: "/pages/order-detail/index",
+                  params: {
+                    orderNo: _.value,
+                    productName: u.getProduct(t).product_name,
+                  },
+                });
+              })
+              .finally(function () {
+                i.hideLoading();
+              });
+        },
+        k = function (e) {
+          e.detail.path && switchTab({ url: e.detail.path });
+        };
+      return (
+        n.onMounted(function (e) {
+          var n = e.order_no,
+            t = e.product_id;
+          (_.value = n),
+            i.showLoading("努力查询中"),
+            a
+              .getBlankReportDetail({ order_no: n, product_id: t })
+              .then(function (e) {
+                (d.value = e), (p.value = !1), i.hideLoading();
+              });
+        }, !1),
+        e.onPageScroll(function (n) {
+          var t = n.scrollTop;
+          m.value = t >= e.index.getSystemInfoSync().windowHeight / 3;
+        }),
+        t.onShareAppMessage(),
+        function (n, t) {
+          return e.e(
+            { a: !p.value },
+            p.value
+              ? {}
+              : {
+                  b: e.t(
+                    (d.value.vin || "")
+                      .toString()
+                      .replace(/^(.{5}).{6}/, "$1******")
+                  ),
+                  c: e.t(d.value.order_no),
+                  d: e.t(d.value.report_date),
+                  e: e.t(d.value.name),
+                  f: e.t(d.value.manufacturer),
+                  g: e.t(d.value.comfuelconsumption),
+                  h: e.t(d.value.engine_no),
+                  i: e.t(d.value.displacementml),
+                  j: e.t(d.value.environmentalstandards),
+                  k: e.t(d.value.sizetype),
+                  l: e.t(d.value.isimport),
+                  m: e.t(d.value.seatnum),
+                  n: e.f(f.value, function (n, t, a) {
+                    return e.e(
+                      { a: n.icon, b: e.t(n.name), c: 0 === n.value },
+                      (n.value, {}),
+                      { d: 1 === n.value },
+                      (n.value, {}),
+                      { e: 2 === n.value },
+                      (n.value, {}),
+                      { f: 3 === n.value || 4 === n.value },
+                      (3 === n.value || n.value, {}),
+                      { g: t }
+                    );
+                  }),
+                  o: e.p({
+                    type: e.unref(c.TimeLineEnum).RECORD,
+                    data: e.unref(l.mockBlankReportList),
+                  }),
+                  p: e.o(g),
+                  q: e.unref(o.appName),
+                  r: e.o(k),
+                  s: e.t(e.unref(r.disclaimer)),
+                  t: e.p({ visible: m.value }),
+                }
+          );
+        }
+      );
+    },
+  },
+  f = e._export_sfc(_, [["__scopeId", "data-v-94bceea2"]]);
+(_.__runtimeHooks = 3), wx.createPage(f);
diff --git a/pages/insurance-maintain-blank/index.json b/pages/insurance-maintain-blank/index.json
new file mode 100644
index 0000000..b05f203
--- /dev/null
+++ b/pages/insurance-maintain-blank/index.json
@@ -0,0 +1,10 @@
+{
+  "navigationBarTitleText": "维保查询报告",
+  "navigationBarBackgroundColor": "#1F68E9",
+  "usingComponents": {
+    "time-line": "../../components/time-line/index",
+    "float-back-to-top": "../../components/float-back-to-top/index",
+    "divider": "../../components/divider/index",
+    "float-share": "../../components/float-share/index"
+  }
+}
diff --git a/pages/insurance-maintain-blank/index.wxml b/pages/insurance-maintain-blank/index.wxml
new file mode 100644
index 0000000..b43af4e
--- /dev/null
+++ b/pages/insurance-maintain-blank/index.wxml
@@ -0,0 +1,217 @@
+<view class="content data-v-94bceea2" wx:if="{{a}}">
+  <view class="notice data-v-94bceea2"
+    >本查询结果仅供参考,具体车况,请自行检查判断</view
+  >
+  <view class="background data-v-94bceea2"></view>
+  <view class="content-title data-v-94bceea2">车辆维保报告</view>
+  <view class="sub-title data-v-94bceea2">中国汽车流通协会发起建设</view>
+  <view class="order-detail data-v-94bceea2">
+    <view class="detail-item data-v-94bceea2">
+      <view class="label data-v-94bceea2">VIN车架号:</view>
+      <view class="value data-v-94bceea2">{{b}}</view>
+    </view>
+    <view class="detail-item data-v-94bceea2">
+      <view class="label data-v-94bceea2">订单编号:</view>
+      <view class="value data-v-94bceea2">{{c}}</view>
+    </view>
+    <view class="detail-item data-v-94bceea2">
+      <view class="label data-v-94bceea2">报告时间:</view>
+      <view class="value data-v-94bceea2">{{d}}</view>
+    </view>
+  </view>
+  <view class="card data-v-94bceea2">
+    <view class="card-title data-v-94bceea2">
+      <image
+        class="icon-title data-v-94bceea2"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-94bceea2">基本信息</text>
+    </view>
+    <view class="brand-name data-v-94bceea2">{{e}}</view>
+    <view class="cell-info data-v-94bceea2">
+      <view class="cell data-v-94bceea2">
+        <view class="title data-v-94bceea2">品牌</view>
+        <view class="value data-v-94bceea2">{{f}}</view>
+      </view>
+      <view class="cell data-v-94bceea2">
+        <view class="title data-v-94bceea2">油耗</view>
+        <view class="value data-v-94bceea2">{{g}}</view>
+      </view>
+      <view class="cell data-v-94bceea2">
+        <view class="title data-v-94bceea2">发动机号</view>
+        <view class="value data-v-94bceea2">{{h}}</view>
+      </view>
+      <view class="cell data-v-94bceea2">
+        <view class="title data-v-94bceea2">排量(ml)</view>
+        <view class="value data-v-94bceea2">{{i}}</view>
+      </view>
+      <view class="cell data-v-94bceea2">
+        <view class="title data-v-94bceea2">排放标准</view>
+        <view class="value data-v-94bceea2">{{j}}</view>
+      </view>
+      <view class="cell data-v-94bceea2">
+        <view class="title data-v-94bceea2">车辆种类</view>
+        <view class="value data-v-94bceea2">{{k}}</view>
+      </view>
+      <view class="cell data-v-94bceea2">
+        <view class="title data-v-94bceea2">进口或国产</view>
+        <view class="value data-v-94bceea2">{{l}}</view>
+      </view>
+      <view class="cell data-v-94bceea2">
+        <view class="title data-v-94bceea2">核定载客数</view>
+        <view class="value data-v-94bceea2">{{m}}</view>
+      </view>
+    </view>
+  </view>
+  <view class="card data-v-94bceea2">
+    <view class="card-title data-v-94bceea2">
+      <image
+        class="icon-title data-v-94bceea2"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-94bceea2">车况排查</text>
+    </view>
+    <view class="ckpc-content data-v-94bceea2">
+      <view class="item data-v-94bceea2" wx:for="{{n}}" wx:key="g">
+        <image
+          class="icon data-v-94bceea2"
+          mode="aspectFit"
+          src="{{item.a}}"
+        ></image>
+        <text class="name data-v-94bceea2">{{item.b}}</text>
+        <text class="status normal data-v-94bceea2" wx:if="{{item.c}}"
+          >正常</text
+        >
+        <text class="status unidentified data-v-94bceea2" wx:if="{{item.d}}"
+          >无法确定</text
+        >
+        <text class="status doubt data-v-94bceea2" wx:if="{{item.e}}"
+          >疑似</text
+        >
+        <text class="status error data-v-94bceea2" wx:if="{{item.f}}"
+          >异常</text
+        >
+      </view>
+    </view>
+  </view>
+  <view class="card data-v-94bceea2">
+    <view class="card-title data-v-94bceea2">
+      <image
+        class="icon-title data-v-94bceea2"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-94bceea2">重大问题排查</text>
+    </view>
+    <image
+      class="pic1 data-v-94bceea2"
+      src="/static/images/pic_detail_info_1.png"
+    ></image>
+    <image
+      class="checked data-v-94bceea2"
+      src="/static/svgs/icon_check_3.svg"
+    ></image>
+  </view>
+  <view class="card data-v-94bceea2">
+    <view class="card-title data-v-94bceea2">
+      <image
+        class="icon-title data-v-94bceea2"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-94bceea2">一般维修排查</text>
+    </view>
+    <image
+      class="pic2 data-v-94bceea2"
+      src="/static/images/pic_detail_info_2.png"
+    ></image>
+    <image
+      class="checked data-v-94bceea2"
+      src="/static/svgs/icon_check_3.svg"
+    ></image>
+  </view>
+  <view class="card data-v-94bceea2">
+    <view class="card-title data-v-94bceea2">
+      <image
+        class="icon-title data-v-94bceea2"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-94bceea2">维修保养记录</text>
+    </view>
+    <view class="record-content data-v-94bceea2">
+      <time-line
+        bind:__l="__l"
+        class="data-v-94bceea2"
+        uI="94bceea2-0"
+        uP="{{o}}"
+        wx:if="{{o}}"
+      ></time-line>
+    </view>
+  </view>
+  <view class="card data-v-94bceea2">
+    <view class="card-title data-v-94bceea2">
+      <image
+        class="icon-title data-v-94bceea2"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-94bceea2">车况统计</text>
+    </view>
+    <view class="maintain data-v-94bceea2">
+      <text class="data-v-94bceea2" style="margin-top: 20rpx"
+        >无记录原因:</text
+      >
+      <text class="data-v-94bceea2"
+        >(1)车架号输入或识别错误,请核对车架号;</text
+      >
+      <text class="data-v-94bceea2"
+        >(2)该车辆品牌数据维护中,请到个人中心联系客服;</text
+      >
+      <text class="data-v-94bceea2">(3)该车辆未去正规店保养;</text>
+      <text class="data-v-94bceea2">(4)该车辆未保养。</text>
+      <view class="button-content data-v-94bceea2">
+        <button
+          bindtap="{{p}}"
+          class="button type1 data-v-94bceea2"
+          hoverClass="default-hover-class"
+          hoverStayTime="100"
+        >
+          核对车架号
+        </button>
+        <button
+          showMessageCard
+          bindcontact="{{r}}"
+          class="button type2 data-v-94bceea2"
+          hoverClass="default-hover-class"
+          hoverStayTime="100"
+          openType="contact"
+          sendMessageImg="/static/images/pic_share_mp.png"
+          sendMessagePath="/pages/splash/index"
+          sendMessageTitle="{{q}}"
+        >
+          联系客服
+        </button>
+      </view>
+    </view>
+  </view>
+  <view class="card data-v-94bceea2">
+    <view class="card-title data-v-94bceea2">
+      <image
+        class="icon-title data-v-94bceea2"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-94bceea2">免责声明</text>
+    </view>
+    <view class="disclaimer data-v-94bceea2">{{s}}</view>
+  </view>
+  <divider bind:__l="__l" class="data-v-94bceea2" uI="94bceea2-1"></divider>
+  <float-back-to-top
+    bind:__l="__l"
+    class="data-v-94bceea2"
+    uI="94bceea2-2"
+    uP="{{t}}"
+    wx:if="{{t}}"
+  ></float-back-to-top>
+  <float-share
+    bind:__l="__l"
+    class="data-v-94bceea2"
+    uI="94bceea2-3"
+  ></float-share>
+</view>
diff --git a/pages/insurance-maintain-blank/index.wxss b/pages/insurance-maintain-blank/index.wxss
new file mode 100644
index 0000000..498e339
--- /dev/null
+++ b/pages/insurance-maintain-blank/index.wxss
@@ -0,0 +1,233 @@
+.content.data-v-94bceea2 {
+  padding: 30rpx;
+  position: relative;
+}
+.content .notice.data-v-94bceea2 {
+  background-color: #fde198;
+  color: #936a26;
+  font-size: 25rpx;
+  height: 60rpx;
+  left: 0;
+  line-height: 60rpx;
+  position: absolute;
+  text-align: center;
+  top: 0;
+  width: 100%;
+}
+.content .background.data-v-94bceea2 {
+  background: linear-gradient(180deg, #1f68e9, #fff);
+  height: 2000rpx;
+  left: 0;
+  position: absolute;
+  top: 0;
+  width: 100%;
+  z-index: -1;
+}
+.content .content-title.data-v-94bceea2 {
+  border-bottom: 1rpx solid #74a8e6;
+  color: #fff;
+  font-size: 66rpx;
+  margin-top: 50rpx;
+  padding-bottom: 20rpx;
+  text-align: center;
+}
+.content .sub-title.data-v-94bceea2 {
+  color: #fff;
+  font-size: 26rpx;
+  margin-top: 20rpx;
+  text-align: center;
+}
+.content .order-detail.data-v-94bceea2 {
+  color: #fff;
+  font-size: 28rpx;
+  margin-top: 50rpx;
+}
+.content .order-detail .detail-item.data-v-94bceea2 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  margin: 15rpx 0;
+}
+.content .order-detail .detail-item .label.data-v-94bceea2 {
+  width: 170rpx;
+}
+.content .order-detail .detail-item .value.data-v-94bceea2 {
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  width: 510rpx;
+}
+.content .card.data-v-94bceea2 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  margin: 30rpx 0;
+  padding: 30rpx;
+  position: relative;
+}
+.content .card .card-title.data-v-94bceea2 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+}
+.content .card .card-title .icon-title.data-v-94bceea2 {
+  height: 30rpx;
+  margin-right: 10rpx;
+  width: 34rpx;
+}
+.content .card .card-title .suffix.data-v-94bceea2 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+}
+.content .card .card-title .suffix image.data-v-94bceea2 {
+  height: 30rpx;
+  margin-left: 30rpx;
+  width: 30rpx;
+}
+.content .card .card-title .suffix text.data-v-94bceea2 {
+  color: #9a9a9a;
+  font-size: 3028rpxrpx;
+  margin-left: 8rpx;
+}
+.content .card .card-title image.data-v-94bceea2 {
+  flex-shrink: 0;
+}
+.content .card .card-title text.data-v-94bceea2 {
+  color: #1f68e9;
+  flex-grow: 1;
+  font-size: 32rpx;
+}
+.content .card .pic1.data-v-94bceea2 {
+  height: 235rpx;
+  margin: 40rpx auto 0;
+  width: 500rpx;
+}
+.content .card .pic2.data-v-94bceea2 {
+  height: 320rpx;
+  margin: 40rpx auto 0;
+  width: 500rpx;
+}
+.content .card .checked.data-v-94bceea2 {
+  height: 44rpx;
+  position: absolute;
+  right: 50rpx;
+  top: 50rpx;
+  width: 44rpx;
+}
+.content .card .info.data-v-94bceea2 {
+  color: #333;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  justify-content: space-between;
+  margin: 20rpx 0;
+}
+.content .card .msg.data-v-94bceea2 {
+  background-color: #dbf5e2;
+  border-radius: 100rpx;
+  color: #4aa444;
+  font-size: 28rpx;
+  padding: 18rpx 28rpx;
+  text-align: center;
+}
+.content .card .maintain.data-v-94bceea2 {
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  margin-bottom: 20rpx;
+}
+.content .card .maintain text.data-v-94bceea2 {
+  font-size: 30rpx;
+  margin: 10rpx 0;
+}
+.content .card .maintain .button-content.data-v-94bceea2 {
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin-top: 30rpx;
+}
+.content .card .maintain .button-content .button.data-v-94bceea2 {
+  background-color: #fff;
+  border-radius: 60rpx;
+  font-size: 28rpx;
+  height: 70rpx;
+  line-height: 70rpx;
+  margin: 0 10rpx;
+  padding: 0;
+  text-align: center;
+  width: 225rpx;
+}
+.content .card .maintain .button-content .button.type1.data-v-94bceea2 {
+  background: #1f68e9;
+  color: #fff;
+}
+.content .card .maintain .button-content .button.type2.data-v-94bceea2 {
+  border: 1rpx solid #1f68e9;
+  color: #1f68e9;
+}
+.content .brand-name.data-v-94bceea2 {
+  font-size: 32rpx;
+  font-weight: 700;
+  margin-top: 30rpx;
+}
+.content .cell-info.data-v-94bceea2 {
+  font-size: 30rpx;
+}
+.content .cell-info .cell.data-v-94bceea2 {
+  margin-top: 30rpx;
+}
+.content .cell-info .cell.data-v-94bceea2,
+.content .ckpc-content.data-v-94bceea2 {
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+}
+.content .ckpc-content.data-v-94bceea2 {
+  align-items: center;
+  flex-wrap: wrap;
+}
+.content .ckpc-content .item.data-v-94bceea2 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  margin-top: 30rpx;
+  position: relative;
+  width: 135rpx;
+}
+.content .ckpc-content .item .icon.data-v-94bceea2 {
+  height: 56rpx;
+  width: 56rpx;
+}
+.content .ckpc-content .item .name.data-v-94bceea2 {
+  font-size: 28rpx;
+  margin-top: 10rpx;
+}
+.content .ckpc-content .item .status.data-v-94bceea2 {
+  border-radius: 50rpx;
+  font-size: 24rpx;
+  margin-top: 20rpx;
+  padding: 5rpx 16rpx;
+}
+.content .ckpc-content .item .status.normal.data-v-94bceea2 {
+  background-color: #dbf5e2;
+  color: #4aa444;
+}
+.content .ckpc-content .item .status.error.data-v-94bceea2 {
+  background-color: rgba(238, 36, 25, 0.094);
+  color: #eb5a5a;
+}
+.content .ckpc-content .item .status.unidentified.data-v-94bceea2 {
+  background-color: #ececec;
+  color: #606060;
+}
+.content .ckpc-content .item .status.doubt.data-v-94bceea2 {
+  background-color: rgba(255, 112, 56, 0.157);
+  color: #ff7038;
+}
+.content .disclaimer.data-v-94bceea2 {
+  color: #333;
+  font-size: 30rpx;
+  padding: 20rpx 0;
+}
diff --git a/pages/insurance-maintain-detail/index.js b/pages/insurance-maintain-detail/index.js
new file mode 100644
index 0000000..a7c223b
--- /dev/null
+++ b/pages/insurance-maintain-detail/index.js
@@ -0,0 +1,93 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../hooks/onShareAppMessage.js"),
+  i = require("../../hooks/onMounted.js"),
+  r = require("../../service/index.js"),
+  t = require("../../constant/index.js"),
+  a = require("../../utils/util.js"),
+  o = require("../../enums/index.js");
+require("../../config/index.js"),
+  require("../../hooks/useState.js"),
+  require("../../store/app/index.js"),
+  require("../../data/index.js"),
+  require("../../utils/request.js"),
+  Math || (e.unref(u) + e.unref(c) + e.unref(s) + e.unref(d))();
+var u = function () {
+    return "../../components/time-line/index.js";
+  },
+  s = function () {
+    return "../../components/float-back-to-top/index.js";
+  },
+  c = function () {
+    return "../../components/divider/index.js";
+  },
+  d = function () {
+    return "../../components/float-share/index.js";
+  },
+  l = {
+    __name: "index",
+    setup: function (u) {
+      var s = e.ref(!0),
+        c = e.ref({}),
+        d = e.ref(!1);
+      return (
+        i.onMounted(function (n) {
+          var i = n.order_no,
+            t = n.product_id;
+          a.showLoading("努力查询中"),
+            r
+              .getReportDetail({ order_no: i, product_id: t })
+              .then(function (n) {
+                var i = n.insurance || [],
+                  r = n.maintain || [];
+                (n.insurance_maintain = e._.orderBy(
+                  e._.concat(i, r),
+                  ["date"],
+                  ["desc"]
+                )),
+                  (c.value = n),
+                  (s.value = !1),
+                  a.hideLoading();
+              });
+        }, !1),
+        e.onPageScroll(function (n) {
+          var i = n.scrollTop;
+          d.value = i >= e.index.getSystemInfoSync().windowHeight / 3;
+        }),
+        n.onShareAppMessage(),
+        function (n, i) {
+          return e.e(
+            { a: !s.value },
+            s.value
+              ? {}
+              : {
+                  b: e.t(c.value.carinfo.name),
+                  c: e.t(
+                    (c.value.carinfo.vin || "")
+                      .toString()
+                      .replace(/^(.{5}).{6}/, "$1******")
+                  ),
+                  d: e.t(c.value.mail.mail_section.date),
+                  e: e.t(c.value.mail.mail_section.lower),
+                  f: e.t(c.value.mail.mail_section.upper),
+                  g: e.f(c.value.mail.mail_list, function (n, i, r) {
+                    return {
+                      a: e.t(n.date),
+                      b: e.t(n.mile),
+                      c: i,
+                      d: i % 2 == 1 ? 1 : "",
+                    };
+                  }),
+                  h: e.p({
+                    type: e.unref(o.TimeLineEnum).RECORD,
+                    data: c.value.insurance_maintain,
+                  }),
+                  i: e.t(e.unref(t.disclaimer)),
+                  j: e.p({ visible: d.value }),
+                }
+          );
+        }
+      );
+    },
+  },
+  f = e._export_sfc(l, [["__scopeId", "data-v-b2dfd9ff"]]);
+(l.__runtimeHooks = 3), wx.createPage(f);
diff --git a/pages/insurance-maintain-detail/index.json b/pages/insurance-maintain-detail/index.json
new file mode 100644
index 0000000..b05f203
--- /dev/null
+++ b/pages/insurance-maintain-detail/index.json
@@ -0,0 +1,10 @@
+{
+  "navigationBarTitleText": "维保查询报告",
+  "navigationBarBackgroundColor": "#1F68E9",
+  "usingComponents": {
+    "time-line": "../../components/time-line/index",
+    "float-back-to-top": "../../components/float-back-to-top/index",
+    "divider": "../../components/divider/index",
+    "float-share": "../../components/float-share/index"
+  }
+}
diff --git a/pages/insurance-maintain-detail/index.wxml b/pages/insurance-maintain-detail/index.wxml
new file mode 100644
index 0000000..5a5e015
--- /dev/null
+++ b/pages/insurance-maintain-detail/index.wxml
@@ -0,0 +1,98 @@
+<view class="content data-v-b2dfd9ff" wx:if="{{a}}">
+  <view class="background data-v-b2dfd9ff"></view>
+  <view class="content-title data-v-b2dfd9ff">车辆维保报告</view>
+  <view class="sub-title data-v-b2dfd9ff">中国汽车流通协会发起建设</view>
+  <view class="order-detail data-v-b2dfd9ff">
+    <view class="detail-item data-v-b2dfd9ff">
+      <view class="label data-v-b2dfd9ff">车辆型号:</view>
+      <view class="value data-v-b2dfd9ff">{{b}}</view>
+    </view>
+    <view class="detail-item data-v-b2dfd9ff">
+      <view class="label data-v-b2dfd9ff">VIN车架号:</view>
+      <view class="value data-v-b2dfd9ff">{{c}}</view>
+    </view>
+  </view>
+  <view class="card data-v-b2dfd9ff">
+    <view class="card-title data-v-b2dfd9ff">
+      <image
+        class="icon-title data-v-b2dfd9ff"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-b2dfd9ff">行驶里程分析</text>
+    </view>
+    <view class="cell-content data-v-b2dfd9ff">
+      <view class="cell data-v-b2dfd9ff">
+        <view class="title data-v-b2dfd9ff">截止日期</view>
+        <view class="value data-v-b2dfd9ff">{{d}}</view>
+      </view>
+      <view class="cell data-v-b2dfd9ff">
+        <view class="title data-v-b2dfd9ff">预计里程</view>
+        <view class="value data-v-b2dfd9ff">{{e}}~{{f}}公里 </view>
+      </view>
+    </view>
+  </view>
+  <view class="card data-v-b2dfd9ff">
+    <view class="card-title data-v-b2dfd9ff">
+      <image
+        class="icon-title data-v-b2dfd9ff"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-b2dfd9ff">行驶里程统计</text>
+    </view>
+    <view class="mile-content data-v-b2dfd9ff">
+      <view class="mile-item data-v-b2dfd9ff">
+        <view class="date-title data-v-b2dfd9ff">日期</view>
+        <view class="mile-title data-v-b2dfd9ff">里程(公里)</view>
+      </view>
+      <view
+        class="{{['mile-item','data-v-b2dfd9ff',item.d&&'selected']}}"
+        wx:for="{{g}}"
+        wx:key="c"
+      >
+        <view class="date data-v-b2dfd9ff">{{item.a}}</view>
+        <view class="mile data-v-b2dfd9ff">{{item.b}}</view>
+      </view>
+    </view>
+  </view>
+  <view class="card data-v-b2dfd9ff">
+    <view class="card-title data-v-b2dfd9ff">
+      <image
+        class="icon-title data-v-b2dfd9ff"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-b2dfd9ff">维修保养记录</text>
+    </view>
+    <view class="record-content data-v-b2dfd9ff">
+      <time-line
+        bind:__l="__l"
+        class="data-v-b2dfd9ff"
+        uI="b2dfd9ff-0"
+        uP="{{h}}"
+        wx:if="{{h}}"
+      ></time-line>
+    </view>
+  </view>
+  <view class="card data-v-b2dfd9ff">
+    <view class="card-title data-v-b2dfd9ff">
+      <image
+        class="icon-title data-v-b2dfd9ff"
+        src="/static/images/icon_title.png"
+      ></image>
+      <text class="data-v-b2dfd9ff">免责声明</text>
+    </view>
+    <view class="disclaimer data-v-b2dfd9ff">{{i}}</view>
+  </view>
+  <divider bind:__l="__l" class="data-v-b2dfd9ff" uI="b2dfd9ff-1"></divider>
+  <float-back-to-top
+    bind:__l="__l"
+    class="data-v-b2dfd9ff"
+    uI="b2dfd9ff-2"
+    uP="{{j}}"
+    wx:if="{{j}}"
+  ></float-back-to-top>
+  <float-share
+    bind:__l="__l"
+    class="data-v-b2dfd9ff"
+    uI="b2dfd9ff-3"
+  ></float-share>
+</view>
diff --git a/pages/insurance-maintain-detail/index.wxss b/pages/insurance-maintain-detail/index.wxss
new file mode 100644
index 0000000..76d44bb
--- /dev/null
+++ b/pages/insurance-maintain-detail/index.wxss
@@ -0,0 +1,154 @@
+.content.data-v-b2dfd9ff {
+  padding: 30rpx;
+}
+.content .background.data-v-b2dfd9ff {
+  background: linear-gradient(180deg, #1f68e9, #fff);
+  height: 1500rpx;
+  left: 0;
+  position: absolute;
+  top: 0;
+  width: 100%;
+  z-index: -1;
+}
+.content .content-title.data-v-b2dfd9ff {
+  border-bottom: 1rpx solid #74a8e6;
+  color: #fff;
+  font-size: 66rpx;
+  padding-bottom: 20rpx;
+  text-align: center;
+}
+.content .sub-title.data-v-b2dfd9ff {
+  color: #fff;
+  font-size: 26rpx;
+  margin-top: 20rpx;
+  text-align: center;
+}
+.content .order-detail.data-v-b2dfd9ff {
+  color: #fff;
+  font-size: 28rpx;
+  margin-top: 50rpx;
+}
+.content .order-detail .detail-item.data-v-b2dfd9ff {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  margin: 15rpx 0;
+}
+.content .order-detail .detail-item .label.data-v-b2dfd9ff {
+  width: 170rpx;
+}
+.content .order-detail .detail-item .value.data-v-b2dfd9ff {
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  width: 510rpx;
+}
+.content .card.data-v-b2dfd9ff {
+  background-color: #fff;
+  border-radius: 10rpx;
+  margin: 30rpx 0;
+  padding: 30rpx;
+}
+.content .card .card-title.data-v-b2dfd9ff {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+}
+.content .card .card-title .icon-title.data-v-b2dfd9ff {
+  height: 30rpx;
+  margin-right: 10rpx;
+  width: 34rpx;
+}
+.content .card .card-title .suffix.data-v-b2dfd9ff {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+}
+.content .card .card-title .suffix image.data-v-b2dfd9ff {
+  height: 30rpx;
+  margin-left: 30rpx;
+  width: 30rpx;
+}
+.content .card .card-title .suffix text.data-v-b2dfd9ff {
+  color: #9a9a9a;
+  font-size: 3028rpxrpx;
+  margin-left: 8rpx;
+}
+.content .card .card-title image.data-v-b2dfd9ff {
+  flex-shrink: 0;
+}
+.content .card .card-title text.data-v-b2dfd9ff {
+  color: #1f68e9;
+  flex-grow: 1;
+  font-size: 32rpx;
+}
+.content .cell-content.data-v-b2dfd9ff {
+  background-color: #fff;
+  border-radius: 10rpx;
+  margin-top: 20rpx;
+  position: relative;
+}
+.content .cell-content .cell.data-v-b2dfd9ff {
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  padding: 15rpx;
+}
+.content .cell-content .cell .title.data-v-b2dfd9ff {
+  color: #333;
+  flex-shrink: 0;
+  font-size: 30rpx;
+  padding-left: 5rpx;
+  position: relative;
+}
+.content .cell-content .cell .value.data-v-b2dfd9ff {
+  color: #686868;
+  font-size: 30rpx;
+  max-width: 450rpx;
+  padding-right: 5rpx;
+}
+.content .mile-content.data-v-b2dfd9ff {
+  background-color: #fff;
+  margin-top: 20rpx;
+}
+.content .mile-content .mile-item.data-v-b2dfd9ff {
+  border-left: 2rpx solid #ebeef5;
+  border-right: 2rpx solid #ebeef5;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  width: 100%;
+}
+.content .mile-content .mile-item.data-v-b2dfd9ff:last-child {
+  border-bottom: 2rpx solid #ebeef5;
+}
+.content .mile-content .mile-item.selected.data-v-b2dfd9ff {
+  background: #fafafa;
+  border-bottom: 2rpx solid #ebeef5;
+  border-top: 2rpx solid #ebeef5;
+}
+.content .mile-content .mile-item .date-title.data-v-b2dfd9ff,
+.content .mile-content .mile-item .mile-title.data-v-b2dfd9ff {
+  background-color: #f2f2f2;
+  border-bottom: 2rpx solid #ebeef5;
+  border-top: 2rpx solid #ebeef5;
+  font-weight: 700;
+}
+.content .mile-content .mile-item .date-title.data-v-b2dfd9ff,
+.content .mile-content .mile-item .date.data-v-b2dfd9ff,
+.content .mile-content .mile-item .mile-title.data-v-b2dfd9ff,
+.content .mile-content .mile-item .mile.data-v-b2dfd9ff {
+  padding: 15rpx 0;
+  text-align: center;
+  width: 50%;
+}
+.content .record-content.data-v-b2dfd9ff {
+  background-color: #fff;
+  border-radius: 10rpx;
+}
+.content .disclaimer.data-v-b2dfd9ff {
+  color: #333;
+  font-size: 30rpx;
+  padding: 20rpx 0;
+}
diff --git a/pages/order-confirm/index.js b/pages/order-confirm/index.js
new file mode 100644
index 0000000..f333707
--- /dev/null
+++ b/pages/order-confirm/index.js
@@ -0,0 +1,300 @@
+var e = require("../../common/vendor.js"),
+  u = require("../../hooks/onMounted.js"),
+  r = require("../../hooks/onShareAppMessage.js"),
+  n = require("../../hooks/useState.js"),
+  i = require("../../enums/index.js"),
+  o = require("../../service/index.js"),
+  t = require("../../utils/util.js"),
+  c = require("../../utils/common.js"),
+  a = require("../../utils/navigate.js");
+require("../../config/index.js"),
+  require("../../constant/index.js"),
+  require("../../store/app/index.js"),
+  require("../../data/index.js"),
+  require("../../utils/request.js"),
+  Array || e.resolveComponent("uni-countdown")();
+Math ||
+  (
+    e.unref(p) +
+    function () {
+      return "../../uni_modules/uni-countdown/components/uni-countdown/uni-countdown.js";
+    } +
+    e.unref(d)
+  )();
+var d = function () {
+    return "../../components/divider/index.js";
+  },
+  p = function () {
+    return "../../components/vehicle-number/index.js";
+  },
+  l = {
+    __name: "index",
+    setup: function (d) {
+      var p = n.useState(),
+        l = p.insuranceMaintainProduct,
+        v = p.accidentProduct,
+        m = p.vehicleFiveProduct,
+        E = p.saliProduct,
+        _ = p.saliCheckProduct,
+        y = p.commercialInsuranceProduct,
+        f = p.violationProduct,
+        s = p.vehicleStatusProduct,
+        N = e.ref(!0),
+        T = e.ref(null),
+        A = e.ref(i.QueryTypeEnum.VIN),
+        P = e.ref("02"),
+        I = e.ref(""),
+        C = e.ref(""),
+        L = e.ref({}),
+        g = e.ref(null),
+        S = e.ref([]),
+        h = e.ref(0),
+        x = function () {
+          var e = new Date().getHours();
+          return e >= 9 && e <= 21;
+        },
+        M = function (e) {
+          h.value = Number(e.detail.value);
+        },
+        b = function (e) {
+          g.value = e.detail.value;
+        },
+        V = function () {
+          var e = S.value[h.value],
+            u = {
+              product: null,
+              money: null,
+              vin: null,
+              car_no: null,
+              type: null,
+            };
+          (u.product = e.product_id),
+            (u.money = Number((100 * Number(e.price)).toFixed(2))),
+            (u.vin = I.value),
+            (u.car_no = C.value),
+            (u.type = P.value),
+            (u.payMethod = g.value),
+            A.value === i.QueryTypeEnum.VIN && (u.car_no = null),
+            A.value === i.QueryTypeEnum.VEHICLE_NO && (u.vin = null),
+            T.value !== i.ProductTypeEnum.SALI_CHECK && (u.type = null),
+            e.product_id === i.ProductTypeEnum.OVERALL &&
+              (u.product = [l.value.product_id, v.value.product_id].join(",")),
+            t.showLoading("支付中"),
+            o.createOrder(u).then(function (e) {
+              c.payForOrder({ payMethod: g.value, data: e })
+                .then(function (e) {
+                  var u = e.orderNo;
+                  a.redirectTo({
+                    url: "/pages/pay-success/index",
+                    params: { orderNo: u },
+                  });
+                })
+                .catch(function (e) {
+                  var u = e.orderNo;
+                  a.redirectTo({
+                    url: "/pages/pay-fail/index",
+                    params: { orderNo: u },
+                  });
+                });
+            });
+        };
+      return (
+        u.onMounted(function (u) {
+          (T.value = u.productType),
+            (A.value = u.queryType),
+            (P.value = u.vehicleType),
+            (I.value = u.vin),
+            (C.value = u.vehicleNo),
+            c.isSupportWeChatPay()
+              ? (g.value = i.PayMethodEnum.WECHAT_PAY)
+              : c.isSupportAliPay()
+              ? (g.value = i.PayMethodEnum.ALI_PAY)
+              : (g.value = null),
+            (T.value != i.ProductTypeEnum.OVERALL &&
+              T.value != i.ProductTypeEnum.INSURANCE_MAINTAIN &&
+              T.value != i.ProductTypeEnum.ACCIDENT) ||
+              ((S.value = [
+                {
+                  product_id: i.ProductTypeEnum.OVERALL,
+                  origin_price: (
+                    Number(l.value.origin_price) + Number(v.value.origin_price)
+                  ).toFixed(2),
+                  price: (
+                    Number(l.value.price) +
+                    Number(v.value.price) -
+                    10
+                  ).toFixed(2),
+                  product_name: "综合车况",
+                  product_desc: "维保、出险一起查,全面还原真实车况",
+                  recommend: !0,
+                },
+                l.value,
+                v.value,
+              ]),
+              T.value == i.ProductTypeEnum.OVERALL && (h.value = 0),
+              T.value == i.ProductTypeEnum.INSURANCE_MAINTAIN && (h.value = 1),
+              T.value == i.ProductTypeEnum.ACCIDENT && (h.value = 2)),
+            (T.value != i.ProductTypeEnum.SALI &&
+              T.value != i.ProductTypeEnum.COMMERICAL_INSURANCE) ||
+              ((S.value = [y.value, E.value]),
+              T.value == i.ProductTypeEnum.COMMERICAL_INSURANCE &&
+                (h.value = 0),
+              T.value == i.ProductTypeEnum.SALI && (h.value = 1)),
+            T.value == i.ProductTypeEnum.SALI_CHECK && (S.value = [_.value]),
+            T.value == i.ProductTypeEnum.VEHICLE_FIVE && (S.value = [m.value]),
+            T.value == i.ProductTypeEnum.VIOLATION && (S.value = [f.value]),
+            T.value == i.ProductTypeEnum.VEHICLE_STATUS &&
+              (S.value = [s.value]),
+            Promise.resolve().then(function () {
+              o.getPriceList({
+                vin: A.value === i.QueryTypeEnum.VIN ? I.value : "",
+              }).then(function (u) {
+                if (u) {
+                  var r = e._.find(u, function (e) {
+                      return (
+                        e.product_id === i.ProductTypeEnum.INSURANCE_MAINTAIN
+                      );
+                    }),
+                    n = e._.find(u, function (e) {
+                      return e.product_id === i.ProductTypeEnum.ACCIDENT;
+                    }),
+                    o = e._.find(u, function (e) {
+                      return e.product_id === i.ProductTypeEnum.VEHICLE_FIVE;
+                    }),
+                    c = e._.find(u, function (e) {
+                      return (
+                        e.product_id === i.ProductTypeEnum.COMMERICAL_INSURANCE
+                      );
+                    }),
+                    a = e._.find(u, function (e) {
+                      return e.product_id === i.ProductTypeEnum.SALI;
+                    }),
+                    d = e._.find(u, function (e) {
+                      return e.product_id === i.ProductTypeEnum.VEHICLE_STATUS;
+                    }),
+                    p = e._.cloneDeep(S.value);
+                  e._.each(p, function (e) {
+                    e.product_id === i.ProductTypeEnum.OVERALL &&
+                      ((e.origin_price = (
+                        Number(r.origin_price) + Number(n.origin_price)
+                      ).toFixed(2)),
+                      (e.price = (
+                        Number(r.price) +
+                        Number(n.price) -
+                        10
+                      ).toFixed(2))),
+                      e.product_id === i.ProductTypeEnum.INSURANCE_MAINTAIN &&
+                        ((e.origin_price = Number(r.origin_price).toFixed(2)),
+                        (e.price = Number(r.price).toFixed(2))),
+                      e.product_id === i.ProductTypeEnum.ACCIDENT &&
+                        ((e.origin_price = Number(n.origin_price).toFixed(2)),
+                        (e.price = Number(n.price).toFixed(2))),
+                      e.product_id === i.ProductTypeEnum.VEHICLE_FIVE &&
+                        ((e.origin_price = Number(o.origin_price).toFixed(2)),
+                        (e.price = Number(o.price).toFixed(2))),
+                      e.product_id === i.ProductTypeEnum.COMMERICAL_INSURANCE &&
+                        ((e.origin_price = Number(c.origin_price).toFixed(2)),
+                        (e.price = Number(c.price).toFixed(2))),
+                      e.product_id === i.ProductTypeEnum.SALI &&
+                        ((e.origin_price = Number(a.origin_price).toFixed(2)),
+                        (e.price = Number(a.price).toFixed(2))),
+                      e.product_id === i.ProductTypeEnum.VEHICLE_STATUS &&
+                        ((e.origin_price = Number(d.origin_price).toFixed(2)),
+                        (e.price = Number(d.price).toFixed(2)));
+                  }),
+                    (S.value = p);
+                }
+                (N.value = !1), t.hideLoading();
+              });
+            });
+        }),
+        r.onShareAppMessage(),
+        function (u, r) {
+          return e.e(
+            { a: !N.value },
+            N.value
+              ? {}
+              : e.e(
+                  {
+                    b: A.value === e.unref(i.QueryTypeEnum).VIN && L.value.name,
+                  },
+                  A.value === e.unref(i.QueryTypeEnum).VIN && L.value.name
+                    ? {
+                        c: L.value.logo,
+                        d: e.t(L.value.name),
+                        e: e.t(L.value.vin),
+                      }
+                    : e.e(
+                        { f: A.value === e.unref(i.QueryTypeEnum).VEHICLE_NO },
+                        A.value === e.unref(i.QueryTypeEnum).VEHICLE_NO
+                          ? { g: e.p({ data: C.value, "font-size": "32rpx" }) }
+                          : {},
+                        { h: A.value === e.unref(i.QueryTypeEnum).VIN },
+                        A.value === e.unref(i.QueryTypeEnum).VIN
+                          ? { i: e.t(I.value) }
+                          : {}
+                      ),
+                  {
+                    j: e.f(S.value, function (u, r, n) {
+                      return e.e(
+                        { a: e.t(u.product_name), b: u.recommend },
+                        (u.recommend, {}),
+                        {
+                          c: e.t(u.origin_price),
+                          d: e.t(u.price),
+                          e: e.t(u.product_desc),
+                          f: h.value === r ? 1 : "",
+                          g: r,
+                          h: h.value === r,
+                          i: r,
+                        }
+                      );
+                    }),
+                    k: e.o(M),
+                    l: !x(),
+                  },
+                  (x(), {}),
+                  {
+                    m:
+                      T.value == e.unref(i.ProductTypeEnum).SALI ||
+                      T.value ==
+                        e.unref(i.ProductTypeEnum).COMMERICAL_INSURANCE,
+                  },
+                  (T.value == e.unref(i.ProductTypeEnum).SALI ||
+                    (T.value, e.unref(i.ProductTypeEnum).COMMERICAL_INSURANCE),
+                  {}),
+                  {
+                    n: e.p({
+                      minute: 10,
+                      "font-size": 28,
+                      color: "#ffffff",
+                      "splitor-color": "#FA5E29",
+                      "background-color": "#FA5E29",
+                    }),
+                    o: e.t(
+                      S.value[h.value].origin_price - S.value[h.value].price
+                    ),
+                    p: e.unref(c.isSupportWeChatPay)(),
+                  },
+                  e.unref(c.isSupportWeChatPay)()
+                    ? {
+                        q: e.unref(i.PayMethodEnum).WECHAT_PAY,
+                        r: g.value === e.unref(i.PayMethodEnum).WECHAT_PAY,
+                      }
+                    : {},
+                  { s: e.unref(c.isSupportAliPay)() },
+                  e.unref(c.isSupportAliPay)()
+                    ? {
+                        t: e.unref(i.PayMethodEnum).ALI_PAY,
+                        v: g.value === e.unref(i.PayMethodEnum).ALI_PAY,
+                      }
+                    : {},
+                  { w: e.o(b), x: e.t(S.value[h.value].price), y: e.o(V) }
+                )
+          );
+        }
+      );
+    },
+  },
+  v = e._export_sfc(l, [["__scopeId", "data-v-0986fd70"]]);
+(l.__runtimeHooks = 2), wx.createPage(v);
diff --git a/pages/order-confirm/index.json b/pages/order-confirm/index.json
new file mode 100644
index 0000000..8de5452
--- /dev/null
+++ b/pages/order-confirm/index.json
@@ -0,0 +1,8 @@
+{
+  "navigationBarTitleText": "订单确认",
+  "usingComponents": {
+    "uni-countdown": "../../uni_modules/uni-countdown/components/uni-countdown/uni-countdown",
+    "divider": "../../components/divider/index",
+    "vehicle-number": "../../components/vehicle-number/index"
+  }
+}
diff --git a/pages/order-confirm/index.wxml b/pages/order-confirm/index.wxml
new file mode 100644
index 0000000..e7efd55
--- /dev/null
+++ b/pages/order-confirm/index.wxml
@@ -0,0 +1,160 @@
+<view class="content data-v-0986fd70" wx:if="{{a}}">
+  <view class="header data-v-0986fd70">
+    <view class="header-content data-v-0986fd70">
+      <view class="vehicle-info data-v-0986fd70" wx:if="{{b}}">
+        <image class="logo data-v-0986fd70" src="{{c}}"></image>
+        <view class="right-content data-v-0986fd70">
+          <view class="desc data-v-0986fd70" style="font-weight: bold"
+            >车型:{{d}}</view
+          >
+          <view class="desc data-v-0986fd70">VIN :{{e}}</view>
+        </view>
+      </view>
+      <block wx:else>
+        <image class="car data-v-0986fd70" src="/static/images/car.jpg"></image>
+        <view class="desc data-v-0986fd70">
+          <block wx:if="{{f}}">
+            <text class="data-v-0986fd70" style="margin-right: 10rpx"
+              >车牌:
+            </text>
+            <vehicle-number
+              bind:__l="__l"
+              class="data-v-0986fd70"
+              uI="0986fd70-0"
+              uP="{{g}}"
+              wx:if="{{g}}"
+            ></vehicle-number>
+          </block>
+          <block wx:if="{{h}}">
+            <text class="data-v-0986fd70" style="margin-right: 10rpx"
+              >VIN:
+            </text>
+            <text class="data-v-0986fd70" style="color: #1f68e9">{{i}}</text>
+          </block>
+        </view>
+      </block>
+    </view>
+    <view class="tips-info data-v-0986fd70">
+      <view class="left-content data-v-0986fd70">
+        <image
+          class="data-v-0986fd70"
+          src="/static/svgs/icon_shield.svg"
+        ></image>
+        <text class="data-v-0986fd70">真实数据</text>
+      </view>
+      <view class="right-content data-v-0986fd70">全面还原真实车况</view>
+    </view>
+  </view>
+  <view class="wrap data-v-0986fd70">
+    <view class="title data-v-0986fd70">请确认您购买的产品</view>
+    <view class="product-list data-v-0986fd70">
+      <radio-group bindchange="{{k}}" class="product-group data-v-0986fd70">
+        <label class="data-v-0986fd70" wx:for="{{j}}" wx:key="i">
+          <view class="{{['product','data-v-0986fd70',item.f&&'selected']}}">
+            <view class="top data-v-0986fd70">
+              <view class="product-name data-v-0986fd70">
+                <view class="data-v-0986fd70">{{item.a}}</view>
+                <view class="recommend data-v-0986fd70" wx:if="{{item.b}}"
+                  >推荐</view
+                >
+              </view>
+              <view class="product-price data-v-0986fd70">
+                <view class="origin data-v-0986fd70">原价:¥{{item.c}}</view>
+                <view class="data-v-0986fd70">¥{{item.d}}</view>
+              </view>
+            </view>
+            <view class="product-desc data-v-0986fd70">{{item.e}}</view>
+          </view>
+          <radio
+            checked="{{item.h}}"
+            class="data-v-0986fd70"
+            color="#FA5E29"
+            value="{{item.g}}"
+          ></radio>
+        </label>
+      </radio-group>
+    </view>
+    <view class="notice data-v-0986fd70" wx:if="{{l}}">
+      报告处理时间为9点-22点,22点后次日处理。18点以后,部分订单会在第二天早上9点后收到查询结果。
+    </view>
+  </view>
+  <view class="wrap data-v-0986fd70" wx:if="{{m}}">
+    <view class="title data-v-0986fd70">购买须知</view>
+    <view class="tips data-v-0986fd70">
+      通过车架号,查询车辆当前车险信息(不支持往年车险),存在以下两种情况:
+      <view class="data-v-0986fd70"></view> 1.
+      如果车辆正常在保:有保险公司名称、起保日期、终保日期等信息。
+      <view class="data-v-0986fd70"></view> 2.
+      如果车辆已经脱保:则不会有上述信息。
+      <view class="data-v-0986fd70"></view>
+      请购买之前认真阅读,一旦报告结果查出,概不退款。
+    </view>
+  </view>
+  <view class="coupon data-v-0986fd70">
+    <view class="top data-v-0986fd70">
+      <image
+        class="data-v-0986fd70"
+        src="/static/images/icon_coupon.png"
+      ></image>
+      <text class="data-v-0986fd70">限时优惠</text>
+    </view>
+    <view class="coupon-content data-v-0986fd70">
+      <view class="count-down data-v-0986fd70">
+        <uni-countdown
+          bind:__l="__l"
+          class="data-v-0986fd70"
+          uI="0986fd70-1"
+          uP="{{n}}"
+          wx:if="{{n}}"
+        ></uni-countdown>
+      </view>
+      <view class="price data-v-0986fd70">¥{{o}}</view>
+    </view>
+  </view>
+  <view class="wrap data-v-0986fd70">
+    <view class="title data-v-0986fd70">支付方式</view>
+    <radio-group bindchange="{{w}}" class="pay-group data-v-0986fd70">
+      <label class="data-v-0986fd70" wx:if="{{p}}">
+        <image
+          class="data-v-0986fd70"
+          src="/static/images/logo_wechat.png"
+        ></image>
+        <text class="pay-name data-v-0986fd70">微信支付</text>
+        <radio
+          checked="{{r}}"
+          class="data-v-0986fd70"
+          color="#FA5E29"
+          value="{{q}}"
+        ></radio>
+      </label>
+      <label class="data-v-0986fd70" wx:if="{{s}}">
+        <image
+          class="data-v-0986fd70"
+          src="/static/images/logo_alipay.png"
+        ></image>
+        <text class="pay-name data-v-0986fd70">支付宝支付</text>
+        <radio
+          checked="{{v}}"
+          class="data-v-0986fd70"
+          color="#FA5E29"
+          value="{{t}}"
+        ></radio>
+      </label>
+    </radio-group>
+  </view>
+  <divider bind:__l="__l" class="data-v-0986fd70" uI="0986fd70-2"></divider>
+  <view class="pay-content data-v-0986fd70">
+    <view class="price data-v-0986fd70">
+      <view class="label data-v-0986fd70">实付:</view>
+      <view class="amount data-v-0986fd70">¥{{x}}</view>
+    </view>
+    <view
+      bindtap="{{y}}"
+      class="button data-v-0986fd70"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+    >
+      确认购买
+    </view>
+  </view>
+</view>
diff --git a/pages/order-confirm/index.wxss b/pages/order-confirm/index.wxss
new file mode 100644
index 0000000..221fc7e
--- /dev/null
+++ b/pages/order-confirm/index.wxss
@@ -0,0 +1,305 @@
+.content.data-v-0986fd70 {
+  padding: 30rpx 30rpx 180rpx;
+}
+.content .title.data-v-0986fd70 {
+  border-bottom: 2rpx solid #f2f2f2;
+  color: #444;
+  font-size: 32rpx;
+  font-weight: 700;
+  padding-bottom: 30rpx;
+}
+.content .header.data-v-0986fd70 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  padding: 30rpx;
+}
+.content .header .header-content.data-v-0986fd70 {
+  align-items: center;
+  border-bottom: 2rpx solid #f2f2f2;
+  display: -webkit-flex;
+  display: flex;
+  padding-bottom: 30rpx;
+}
+.content .header .header-content .car.data-v-0986fd70 {
+  height: 70rpx;
+  margin-right: 20rpx;
+  width: 152rpx;
+}
+.content .header .header-content .vehicle-number.data-v-0986fd70 {
+  height: 90rpx;
+  margin-right: 20rpx;
+  width: 90rpx;
+}
+.content .header .header-content .desc.data-v-0986fd70 {
+  align-items: center;
+  color: #333;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 32rpx;
+  margin-left: 20rpx;
+}
+.content .header .header-content .vehicle-info.data-v-0986fd70 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  width: 100%;
+}
+.content .header .header-content .vehicle-info .logo.data-v-0986fd70 {
+  flex-shrink: 0;
+  height: 120rpx;
+  width: 120rpx;
+}
+.content .header .header-content .vehicle-info .right-content.data-v-0986fd70 {
+  margin-left: 30rpx;
+}
+.content
+  .header
+  .header-content
+  .vehicle-info
+  .right-content
+  .desc.data-v-0986fd70 {
+  font-size: 28rpx;
+  margin: 12rpx 0;
+}
+.content .header .tips-info.data-v-0986fd70 {
+  justify-content: space-between;
+  margin-top: 30rpx;
+}
+.content .header .tips-info .left-content.data-v-0986fd70,
+.content .header .tips-info.data-v-0986fd70 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+}
+.content .header .tips-info .left-content image.data-v-0986fd70 {
+  height: 40rpx;
+  width: 40rpx;
+}
+.content .header .tips-info .left-content text.data-v-0986fd70 {
+  font-size: 28rpx;
+  margin-left: 5rpx;
+}
+.content .header .tips-info .right-content.data-v-0986fd70 {
+  color: #9a9a9a;
+  font-size: 28rpx;
+}
+.content .wrap.data-v-0986fd70 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  margin-top: 30rpx;
+  padding: 30rpx;
+}
+.content .wrap radio.data-v-0986fd70 {
+  flex-shrink: 0;
+  transform: scale(0.8);
+}
+.content .wrap .product-group label.data-v-0986fd70 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin: 25rpx 0;
+  width: 100%;
+}
+.content .wrap .product-group label .product.data-v-0986fd70 {
+  border: 1rpx solid #f2f2f2;
+  border-radius: 10rpx;
+  flex-grow: 1;
+  margin-right: 20rpx;
+  padding: 30rpx;
+}
+.content .wrap .product-group label .product.selected.data-v-0986fd70 {
+  background-color: rgba(250, 93, 41, 0.03);
+  border-color: #fa5e29;
+}
+.content .wrap .product-group label .product .top.data-v-0986fd70 {
+  align-items: center;
+  color: #333;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  font-weight: 700;
+  justify-content: space-between;
+}
+.content
+  .wrap
+  .product-group
+  label
+  .product
+  .top
+  .product-name.data-v-0986fd70 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  position: relative;
+}
+.content
+  .wrap
+  .product-group
+  label
+  .product
+  .top
+  .product-name
+  .recommend.data-v-0986fd70 {
+  background-color: #21252c;
+  border-bottom-right-radius: 10rpx;
+  border-top-left-radius: 10rpx;
+  border-top-right-radius: 10rpx;
+  color: #dadbad;
+  font-size: 24rpx;
+  padding: 0 4rpx;
+  position: absolute;
+  right: -60rpx;
+  top: -10rpx;
+}
+.content
+  .wrap
+  .product-group
+  label
+  .product
+  .top
+  .product-price.data-v-0986fd70 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+}
+.content
+  .wrap
+  .product-group
+  label
+  .product
+  .top
+  .product-price
+  .origin.data-v-0986fd70 {
+  color: #d71714;
+  font-size: 24rpx;
+  text-decoration: line-through;
+}
+.content .wrap .product-group label .product-desc.data-v-0986fd70 {
+  color: #5f5f5f;
+  font-size: 26rpx;
+  margin: 10rpx 0;
+}
+.content .wrap .pay-group.data-v-0986fd70 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  font-size: 32rpx;
+}
+.content .wrap .pay-group label.data-v-0986fd70 {
+  align-items: center;
+  border-bottom: 2rpx solid #f2f2f2;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  padding: 40rpx 0;
+  width: 100%;
+}
+.content .wrap .pay-group label image.data-v-0986fd70 {
+  flex-shrink: 0;
+  height: 56rpx;
+  margin-left: 10rpx;
+  width: 56rpx;
+}
+.content .wrap .pay-group label text.data-v-0986fd70 {
+  flex-grow: 1;
+  font-size: 30rpx;
+  margin-left: 30rpx;
+}
+.content .wrap .notice.data-v-0986fd70 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  color: #ff7b00;
+  font-size: 26rpx;
+}
+.content .wrap .tips.data-v-0986fd70 {
+  font-size: 28rpx;
+  line-height: 1.5;
+  padding: 20rpx 0;
+}
+.content .coupon.data-v-0986fd70 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  height: 220rpx;
+  margin-top: 30rpx;
+  padding: 10rpx 30rpx;
+}
+.content .coupon .top.data-v-0986fd70 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  height: 60rpx;
+}
+.content .coupon .top image.data-v-0986fd70 {
+  height: 50rpx;
+  margin-right: 10rpx;
+  width: 50rpx;
+}
+.content .coupon .top text.data-v-0986fd70 {
+  color: #e83319;
+  font-size: 30rpx;
+  font-weight: 700;
+}
+.content .coupon-content.data-v-0986fd70 {
+  align-items: center;
+  background-color: rgba(250, 93, 41, 0.027);
+  border-radius: 10rpx;
+  display: -webkit-flex;
+  display: flex;
+  height: 110rpx;
+  justify-content: space-between;
+  margin-top: 10rpx;
+  padding: 0 30rpx;
+  position: relative;
+}
+.content .coupon-content .price.data-v-0986fd70 {
+  color: #fa5e29;
+  font-size: 40rpx;
+  font-weight: 700;
+}
+.content .pay-content.data-v-0986fd70 {
+  align-items: center;
+  background: #fff;
+  border-top: 1rpx solid #d2d2d2;
+  bottom: 0;
+  display: -webkit-flex;
+  display: flex;
+  height: 150rpx;
+  justify-content: space-between;
+  left: 0;
+  padding: 0 50rpx;
+  position: fixed;
+  width: 100%;
+  z-index: 99;
+}
+.content .pay-content .price.data-v-0986fd70 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-weight: 700;
+}
+.content .pay-content .price .label.data-v-0986fd70 {
+  font-size: 28rpx;
+  margin-top: 10rpx;
+}
+.content .pay-content .price .amount.data-v-0986fd70 {
+  color: #fa5e29;
+  font-size: 40rpx;
+}
+.content .pay-content .button.data-v-0986fd70 {
+  align-items: center;
+  background: linear-gradient(90deg, #fc8633, #fa5e29);
+  border-radius: 100rpx;
+  color: #fff;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  font-weight: 700;
+  height: 65rpx;
+  justify-content: center;
+  width: 180rpx;
+}
diff --git a/pages/order-detail/index.js b/pages/order-detail/index.js
new file mode 100644
index 0000000..ceceaa1
--- /dev/null
+++ b/pages/order-detail/index.js
@@ -0,0 +1,429 @@
+var u = require("../../common/vendor.js"),
+  e = require("../../hooks/onMounted.js"),
+  t = require("../../hooks/onShareAppMessage.js"),
+  n = require("../../service/index.js"),
+  r = require("../../enums/index.js"),
+  a = require("../../config/index.js"),
+  o = require("../../utils/util.js"),
+  s = require("../../utils/navigate.js"),
+  i = require("../../utils/common.js"),
+  d = require("../../utils/vin.js");
+require("../../hooks/useState.js"),
+  require("../../store/app/index.js"),
+  require("../../data/index.js"),
+  require("../../utils/request.js"),
+  require("../../constant/index.js"),
+  Array || u.resolveComponent("uni-load-more")();
+Math ||
+  (
+    u.unref(v) +
+    function () {
+      return "../../uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js";
+    } +
+    u.unref(f) +
+    u.unref(p) +
+    u.unref(c) +
+    u.unref(l)
+  )();
+var c = function () {
+    return "../../components/popup-upload-tips/index.js";
+  },
+  l = function () {
+    return "../../components/popup-pay-again/index.js";
+  },
+  f = function () {
+    return "../../components/float-refresh/index.js";
+  },
+  v = function () {
+    return "../../components/vehicle-number/index.js";
+  },
+  p = function () {
+    return "../../components/popup-modify-vin/index.js";
+  },
+  E = {
+    __name: "index",
+    setup: function (c) {
+      var l = u.ref(!0),
+        f = u.ref(""),
+        v = u.ref(""),
+        p = u.ref({}),
+        E = u.ref(!1),
+        m = u.ref(!1),
+        I = u.ref(!1),
+        N = function () {
+          var u = E.value || m.value || I.value;
+          return "height: 100%; overflow: "
+            .concat(u ? "hidden" : "visible", "; position: ")
+            .concat(u ? "fixed" : "relative");
+        },
+        S = function () {
+          return u._.find(p.value.productList, function (u) {
+            return u.status === r.ProductStatusEnum.TO_BE_UPLOADED;
+          });
+        },
+        _ = function () {
+          var e = !1;
+          return (
+            !u._.find(p.value.productList, function (u) {
+              return (
+                u.product_id !== r.ProductTypeEnum.INSURANCE_MAINTAIN &&
+                u.product_id !== r.ProductTypeEnum.ACCIDENT
+              );
+            }) &&
+              p.value.vin &&
+              (p.value.status === r.OrderStatusEnum.UNPAID && (e = !0),
+              u._.find(p.value.productList, function (u) {
+                return u.status === r.ProductStatusEnum.TO_BE_UPLOADED;
+              }) && (e = !0)),
+            e
+          );
+        },
+        P = function () {
+          u.index.setClipboardData({ data: v.value }).then(function () {
+            o.showToast("订单编号已复制");
+          });
+        },
+        O = function () {
+          u.index.setClipboardData({ data: p.value.vin }).then(function () {
+            o.showToast("VIN车架号已复制");
+          });
+        },
+        T = function (u) {
+          var e = u.order_no,
+            t = u.product_id,
+            n = u.status;
+          i.openReport({ orderNo: e, productId: t, status: n });
+        },
+        A = function () {
+          o.showToast("已经帮您催了,请耐心等待一会儿...");
+        },
+        h = function () {
+          i.queryWithoutDrivingLicense({ orderNo: v.value }).then(function () {
+            s.redirectTo({ url: "/pages/upload-success/index" });
+          });
+        },
+        y = function () {
+          m.value = !1;
+        },
+        D = function () {
+          x(r.PayMethodEnum.WECHAT_PAY);
+        },
+        C = function () {
+          I.value = !1;
+        },
+        g = function (u) {
+          x(u), (I.value = !1);
+        },
+        x = function (u) {
+          o.showLoading("支付中"),
+            n
+              .payOrderAgain({ payMethod: u, order_no: v.value })
+              .then(function (e) {
+                i.payForOrder({ payMethod: u, data: e })
+                  .then(function (u) {
+                    var e = u.orderNo;
+                    s.redirectTo({
+                      url: "/pages/pay-success/index",
+                      params: { orderNo: e },
+                    });
+                  })
+                  .catch(function (u) {
+                    var e = u.orderNo;
+                    s.redirectTo({
+                      url: "/pages/pay-fail/index",
+                      params: { orderNo: e },
+                    });
+                  });
+              });
+        },
+        L = function () {
+          E.value = !0;
+        },
+        U = function () {
+          E.value = !1;
+        },
+        j = function (u) {
+          0 !== u.length
+            ? u.length < 17
+              ? o.showToast("请输入完整的VIN车架号")
+              : d.validateVIN(u)
+              ? i.modifyVin({ orderNo: v.value, vin: u }).then(function () {
+                  setTimeout(function () {
+                    return R();
+                  }, 500);
+                })
+              : o.showToast("车架号有误,请检查后重新输入")
+            : o.showToast("请输入VIN车架号");
+        },
+        M = function (u) {
+          u.detail.path && switchTab({ url: u.detail.path });
+        },
+        R = function () {
+          (l.value = !0),
+            o.showLoading(),
+            n.getOrderDetail({ order_no: v.value }).then(function (u) {
+              (p.value = u), (l.value = !1), o.hideLoading();
+            });
+        };
+      return (
+        e.onMounted(function (e) {
+          u.index.$on("updateOrderDetail", function () {
+            return R();
+          }),
+            (v.value = e.orderNo),
+            (f.value = e.productName),
+            u.index.setNavigationBarTitle({
+              title: "".concat(e.productName, "-订单信息"),
+            }),
+            R();
+        }, !1),
+        t.onShareAppMessage(),
+        function (e, t) {
+          return u.e(
+            { a: N(), b: !l.value },
+            l.value
+              ? {}
+              : u.e(
+                  {
+                    c:
+                      p.value.carBrand &&
+                      (p.value.carBrand.logo || p.value.carBrand.name),
+                  },
+                  p.value.carBrand &&
+                    (p.value.carBrand.logo || p.value.carBrand.name)
+                    ? {
+                        d: p.value.carBrand.logo,
+                        e: u.t(p.value.carBrand.name),
+                      }
+                    : {},
+                  { f: u.t(p.value.order_no), g: u.o(P), h: p.value.car_no },
+                  p.value.car_no ? { i: u.p({ data: p.value.car_no }) } : {},
+                  { j: p.value.vin },
+                  p.value.vin ? { k: u.t(p.value.vin), l: u.o(O) } : {},
+                  { m: p.value.total_money },
+                  p.value.total_money
+                    ? { n: u.t((p.value.total_money / 100).toFixed(2)) }
+                    : {},
+                  { o: p.value.status === u.unref(r.OrderStatusEnum).UNPAID },
+                  (p.value.status, u.unref(r.OrderStatusEnum).UNPAID, {}),
+                  { p: p.value.status === u.unref(r.OrderStatusEnum).PAID },
+                  p.value.status === u.unref(r.OrderStatusEnum).PAID
+                    ? { q: u.t(u.unref(i.getOrderStatus)(p.value.productList)) }
+                    : {},
+                  { r: p.value.status === u.unref(r.OrderStatusEnum).REFUND },
+                  (p.value.status, u.unref(r.OrderStatusEnum).REFUND, {}),
+                  { s: p.value.status === u.unref(r.OrderStatusEnum).COMPLETE },
+                  (p.value.status, u.unref(r.OrderStatusEnum).COMPLETE, {}),
+                  {
+                    t: u.t(p.value.create_time),
+                    v:
+                      (p.value.status === u.unref(r.OrderStatusEnum).PAID ||
+                        p.value.status ===
+                          u.unref(r.OrderStatusEnum).COMPLETE) &&
+                      p.value.payInfo,
+                  },
+                  (p.value.status !== u.unref(r.OrderStatusEnum).PAID &&
+                    p.value.status !== u.unref(r.OrderStatusEnum).COMPLETE) ||
+                    !p.value.payInfo
+                    ? {}
+                    : { w: u.t(p.value.payInfo.update_time) },
+                  {
+                    x:
+                      (p.value.status === u.unref(r.OrderStatusEnum).PAID ||
+                        p.value.status ===
+                          u.unref(r.OrderStatusEnum).COMPLETE) &&
+                      p.value.payInfo,
+                  },
+                  (p.value.status !== u.unref(r.OrderStatusEnum).PAID &&
+                    p.value.status !== u.unref(r.OrderStatusEnum).COMPLETE) ||
+                    !p.value.payInfo
+                    ? {}
+                    : { y: u.t(p.value.payInfo.trade_no) },
+                  {
+                    z:
+                      (p.value.status === u.unref(r.OrderStatusEnum).PAID ||
+                        p.value.status ===
+                          u.unref(r.OrderStatusEnum).COMPLETE) &&
+                      p.value.payInfo,
+                  },
+                  (p.value.status !== u.unref(r.OrderStatusEnum).PAID &&
+                    p.value.status !== u.unref(r.OrderStatusEnum).COMPLETE) ||
+                    !p.value.payInfo
+                    ? {}
+                    : u.e(
+                        { A: [1, 2].indexOf(p.value.payInfo.source_from) > -1 },
+                        ([1, 2].indexOf(p.value.payInfo.source_from), {}),
+                        { B: 3 === p.value.payInfo.source_from },
+                        (p.value.payInfo.source_from, {})
+                      ),
+                  { C: p.value.productList },
+                  p.value.productList
+                    ? {
+                        D: u.f(p.value.productList, function (e, t, n) {
+                          return u.e(
+                            {
+                              a: u.t(
+                                u.unref(i.getProduct)(e.product_id).product_name
+                              ),
+                              b: u.t(
+                                u.unref(i.getProduct)(e.product_id).product_desc
+                              ),
+                              c:
+                                p.value.status !==
+                                  u.unref(r.OrderStatusEnum).REFUND &&
+                                e.status ===
+                                  u.unref(r.ProductStatusEnum).IN_QUERY,
+                            },
+                            p.value.status !==
+                              u.unref(r.OrderStatusEnum).REFUND &&
+                              e.status === u.unref(r.ProductStatusEnum).IN_QUERY
+                              ? {
+                                  d: "b85a2168-1-" + n,
+                                  e: u.p({
+                                    iconType: "snow",
+                                    iconSize: 20,
+                                    status: "loading",
+                                    showText: !1,
+                                  }),
+                                }
+                              : {},
+                            p.value.status !== u.unref(r.OrderStatusEnum).REFUND
+                              ? u.e(
+                                  {
+                                    f:
+                                      e.status ===
+                                      u.unref(r.ProductStatusEnum).SUCCESS,
+                                  },
+                                  e.status ===
+                                    u.unref(r.ProductStatusEnum).SUCCESS
+                                    ? {
+                                        g: u.o(function (u) {
+                                          return T(e);
+                                        }, e.id),
+                                      }
+                                    : {},
+                                  {
+                                    h:
+                                      e.status ===
+                                        u.unref(r.ProductStatusEnum).FAIL &&
+                                      (e.product_id ==
+                                        u.unref(r.ProductTypeEnum)
+                                          .INSURANCE_MAINTAIN ||
+                                        e.product_id ===
+                                          u.unref(r.ProductTypeEnum).ACCIDENT),
+                                  },
+                                  e.status !==
+                                    u.unref(r.ProductStatusEnum).FAIL ||
+                                    (e.product_id !=
+                                      u.unref(r.ProductTypeEnum)
+                                        .INSURANCE_MAINTAIN &&
+                                      e.product_id !==
+                                        u.unref(r.ProductTypeEnum).ACCIDENT)
+                                    ? {}
+                                    : {
+                                        i: u.o(function (u) {
+                                          return T(e);
+                                        }, e.id),
+                                      },
+                                  {
+                                    j:
+                                      e.status ===
+                                      u.unref(r.ProductStatusEnum).IN_QUERY,
+                                  },
+                                  e.status ===
+                                    u.unref(r.ProductStatusEnum).IN_QUERY
+                                    ? { k: u.o(A, e.id) }
+                                    : {},
+                                  {
+                                    l:
+                                      e.status ===
+                                        u.unref(r.ProductStatusEnum).FAIL &&
+                                      e.product_id !==
+                                        u.unref(r.ProductTypeEnum)
+                                          .INSURANCE_MAINTAIN &&
+                                      e.product_id !==
+                                        u.unref(r.ProductTypeEnum).ACCIDENT,
+                                  },
+                                  (e.status ===
+                                    u.unref(r.ProductStatusEnum).FAIL &&
+                                    e.product_id !==
+                                      u.unref(r.ProductTypeEnum)
+                                        .INSURANCE_MAINTAIN &&
+                                    (e.product_id,
+                                    u.unref(r.ProductTypeEnum).ACCIDENT),
+                                  {})
+                                )
+                              : {},
+                            { m: e.id }
+                          );
+                        }),
+                        E: p.value.status !== u.unref(r.OrderStatusEnum).REFUND,
+                      }
+                    : {},
+                  { F: p.value.status !== u.unref(r.OrderStatusEnum).REFUND },
+                  p.value.status !== u.unref(r.OrderStatusEnum).REFUND
+                    ? u.e(
+                        { G: S() },
+                        S()
+                          ? u.e(
+                              { H: p.value.vin },
+                              p.value.vin
+                                ? {
+                                    I: u.o(function (u) {
+                                      return e.product, void (m.value = !0);
+                                    }),
+                                  }
+                                : {},
+                              {
+                                J: u.o(function (u) {
+                                  return (
+                                    e.product,
+                                    void i
+                                      .chooseDrivingLicense({
+                                        orderNo: v.value,
+                                      })
+                                      .then(function () {
+                                        s.redirectTo({
+                                          url: "/pages/upload-success/index",
+                                        });
+                                      })
+                                  );
+                                }),
+                              }
+                            )
+                          : {},
+                        { K: _() },
+                        _() ? { L: u.o(L) } : {},
+                        {
+                          M:
+                            p.value.status ===
+                            u.unref(r.OrderStatusEnum).UNPAID,
+                        },
+                        p.value.status === u.unref(r.OrderStatusEnum).UNPAID
+                          ? { N: u.o(D) }
+                          : {}
+                      )
+                    : {},
+                  {
+                    O: u.unref(a.appName),
+                    P: u.o(M),
+                    Q: u.o(R),
+                    R: u.p({ loading: l.value }),
+                    S: u.o(U),
+                    T: u.o(j),
+                    U: u.p({ visible: E.value, "copy-vin": p.value.vin }),
+                    V: u.o(y),
+                    W: u.o(h),
+                    X: u.p({ visible: m.value }),
+                    Y: u.o(C),
+                    Z: u.o(g),
+                    aa: u.p({ visible: I.value }),
+                  }
+                )
+          );
+        }
+      );
+    },
+  },
+  m = u._export_sfc(E, [["__scopeId", "data-v-b85a2168"]]);
+(E.__runtimeHooks = 2), wx.createPage(m);
diff --git a/pages/order-detail/index.json b/pages/order-detail/index.json
new file mode 100644
index 0000000..9d6e03c
--- /dev/null
+++ b/pages/order-detail/index.json
@@ -0,0 +1,10 @@
+{
+  "usingComponents": {
+    "uni-load-more": "../../uni_modules/uni-load-more/components/uni-load-more/uni-load-more",
+    "popup-upload-tips": "../../components/popup-upload-tips/index",
+    "popup-pay-again": "../../components/popup-pay-again/index",
+    "float-refresh": "../../components/float-refresh/index",
+    "vehicle-number": "../../components/vehicle-number/index",
+    "popup-modify-vin": "../../components/popup-modify-vin/index"
+  }
+}
diff --git a/pages/order-detail/index.wxml b/pages/order-detail/index.wxml
new file mode 100644
index 0000000..9b3cd09
--- /dev/null
+++ b/pages/order-detail/index.wxml
@@ -0,0 +1,220 @@
+<page-meta class="data-v-b85a2168" pageStyle="{{a}}"></page-meta>
+<view class="content data-v-b85a2168" wx:if="{{b}}">
+  <view class="module-title data-v-b85a2168">订单信息</view>
+  <view class="card data-v-b85a2168" style="padding: 10rpx 30rpx">
+    <view class="vehicle-info data-v-b85a2168" wx:if="{{c}}">
+      <image class="logo data-v-b85a2168" src="{{d}}"></image>
+      <view class="right-content data-v-b85a2168">
+        <view class="desc data-v-b85a2168" style="font-weight: bold"
+          >{{e}}</view
+        >
+      </view>
+    </view>
+    <view class="desc data-v-b85a2168">
+      <text class="label data-v-b85a2168">订单编号</text>
+      <text class="value data-v-b85a2168">
+        <text class="data-v-b85a2168">{{f}}</text>
+        <text bindtap="{{g}}" class="copy data-v-b85a2168">复制</text>
+      </text>
+    </view>
+    <view class="desc data-v-b85a2168" wx:if="{{h}}">
+      <text class="label data-v-b85a2168">车牌号码</text>
+      <vehicle-number
+        bind:__l="__l"
+        class="data-v-b85a2168"
+        uI="b85a2168-0"
+        uP="{{i}}"
+        wx:if="{{i}}"
+      ></vehicle-number>
+    </view>
+    <view class="desc data-v-b85a2168" wx:if="{{j}}">
+      <text class="label data-v-b85a2168">VIN 号码</text>
+      <text class="value vin data-v-b85a2168">
+        <text class="data-v-b85a2168">{{k}}</text>
+        <text bindtap="{{l}}" class="copy data-v-b85a2168">复制</text>
+      </text>
+    </view>
+    <view class="desc data-v-b85a2168" wx:if="{{m}}">
+      <text class="label data-v-b85a2168">订单金额</text>
+      <text class="value data-v-b85a2168">¥{{n}}</text>
+    </view>
+    <view class="desc data-v-b85a2168">
+      <text class="label data-v-b85a2168">订单状态</text>
+      <text class="value data-v-b85a2168" wx:if="{{o}}">待付款</text>
+      <text class="value data-v-b85a2168" wx:if="{{p}}"> 已付款{{q}}</text>
+      <text class="value data-v-b85a2168" wx:if="{{r}}">已退款</text>
+      <text class="value data-v-b85a2168" wx:if="{{s}}">已完成</text>
+    </view>
+    <view class="desc data-v-b85a2168">
+      <text class="label data-v-b85a2168">下单时间</text>
+      <text class="value data-v-b85a2168">{{t}}</text>
+    </view>
+    <view class="desc data-v-b85a2168" wx:if="{{v}}">
+      <text class="label data-v-b85a2168">付款时间</text>
+      <text class="value data-v-b85a2168">{{w}}</text>
+    </view>
+    <view class="desc data-v-b85a2168" wx:if="{{x}}">
+      <text class="label data-v-b85a2168">支付单号</text>
+      <text class="value data-v-b85a2168">{{y}}</text>
+    </view>
+    <view class="desc data-v-b85a2168" wx:if="{{z}}">
+      <text class="label data-v-b85a2168">支付方式</text>
+      <text class="value data-v-b85a2168" wx:if="{{A}}">微信支付</text>
+      <text class="value data-v-b85a2168" wx:if="{{B}}">支付宝支付</text>
+    </view>
+    <view class="product-list data-v-b85a2168" wx:if="{{C}}">
+      <view
+        class="product data-v-b85a2168"
+        wx:for="{{D}}"
+        wx:for-item="product"
+        wx:key="m"
+      >
+        <view class="product-wrap data-v-b85a2168">
+          <view class="product-content data-v-b85a2168">
+            <view class="product-name data-v-b85a2168">{{product.a}}</view>
+            <view class="product-desc data-v-b85a2168">{{product.b}}</view>
+            <view class="loading data-v-b85a2168" wx:if="{{product.c}}">
+              <uni-load-more
+                bind:__l="__l"
+                class="data-v-b85a2168"
+                uI="{{product.d}}"
+                uP="{{product.e}}"
+                wx:if="{{product.e}}"
+              ></uni-load-more>
+            </view>
+          </view>
+          <view class="data-v-b85a2168" wx:if="{{E}}">
+            <view class="button-content data-v-b85a2168" wx:if="{{product.f}}">
+              <view
+                catchtap="{{product.g}}"
+                class="button type1 data-v-b85a2168"
+                hoverClass="default-hover-class"
+                hoverStayTime="100"
+              >
+                查看报告
+              </view>
+            </view>
+            <view class="button-content data-v-b85a2168" wx:if="{{product.h}}">
+              <view
+                catchtap="{{product.i}}"
+                class="button type1 data-v-b85a2168"
+                hoverClass="default-hover-class"
+                hoverStayTime="100"
+              >
+                查看报告
+              </view>
+            </view>
+            <view class="button-content data-v-b85a2168" wx:if="{{product.j}}">
+              <view
+                catchtap="{{product.k}}"
+                class="button type2 data-v-b85a2168"
+                hoverClass="default-hover-class"
+                hoverStayTime="100"
+              >
+                我要催单
+              </view>
+              <view class="button type5 data-v-b85a2168"
+                >正在查询中,请耐心等待</view
+              >
+            </view>
+            <view class="button-content data-v-b85a2168" wx:if="{{product.l}}">
+              <view class="button type3 data-v-b85a2168"
+                >查询失败,请联系客服</view
+              >
+            </view>
+          </view>
+        </view>
+      </view>
+    </view>
+    <view class="bottom-content data-v-b85a2168" wx:if="{{F}}">
+      <block wx:if="{{G}}">
+        <view
+          catchtap="{{I}}"
+          class="button type4 data-v-b85a2168"
+          hoverClass="default-hover-class"
+          hoverStayTime="100"
+          wx:if="{{H}}"
+        >
+          无法提供行驶证
+        </view>
+        <view
+          catchtap="{{J}}"
+          class="button type2 data-v-b85a2168"
+          hoverClass="default-hover-class"
+          hoverStayTime="100"
+        >
+          上传行驶证
+        </view>
+      </block>
+      <button
+        bindtap="{{L}}"
+        class="button type5 data-v-b85a2168"
+        hoverClass="default-hover-class"
+        hoverStayTime="100"
+        wx:if="{{K}}"
+      >
+        <text class="data-v-b85a2168">修改VIN号</text>
+      </button>
+      <button
+        bindtap="{{N}}"
+        class="button type1 data-v-b85a2168"
+        hoverClass="default-hover-class"
+        hoverStayTime="100"
+        wx:if="{{M}}"
+      >
+        <text class="data-v-b85a2168">去付款</text>
+      </button>
+    </view>
+  </view>
+  <button
+    showMessageCard
+    bindcontact="{{P}}"
+    class="contact data-v-b85a2168"
+    hoverClass="default-hover-class"
+    hoverStayTime="100"
+    openType="contact"
+    sendMessageImg="/static/images/pic_share_mp.png"
+    sendMessagePath="/pages/splash/index"
+    sendMessageTitle="{{O}}"
+  >
+    <image
+      class="icon data-v-b85a2168"
+      src="/static/svgs/icon_contact_person.svg"
+    ></image>
+  </button>
+  <float-refresh
+    bind:__l="__l"
+    bindclick="{{Q}}"
+    class="data-v-b85a2168"
+    uI="b85a2168-2"
+    uP="{{R}}"
+    wx:if="{{R}}"
+  ></float-refresh>
+  <popup-modify-vin
+    bind:__l="__l"
+    bindclose="{{S}}"
+    bindconfirm="{{T}}"
+    class="data-v-b85a2168"
+    uI="b85a2168-3"
+    uP="{{U}}"
+    wx:if="{{U}}"
+  ></popup-modify-vin>
+  <popup-upload-tips
+    bind:__l="__l"
+    bindcancel="{{V}}"
+    bindconfirm="{{W}}"
+    class="data-v-b85a2168"
+    uI="b85a2168-4"
+    uP="{{X}}"
+    wx:if="{{X}}"
+  ></popup-upload-tips>
+  <popup-pay-again
+    bind:__l="__l"
+    bindclose="{{Y}}"
+    bindconfirm="{{Z}}"
+    class="data-v-b85a2168"
+    uI="b85a2168-5"
+    uP="{{aa}}"
+    wx:if="{{aa}}"
+  ></popup-pay-again>
+</view>
diff --git a/pages/order-detail/index.wxss b/pages/order-detail/index.wxss
new file mode 100644
index 0000000..d4fbb9e
--- /dev/null
+++ b/pages/order-detail/index.wxss
@@ -0,0 +1,291 @@
+.content.data-v-b85a2168 {
+  padding: 0 20rpx;
+}
+.content .card.data-v-b85a2168 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  padding: 30rpx;
+}
+.content .card .vehicle-info.data-v-b85a2168 {
+  align-items: center;
+  border-bottom: 2rpx solid #f2f2f2;
+  display: -webkit-flex;
+  display: flex;
+  margin-bottom: 20rpx;
+  padding-bottom: 10rpx;
+}
+.content .card .vehicle-info .logo.data-v-b85a2168 {
+  flex-shrink: 0;
+  height: 120rpx;
+  width: 120rpx;
+}
+.content .card .vehicle-info .right-content.data-v-b85a2168 {
+  margin-left: 30rpx;
+}
+.content .card .vehicle-info .right-content .desc.data-v-b85a2168 {
+  color: #333;
+  font-size: 30rpx;
+  margin: 12rpx 0;
+}
+.content .card .desc.data-v-b85a2168 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  justify-content: space-between;
+  margin: 20rpx 0;
+}
+.content .card .desc .label.data-v-b85a2168 {
+  color: #333;
+  flex-shrink: 0;
+  width: 155rpx;
+}
+.content .card .desc .value.data-v-b85a2168 {
+  color: #333;
+}
+.content .card .desc .value.vin.data-v-b85a2168 {
+  color: #1f68e9;
+}
+.content .card .desc .copy.data-v-b85a2168 {
+  color: #d71818;
+  margin-left: 15rpx;
+}
+.content .card .product-list.data-v-b85a2168 {
+  margin-top: 20rpx;
+  padding: 5rpx 0;
+}
+.content .card .product-list .product.data-v-b85a2168 {
+  border-top: 2rpx solid #f2f2f2;
+  padding: 20rpx 0;
+}
+.content .card .product-list .product .product-wrap.data-v-b85a2168 {
+  background-color: rgba(234, 241, 248, 0.408);
+  border-radius: 10rpx;
+  padding: 20rpx;
+}
+.content
+  .card
+  .product-list
+  .product
+  .product-wrap
+  .product-content.data-v-b85a2168 {
+  color: #555;
+  position: relative;
+}
+.content
+  .card
+  .product-list
+  .product
+  .product-wrap
+  .product-content
+  .product-name.data-v-b85a2168 {
+  font-size: 30rpx;
+  font-weight: 700;
+}
+.content
+  .card
+  .product-list
+  .product
+  .product-wrap
+  .product-content
+  .product-desc.data-v-b85a2168 {
+  color: #5f5f5f;
+  font-size: 28rpx;
+  margin-top: 5rpx;
+}
+.content
+  .card
+  .product-list
+  .product
+  .product-wrap
+  .product-content
+  .loading.data-v-b85a2168 {
+  position: absolute;
+  right: 0;
+  top: 0;
+}
+.content
+  .card
+  .product-list
+  .product
+  .product-wrap
+  .button-content.data-v-b85a2168 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: row-reverse;
+}
+.content
+  .card
+  .product-list
+  .product
+  .product-wrap
+  .button-content
+  .button.data-v-b85a2168 {
+  align-items: center;
+  border-radius: 30rpx;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 28rpx;
+  height: 60rpx;
+  justify-content: center;
+  margin-top: 10rpx;
+  width: 165rpx;
+}
+.content
+  .card
+  .product-list
+  .product
+  .product-wrap
+  .button-content
+  .button.type1.data-v-b85a2168 {
+  border: 2rpx solid #1f68e9;
+  color: #1f68e9;
+}
+.content
+  .card
+  .product-list
+  .product
+  .product-wrap
+  .button-content
+  .button.type2.data-v-b85a2168 {
+  border: 2rpx solid #c4c8d1;
+}
+.content
+  .card
+  .product-list
+  .product
+  .product-wrap
+  .button-content
+  .button.type3.data-v-b85a2168 {
+  border: none;
+  color: brown;
+  width: auto;
+}
+.content
+  .card
+  .product-list
+  .product
+  .product-wrap
+  .button-content
+  .button.type4.data-v-b85a2168 {
+  color: #1f68e9;
+  margin-right: 10rpx;
+  width: 220rpx;
+}
+.content
+  .card
+  .product-list
+  .product
+  .product-wrap
+  .button-content
+  .button.type5.data-v-b85a2168 {
+  color: #ff7038;
+  font-size: 26rpx;
+  margin-right: 10rpx;
+  width: 300rpx;
+}
+.content .card .detail.data-v-b85a2168 {
+  font-size: 30rpx;
+}
+.content .card .detail .important.data-v-b85a2168 {
+  color: #d71818;
+  font-size: 28rpx;
+  font-weight: 700;
+}
+.content .card .concat-content.data-v-b85a2168 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: flex-end;
+}
+.content .card .concat-content .concat.data-v-b85a2168 {
+  align-items: center;
+  background-color: #fff;
+  border: 2rpx solid #1f68e9;
+  border-radius: 30rpx;
+  color: #1f68e9;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 28rpx;
+  height: 60rpx;
+  justify-content: center;
+  margin: 0 10rpx;
+  padding: 0;
+  width: 165rpx;
+}
+.content .card .bottom-content.data-v-b85a2168 {
+  align-items: center;
+  background-color: #fff;
+  border-top: 2rpx solid #f2f2f2;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: flex-end;
+  padding: 20rpx 10rpx 20rpx 0;
+}
+.content .card .bottom-content .button.data-v-b85a2168 {
+  align-items: center;
+  background-color: #fff;
+  border-radius: 30rpx;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 28rpx;
+  height: 60rpx;
+  justify-content: center;
+  margin: 0 10rpx;
+  padding: 0;
+  width: 165rpx;
+}
+.content .card .bottom-content .button.type1.data-v-b85a2168 {
+  background: #1f68e9;
+  color: #fff;
+}
+.content .card .bottom-content .button.type2.data-v-b85a2168 {
+  border: 2rpx solid #c4c8d1;
+}
+.content .card .bottom-content .button.type3.data-v-b85a2168 {
+  border: 2rpx solid #1f68e9;
+  color: #1f68e9;
+}
+.content .card .bottom-content .button.type4.data-v-b85a2168 {
+  color: #1f68e9;
+  margin-right: 10rpx;
+  width: 220rpx;
+}
+.content .card .bottom-content .button.type5.data-v-b85a2168 {
+  border: 2rpx solid #1f68e9;
+  color: #1f68e9;
+}
+.content .module-title.data-v-b85a2168 {
+  border-left: 6rpx solid #1f68e9;
+  box-sizing: border-box;
+  font-size: 34rpx;
+  font-weight: 700;
+  justify-content: space-between;
+  line-height: 34rpx;
+  margin: 30rpx 0;
+  padding-left: 20rpx;
+}
+.content .contact.data-v-b85a2168,
+.content .module-title.data-v-b85a2168 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+}
+.content .contact.data-v-b85a2168 {
+  background-color: #fff;
+  border-radius: 100%;
+  bottom: 180rpx;
+  box-shadow: 0 5rpx 15rpx rgba(0, 0, 0, 0.15);
+  height: 80rpx;
+  justify-content: center;
+  padding: 0;
+  position: fixed;
+  right: 40rpx;
+  width: 80rpx;
+  z-index: 10;
+}
+.content .contact image.data-v-b85a2168 {
+  height: 40rpx;
+  width: 40rpx;
+}
diff --git a/pages/order-list-mine/index.js b/pages/order-list-mine/index.js
new file mode 100644
index 0000000..7c6e7ba
--- /dev/null
+++ b/pages/order-list-mine/index.js
@@ -0,0 +1,495 @@
+var e = require("../../common/vendor.js"),
+  t = require("../../hooks/onMounted.js"),
+  u = require("../../hooks/onShareAppMessage.js"),
+  n = require("../../service/index.js"),
+  r = require("../../enums/index.js"),
+  o = require("../../utils/util.js"),
+  a = require("../../utils/navigate.js"),
+  s = require("../../utils/common.js");
+require("../../hooks/useState.js"),
+  require("../../store/app/index.js"),
+  require("../../data/index.js"),
+  require("../../config/index.js"),
+  require("../../constant/index.js"),
+  require("../../utils/request.js"),
+  Array || e.resolveComponent("uni-load-more")();
+Math ||
+  (
+    e.unref(p) +
+    function () {
+      return "../../uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js";
+    } +
+    e.unref(l) +
+    e.unref(c) +
+    e.unref(f) +
+    e.unref(i) +
+    e.unref(d)
+  )();
+var i = function () {
+    return "../../components/popup-upload-tips/index.js";
+  },
+  d = function () {
+    return "../../components/popup-pay-again/index.js";
+  },
+  c = function () {
+    return "../../components/float-refresh/index.js";
+  },
+  f = function () {
+    return "../../components/float-back-to-top/index.js";
+  },
+  l = function () {
+    return "../../components/empty/index.js";
+  },
+  p = function () {
+    return "../../components/vehicle-number/index.js";
+  },
+  v = {
+    __name: "index",
+    setup: function (i) {
+      var d = e.ref([
+          { title: "全部", status: 0 },
+          { title: "待付款", status: 4 },
+          { title: "待上传", status: 5 },
+          { title: "查询中", status: 2 },
+          { title: "查询成功", status: 1 },
+        ]),
+        c = e.ref(0),
+        f = e.ref(!0),
+        l = e.ref(!1),
+        p = e.ref(!1),
+        v = e.ref(1),
+        m = e.ref(r.PageStatusEnum.LOADING),
+        E = e.ref([]),
+        _ = e.ref(!1),
+        g = e.ref(!1),
+        S = e.ref(!1),
+        N = e.ref(null),
+        P = function () {
+          var e = g.value || S.value;
+          return "height: 100%; overflow: "
+            .concat(e ? "hidden" : "visible", "; position: ")
+            .concat(e ? "fixed" : "relative");
+        },
+        h = function (t) {
+          return e._.find(t.productList, function (e) {
+            return e.status === r.ProductStatusEnum.TO_BE_UPLOADED;
+          });
+        },
+        I = function (e) {
+          var t = e.order_no,
+            u = e.product_id,
+            n = e.status;
+          s.openReport({ orderNo: t, productId: u, status: n });
+        },
+        T = function () {
+          o.showToast("已经帮您催了,请耐心等待一会儿...");
+        },
+        A = function () {
+          s.queryWithoutDrivingLicense({ orderNo: N.value.order_no }).then(
+            function () {
+              a.navigateTo({ url: "/pages/upload-success/index" }),
+                (g.value = !1);
+            }
+          );
+        },
+        O = function () {
+          g.value = !1;
+        },
+        x = function () {
+          S.value = !1;
+        },
+        y = function (e) {
+          D(e), (S.value = !1);
+        },
+        D = function (e) {
+          o.showLoading("支付中"),
+            n
+              .payOrderAgain({ payMethod: e, order_no: N.value.order_no })
+              .then(function (t) {
+                s.payForOrder({ payMethod: e, data: t })
+                  .then(function (e) {
+                    var t = e.orderNo;
+                    a.navigateTo({
+                      url: "/pages/pay-success/index",
+                      params: { orderNo: t },
+                    });
+                  })
+                  .catch(function (e) {
+                    var t = e.orderNo;
+                    a.navigateTo({
+                      url: "/pages/pay-fail/index",
+                      params: { orderNo: t },
+                    });
+                  });
+              });
+        },
+        L = function () {
+          return m.value === r.PageStatusEnum.NOMORE
+            ? Promise.resolve()
+            : ((m.value = r.PageStatusEnum.LOADING),
+              n
+                .getOrderList({
+                  page: v.value,
+                  status: d.value[c.value].status,
+                })
+                .then(function (t) {
+                  var u = t.data,
+                    n = t.per_page;
+                  0 === u.length && 0 === E.value.length
+                    ? (p.value = !0)
+                    : ((p.value = !1),
+                      u.length < n && (m.value = r.PageStatusEnum.NOMORE),
+                      1 === v.value
+                        ? (E.value = u)
+                        : (E.value = e._.concat(E.value, u)));
+                }));
+        },
+        j = function () {
+          o.showLoading(),
+            (_.value = !0),
+            (m.value = ""),
+            (v.value = 1),
+            L().then(function () {
+              (_.value = !1),
+                o.hideLoading(),
+                e.index.stopPullDownRefresh(),
+                e.index.pageScrollTo({ scrollTop: 0, duration: 100 });
+            });
+        };
+      return (
+        t.onMounted(function (t) {
+          var u = t.tabIndex;
+          e.index.$on("updateMyOrderList", function (e) {
+            j();
+          }),
+            (c.value = u || 0),
+            L().then(function () {
+              (f.value = !1),
+                o.hideLoading(),
+                e.index.pageScrollTo({ scrollTop: 0, duration: 100 });
+            });
+        }),
+        e.onPullDownRefresh(function () {
+          j();
+        }),
+        e.onReachBottom(function () {
+          v.value++, L();
+        }),
+        e.onPageScroll(function (t) {
+          var u = t.scrollTop;
+          l.value = u >= e.index.getSystemInfoSync().windowHeight / 3;
+        }),
+        u.onShareAppMessage(),
+        function (t, u) {
+          return e.e(
+            { a: P(), b: !f.value },
+            f.value
+              ? {}
+              : e.e(
+                  {
+                    c: e.f(d.value, function (t, u, n) {
+                      return {
+                        a: e.t(t.title),
+                        b: e.n(c.value === u ? "active" : ""),
+                        c: u,
+                        d: e.o(function (t) {
+                          return (function (t) {
+                            var u = t.index;
+                            c.value !== u &&
+                              ((v.value = 1),
+                              (m.value = ""),
+                              (E.value = []),
+                              (c.value = u),
+                              o.showLoading(),
+                              L().then(function () {
+                                o.hideLoading(),
+                                  e.index.pageScrollTo({
+                                    scrollTop: 0,
+                                    duration: 100,
+                                  });
+                              }));
+                          })({ index: u });
+                        }, u),
+                      };
+                    }),
+                    d: !p.value,
+                  },
+                  p.value
+                    ? {}
+                    : {
+                        e: e.f(E.value, function (t, u, n) {
+                          return e.e(
+                            {
+                              a: e.t(
+                                e.unref(s.getProduct)(t.product_id).product_name
+                              ),
+                              b: t.status === e.unref(r.OrderStatusEnum).UNPAID,
+                            },
+                            (t.status, e.unref(r.OrderStatusEnum).UNPAID, {}),
+                            { c: t.status === e.unref(r.OrderStatusEnum).PAID },
+                            t.status === e.unref(r.OrderStatusEnum).PAID
+                              ? {
+                                  d: e.t(
+                                    e.unref(s.getOrderStatus)(t.productList)
+                                  ),
+                                }
+                              : {},
+                            {
+                              e: t.status === e.unref(r.OrderStatusEnum).REFUND,
+                            },
+                            (t.status, e.unref(r.OrderStatusEnum).REFUND, {}),
+                            {
+                              f:
+                                t.status ===
+                                e.unref(r.OrderStatusEnum).COMPLETE,
+                            },
+                            (t.status, e.unref(r.OrderStatusEnum).COMPLETE, {}),
+                            { g: e.t(t.order_no), h: t.car_name },
+                            t.car_name ? { i: e.t(t.car_name) } : {},
+                            { j: t.car_no },
+                            t.car_no
+                              ? {
+                                  k: "2e6df7a1-0-" + n,
+                                  l: e.p({ data: t.car_no }),
+                                }
+                              : {},
+                            { m: t.vin },
+                            t.vin
+                              ? {
+                                  n: e.t(
+                                    (t.vin || "")
+                                      .toString()
+                                      .replace(/^(.{5}).{6}/, "$1******")
+                                  ),
+                                }
+                              : {},
+                            { o: e.t(t.create_time), p: t.productList },
+                            t.productList
+                              ? {
+                                  q: e.f(t.productList, function (u, o, a) {
+                                    return e.e(
+                                      {
+                                        a: e.t(
+                                          e.unref(s.getProduct)(u.product_id)
+                                            .product_name
+                                        ),
+                                        b: e.t(
+                                          e.unref(s.getProduct)(u.product_id)
+                                            .product_desc
+                                        ),
+                                        c:
+                                          t.status !==
+                                            e.unref(r.OrderStatusEnum).REFUND &&
+                                          u.status ===
+                                            e.unref(r.ProductStatusEnum)
+                                              .IN_QUERY,
+                                      },
+                                      t.status !==
+                                        e.unref(r.OrderStatusEnum).REFUND &&
+                                        u.status ===
+                                          e.unref(r.ProductStatusEnum).IN_QUERY
+                                        ? {
+                                            d: "2e6df7a1-1-" + n + "-" + a,
+                                            e: e.p({
+                                              iconType: "snow",
+                                              iconSize: 20,
+                                              status: "loading",
+                                              showText: !1,
+                                            }),
+                                          }
+                                        : {},
+                                      t.status !==
+                                        e.unref(r.OrderStatusEnum).REFUND
+                                        ? e.e(
+                                            {
+                                              f:
+                                                u.status ===
+                                                e.unref(r.ProductStatusEnum)
+                                                  .SUCCESS,
+                                            },
+                                            u.status ===
+                                              e.unref(r.ProductStatusEnum)
+                                                .SUCCESS
+                                              ? {
+                                                  g: e.o(function (e) {
+                                                    return I(u);
+                                                  }, u.id),
+                                                }
+                                              : {},
+                                            {
+                                              h:
+                                                u.status ===
+                                                  e.unref(r.ProductStatusEnum)
+                                                    .FAIL &&
+                                                (u.product_id ==
+                                                  e.unref(r.ProductTypeEnum)
+                                                    .INSURANCE_MAINTAIN ||
+                                                  u.product_id ===
+                                                    e.unref(r.ProductTypeEnum)
+                                                      .ACCIDENT),
+                                            },
+                                            u.status !==
+                                              e.unref(r.ProductStatusEnum)
+                                                .FAIL ||
+                                              (u.product_id !=
+                                                e.unref(r.ProductTypeEnum)
+                                                  .INSURANCE_MAINTAIN &&
+                                                u.product_id !==
+                                                  e.unref(r.ProductTypeEnum)
+                                                    .ACCIDENT)
+                                              ? {}
+                                              : {
+                                                  i: e.o(function (e) {
+                                                    return I(u);
+                                                  }, u.id),
+                                                },
+                                            {
+                                              j:
+                                                u.status ===
+                                                e.unref(r.ProductStatusEnum)
+                                                  .IN_QUERY,
+                                            },
+                                            u.status ===
+                                              e.unref(r.ProductStatusEnum)
+                                                .IN_QUERY
+                                              ? { k: e.o(T, u.id) }
+                                              : {},
+                                            {
+                                              l:
+                                                u.status ===
+                                                  e.unref(r.ProductStatusEnum)
+                                                    .FAIL &&
+                                                u.product_id !==
+                                                  e.unref(r.ProductTypeEnum)
+                                                    .INSURANCE_MAINTAIN &&
+                                                u.product_id !==
+                                                  e.unref(r.ProductTypeEnum)
+                                                    .ACCIDENT,
+                                            },
+                                            (u.status ===
+                                              e.unref(r.ProductStatusEnum)
+                                                .FAIL &&
+                                              u.product_id !==
+                                                e.unref(r.ProductTypeEnum)
+                                                  .INSURANCE_MAINTAIN &&
+                                              (u.product_id,
+                                              e.unref(r.ProductTypeEnum)
+                                                .ACCIDENT),
+                                            {})
+                                          )
+                                        : {},
+                                      { m: u.id }
+                                    );
+                                  }),
+                                  r:
+                                    t.status !==
+                                    e.unref(r.OrderStatusEnum).REFUND,
+                                }
+                              : {},
+                            {
+                              s: t.status !== e.unref(r.OrderStatusEnum).REFUND,
+                            },
+                            t.status !== e.unref(r.OrderStatusEnum).REFUND
+                              ? e.e(
+                                  {
+                                    t:
+                                      t.status ===
+                                      e.unref(r.OrderStatusEnum).UNPAID,
+                                  },
+                                  t.status === e.unref(r.OrderStatusEnum).UNPAID
+                                    ? {
+                                        v: e.o(function (e) {
+                                          return (
+                                            (u = t),
+                                            (N.value = u),
+                                            void D(r.PayMethodEnum.WECHAT_PAY)
+                                          );
+                                          var u;
+                                        }, t.order_no),
+                                      }
+                                    : {},
+                                  { w: h(t) },
+                                  h(t)
+                                    ? e.e(
+                                        {
+                                          x: e.o(function (e) {
+                                            return (
+                                              (u = t),
+                                              void s
+                                                .chooseDrivingLicense({
+                                                  orderNo: u.order_no,
+                                                })
+                                                .then(function () {
+                                                  a.navigateTo({
+                                                    url: "/pages/upload-success/index",
+                                                  });
+                                                })
+                                            );
+                                            var u;
+                                          }, t.order_no),
+                                          y:
+                                            t.vin ||
+                                            t.type ===
+                                              e.unref(r.ProductTypeEnum)
+                                                .VIOLATION,
+                                        },
+                                        t.vin ||
+                                          t.type ===
+                                            e.unref(r.ProductTypeEnum).VIOLATION
+                                          ? {
+                                              z: e.o(function (e) {
+                                                return (
+                                                  (u = t),
+                                                  (g.value = !0),
+                                                  void (N.value = u)
+                                                );
+                                                var u;
+                                              }, t.order_no),
+                                            }
+                                          : {}
+                                      )
+                                    : {}
+                                )
+                              : {},
+                            {
+                              A: t.order_no,
+                              B: e.o(function (e) {
+                                return (function (e) {
+                                  var t = e.order_no,
+                                    u = e.product_id;
+                                  a.navigateTo({
+                                    url: "/pages/order-detail/index",
+                                    params: {
+                                      orderNo: t,
+                                      productName: s.getProduct(u).product_name,
+                                    },
+                                  });
+                                })(t);
+                              }, t.order_no),
+                            }
+                          );
+                        }),
+                        f: E.value.length,
+                        g: e.p({ iconType: "snow", status: m.value }),
+                      },
+                  { h: p.value },
+                  p.value ? { i: e.p({ info: "暂无订单记录" }) } : {},
+                  {
+                    j: e.o(j),
+                    k: e.p({ loading: _.value }),
+                    l: e.p({ visible: l.value }),
+                    m: e.o(O),
+                    n: e.o(A),
+                    o: e.p({ visible: g.value }),
+                    p: e.o(x),
+                    q: e.o(y),
+                    r: e.p({ visible: S.value }),
+                  }
+                )
+          );
+        }
+      );
+    },
+  },
+  m = e._export_sfc(v, [["__scopeId", "data-v-2e6df7a1"]]);
+(v.__runtimeHooks = 3), wx.createPage(m);
diff --git a/pages/order-list-mine/index.json b/pages/order-list-mine/index.json
new file mode 100644
index 0000000..6c90636
--- /dev/null
+++ b/pages/order-list-mine/index.json
@@ -0,0 +1,14 @@
+{
+  "navigationBarTitleText": "我的订单",
+  "enablePullDownRefresh": true,
+  "onReachBottomDistance": 50,
+  "usingComponents": {
+    "uni-load-more": "../../uni_modules/uni-load-more/components/uni-load-more/uni-load-more",
+    "popup-upload-tips": "../../components/popup-upload-tips/index",
+    "popup-pay-again": "../../components/popup-pay-again/index",
+    "float-refresh": "../../components/float-refresh/index",
+    "float-back-to-top": "../../components/float-back-to-top/index",
+    "empty": "../../components/empty/index",
+    "vehicle-number": "../../components/vehicle-number/index"
+  }
+}
diff --git a/pages/order-list-mine/index.wxml b/pages/order-list-mine/index.wxml
new file mode 100644
index 0000000..0ef06c4
--- /dev/null
+++ b/pages/order-list-mine/index.wxml
@@ -0,0 +1,218 @@
+<page-meta class="data-v-2e6df7a1" pageStyle="{{a}}"></page-meta>
+<view class="content data-v-2e6df7a1" wx:if="{{b}}">
+  <view class="tabs data-v-2e6df7a1">
+    <view
+      bindtap="{{item.d}}"
+      class="{{['tab','data-v-2e6df7a1',item.b]}}"
+      wx:for="{{c}}"
+      wx:key="c"
+      >{{item.a}}</view
+    >
+  </view>
+  <view class="data-v-2e6df7a1" style="margin-top: 110rpx" wx:if="{{d}}">
+    <view
+      bindtap="{{item.B}}"
+      class="order data-v-2e6df7a1"
+      wx:for="{{e}}"
+      wx:key="A"
+    >
+      <view class="title-content data-v-2e6df7a1">
+        <view class="product-name data-v-2e6df7a1">{{item.a}}</view>
+        <view class="status type1 data-v-2e6df7a1" wx:if="{{item.b}}"
+          >待付款</view
+        >
+        <view class="status type4 data-v-2e6df7a1" wx:if="{{item.c}}">
+          已付款{{item.d}}</view
+        >
+        <view class="status type3 data-v-2e6df7a1" wx:if="{{item.e}}"
+          >已退款</view
+        >
+        <view class="status type4 data-v-2e6df7a1" wx:if="{{item.f}}"
+          >已完成</view
+        >
+      </view>
+      <view class="desc data-v-2e6df7a1">
+        <text class="label data-v-2e6df7a1">订单编号:</text>
+        <text class="value data-v-2e6df7a1">{{item.g}}</text>
+      </view>
+      <view class="desc data-v-2e6df7a1" wx:if="{{item.h}}">
+        <text class="label data-v-2e6df7a1">车辆型号:</text>
+        <text class="value data-v-2e6df7a1">{{item.i}}</text>
+      </view>
+      <view class="desc data-v-2e6df7a1" wx:if="{{item.j}}">
+        <text class="label data-v-2e6df7a1">车牌号码:</text>
+        <vehicle-number
+          bind:__l="__l"
+          class="data-v-2e6df7a1"
+          uI="{{item.k}}"
+          uP="{{item.l}}"
+          wx:if="{{item.l}}"
+        ></vehicle-number>
+      </view>
+      <view class="desc data-v-2e6df7a1" wx:if="{{item.m}}">
+        <text class="label data-v-2e6df7a1">VIN 号码:</text>
+        <text class="value vin data-v-2e6df7a1">{{item.n}}</text>
+      </view>
+      <view class="desc data-v-2e6df7a1">
+        <text class="label data-v-2e6df7a1">下单时间:</text>
+        <text class="value data-v-2e6df7a1">{{item.o}}</text>
+      </view>
+      <view class="product-list data-v-2e6df7a1" wx:if="{{item.p}}">
+        <view
+          class="product data-v-2e6df7a1"
+          wx:for="{{item.q}}"
+          wx:for-item="product"
+          wx:key="m"
+        >
+          <view class="product-wrap data-v-2e6df7a1">
+            <view class="product-content data-v-2e6df7a1">
+              <view class="product-name data-v-2e6df7a1">{{product.a}}</view>
+              <view class="product-desc data-v-2e6df7a1">{{product.b}}</view>
+              <view class="loading data-v-2e6df7a1" wx:if="{{product.c}}">
+                <uni-load-more
+                  bind:__l="__l"
+                  class="data-v-2e6df7a1"
+                  uI="{{product.d}}"
+                  uP="{{product.e}}"
+                  wx:if="{{product.e}}"
+                ></uni-load-more>
+              </view>
+            </view>
+            <view class="data-v-2e6df7a1" wx:if="{{item.r}}">
+              <view
+                class="button-content data-v-2e6df7a1"
+                wx:if="{{product.f}}"
+              >
+                <view
+                  catchtap="{{product.g}}"
+                  class="button type1 data-v-2e6df7a1"
+                  hoverClass="default-hover-class"
+                  hoverStayTime="100"
+                >
+                  查看报告
+                </view>
+              </view>
+              <view
+                class="button-content data-v-2e6df7a1"
+                wx:if="{{product.h}}"
+              >
+                <view
+                  catchtap="{{product.i}}"
+                  class="button type1 data-v-2e6df7a1"
+                  hoverClass="default-hover-class"
+                  hoverStayTime="100"
+                >
+                  查看报告
+                </view>
+              </view>
+              <view
+                class="button-content data-v-2e6df7a1"
+                wx:if="{{product.j}}"
+              >
+                <view
+                  catchtap="{{product.k}}"
+                  class="button type2 data-v-2e6df7a1"
+                  hoverClass="default-hover-class"
+                  hoverStayTime="100"
+                >
+                  我要催单
+                </view>
+                <view class="button type4 data-v-2e6df7a1"
+                  >正在查询中,请耐心等待</view
+                >
+              </view>
+              <view
+                class="button-content data-v-2e6df7a1"
+                wx:if="{{product.l}}"
+              >
+                <view class="button type3 data-v-2e6df7a1"
+                  >查询失败,请联系客服</view
+                >
+              </view>
+            </view>
+          </view>
+        </view>
+      </view>
+      <view class="bottom-content data-v-2e6df7a1" wx:if="{{item.s}}">
+        <view
+          catchtap="{{item.v}}"
+          class="button type1 data-v-2e6df7a1"
+          hoverClass="default-hover-class"
+          hoverStayTime="100"
+          wx:if="{{item.t}}"
+        >
+          去付款
+        </view>
+        <block wx:if="{{item.w}}">
+          <view
+            catchtap="{{item.x}}"
+            class="button type2 data-v-2e6df7a1"
+            hoverClass="default-hover-class"
+            hoverStayTime="100"
+          >
+            上传行驶证
+          </view>
+          <view
+            catchtap="{{item.z}}"
+            class="button type3 data-v-2e6df7a1"
+            hoverClass="default-hover-class"
+            hoverStayTime="100"
+            wx:if="{{item.y}}"
+          >
+            无法提供行驶证
+          </view>
+        </block>
+      </view>
+    </view>
+    <view class="loading-content data-v-2e6df7a1">
+      <uni-load-more
+        bind:__l="__l"
+        class="data-v-2e6df7a1"
+        data-c-h="{{!f}}"
+        uI="2e6df7a1-2"
+        uP="{{g}}"
+        wx:if="{{g}}"
+      ></uni-load-more>
+    </view>
+  </view>
+  <empty
+    bind:__l="__l"
+    class="data-v-2e6df7a1"
+    uI="2e6df7a1-3"
+    uP="{{i}}"
+    wx:if="{{h}}"
+  ></empty>
+  <float-refresh
+    bind:__l="__l"
+    bindclick="{{j}}"
+    class="data-v-2e6df7a1"
+    uI="2e6df7a1-4"
+    uP="{{k}}"
+    wx:if="{{k}}"
+  ></float-refresh>
+  <float-back-to-top
+    bind:__l="__l"
+    class="data-v-2e6df7a1"
+    uI="2e6df7a1-5"
+    uP="{{l}}"
+    wx:if="{{l}}"
+  ></float-back-to-top>
+  <popup-upload-tips
+    bind:__l="__l"
+    bindcancel="{{m}}"
+    bindconfirm="{{n}}"
+    class="data-v-2e6df7a1"
+    uI="2e6df7a1-6"
+    uP="{{o}}"
+    wx:if="{{o}}"
+  ></popup-upload-tips>
+  <popup-pay-again
+    bind:__l="__l"
+    bindclose="{{p}}"
+    bindconfirm="{{q}}"
+    class="data-v-2e6df7a1"
+    uI="2e6df7a1-7"
+    uP="{{r}}"
+    wx:if="{{r}}"
+  ></popup-pay-again>
+</view>
diff --git a/pages/order-list-mine/index.wxss b/pages/order-list-mine/index.wxss
new file mode 100644
index 0000000..50c7347
--- /dev/null
+++ b/pages/order-list-mine/index.wxss
@@ -0,0 +1,257 @@
+.content.data-v-2e6df7a1 {
+  padding-bottom: 10rpx;
+}
+.content .tabs.data-v-2e6df7a1 {
+  align-items: center;
+  background-color: #fff;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 32rpx;
+  height: 90rpx;
+  justify-content: space-evenly;
+  left: 0;
+  position: fixed;
+  top: 0;
+  width: 100%;
+  z-index: 55;
+}
+.content .tabs .tab.data-v-2e6df7a1 {
+  height: 90rpx;
+  line-height: 90rpx;
+}
+.content .tabs .tab.active.data-v-2e6df7a1 {
+  border-bottom: 4rpx solid #1f68e9;
+  color: #1f68e9;
+}
+.content .loading-content.data-v-2e6df7a1 {
+  margin: 30rpx;
+}
+.content .order.data-v-2e6df7a1 {
+  background: #fff;
+  border-radius: 10rpx;
+  margin: 25rpx;
+  padding: 25rpx 30rpx;
+}
+.content .order .title-content.data-v-2e6df7a1 {
+  align-items: center;
+  border-bottom: 2rpx solid #f2f2f2;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin-bottom: 30rpx;
+  padding-bottom: 20rpx;
+}
+.content .order .title-content .product-name.data-v-2e6df7a1 {
+  color: #333;
+  font-size: 32rpx;
+  font-weight: 700;
+}
+.content .order .title-content .status.data-v-2e6df7a1 {
+  font-size: 28rpx;
+  font-weight: 700;
+}
+.content .order .title-content .status.type1.data-v-2e6df7a1 {
+  color: #eb010b;
+}
+.content .order .title-content .status.type2.data-v-2e6df7a1 {
+  color: #1f68e9;
+}
+.content .order .title-content .status.type3.data-v-2e6df7a1 {
+  color: #999;
+}
+.content .order .title-content .status.type4.data-v-2e6df7a1 {
+  color: #333;
+}
+.content .order .desc.data-v-2e6df7a1 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  margin: 15rpx 0;
+}
+.content .order .desc .label.data-v-2e6df7a1 {
+  color: #333;
+  flex-shrink: 0;
+  width: 155rpx;
+}
+.content .order .desc .value.data-v-2e6df7a1 {
+  color: #333;
+}
+.content .order .desc .value.vin.data-v-2e6df7a1 {
+  color: #1f68e9;
+}
+.content .order .product-list.data-v-2e6df7a1 {
+  margin-top: 20rpx;
+  padding: 5rpx 0;
+}
+.content .order .product-list .product.data-v-2e6df7a1 {
+  border-top: 2rpx solid #f2f2f2;
+  padding: 20rpx 0;
+}
+.content .order .product-list .product .product-wrap.data-v-2e6df7a1 {
+  background-color: rgba(234, 241, 248, 0.408);
+  border-radius: 10rpx;
+  padding: 20rpx;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .product-content.data-v-2e6df7a1 {
+  color: #555;
+  position: relative;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .product-content
+  .product-name.data-v-2e6df7a1 {
+  font-size: 30rpx;
+  font-weight: 700;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .product-content
+  .product-desc.data-v-2e6df7a1 {
+  color: #5f5f5f;
+  font-size: 28rpx;
+  margin-top: 5rpx;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .product-content
+  .loading.data-v-2e6df7a1 {
+  position: absolute;
+  right: 0;
+  top: 0;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .product-content
+  .upload.data-v-2e6df7a1 {
+  color: #1f68e9;
+  font-size: 28rpx;
+  font-weight: 700;
+  position: absolute;
+  right: 0;
+  top: 0;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .button-content.data-v-2e6df7a1 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: row-reverse;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .button-content
+  .button.data-v-2e6df7a1 {
+  align-items: center;
+  border-radius: 30rpx;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 28rpx;
+  height: 60rpx;
+  justify-content: center;
+  margin-top: 10rpx;
+  width: 165rpx;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .button-content
+  .button.type1.data-v-2e6df7a1 {
+  border: 2rpx solid #1f68e9;
+  color: #1f68e9;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .button-content
+  .button.type2.data-v-2e6df7a1 {
+  border: 2rpx solid #c4c8d1;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .button-content
+  .button.type3.data-v-2e6df7a1 {
+  border: none;
+  color: brown;
+  width: auto;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .button-content
+  .button.type4.data-v-2e6df7a1 {
+  color: #ff7038;
+  font-size: 26rpx;
+  margin-right: 10rpx;
+  width: 300rpx;
+}
+.content .order .bottom-content.data-v-2e6df7a1 {
+  align-items: center;
+  border-top: 2rpx solid #f2f2f2;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: row-reverse;
+  flex-grow: 1;
+  padding-top: 20rpx;
+}
+.content .order .bottom-content .button.data-v-2e6df7a1 {
+  align-items: center;
+  border-radius: 30rpx;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 28rpx;
+  height: 60rpx;
+  justify-content: center;
+  width: 165rpx;
+}
+.content .order .bottom-content .button.type1.data-v-2e6df7a1 {
+  background: #1f68e9;
+  color: #fff;
+}
+.content .order .bottom-content .button.type2.data-v-2e6df7a1 {
+  border: 2rpx solid #c4c8d1;
+}
+.content .order .bottom-content .button.type3.data-v-2e6df7a1 {
+  color: #1f68e9;
+  margin-right: 10rpx;
+  width: 220rpx;
+}
+.content .order .tips.data-v-2e6df7a1 {
+  color: #ff7038;
+  font-size: 25rpx;
+  margin-top: 20rpx;
+  text-align: right;
+}
diff --git a/pages/order-list/index.js b/pages/order-list/index.js
new file mode 100644
index 0000000..847a8d8
--- /dev/null
+++ b/pages/order-list/index.js
@@ -0,0 +1,477 @@
+var e = require("../../common/vendor.js"),
+  u = require("../../hooks/onMounted.js"),
+  t = require("../../hooks/onShow.js"),
+  n = require("../../hooks/onShareAppMessage.js"),
+  r = require("../../service/index.js"),
+  o = require("../../enums/index.js"),
+  a = require("../../utils/util.js"),
+  s = require("../../utils/navigate.js"),
+  i = require("../../utils/common.js");
+require("../../hooks/useState.js"),
+  require("../../store/app/index.js"),
+  require("../../data/index.js"),
+  require("../../config/index.js"),
+  require("../../constant/index.js"),
+  require("../../utils/request.js"),
+  Array || e.resolveComponent("uni-load-more")();
+Math ||
+  (
+    e.unref(v) +
+    function () {
+      return "../../uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js";
+    } +
+    e.unref(p) +
+    e.unref(f) +
+    e.unref(l) +
+    e.unref(d) +
+    e.unref(c)
+  )();
+var d = function () {
+    return "../../components/popup-upload-tips/index.js";
+  },
+  c = function () {
+    return "../../components/popup-pay-again/index.js";
+  },
+  f = function () {
+    return "../../components/float-refresh/index.js";
+  },
+  l = function () {
+    return "../../components/float-back-to-top/index.js";
+  },
+  p = function () {
+    return "../../components/empty/index.js";
+  },
+  v = function () {
+    return "../../components/vehicle-number/index.js";
+  },
+  m = {
+    __name: "index",
+    setup: function (d) {
+      var c = e.ref(!0),
+        f = e.ref(!1),
+        l = e.ref(!1),
+        p = e.ref(1),
+        v = e.ref(o.PageStatusEnum.LOADING),
+        m = e.ref([]),
+        E = e.ref(!1),
+        _ = e.ref(!1),
+        S = e.ref(!1),
+        g = e.ref(null),
+        N = function () {
+          var e = _.value || S.value;
+          return "height: 100%; overflow: "
+            .concat(e ? "hidden" : "visible", "; position: ")
+            .concat(e ? "fixed" : "relative");
+        },
+        h = function (u) {
+          return e._.find(u.productList, function (e) {
+            return e.status === o.ProductStatusEnum.TO_BE_UPLOADED;
+          });
+        },
+        P = function (e) {
+          var u = e.order_no,
+            t = e.product_id,
+            n = e.status;
+          i.openReport({ orderNo: u, productId: t, status: n });
+        },
+        I = function () {
+          a.showToast("已经帮您催了,请耐心等待一会儿...");
+        },
+        A = function () {
+          i.queryWithoutDrivingLicense({ orderNo: g.value.order_no }).then(
+            function () {
+              s.navigateTo({ url: "/pages/upload-success/index" }),
+                (_.value = !1);
+            }
+          );
+        },
+        T = function () {
+          _.value = !1;
+        },
+        O = function () {
+          S.value = !1;
+        },
+        x = function (e) {
+          y(e), (S.value = !1);
+        },
+        y = function (e) {
+          a.showLoading("支付中"),
+            r
+              .payOrderAgain({ payMethod: e, order_no: g.value.order_no })
+              .then(function (u) {
+                i.payForOrder({ payMethod: e, data: u })
+                  .then(function (e) {
+                    var u = e.orderNo;
+                    s.navigateTo({
+                      url: "/pages/pay-success/index",
+                      params: { orderNo: u },
+                    });
+                  })
+                  .catch(function (e) {
+                    var u = e.orderNo;
+                    s.navigateTo({
+                      url: "/pages/pay-fail/index",
+                      params: { orderNo: u },
+                    });
+                  });
+              });
+        },
+        D = function () {
+          return v.value === o.PageStatusEnum.NOMORE
+            ? Promise.resolve()
+            : ((v.value = o.PageStatusEnum.LOADING),
+              r
+                .getOrderList({ page: p.value, status: 0 })
+                .then(function (u) {
+                  var t = u.data,
+                    n = u.per_page;
+                  0 === t.length && 0 === m.value.length
+                    ? (l.value = !0)
+                    : ((l.value = !1),
+                      t.length < n && (v.value = o.PageStatusEnum.NOMORE),
+                      1 === p.value
+                        ? (m.value = t)
+                        : (m.value = e._.concat(m.value, t)));
+                })
+                .catch(function () {
+                  l.value = !0;
+                })
+                .finally(function () {
+                  a.hideLoading(), e.index.stopPullDownRefresh();
+                }));
+        },
+        L = function () {
+          a.showLoading(),
+            (E.value = !0),
+            (v.value = ""),
+            (p.value = 1),
+            D().then(function () {
+              (E.value = !1),
+                a.hideLoading(),
+                e.index.stopPullDownRefresh(),
+                e.index.pageScrollTo({ scrollTop: 0, duration: 100 });
+            });
+        };
+      return (
+        u.onMounted(function () {
+          e.index.$on("updateOrderList", function (u) {
+            return (function (u) {
+              var t = e._.findIndex(m.value, function (e) {
+                return e.order_no === u;
+              });
+              -1 === t
+                ? L()
+                : r.getOrderDetail({ order_no: u }).then(function (e) {
+                    var u = m.value[t];
+                    (u.vin = e.vin),
+                      (u.car_no = e.car_no),
+                      (u.status = e.status),
+                      (u.productList = e.productList),
+                      (m.value[t] = u);
+                  });
+            })(u);
+          }),
+            D().then(function () {
+              (c.value = !1),
+                a.hideLoading(),
+                e.index.pageScrollTo({ scrollTop: 0, duration: 100 });
+            });
+        }),
+        e.onPullDownRefresh(function () {
+          L();
+        }),
+        e.onReachBottom(function () {
+          p.value++, D();
+        }),
+        e.onPageScroll(function (u) {
+          var t = u.scrollTop;
+          f.value = t >= e.index.getSystemInfoSync().windowHeight / 3;
+        }),
+        t.onShow(),
+        n.onShareAppMessage(),
+        function (u, t) {
+          return e.e(
+            { a: N(), b: !c.value },
+            c.value
+              ? {}
+              : e.e(
+                  { c: !l.value },
+                  l.value
+                    ? {}
+                    : {
+                        d: e.f(m.value, function (u, t, n) {
+                          return e.e(
+                            {
+                              a: e.t(
+                                e.unref(i.getProduct)(u.product_id).product_name
+                              ),
+                              b: u.status === e.unref(o.OrderStatusEnum).UNPAID,
+                            },
+                            (u.status, e.unref(o.OrderStatusEnum).UNPAID, {}),
+                            { c: u.status === e.unref(o.OrderStatusEnum).PAID },
+                            u.status === e.unref(o.OrderStatusEnum).PAID
+                              ? {
+                                  d: e.t(
+                                    e.unref(i.getOrderStatus)(u.productList)
+                                  ),
+                                }
+                              : {},
+                            {
+                              e: u.status === e.unref(o.OrderStatusEnum).REFUND,
+                            },
+                            (u.status, e.unref(o.OrderStatusEnum).REFUND, {}),
+                            {
+                              f:
+                                u.status ===
+                                e.unref(o.OrderStatusEnum).COMPLETE,
+                            },
+                            (u.status, e.unref(o.OrderStatusEnum).COMPLETE, {}),
+                            { g: e.t(u.order_no), h: u.car_name },
+                            u.car_name ? { i: e.t(u.car_name) } : {},
+                            { j: u.car_no },
+                            u.car_no
+                              ? {
+                                  k: "2f990aa7-0-" + n,
+                                  l: e.p({ data: u.car_no }),
+                                }
+                              : {},
+                            { m: u.vin },
+                            u.vin
+                              ? {
+                                  n: e.t(
+                                    (u.vin || "")
+                                      .toString()
+                                      .replace(/^(.{5}).{6}/, "$1******")
+                                  ),
+                                }
+                              : {},
+                            { o: e.t(u.create_time), p: u.productList },
+                            u.productList
+                              ? {
+                                  q: e.f(u.productList, function (t, r, a) {
+                                    return e.e(
+                                      {
+                                        a: e.t(
+                                          e.unref(i.getProduct)(t.product_id)
+                                            .product_name
+                                        ),
+                                        b: e.t(
+                                          e.unref(i.getProduct)(t.product_id)
+                                            .product_desc
+                                        ),
+                                        c:
+                                          u.status !==
+                                            e.unref(o.OrderStatusEnum).REFUND &&
+                                          t.status ===
+                                            e.unref(o.ProductStatusEnum)
+                                              .IN_QUERY,
+                                      },
+                                      u.status !==
+                                        e.unref(o.OrderStatusEnum).REFUND &&
+                                        t.status ===
+                                          e.unref(o.ProductStatusEnum).IN_QUERY
+                                        ? {
+                                            d: "2f990aa7-1-" + n + "-" + a,
+                                            e: e.p({
+                                              iconType: "snow",
+                                              iconSize: 20,
+                                              status: "loading",
+                                              showText: !1,
+                                            }),
+                                          }
+                                        : {},
+                                      u.status !==
+                                        e.unref(o.OrderStatusEnum).REFUND
+                                        ? e.e(
+                                            {
+                                              f:
+                                                t.status ===
+                                                e.unref(o.ProductStatusEnum)
+                                                  .SUCCESS,
+                                            },
+                                            t.status ===
+                                              e.unref(o.ProductStatusEnum)
+                                                .SUCCESS
+                                              ? {
+                                                  g: e.o(function (e) {
+                                                    return P(t);
+                                                  }, t.id),
+                                                }
+                                              : {},
+                                            {
+                                              h:
+                                                t.status ===
+                                                  e.unref(o.ProductStatusEnum)
+                                                    .FAIL &&
+                                                (t.product_id ==
+                                                  e.unref(o.ProductTypeEnum)
+                                                    .INSURANCE_MAINTAIN ||
+                                                  t.product_id ===
+                                                    e.unref(o.ProductTypeEnum)
+                                                      .ACCIDENT),
+                                            },
+                                            t.status !==
+                                              e.unref(o.ProductStatusEnum)
+                                                .FAIL ||
+                                              (t.product_id !=
+                                                e.unref(o.ProductTypeEnum)
+                                                  .INSURANCE_MAINTAIN &&
+                                                t.product_id !==
+                                                  e.unref(o.ProductTypeEnum)
+                                                    .ACCIDENT)
+                                              ? {}
+                                              : {
+                                                  i: e.o(function (e) {
+                                                    return P(t);
+                                                  }, t.id),
+                                                },
+                                            {
+                                              j:
+                                                t.status ===
+                                                e.unref(o.ProductStatusEnum)
+                                                  .IN_QUERY,
+                                            },
+                                            t.status ===
+                                              e.unref(o.ProductStatusEnum)
+                                                .IN_QUERY
+                                              ? { k: e.o(I, t.id) }
+                                              : {},
+                                            {
+                                              l:
+                                                t.status ===
+                                                  e.unref(o.ProductStatusEnum)
+                                                    .FAIL &&
+                                                t.product_id !==
+                                                  e.unref(o.ProductTypeEnum)
+                                                    .INSURANCE_MAINTAIN &&
+                                                t.product_id !==
+                                                  e.unref(o.ProductTypeEnum)
+                                                    .ACCIDENT,
+                                            },
+                                            (t.status ===
+                                              e.unref(o.ProductStatusEnum)
+                                                .FAIL &&
+                                              t.product_id !==
+                                                e.unref(o.ProductTypeEnum)
+                                                  .INSURANCE_MAINTAIN &&
+                                              (t.product_id,
+                                              e.unref(o.ProductTypeEnum)
+                                                .ACCIDENT),
+                                            {})
+                                          )
+                                        : {},
+                                      { m: t.id }
+                                    );
+                                  }),
+                                  r:
+                                    u.status !==
+                                    e.unref(o.OrderStatusEnum).REFUND,
+                                }
+                              : {},
+                            {
+                              s: u.status !== e.unref(o.OrderStatusEnum).REFUND,
+                            },
+                            u.status !== e.unref(o.OrderStatusEnum).REFUND
+                              ? e.e(
+                                  {
+                                    t:
+                                      u.status ===
+                                      e.unref(o.OrderStatusEnum).UNPAID,
+                                  },
+                                  u.status === e.unref(o.OrderStatusEnum).UNPAID
+                                    ? {
+                                        v: e.o(function (e) {
+                                          return (
+                                            (t = u),
+                                            (g.value = t),
+                                            void y(o.PayMethodEnum.WECHAT_PAY)
+                                          );
+                                          var t;
+                                        }, u.order_no),
+                                      }
+                                    : {},
+                                  { w: h(u) },
+                                  h(u)
+                                    ? e.e(
+                                        {
+                                          x: e.o(function (e) {
+                                            return (
+                                              (t = u),
+                                              void i
+                                                .chooseDrivingLicense({
+                                                  orderNo: t.order_no,
+                                                })
+                                                .then(function () {
+                                                  s.navigateTo({
+                                                    url: "/pages/upload-success/index",
+                                                  });
+                                                })
+                                            );
+                                            var t;
+                                          }, u.order_no),
+                                          y:
+                                            u.vin ||
+                                            u.type ===
+                                              e.unref(o.ProductTypeEnum)
+                                                .VIOLATION,
+                                        },
+                                        u.vin ||
+                                          u.type ===
+                                            e.unref(o.ProductTypeEnum).VIOLATION
+                                          ? {
+                                              z: e.o(function (e) {
+                                                return (
+                                                  (t = u),
+                                                  (_.value = !0),
+                                                  void (g.value = t)
+                                                );
+                                                var t;
+                                              }, u.order_no),
+                                            }
+                                          : {}
+                                      )
+                                    : {}
+                                )
+                              : {},
+                            {
+                              A: u.order_no,
+                              B: e.o(function (e) {
+                                return (function (e) {
+                                  var u = e.order_no,
+                                    t = e.product_id;
+                                  s.navigateTo({
+                                    url: "/pages/order-detail/index",
+                                    params: {
+                                      orderNo: u,
+                                      productName: i.getProduct(t).product_name,
+                                    },
+                                  });
+                                })(u);
+                              }, u.order_no),
+                            }
+                          );
+                        }),
+                        e: m.value.length,
+                        f: e.p({ iconType: "snow", status: v.value }),
+                      },
+                  { g: l.value },
+                  l.value ? { h: e.p({ info: "暂无订单记录" }) } : {},
+                  {
+                    i: e.o(L),
+                    j: e.p({ loading: E.value }),
+                    k: e.p({ visible: f.value }),
+                    l: e.o(T),
+                    m: e.o(A),
+                    n: e.p({ visible: _.value }),
+                    o: e.o(O),
+                    p: e.o(x),
+                    q: e.p({ visible: S.value }),
+                  }
+                )
+          );
+        }
+      );
+    },
+  },
+  E = e._export_sfc(m, [["__scopeId", "data-v-2f990aa7"]]);
+(m.__runtimeHooks = 3), wx.createPage(E);
diff --git a/pages/order-list/index.json b/pages/order-list/index.json
new file mode 100644
index 0000000..2c44836
--- /dev/null
+++ b/pages/order-list/index.json
@@ -0,0 +1,14 @@
+{
+  "navigationBarTitleText": "订单",
+  "enablePullDownRefresh": true,
+  "onReachBottomDistance": 50,
+  "usingComponents": {
+    "uni-load-more": "../../uni_modules/uni-load-more/components/uni-load-more/uni-load-more",
+    "popup-upload-tips": "../../components/popup-upload-tips/index",
+    "popup-pay-again": "../../components/popup-pay-again/index",
+    "float-refresh": "../../components/float-refresh/index",
+    "float-back-to-top": "../../components/float-back-to-top/index",
+    "empty": "../../components/empty/index",
+    "vehicle-number": "../../components/vehicle-number/index"
+  }
+}
diff --git a/pages/order-list/index.wxml b/pages/order-list/index.wxml
new file mode 100644
index 0000000..6f2b2f7
--- /dev/null
+++ b/pages/order-list/index.wxml
@@ -0,0 +1,209 @@
+<page-meta class="data-v-2f990aa7" pageStyle="{{a}}"></page-meta>
+<view class="content data-v-2f990aa7" wx:if="{{b}}">
+  <view class="data-v-2f990aa7" wx:if="{{c}}">
+    <view
+      bindtap="{{item.B}}"
+      class="order data-v-2f990aa7"
+      wx:for="{{d}}"
+      wx:key="A"
+    >
+      <view class="title-content data-v-2f990aa7">
+        <view class="product-name data-v-2f990aa7">{{item.a}}</view>
+        <view class="status type1 data-v-2f990aa7" wx:if="{{item.b}}"
+          >待付款</view
+        >
+        <view class="status type4 data-v-2f990aa7" wx:if="{{item.c}}">
+          已付款{{item.d}}</view
+        >
+        <view class="status type3 data-v-2f990aa7" wx:if="{{item.e}}"
+          >已退款</view
+        >
+        <view class="status type4 data-v-2f990aa7" wx:if="{{item.f}}"
+          >已完成</view
+        >
+      </view>
+      <view class="desc data-v-2f990aa7">
+        <text class="label data-v-2f990aa7">订单编号:</text>
+        <text class="value data-v-2f990aa7">{{item.g}}</text>
+      </view>
+      <view class="desc data-v-2f990aa7" wx:if="{{item.h}}">
+        <text class="label data-v-2f990aa7">车辆型号:</text>
+        <text class="value data-v-2f990aa7">{{item.i}}</text>
+      </view>
+      <view class="desc data-v-2f990aa7" wx:if="{{item.j}}">
+        <text class="label data-v-2f990aa7">车牌号码:</text>
+        <vehicle-number
+          bind:__l="__l"
+          class="data-v-2f990aa7"
+          uI="{{item.k}}"
+          uP="{{item.l}}"
+          wx:if="{{item.l}}"
+        ></vehicle-number>
+      </view>
+      <view class="desc data-v-2f990aa7" wx:if="{{item.m}}">
+        <text class="label data-v-2f990aa7">VIN 号码:</text>
+        <text class="value vin data-v-2f990aa7">{{item.n}}</text>
+      </view>
+      <view class="desc data-v-2f990aa7">
+        <text class="label data-v-2f990aa7">下单时间:</text>
+        <text class="value data-v-2f990aa7">{{item.o}}</text>
+      </view>
+      <view class="product-list data-v-2f990aa7" wx:if="{{item.p}}">
+        <view
+          class="product data-v-2f990aa7"
+          wx:for="{{item.q}}"
+          wx:for-item="product"
+          wx:key="m"
+        >
+          <view class="product-wrap data-v-2f990aa7">
+            <view class="product-content data-v-2f990aa7">
+              <view class="product-name data-v-2f990aa7">{{product.a}}</view>
+              <view class="product-desc data-v-2f990aa7">{{product.b}}</view>
+              <view class="loading data-v-2f990aa7" wx:if="{{product.c}}">
+                <uni-load-more
+                  bind:__l="__l"
+                  class="data-v-2f990aa7"
+                  uI="{{product.d}}"
+                  uP="{{product.e}}"
+                  wx:if="{{product.e}}"
+                ></uni-load-more>
+              </view>
+            </view>
+            <view class="data-v-2f990aa7" wx:if="{{item.r}}">
+              <view
+                class="button-content data-v-2f990aa7"
+                wx:if="{{product.f}}"
+              >
+                <view
+                  catchtap="{{product.g}}"
+                  class="button type1 data-v-2f990aa7"
+                  hoverClass="default-hover-class"
+                  hoverStayTime="100"
+                >
+                  查看报告
+                </view>
+              </view>
+              <view
+                class="button-content data-v-2f990aa7"
+                wx:if="{{product.h}}"
+              >
+                <view
+                  catchtap="{{product.i}}"
+                  class="button type1 data-v-2f990aa7"
+                  hoverClass="default-hover-class"
+                  hoverStayTime="100"
+                >
+                  查看报告
+                </view>
+              </view>
+              <view
+                class="button-content data-v-2f990aa7"
+                wx:if="{{product.j}}"
+              >
+                <view
+                  catchtap="{{product.k}}"
+                  class="button type2 data-v-2f990aa7"
+                  hoverClass="default-hover-class"
+                  hoverStayTime="100"
+                >
+                  我要催单
+                </view>
+                <view class="button type4 data-v-2f990aa7"
+                  >正在查询中,请耐心等待</view
+                >
+              </view>
+              <view
+                class="button-content data-v-2f990aa7"
+                wx:if="{{product.l}}"
+              >
+                <view class="button type3 data-v-2f990aa7"
+                  >查询失败,请联系客服</view
+                >
+              </view>
+            </view>
+          </view>
+        </view>
+      </view>
+      <view class="bottom-content data-v-2f990aa7" wx:if="{{item.s}}">
+        <view
+          catchtap="{{item.v}}"
+          class="button type1 data-v-2f990aa7"
+          hoverClass="default-hover-class"
+          hoverStayTime="100"
+          wx:if="{{item.t}}"
+        >
+          去付款
+        </view>
+        <block wx:if="{{item.w}}">
+          <view
+            catchtap="{{item.x}}"
+            class="button type2 data-v-2f990aa7"
+            hoverClass="default-hover-class"
+            hoverStayTime="100"
+          >
+            上传行驶证
+          </view>
+          <view
+            catchtap="{{item.z}}"
+            class="button type3 data-v-2f990aa7"
+            hoverClass="default-hover-class"
+            hoverStayTime="100"
+            wx:if="{{item.y}}"
+          >
+            无法提供行驶证
+          </view>
+        </block>
+      </view>
+    </view>
+    <view class="loading-content data-v-2f990aa7">
+      <uni-load-more
+        bind:__l="__l"
+        class="data-v-2f990aa7"
+        data-c-h="{{!e}}"
+        uI="2f990aa7-2"
+        uP="{{f}}"
+        wx:if="{{f}}"
+      ></uni-load-more>
+    </view>
+  </view>
+  <empty
+    bind:__l="__l"
+    class="data-v-2f990aa7"
+    uI="2f990aa7-3"
+    uP="{{h}}"
+    wx:if="{{g}}"
+  ></empty>
+  <float-refresh
+    bind:__l="__l"
+    bindclick="{{i}}"
+    class="data-v-2f990aa7"
+    uI="2f990aa7-4"
+    uP="{{j}}"
+    wx:if="{{j}}"
+  ></float-refresh>
+  <float-back-to-top
+    bind:__l="__l"
+    class="data-v-2f990aa7"
+    uI="2f990aa7-5"
+    uP="{{k}}"
+    wx:if="{{k}}"
+  ></float-back-to-top>
+  <popup-upload-tips
+    bind:__l="__l"
+    bindcancel="{{l}}"
+    bindconfirm="{{m}}"
+    class="data-v-2f990aa7"
+    uI="2f990aa7-6"
+    uP="{{n}}"
+    wx:if="{{n}}"
+  ></popup-upload-tips>
+  <popup-pay-again
+    bind:__l="__l"
+    bindclose="{{o}}"
+    bindconfirm="{{p}}"
+    class="data-v-2f990aa7"
+    uI="2f990aa7-7"
+    uP="{{q}}"
+    wx:if="{{q}}"
+  ></popup-pay-again>
+</view>
diff --git a/pages/order-list/index.wxss b/pages/order-list/index.wxss
new file mode 100644
index 0000000..384f92a
--- /dev/null
+++ b/pages/order-list/index.wxss
@@ -0,0 +1,235 @@
+.content.data-v-2f990aa7 {
+  padding-bottom: 10rpx;
+}
+.content .loading-content.data-v-2f990aa7 {
+  margin: 30rpx;
+}
+.content .order.data-v-2f990aa7 {
+  background: #fff;
+  border-radius: 10rpx;
+  margin: 25rpx;
+  padding: 25rpx 30rpx;
+}
+.content .order .title-content.data-v-2f990aa7 {
+  align-items: center;
+  border-bottom: 2rpx solid #f2f2f2;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin-bottom: 30rpx;
+  padding-bottom: 20rpx;
+}
+.content .order .title-content .product-name.data-v-2f990aa7 {
+  color: #333;
+  font-size: 32rpx;
+  font-weight: 700;
+}
+.content .order .title-content .status.data-v-2f990aa7 {
+  font-size: 28rpx;
+  font-weight: 700;
+}
+.content .order .title-content .status.type1.data-v-2f990aa7 {
+  color: #eb010b;
+}
+.content .order .title-content .status.type2.data-v-2f990aa7 {
+  color: #1f68e9;
+}
+.content .order .title-content .status.type3.data-v-2f990aa7 {
+  color: #999;
+}
+.content .order .title-content .status.type4.data-v-2f990aa7 {
+  color: #333;
+}
+.content .order .desc.data-v-2f990aa7 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  margin: 15rpx 0;
+}
+.content .order .desc .label.data-v-2f990aa7 {
+  color: #333;
+  flex-shrink: 0;
+  width: 155rpx;
+}
+.content .order .desc .value.data-v-2f990aa7 {
+  color: #333;
+}
+.content .order .desc .value.vin.data-v-2f990aa7 {
+  color: #1f68e9;
+}
+.content .order .product-list.data-v-2f990aa7 {
+  margin-top: 20rpx;
+  padding: 5rpx 0;
+}
+.content .order .product-list .product.data-v-2f990aa7 {
+  border-top: 2rpx solid #f2f2f2;
+  padding: 20rpx 0;
+}
+.content .order .product-list .product .product-wrap.data-v-2f990aa7 {
+  background-color: rgba(234, 241, 248, 0.408);
+  border-radius: 10rpx;
+  padding: 20rpx;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .product-content.data-v-2f990aa7 {
+  color: #555;
+  position: relative;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .product-content
+  .product-name.data-v-2f990aa7 {
+  font-size: 30rpx;
+  font-weight: 700;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .product-content
+  .product-desc.data-v-2f990aa7 {
+  color: #5f5f5f;
+  font-size: 28rpx;
+  margin-top: 5rpx;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .product-content
+  .loading.data-v-2f990aa7 {
+  position: absolute;
+  right: 0;
+  top: 0;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .product-content
+  .upload.data-v-2f990aa7 {
+  color: #1f68e9;
+  font-size: 28rpx;
+  font-weight: 700;
+  position: absolute;
+  right: 0;
+  top: 0;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .button-content.data-v-2f990aa7 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: row-reverse;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .button-content
+  .button.data-v-2f990aa7 {
+  align-items: center;
+  border-radius: 30rpx;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 28rpx;
+  height: 60rpx;
+  justify-content: center;
+  margin-top: 10rpx;
+  width: 165rpx;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .button-content
+  .button.type1.data-v-2f990aa7 {
+  border: 2rpx solid #1f68e9;
+  color: #1f68e9;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .button-content
+  .button.type2.data-v-2f990aa7 {
+  border: 2rpx solid #c4c8d1;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .button-content
+  .button.type3.data-v-2f990aa7 {
+  border: none;
+  color: brown;
+  width: auto;
+}
+.content
+  .order
+  .product-list
+  .product
+  .product-wrap
+  .button-content
+  .button.type4.data-v-2f990aa7 {
+  color: #ff7038;
+  font-size: 26rpx;
+  margin-right: 10rpx;
+  width: 300rpx;
+}
+.content .order .bottom-content.data-v-2f990aa7 {
+  align-items: center;
+  border-top: 2rpx solid #f2f2f2;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: row-reverse;
+  flex-grow: 1;
+  padding-top: 20rpx;
+}
+.content .order .bottom-content .button.data-v-2f990aa7 {
+  align-items: center;
+  border-radius: 30rpx;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 28rpx;
+  height: 60rpx;
+  justify-content: center;
+  width: 165rpx;
+}
+.content .order .bottom-content .button.type1.data-v-2f990aa7 {
+  background: #1f68e9;
+  color: #fff;
+}
+.content .order .bottom-content .button.type2.data-v-2f990aa7 {
+  border: 2rpx solid #c4c8d1;
+}
+.content .order .bottom-content .button.type3.data-v-2f990aa7 {
+  color: #1f68e9;
+  margin-right: 10rpx;
+  width: 220rpx;
+}
+.content .order .tips.data-v-2f990aa7 {
+  color: #ff7038;
+  font-size: 25rpx;
+  margin-top: 20rpx;
+  text-align: right;
+}
diff --git a/pages/pay-fail/index.js b/pages/pay-fail/index.js
new file mode 100644
index 0000000..5213534
--- /dev/null
+++ b/pages/pay-fail/index.js
@@ -0,0 +1,92 @@
+var e = require("../../common/vendor.js"),
+  r = require("../../hooks/onMounted.js"),
+  n = require("../../hooks/onShareAppMessage.js"),
+  o = require("../../service/index.js"),
+  i = require("../../utils/navigate.js"),
+  u = require("../../utils/util.js"),
+  a = require("../../enums/index.js"),
+  t = require("../../utils/common.js");
+require("../../hooks/useState.js"),
+  require("../../store/app/index.js"),
+  require("../../data/index.js"),
+  require("../../config/index.js"),
+  require("../../constant/index.js"),
+  require("../../utils/request.js"),
+  Math || (e.unref(d) + e.unref(c) + e.unref(s))();
+var s = function () {
+    return "../../components/popup-pay-again/index.js";
+  },
+  d = function () {
+    return "../../components/float-help/index.js";
+  },
+  c = function () {
+    return "../../components/float-share/index.js";
+  },
+  p = {
+    __name: "index",
+    setup: function (s) {
+      var d = e.ref(!0),
+        c = e.ref(""),
+        p = e.ref({}),
+        f = e.ref(!1),
+        l = function () {
+          i.redirectTo({ url: "/pages/order-list-mine/index" });
+        },
+        v = function () {
+          q(a.PayMethodEnum.WECHAT_PAY);
+        },
+        h = function () {
+          f.value = !1;
+        },
+        j = function (e) {
+          q(e), (f.value = !1);
+        },
+        q = function (e) {
+          u.showLoading("支付中"),
+            o
+              .payOrderAgain({ payMethod: e, order_no: c.value })
+              .then(function (r) {
+                t.payForOrder({ payMethod: e, data: r })
+                  .then(function (e) {
+                    var r = e.orderNo;
+                    i.redirectTo({
+                      url: "/pages/pay-success/index",
+                      params: { orderNo: r },
+                    });
+                  })
+                  .catch(function (e) {
+                    var r = e.orderNo;
+                    i.redirectTo({
+                      url: "/pages/pay-fail/index",
+                      params: { orderNo: r },
+                    });
+                  });
+              });
+        };
+      return (
+        r.onMounted(function (e) {
+          (c.value = e.orderNo),
+            o.getOrderDetail({ order_no: e.orderNo }).then(function (e) {
+              (p.value = e), (d.value = !1), u.hideLoading();
+            });
+        }),
+        n.onShareAppMessage(),
+        function (r, n) {
+          return e.e(
+            { a: !d.value },
+            d.value
+              ? {}
+              : {
+                  b: e.o(v),
+                  c: e.o(l),
+                  d: e.o(h),
+                  e: e.o(j),
+                  f: e.p({ visible: f.value }),
+                }
+          );
+        }
+      );
+    },
+  },
+  f = e._export_sfc(p, [["__scopeId", "data-v-cb7a366a"]]);
+(p.__runtimeHooks = 2), wx.createPage(f);
diff --git a/pages/pay-fail/index.json b/pages/pay-fail/index.json
new file mode 100644
index 0000000..49ff8b8
--- /dev/null
+++ b/pages/pay-fail/index.json
@@ -0,0 +1,8 @@
+{
+  "navigationBarTitleText": "支付失败",
+  "usingComponents": {
+    "popup-pay-again": "../../components/popup-pay-again/index",
+    "float-help": "../../components/float-help/index",
+    "float-share": "../../components/float-share/index"
+  }
+}
diff --git a/pages/pay-fail/index.wxml b/pages/pay-fail/index.wxml
new file mode 100644
index 0000000..64e0d2b
--- /dev/null
+++ b/pages/pay-fail/index.wxml
@@ -0,0 +1,45 @@
+<view class="content data-v-cb7a366a" wx:if="{{a}}">
+  <image
+    class="pic data-v-cb7a366a"
+    src="/static/images/pic_pay_fail.png"
+  ></image>
+  <view class="pay-status data-v-cb7a366a">支付失败</view>
+  <view class="tips data-v-cb7a366a">很遗憾,您没有支付成功</view>
+  <view class="button-content data-v-cb7a366a">
+    <button
+      bindtap="{{b}}"
+      class="button type1 data-v-cb7a366a"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+    >
+      重新支付
+    </button>
+    <button
+      bindtap="{{c}}"
+      class="button type3 data-v-cb7a366a"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+    >
+      查看订单
+    </button>
+  </view>
+  <float-help
+    bind:__l="__l"
+    class="data-v-cb7a366a"
+    uI="cb7a366a-0"
+  ></float-help>
+  <float-share
+    bind:__l="__l"
+    class="data-v-cb7a366a"
+    uI="cb7a366a-1"
+  ></float-share>
+  <popup-pay-again
+    bind:__l="__l"
+    bindclose="{{d}}"
+    bindconfirm="{{e}}"
+    class="data-v-cb7a366a"
+    uI="cb7a366a-2"
+    uP="{{f}}"
+    wx:if="{{f}}"
+  ></popup-pay-again>
+</view>
diff --git a/pages/pay-fail/index.wxss b/pages/pay-fail/index.wxss
new file mode 100644
index 0000000..f2c1641
--- /dev/null
+++ b/pages/pay-fail/index.wxss
@@ -0,0 +1,68 @@
+page {
+  background-color: #fff;
+  overflow: visible !important;
+}
+.content.data-v-cb7a366a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  padding: 60rpx;
+}
+.content .pic.data-v-cb7a366a {
+  height: 207rpx;
+  margin-top: 120rpx;
+  width: 319rpx;
+}
+.content .pay-status.data-v-cb7a366a {
+  font-size: 42rpx;
+  font-weight: 700;
+  margin-top: 100rpx;
+}
+.content .tips.data-v-cb7a366a {
+  color: #5e5e6b;
+  font-size: 28rpx;
+  line-height: 44rpx;
+  margin-top: 40rpx;
+  padding: 0 20rpx;
+}
+.content .view-report.data-v-cb7a366a {
+  color: #1f68e9;
+  font-size: 32rpx;
+  font-weight: 700;
+  margin-top: 150rpx;
+}
+.content .button-content.data-v-cb7a366a {
+  padding: 0 20rpx;
+  width: 100%;
+}
+.content .button-content .button.data-v-cb7a366a {
+  background-color: #fff;
+  border-radius: 100rpx;
+  font-size: 32rpx;
+  height: 90rpx;
+  line-height: 90rpx;
+  padding: 0;
+  text-align: center;
+  width: 100%;
+}
+.content .button-content .button.type1.data-v-cb7a366a {
+  background-color: #1f68e9;
+  color: #fff;
+  margin-top: 60rpx;
+}
+.content .button-content .button.type2.data-v-cb7a366a {
+  background-color: #edf5ff;
+  color: #1f68e9;
+  margin-top: 40rpx;
+}
+.content .button-content .button.type3.data-v-cb7a366a {
+  border: 2rpx solid #c4c8d1;
+  margin-top: 40rpx;
+}
+.content .notice.data-v-cb7a366a {
+  color: rgba(94, 94, 107, 0.855);
+  font-size: 24rpx;
+  margin-top: 50rpx;
+  text-align: center;
+}
diff --git a/pages/pay-success/index.js b/pages/pay-success/index.js
new file mode 100644
index 0000000..8fb9e33
--- /dev/null
+++ b/pages/pay-success/index.js
@@ -0,0 +1,113 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../hooks/onMounted.js"),
+  u = require("../../hooks/onShareAppMessage.js"),
+  r = require("../../service/index.js"),
+  o = require("../../hooks/useState.js"),
+  i = require("../../utils/navigate.js"),
+  t = require("../../utils/util.js"),
+  s = require("../../utils/common.js"),
+  a = require("../../enums/index.js");
+require("../../config/index.js"),
+  require("../../constant/index.js"),
+  require("../../utils/request.js"),
+  require("../../store/app/index.js"),
+  require("../../data/index.js"),
+  Math || (e.unref(l) + e.unref(f) + e.unref(d) + e.unref(c))();
+var c = function () {
+    return "../../components/popup-login/index.js";
+  },
+  d = function () {
+    return "../../components/popup-upload-tips/index.js";
+  },
+  l = function () {
+    return "../../components/float-help/index.js";
+  },
+  f = function () {
+    return "../../components/float-share/index.js";
+  },
+  p = {
+    __name: "index",
+    setup: function (c) {
+      var d = o.useState().mobile,
+        l = e.ref(!0),
+        f = e.ref(""),
+        p = e.ref({}),
+        v = e.ref(!1),
+        j = e.ref(!1),
+        m = function () {
+          i.redirectTo({ url: "/pages/order-list-mine/index" });
+        },
+        q = function () {
+          s.chooseDrivingLicense({ orderNo: f.value }).then(function () {
+            i.redirectTo({ url: "/pages/upload-success/index" });
+          });
+        },
+        x = function () {
+          v.value = !0;
+        },
+        h = function () {
+          s.queryWithoutDrivingLicense({ orderNo: f.value }).then(function () {
+            i.redirectTo({ url: "/pages/upload-success/index" });
+          });
+        },
+        g = function () {
+          v.value = !1;
+        },
+        _ = function () {
+          return (
+            !!p.value.productList &&
+            e._.find(p.value.productList, function (e) {
+              return (
+                e.product_id === a.ProductTypeEnum.INSURANCE_MAINTAIN ||
+                e.product_id === a.ProductTypeEnum.ACCIDENT
+              );
+            })
+          );
+        },
+        N = function () {
+          j.value = !1;
+        };
+      return (
+        n.onMounted(function (e) {
+          (f.value = e.orderNo),
+            r.getOrderDetail({ order_no: f.value }).then(function (e) {
+              d.value ||
+                setTimeout(function () {
+                  j.value = !0;
+                }, 300),
+                (p.value = e),
+                (l.value = !1),
+                t.hideLoading();
+            });
+        }),
+        u.onShareAppMessage(),
+        function (n, u) {
+          return e.e(
+            { a: !l.value },
+            l.value
+              ? {}
+              : e.e(
+                  { b: _() },
+                  (_(), {}),
+                  { c: !_() },
+                  (_(), {}),
+                  { d: _() },
+                  _() ? { e: e.o(q) } : {},
+                  { f: _() && p.value.vin },
+                  _() && p.value.vin ? { g: e.o(x) } : {},
+                  {
+                    h: e.o(m),
+                    i: e.o(g),
+                    j: e.o(h),
+                    k: e.p({ visible: v.value }),
+                    l: e.o(N),
+                    m: e.p({ visible: j.value }),
+                  }
+                )
+          );
+        }
+      );
+    },
+  },
+  v = e._export_sfc(p, [["__scopeId", "data-v-df5365c6"]]);
+(p.__runtimeHooks = 2), wx.createPage(v);
diff --git a/pages/pay-success/index.json b/pages/pay-success/index.json
new file mode 100644
index 0000000..7a1c9d9
--- /dev/null
+++ b/pages/pay-success/index.json
@@ -0,0 +1,9 @@
+{
+  "navigationBarTitleText": "支付成功",
+  "usingComponents": {
+    "popup-login": "../../components/popup-login/index",
+    "popup-upload-tips": "../../components/popup-upload-tips/index",
+    "float-help": "../../components/float-help/index",
+    "float-share": "../../components/float-share/index"
+  }
+}
diff --git a/pages/pay-success/index.wxml b/pages/pay-success/index.wxml
new file mode 100644
index 0000000..b06c736
--- /dev/null
+++ b/pages/pay-success/index.wxml
@@ -0,0 +1,68 @@
+<view class="content data-v-df5365c6" wx:if="{{a}}">
+  <image
+    class="pic data-v-df5365c6"
+    src="/static/images/pic_pay_success.png"
+  ></image>
+  <view class="pay-status data-v-df5365c6">支付成功</view>
+  <view class="tips data-v-df5365c6" wx:if="{{b}}">
+    您已完成支付,为了更精确的查询,需提供行驶证后才能查看报告。
+  </view>
+  <view class="tips data-v-df5365c6" wx:if="{{c}}">
+    正常情况下,报告在3-15分钟内会有结果,车辆维保报告最快10-30分钟左右出结果。报告处理时间为9点-22点,22点后次日处理。18点以后,部分订单会在第二天早上9点后收到查询结果。
+  </view>
+  <view class="button-content data-v-df5365c6">
+    <button
+      bindtap="{{e}}"
+      class="button type1 data-v-df5365c6"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+      wx:if="{{d}}"
+    >
+      上传行驶证
+    </button>
+    <button
+      bindtap="{{g}}"
+      class="button type2 data-v-df5365c6"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+      wx:if="{{f}}"
+    >
+      无法提供行驶证
+    </button>
+    <button
+      bindtap="{{h}}"
+      class="button type3 data-v-df5365c6"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+    >
+      查看订单
+    </button>
+  </view>
+  <float-help
+    bind:__l="__l"
+    class="data-v-df5365c6"
+    uI="df5365c6-0"
+  ></float-help>
+  <float-share
+    bind:__l="__l"
+    class="data-v-df5365c6"
+    uI="df5365c6-1"
+  ></float-share>
+  <popup-upload-tips
+    bind:__l="__l"
+    bindcancel="{{i}}"
+    bindconfirm="{{j}}"
+    class="data-v-df5365c6"
+    uI="df5365c6-2"
+    uP="{{k}}"
+    wx:if="{{k}}"
+  ></popup-upload-tips>
+  <popup-login
+    bind:__l="__l"
+    bindclose="{{l}}"
+    class="data-v-df5365c6"
+    uI="df5365c6-3"
+    uP="{{m}}"
+    wx:if="{{m}}"
+  ></popup-login>
+</view>
diff --git a/pages/pay-success/index.wxss b/pages/pay-success/index.wxss
new file mode 100644
index 0000000..d5ae04d
--- /dev/null
+++ b/pages/pay-success/index.wxss
@@ -0,0 +1,68 @@
+page {
+  background-color: #fff;
+  overflow: visible !important;
+}
+.content.data-v-df5365c6 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  padding: 60rpx;
+}
+.content .pic.data-v-df5365c6 {
+  height: 210rpx;
+  margin-top: 120rpx;
+  width: 311rpx;
+}
+.content .pay-status.data-v-df5365c6 {
+  font-size: 42rpx;
+  font-weight: 700;
+  margin-top: 100rpx;
+}
+.content .tips.data-v-df5365c6 {
+  color: #5e5e6b;
+  font-size: 28rpx;
+  line-height: 44rpx;
+  margin-top: 40rpx;
+  padding: 0 20rpx;
+}
+.content .view-report.data-v-df5365c6 {
+  color: #1f68e9;
+  font-size: 32rpx;
+  font-weight: 700;
+  margin-top: 150rpx;
+}
+.content .button-content.data-v-df5365c6 {
+  padding: 0 20rpx;
+  width: 100%;
+}
+.content .button-content .button.data-v-df5365c6 {
+  background-color: #fff;
+  border-radius: 100rpx;
+  font-size: 32rpx;
+  height: 90rpx;
+  line-height: 90rpx;
+  padding: 0;
+  text-align: center;
+  width: 100%;
+}
+.content .button-content .button.type1.data-v-df5365c6 {
+  background-color: #1f68e9;
+  color: #fff;
+  margin-top: 60rpx;
+}
+.content .button-content .button.type2.data-v-df5365c6 {
+  background-color: #edf5ff;
+  color: #1f68e9;
+  margin-top: 40rpx;
+}
+.content .button-content .button.type3.data-v-df5365c6 {
+  border: 2rpx solid #c4c8d1;
+  margin-top: 40rpx;
+}
+.content .notice.data-v-df5365c6 {
+  color: rgba(94, 94, 107, 0.855);
+  font-size: 24rpx;
+  margin-top: 50rpx;
+  text-align: center;
+}
diff --git a/pages/question/index.js b/pages/question/index.js
new file mode 100644
index 0000000..f7142a7
--- /dev/null
+++ b/pages/question/index.js
@@ -0,0 +1,84 @@
+var e = require("../../common/vendor.js"),
+  r = require("../../hooks/onMounted.js"),
+  n = require("../../hooks/onShareAppMessage.js");
+require("../../hooks/useState.js"),
+  require("../../store/app/index.js"),
+  require("../../enums/index.js"),
+  require("../../data/index.js"),
+  require("../../service/index.js"),
+  require("../../utils/request.js"),
+  require("../../config/index.js"),
+  require("../../constant/index.js"),
+  require("../../utils/util.js"),
+  Array || e.resolveComponent("uni-icons")(),
+  Math;
+var s = {
+    __name: "index",
+    setup: function (s) {
+      var i = e.ref([
+        {
+          question: "一般多久可以生成报告?",
+          answer:
+            "正常情况下,报告在3-15分钟内会有结果,车辆维保报告最快10-30分钟左右出结果。报告处理时间为9点-22点,22点后次日处理。18点以后,部分订单会在第二天早上9点后收到查询结果。",
+        },
+        {
+          question: "报告查询失败,是否收费?",
+          answer:
+            "查询失败或者没有结果(不含:无出险,无维保,保单脱保),可以申请退款。",
+        },
+        {
+          question: "车架号或车牌号输入错误怎么办?",
+          answer:
+            "综合车况、维保、出险,如果使用车架号查询,待付款或者是待上传行驶证的情况可以修改车架号。如输错资料信息导致的查询失败,此情况不予退款。",
+        },
+        {
+          question: "在哪里可以查看报告?",
+          answer: "底部导航栏“订单”里面查看报告。",
+        },
+        {
+          question: "为什么有车查不到报告?",
+          answer:
+            "由于小部分车辆信息没有在服务商数据库中(如小保险公司、小众品牌车型)或车辆未在4S店进行过维修保养服务,都会查不到相关记录。",
+        },
+        {
+          question: "为什么我的出险记录显示理赔金额为0元?",
+          answer:
+            "不管是否对方责任,或对方理赔,只要自己这边有向保险公司报案,就会有记录。",
+        },
+        {
+          question: "为什么我的出险记录没有维修明细?",
+          answer:
+            "此情况很大可能为对方全责,对方车辆保险公司负责理赔,己方有向保险公司报案。",
+        },
+        {
+          question: "报告来源是哪里?",
+          answer:
+            "报告来源于第三方服务商,报告仅是二手车交易的参考资料之一,请结合实车勘验结果和试乘试驾体验,做出更准确的交易决策。",
+        },
+        {
+          question: "客服在线时间?",
+          answer:
+            "客服在线时间为9:00~18:00,请您在工作时间进行咨询,感谢您的理解!",
+        },
+      ]);
+      return (
+        r.onMounted(function () {}, !1),
+        n.onShareAppMessage(),
+        function (r, n) {
+          return {
+            a: e.f(i.value, function (r, n, s) {
+              return {
+                a: "b267452c-0-" + s,
+                b: e.t(r.question),
+                c: e.t(r.answer),
+                d: n,
+              };
+            }),
+            b: e.p({ type: "help", size: "24", color: "#1F68E9" }),
+          };
+        }
+      );
+    },
+  },
+  i = e._export_sfc(s, [["__scopeId", "data-v-b267452c"]]);
+(s.__runtimeHooks = 2), wx.createPage(i);
diff --git a/pages/question/index.json b/pages/question/index.json
new file mode 100644
index 0000000..df86c69
--- /dev/null
+++ b/pages/question/index.json
@@ -0,0 +1,6 @@
+{
+  "navigationBarTitleText": "常见问题",
+  "usingComponents": {
+    "uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons"
+  }
+}
diff --git a/pages/question/index.wxml b/pages/question/index.wxml
new file mode 100644
index 0000000..fb120ea
--- /dev/null
+++ b/pages/question/index.wxml
@@ -0,0 +1,15 @@
+<view class="content data-v-b267452c">
+  <view class="item data-v-b267452c" wx:for="{{a}}" wx:key="d">
+    <view class="question data-v-b267452c">
+      <uni-icons
+        bind:__l="__l"
+        class="data-v-b267452c"
+        uI="{{item.a}}"
+        uP="{{b}}"
+        wx:if="{{b}}"
+      ></uni-icons>
+      <text class="data-v-b267452c">{{item.b}}</text>
+    </view>
+    <view class="answer data-v-b267452c">{{item.c}}</view>
+  </view>
+</view>
diff --git a/pages/question/index.wxss b/pages/question/index.wxss
new file mode 100644
index 0000000..20ef65a
--- /dev/null
+++ b/pages/question/index.wxss
@@ -0,0 +1,23 @@
+page {
+  background-color: #fff;
+}
+.content.data-v-b267452c {
+  padding: 30rpx;
+}
+.content .item.data-v-b267452c {
+  margin-bottom: 20rpx;
+}
+.content .item .question.data-v-b267452c {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+}
+.content .item .question text.data-v-b267452c {
+  font-size: 32rpx;
+  font-weight: 700;
+  margin-left: 10rpx;
+}
+.content .item .answer.data-v-b267452c {
+  font-size: 30rpx;
+  padding: 10rpx;
+}
diff --git a/pages/report-query/index.js b/pages/report-query/index.js
new file mode 100644
index 0000000..2201af7
--- /dev/null
+++ b/pages/report-query/index.js
@@ -0,0 +1,453 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../hooks/onMounted.js"),
+  u = require("../../hooks/onShareAppMessage.js"),
+  r = require("../../hooks/useState.js"),
+  a = require("../../enums/index.js"),
+  t = require("../../constant/index.js"),
+  o = require("../../data/index.js"),
+  l = require("../../utils/navigate.js"),
+  i = require("../../utils/util.js"),
+  f = require("../../utils/common.js"),
+  c = require("../../utils/vin.js");
+require("../../service/index.js"),
+  require("../../utils/request.js"),
+  require("../../config/index.js"),
+  require("../../store/app/index.js"),
+  Array ||
+    (
+      e.resolveComponent("uni-collapse-item") +
+      e.resolveComponent("uni-collapse")
+    )();
+Math ||
+  (
+    e.unref(T) +
+    e.unref(s) +
+    e.unref(j) +
+    e.unref(p) +
+    function () {
+      return "../../uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.js";
+    } +
+    function () {
+      return "../../uni_modules/uni-collapse/components/uni-collapse/uni-collapse.js";
+    } +
+    e.unref(y) +
+    e.unref(d) +
+    e.unref(E) +
+    e.unref(m) +
+    e.unref(v)
+  )();
+var v = function () {
+    return "../../components/popup-copy-vin/index.js";
+  },
+  s = function () {
+    return "../../components/agreement/index.js";
+  },
+  m = function () {
+    return "../../components/keyboard/index.js";
+  },
+  p = function () {
+    return "../../components/time-line/index.js";
+  },
+  d = function () {
+    return "../../components/float-back-to-top/index.js";
+  },
+  y = function () {
+    return "../../components/divider/index.js";
+  },
+  T = function () {
+    return "../../components/tips/index.js";
+  },
+  j = function () {
+    return "../../components/prompt/index.js";
+  },
+  E = function () {
+    return "../../components/float-share/index.js";
+  },
+  g = {
+    __name: "index",
+    setup: function (v) {
+      var s = r.useState().showAgreementPopup,
+        m = e.ref(!0),
+        p = e.ref(""),
+        d = e.ref(null),
+        y = e.ref(a.QueryTypeEnum.VIN),
+        T = e.ref(!1),
+        j = e.ref(""),
+        E = e.ref(!1),
+        g = e.ref(["", "", "", "", "", "", "", ""]),
+        k = e.ref(0),
+        C = e.ref(!1),
+        h = e.ref(a.KeyboardEnum.AREA),
+        w = e.ref(!1),
+        x = e.ref(0),
+        b = e.ref(!1),
+        N = e.ref(!1),
+        I = e.ref(""),
+        z = function () {
+          var e = s.value || N.value;
+          return "height: 100%; overflow: "
+            .concat(e ? "hidden" : "visible", "; position: ")
+            .concat(e ? "fixed" : "relative");
+        },
+        A = function () {
+          l.navigateTo({ url: "/pages/vin-info/index" });
+        },
+        L = function (e) {
+          (y.value = e.detail.value),
+            e.detail.value === a.QueryTypeEnum.VIN
+              ? ((E.value = !0), (C.value = !1))
+              : ((E.value = !1), (C.value = !0));
+        },
+        V = function () {
+          j.value = "";
+        },
+        q = function () {
+          f.ocrIdentifyVin().then(function (e) {
+            j.value = e;
+          });
+        },
+        S = function () {
+          E.value = !0;
+        },
+        _ = function () {
+          E.value = !1;
+        },
+        Q = function (e) {
+          j.value = e.value;
+        },
+        P = function () {
+          C.value = !1;
+        },
+        O = function (e) {
+          e.keyboardType
+            ? (h.value = e.keyboardType)
+            : ((g.value = e.value), (k.value = e.index));
+        },
+        R = function () {
+          h.value =
+            h.value === a.KeyboardEnum.AREA
+              ? a.KeyboardEnum.ABC
+              : a.KeyboardEnum.AREA;
+        },
+        M = function () {
+          T.value = !T.value;
+        },
+        H = function () {
+          N.value = !1;
+        },
+        D = function () {
+          (j.value = I.value), (N.value = !1), K();
+        },
+        K = function () {
+          (E.value = !1), (C.value = !1);
+          var e = g.value.join("");
+          if (T.value) {
+            if (y.value === a.QueryTypeEnum.VIN) {
+              if (0 === j.value.length)
+                return void i.showToast("请输入VIN车架号");
+              if (j.value.length < 17)
+                return void i.showToast("请输入完整的VIN车架号");
+              if (!c.validateVIN(j.value))
+                return void i.showToast("车架号有误,请检查后重新输入");
+            }
+            y.value !== a.QueryTypeEnum.VEHICLE_NO || t.vehicleNoExp.test(e)
+              ? l.navigateTo({
+                  url: "/pages/order-confirm/index",
+                  params: {
+                    productType: d.value,
+                    queryType: y.value,
+                    vin: j.value,
+                    vehicleNo: e,
+                  },
+                })
+              : i.showToast("请输入正确的车牌");
+          } else i.showToast("请先阅读并同意协议");
+        };
+      return (
+        n.onMounted(function (n) {
+          n.productType === a.ProductTypeEnum.OVERALL && (w.value = !0),
+            n.productType === a.ProductTypeEnum.ACCIDENT && (x.value = 1),
+            e.index.setNavigationBarTitle({ title: n.title }),
+            (p.value = n.title),
+            (d.value = n.productType),
+            (y.value = n.queryType),
+            (m.value = !1),
+            i.hideLoading(),
+            n.queryType === a.QueryTypeEnum.VIN &&
+              f.hasClickAgreement() &&
+              e.index.getClipboardData().then(function (n) {
+                var u = n.data;
+                e.index.hideToast(),
+                  17 === u.trim().length &&
+                    setTimeout(function () {
+                      (I.value = u.trim()), (N.value = !0);
+                    }, 300);
+              }),
+            n.queryType === a.QueryTypeEnum.VEHICLE_NO &&
+              f.hasClickAgreement() &&
+              setTimeout(function () {
+                C.value = !0;
+              }, 200);
+        }),
+        e.onPageScroll(function (n) {
+          var u = n.scrollTop;
+          b.value = u >= e.index.getSystemInfoSync().windowHeight / 3;
+        }),
+        u.onShareAppMessage(),
+        function (n, u) {
+          return e.e(
+            { a: z(), b: !m.value },
+            m.value
+              ? {}
+              : e.e(
+                  { c: d.value === e.unref(a.ProductTypeEnum).OVERALL },
+                  (d.value, e.unref(a.ProductTypeEnum).OVERALL, {}),
+                  {
+                    d:
+                      d.value === e.unref(a.ProductTypeEnum).INSURANCE_MAINTAIN,
+                  },
+                  (d.value, e.unref(a.ProductTypeEnum).INSURANCE_MAINTAIN, {}),
+                  { e: d.value === e.unref(a.ProductTypeEnum).ACCIDENT },
+                  (d.value, e.unref(a.ProductTypeEnum).ACCIDENT, {}),
+                  { f: e.t(p.value), g: w.value },
+                  (w.value, {}),
+                  {
+                    h: e.o(A),
+                    i: e.unref(a.QueryTypeEnum).VIN,
+                    j: y.value === e.unref(a.QueryTypeEnum).VIN,
+                    k: e.unref(a.QueryTypeEnum).VEHICLE_NO,
+                    l: y.value === e.unref(a.QueryTypeEnum).VEHICLE_NO,
+                    m: e.o(L),
+                    n: y.value === e.unref(a.QueryTypeEnum).VIN,
+                  },
+                  y.value === e.unref(a.QueryTypeEnum).VIN
+                    ? e.e(
+                        { o: 0 === j.value.length },
+                        (j.value.length, {}),
+                        { p: e.t(j.value), q: e.o(S), r: j.value.length > 0 },
+                        j.value.length > 0 ? { s: e.o(V) } : {},
+                        {
+                          t: e.t(j.value.length),
+                          v: e.o(q),
+                          w: j.value.length > 0 ? 1 : "",
+                        }
+                      )
+                    : {},
+                  { x: y.value === e.unref(a.QueryTypeEnum).VEHICLE_NO },
+                  y.value === e.unref(a.QueryTypeEnum).VEHICLE_NO
+                    ? {
+                        y: e.f(g.value, function (n, u, r) {
+                          return e.e(
+                            {
+                              a: e.t(n),
+                              b: u === k.value ? 1 : "",
+                              c: 7 === u,
+                            },
+                            {},
+                            {
+                              d: u,
+                              e: 7 === u ? 1 : "",
+                              f: e.o(function (e) {
+                                return (function (e) {
+                                  (k.value = e), (C.value = !0);
+                                })(u);
+                              }, u),
+                            }
+                          );
+                        }),
+                      }
+                    : {},
+                  {
+                    z: e.o(K),
+                    A: e.o(M),
+                    B: e.p({ checked: T.value }),
+                    C: w.value,
+                  },
+                  w.value
+                    ? {
+                        D: e.f(["维保记录", "出险记录"], function (n, u, r) {
+                          return {
+                            a: e.t(n),
+                            b: e.n(x.value === u ? "active" : ""),
+                            c: u,
+                            d: e.o(function (e) {
+                              return (function (e) {
+                                x.value = e;
+                              })(u);
+                            }, u),
+                          };
+                        }),
+                      }
+                    : {},
+                  { E: 0 === x.value },
+                  0 === x.value
+                    ? {
+                        F: e.f(e.unref(o.mockMailList), function (n, u, r) {
+                          return {
+                            a: e.t(n.date),
+                            b: e.t(n.mile),
+                            c: u,
+                            d: u % 2 == 1 ? 1 : "",
+                          };
+                        }),
+                        G: e.p({
+                          type: e.unref(a.TimeLineEnum).RECORD,
+                          data: e.unref(o.mockInsuranceList),
+                        }),
+                      }
+                    : {},
+                  { H: 1 === x.value },
+                  1 === x.value
+                    ? e.e(
+                        {
+                          I: e.f(e.unref(o.mockJbxxList), function (n, u, r) {
+                            return { a: e.t(n.label), b: e.t(n.value), c: u };
+                          }),
+                          J: e.f(e.unref(o.mockCkdlpcList), function (n, u, r) {
+                            return e.e(
+                              { a: n.icon, b: e.t(n.name), c: 0 === n.value },
+                              (n.value, {}),
+                              { d: 1 === n.value },
+                              (n.value, {}),
+                              { e: 2 === n.value },
+                              (n.value, {}),
+                              { f: 3 === n.value || 4 === n.value },
+                              (3 === n.value || n.value, {}),
+                              { g: u }
+                            );
+                          }),
+                          K: e.f(e.unref(o.mockCkpclbList), function (n, u, r) {
+                            return {
+                              a: e.t(n.name),
+                              b: e.t(n.value.length),
+                              c: n.value.length > 0 ? 1 : "",
+                              d: e.f(n.value, function (n, u, r) {
+                                return { a: e.t(n.name), b: e.t(n.type), c: u };
+                              }),
+                              e: u,
+                              f: "1a2b913a-5-" + r + ",1a2b913a-4",
+                              g: e.p({
+                                name: n.name,
+                                open: n.value.length > 0,
+                              }),
+                            };
+                          }),
+                          L: e.f(e.unref(o.mockClfwzj), function (n, u, r) {
+                            return e.e(
+                              { a: !n },
+                              {},
+                              { b: !!n },
+                              {},
+                              { c: e.t(u), d: u }
+                            );
+                          }),
+                          M: !!e.unref(o.mockClfwzj).前方左侧,
+                        },
+                        (e.unref(o.mockClfwzj).前方左侧, {}),
+                        { N: !!e.unref(o.mockClfwzj).中间左侧 },
+                        (e.unref(o.mockClfwzj).中间左侧, {}),
+                        { O: !!e.unref(o.mockClfwzj).后方左侧 },
+                        (e.unref(o.mockClfwzj).后方左侧, {}),
+                        { P: !!e.unref(o.mockClfwzj).前方右侧 },
+                        (e.unref(o.mockClfwzj).前方右侧, {}),
+                        { Q: !!e.unref(o.mockClfwzj).中间右侧 },
+                        (e.unref(o.mockClfwzj).中间右侧, {}),
+                        { R: !!e.unref(o.mockClfwzj).底部 },
+                        (e.unref(o.mockClfwzj).底部, {}),
+                        { S: !!e.unref(o.mockClfwzj).后方右侧 },
+                        (e.unref(o.mockClfwzj).后方右侧, {}),
+                        { T: !!e.unref(o.mockClfwzj).顶部 },
+                        (e.unref(o.mockClfwzj).顶部, {}),
+                        { U: !!e.unref(o.mockClfwzj).正前方 },
+                        (e.unref(o.mockClfwzj).正前方, {}),
+                        { V: !!e.unref(o.mockClfwzj).内部 },
+                        (e.unref(o.mockClfwzj).内部, {}),
+                        { W: !!e.unref(o.mockClfwzj).正后方 },
+                        (e.unref(o.mockClfwzj).正后方, {}),
+                        { X: !!e.unref(o.mockClfwzj).其他 },
+                        (e.unref(o.mockClfwzj).其他, {}),
+                        {
+                          Y: e.f(e.unref(o.mockCkxxList), function (n, u, r) {
+                            return e.e(
+                              { a: n.icon, b: e.t(n.name), c: 0 === n.value },
+                              (n.value, {}),
+                              { d: 1 === n.value },
+                              (n.value, {}),
+                              { e: 2 === n.value },
+                              (n.value, {}),
+                              { f: u }
+                            );
+                          }),
+                          Z: e.f(e.unref(o.mockTjxxList), function (n, u, r) {
+                            return {
+                              a: e.t(n.name),
+                              b: e.t(n.value || "-"),
+                              c: u,
+                            };
+                          }),
+                          aa: e.f(
+                            e.unref(o.mockPzlsmxList),
+                            function (n, u, r) {
+                              return {
+                                a: e.t(n.date),
+                                b: e.t(n.claimStatus),
+                                c: e.t(
+                                  (Number(n.serviceMoney) / 100).toFixed(0)
+                                ),
+                                d: e.f(n.result, function (n, u, r) {
+                                  return e.e(
+                                    {
+                                      a: e.t(n.dangerSingleName || "-"),
+                                      b: 1 == n.dangerSingleType,
+                                    },
+                                    (1 == n.dangerSingleType ||
+                                      2 == n.dangerSingleType ||
+                                      n.dangerSingleType,
+                                    {}),
+                                    {
+                                      c: 2 == n.dangerSingleType,
+                                      d: 3 == n.dangerSingleType,
+                                      e: e.t(n.dangerSingleNum),
+                                      f: u,
+                                    }
+                                  );
+                                }),
+                                e: u,
+                              };
+                            }
+                          ),
+                        }
+                      )
+                    : {},
+                  {
+                    ab: e.t(e.unref(t.disclaimer)),
+                    ac: e.p({ visible: b.value }),
+                    ad: e.o(P),
+                    ae: e.o(O),
+                    af: e.o(R),
+                    ag: e.p({
+                      visible: C.value,
+                      "can-switch": !0,
+                      "keyboard-type": h.value,
+                      "vehicle-no-list": g.value,
+                      "vehicle-no-index": k.value,
+                    }),
+                    ah: e.o(_),
+                    ai: e.o(Q),
+                    aj: e.p({
+                      visible: E.value,
+                      "can-switch": !1,
+                      vin: j.value,
+                    }),
+                    ak: e.o(D),
+                    al: e.o(H),
+                    am: e.p({ visible: N.value, "copy-vin": I.value }),
+                  }
+                )
+          );
+        }
+      );
+    },
+  },
+  k = e._export_sfc(g, [["__scopeId", "data-v-1a2b913a"]]);
+(g.__runtimeHooks = 3), wx.createPage(k);
diff --git a/pages/report-query/index.json b/pages/report-query/index.json
new file mode 100644
index 0000000..daf35a8
--- /dev/null
+++ b/pages/report-query/index.json
@@ -0,0 +1,17 @@
+{
+  "navigationBarTextStyle": "black",
+  "navigationBarBackgroundColor": "#ffffff",
+  "usingComponents": {
+    "uni-collapse-item": "../../uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item",
+    "uni-collapse": "../../uni_modules/uni-collapse/components/uni-collapse/uni-collapse",
+    "popup-copy-vin": "../../components/popup-copy-vin/index",
+    "agreement": "../../components/agreement/index",
+    "keyboard": "../../components/keyboard/index",
+    "time-line": "../../components/time-line/index",
+    "float-back-to-top": "../../components/float-back-to-top/index",
+    "divider": "../../components/divider/index",
+    "tips": "../../components/tips/index",
+    "prompt": "../../components/prompt/index",
+    "float-share": "../../components/float-share/index"
+  }
+}
diff --git a/pages/report-query/index.wxml b/pages/report-query/index.wxml
new file mode 100644
index 0000000..2bb0e89
--- /dev/null
+++ b/pages/report-query/index.wxml
@@ -0,0 +1,676 @@
+<page-meta class="data-v-1a2b913a" pageStyle="{{a}}"></page-meta>
+<view class="content data-v-1a2b913a" wx:if="{{b}}">
+  <tips bind:__l="__l" class="data-v-1a2b913a" uI="1a2b913a-0"></tips>
+  <view class="banner overall data-v-1a2b913a" wx:if="{{c}}">
+    <image
+      class="title data-v-1a2b913a"
+      mode="heightFix"
+      src="/static/images/pic_title_1.png"
+    ></image>
+    <image
+      class="image data-v-1a2b913a"
+      src="/static/images/pic_overall.png"
+    ></image>
+  </view>
+  <view class="banner maintain data-v-1a2b913a" wx:if="{{d}}">
+    <image
+      class="title data-v-1a2b913a"
+      mode="heightFix"
+      src="/static/images/pic_title_2.png"
+    ></image>
+    <image
+      class="image data-v-1a2b913a"
+      src="/static/images/pic_maintain.png"
+    ></image>
+  </view>
+  <view class="banner accident data-v-1a2b913a" wx:if="{{e}}">
+    <image
+      class="title data-v-1a2b913a"
+      mode="heightFix"
+      src="/static/images/pic_title_3.png"
+    ></image>
+    <image
+      class="image data-v-1a2b913a"
+      src="/static/images/pic_accident.png"
+    ></image>
+  </view>
+  <view class="module-title data-v-1a2b913a">
+    <view class="data-v-1a2b913a">
+      <text class="data-v-1a2b913a">{{f}}</text>
+      <text class="data-v-1a2b913a" wx:if="{{g}}">(维保+出险)</text>
+    </view>
+    <view bindtap="{{h}}" class="tips data-v-1a2b913a">什么是VIN?</view>
+  </view>
+  <view class="query-content data-v-1a2b913a">
+    <radio-group bindchange="{{m}}" class="radio-group data-v-1a2b913a">
+      <label class="data-v-1a2b913a">
+        <radio
+          checked="{{j}}"
+          class="data-v-1a2b913a"
+          color="#1F68E9"
+          style="transform: scale(0.9)"
+          value="{{i}}"
+        ></radio>
+        <text class="data-v-1a2b913a">按VIN车架号查询</text>
+      </label>
+      <label class="data-v-1a2b913a">
+        <radio
+          checked="{{l}}"
+          class="data-v-1a2b913a"
+          color="#1F68E9"
+          style="transform: scale(0.9)"
+          value="{{k}}"
+        ></radio>
+        <text class="data-v-1a2b913a">按车牌号查询</text>
+      </label>
+    </radio-group>
+    <view
+      class="{{['input-content','data-v-1a2b913a',w&&'selected']}}"
+      wx:if="{{n}}"
+    >
+      <view bindtap="{{q}}" class="input data-v-1a2b913a">
+        <text class="placeholder data-v-1a2b913a" wx:if="{{o}}"
+          >请输入17位VIN车架号</text
+        >
+        <text userSelect class="default data-v-1a2b913a">{{p}}</text>
+        <text class="cursor data-v-1a2b913a"></text>
+      </view>
+      <image
+        bindtap="{{s}}"
+        class="clear data-v-1a2b913a"
+        src="/static/svgs/icon_clear.svg"
+        wx:if="{{r}}"
+      ></image>
+      <view class="input-length data-v-1a2b913a">{{t}}/17 </view>
+      <image
+        bindtap="{{v}}"
+        class="photo data-v-1a2b913a"
+        src="/static/svgs/icon_scan.svg"
+      ></image>
+    </view>
+    <view class="vehicle-content data-v-1a2b913a" wx:if="{{x}}">
+      <view
+        bindtap="{{value.f}}"
+        class="{{['number-item','data-v-1a2b913a',value.e&&'new']}}"
+        wx:for="{{y}}"
+        wx:for-item="value"
+        wx:key="d"
+      >
+        <text class="{{['number','data-v-1a2b913a',value.b&&'selected']}}"
+          >{{value.a}}</text
+        >
+        <text class="energy data-v-1a2b913a" wx:if="{{value.c}}">新能源</text>
+      </view>
+    </view>
+    <view
+      bindtap="{{z}}"
+      class="button data-v-1a2b913a"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+    >
+      查 询
+    </view>
+    <agreement
+      bind:__l="__l"
+      bindchange="{{A}}"
+      class="data-v-1a2b913a"
+      uI="1a2b913a-1"
+      uP="{{B}}"
+      wx:if="{{B}}"
+    ></agreement>
+  </view>
+  <view class="module-title data-v-1a2b913a">样例报告</view>
+  <view class="example-content data-v-1a2b913a">
+    <view class="tabs data-v-1a2b913a" wx:if="{{C}}">
+      <view
+        bindtap="{{item.d}}"
+        class="{{['tab','data-v-1a2b913a',item.b]}}"
+        wx:for="{{D}}"
+        wx:key="c"
+        >{{item.a}}</view
+      >
+    </view>
+    <prompt bind:__l="__l" class="data-v-1a2b913a" uI="1a2b913a-2"></prompt>
+    <view class="example data-v-1a2b913a" wx:if="{{E}}">
+      <view class="background data-v-1a2b913a"></view>
+      <view class="content-title data-v-1a2b913a">车辆维保报告</view>
+      <view class="sub-title data-v-1a2b913a">中国汽车流通协会发起建设</view>
+      <view class="order-detail data-v-1a2b913a">
+        <view class="detail-item data-v-1a2b913a">
+          <view class="label data-v-1a2b913a">车辆型号:</view>
+          <view class="value data-v-1a2b913a">奥迪A4L PIUS 40 TFSI</view>
+        </view>
+        <view class="detail-item data-v-1a2b913a">
+          <view class="label data-v-1a2b913a">VIN车架号:</view>
+          <view class="value data-v-1a2b913a">WDDBF******J540972</view>
+        </view>
+      </view>
+      <view class="card data-v-1a2b913a">
+        <view class="card-title data-v-1a2b913a">
+          <image
+            class="icon-title data-v-1a2b913a"
+            src="/static/images/icon_title.png"
+          ></image>
+          <text class="data-v-1a2b913a">行驶里程分析</text>
+        </view>
+        <view class="cell-content data-v-1a2b913a">
+          <view class="cell data-v-1a2b913a">
+            <view class="title data-v-1a2b913a">截止日期</view>
+            <view class="value data-v-1a2b913a">2022-08-30</view>
+          </view>
+          <view class="cell data-v-1a2b913a">
+            <view class="title data-v-1a2b913a">预计里程</view>
+            <view class="value data-v-1a2b913a">30000~35000公里</view>
+          </view>
+        </view>
+      </view>
+      <view class="card data-v-1a2b913a">
+        <view class="card-title data-v-1a2b913a">
+          <image
+            class="icon-title data-v-1a2b913a"
+            src="/static/images/icon_title.png"
+          ></image>
+          <text class="data-v-1a2b913a">行驶里程统计</text>
+        </view>
+        <view class="mile-content data-v-1a2b913a">
+          <view class="mile-item data-v-1a2b913a">
+            <view class="date-title data-v-1a2b913a">日期</view>
+            <view class="mile-title data-v-1a2b913a">里程(公里)</view>
+          </view>
+          <view
+            class="{{['mile-item','data-v-1a2b913a',item.d&&'selected']}}"
+            wx:for="{{F}}"
+            wx:key="c"
+          >
+            <view class="date data-v-1a2b913a">{{item.a}}</view>
+            <view class="mile data-v-1a2b913a">{{item.b}}</view>
+          </view>
+        </view>
+      </view>
+      <view class="card data-v-1a2b913a">
+        <view class="card-title data-v-1a2b913a">
+          <image
+            class="icon-title data-v-1a2b913a"
+            src="/static/images/icon_title.png"
+          ></image>
+          <text class="data-v-1a2b913a">维修保养记录</text>
+        </view>
+        <view class="record-content data-v-1a2b913a">
+          <time-line
+            bind:__l="__l"
+            class="data-v-1a2b913a"
+            uI="1a2b913a-3"
+            uP="{{G}}"
+            wx:if="{{G}}"
+          ></time-line>
+        </view>
+      </view>
+    </view>
+    <view class="example data-v-1a2b913a" wx:if="{{H}}">
+      <view class="background data-v-1a2b913a"></view>
+      <view class="content-title data-v-1a2b913a">车辆历史报告</view>
+      <view class="sub-title data-v-1a2b913a">中国汽车流通协会发起建设</view>
+      <view class="order-detail data-v-1a2b913a">
+        <view class="detail-item data-v-1a2b913a">
+          <view class="label data-v-1a2b913a">VIN车架号:</view>
+          <view class="value data-v-1a2b913a">WDDBF******J540972</view>
+        </view>
+        <view class="detail-item data-v-1a2b913a">
+          <view class="label data-v-1a2b913a">订单编号:</view>
+          <view class="value data-v-1a2b913a">35023967751878956</view>
+        </view>
+        <view class="detail-item data-v-1a2b913a">
+          <view class="label data-v-1a2b913a">报告时间:</view>
+          <view class="value data-v-1a2b913a">2021-08-01 11:27:27</view>
+        </view>
+      </view>
+      <view class="card data-v-1a2b913a">
+        <view class="card-title data-v-1a2b913a">
+          <image
+            class="icon-title data-v-1a2b913a"
+            src="/static/images/icon_title.png"
+          ></image>
+          <text class="data-v-1a2b913a">基本信息</text>
+        </view>
+        <view class="cell-content data-v-1a2b913a">
+          <view class="cell data-v-1a2b913a" wx:for="{{I}}" wx:key="c">
+            <view class="title data-v-1a2b913a">{{item.a}}</view>
+            <view class="value data-v-1a2b913a">{{item.b}}</view>
+          </view>
+        </view>
+      </view>
+      <view class="card data-v-1a2b913a">
+        <view class="card-title data-v-1a2b913a">
+          <image
+            class="icon-title data-v-1a2b913a"
+            src="/static/images/icon_title.png"
+          ></image>
+          <text class="data-v-1a2b913a">车况排查</text>
+        </view>
+        <view class="ckpc-content data-v-1a2b913a">
+          <view class="item data-v-1a2b913a" wx:for="{{J}}" wx:key="g">
+            <image
+              class="icon data-v-1a2b913a"
+              mode="aspectFit"
+              src="{{item.a}}"
+            ></image>
+            <text class="name data-v-1a2b913a">{{item.b}}</text>
+            <text class="status normal data-v-1a2b913a" wx:if="{{item.c}}"
+              >正常</text
+            >
+            <text class="status unidentified data-v-1a2b913a" wx:if="{{item.d}}"
+              >无法确定</text
+            >
+            <text class="status doubt data-v-1a2b913a" wx:if="{{item.e}}"
+              >疑似</text
+            >
+            <text class="status error data-v-1a2b913a" wx:if="{{item.f}}"
+              >异常</text
+            >
+          </view>
+        </view>
+      </view>
+      <view class="card data-v-1a2b913a">
+        <view class="card-title data-v-1a2b913a">
+          <image
+            class="icon-title data-v-1a2b913a"
+            src="/static/images/icon_title.png"
+          ></image>
+          <text class="data-v-1a2b913a">综合车况评级</text>
+        </view>
+        <view class="grade-info data-v-1a2b913a">
+          <image
+            class="grade-img data-v-1a2b913a"
+            src="/static/images/icon_good.jpg"
+          ></image>
+          <view class="explain data-v-1a2b913a">
+            车况评级分为四种:优秀、良好、中等、较差。车况评级结果仅供参考,请谨慎使用。
+          </view>
+        </view>
+      </view>
+      <view class="card data-v-1a2b913a">
+        <view class="card-title data-v-1a2b913a">
+          <image
+            class="icon-title data-v-1a2b913a"
+            src="/static/images/icon_title.png"
+          ></image>
+          <text class="data-v-1a2b913a">排查明细</text>
+        </view>
+        <view class="vehicle-detail data-v-1a2b913a">
+          <uni-collapse
+            bind:__l="__l"
+            class="data-v-1a2b913a"
+            uI="1a2b913a-4"
+            uS="{{['d']}}"
+          >
+            <uni-collapse-item
+              bind:__l="__l"
+              class="data-v-1a2b913a"
+              uI="{{item.f}}"
+              uP="{{item.g}}"
+              uS="{{['title','d']}}"
+              wx:for="{{K}}"
+              wx:key="e"
+            >
+              <view class="part-title data-v-1a2b913a" slot="title">
+                <view class="title data-v-1a2b913a">{{item.a}}</view>
+                <view class="value data-v-1a2b913a">
+                  <text class="{{['data-v-1a2b913a',item.c&&'count']}}"
+                    >{{item.b}}</text
+                  >
+                  项
+                </view>
+              </view>
+              <view
+                class="part-list data-v-1a2b913a"
+                wx:for="{{item.d}}"
+                wx:for-item="partItem"
+                wx:key="c"
+              >
+                <view class="part-item data-v-1a2b913a">
+                  <view class="label data-v-1a2b913a">部件名</view>
+                  <view class="value data-v-1a2b913a">{{partItem.a}}</view>
+                </view>
+                <view class="part-item data-v-1a2b913a">
+                  <view class="label data-v-1a2b913a">类型</view>
+                  <view class="value data-v-1a2b913a">{{partItem.b}}</view>
+                </view>
+                <view class="divider data-v-1a2b913a"></view>
+              </view>
+            </uni-collapse-item>
+          </uni-collapse>
+        </view>
+      </view>
+      <view class="card data-v-1a2b913a">
+        <view class="card-title data-v-1a2b913a">
+          <image
+            class="icon-title data-v-1a2b913a"
+            src="/static/images/icon_title.png"
+          ></image>
+          <text class="data-v-1a2b913a">碰撞部位</text>
+          <view class="suffix data-v-1a2b913a">
+            <image
+              class="data-v-1a2b913a"
+              src="/static/svgs/icon_normal.svg"
+            ></image>
+            <text class="data-v-1a2b913a">正常</text>
+            <image
+              class="data-v-1a2b913a"
+              src="/static/svgs/icon_warning_2.svg"
+            ></image>
+            <text class="data-v-1a2b913a">异常</text>
+          </view>
+        </view>
+        <view class="part-content data-v-1a2b913a">
+          <view class="part-left data-v-1a2b913a">
+            <view
+              class="part-left-item data-v-1a2b913a"
+              wx:for="{{L}}"
+              wx:for-item="value"
+              wx:key="d"
+            >
+              <image
+                class="data-v-1a2b913a"
+                src="/static/svgs/icon_normal.svg"
+                wx:if="{{value.a}}"
+              ></image>
+              <image
+                class="data-v-1a2b913a"
+                src="/static/svgs/icon_warning_2.svg"
+                wx:if="{{value.b}}"
+              ></image>
+              <text class="data-v-1a2b913a">{{value.c}}</text>
+            </view>
+          </view>
+          <view class="part-right data-v-1a2b913a">
+            <image
+              class="pic data-v-1a2b913a"
+              src="/static/images/pic_vehicle.jpg"
+            ></image>
+            <view
+              class="position left data-v-1a2b913a"
+              style="top: 100rpx; left: -30rpx"
+              wx:if="{{M}}"
+            >
+              <view class="name data-v-1a2b913a">前方左侧</view>
+              <view class="horizontal-line data-v-1a2b913a"></view>
+              <view class="icon data-v-1a2b913a"></view>
+            </view>
+            <view
+              class="position left data-v-1a2b913a"
+              style="top: 350rpx; left: -30rpx"
+              wx:if="{{N}}"
+            >
+              <view class="name data-v-1a2b913a">中间左侧</view>
+              <view class="horizontal-line data-v-1a2b913a"></view>
+              <view class="icon data-v-1a2b913a"></view>
+            </view>
+            <view
+              class="position left data-v-1a2b913a"
+              style="bottom: 100rpx; left: -30rpx"
+              wx:if="{{O}}"
+            >
+              <view class="name data-v-1a2b913a">后方左侧</view>
+              <view class="horizontal-line data-v-1a2b913a"></view>
+              <view class="icon data-v-1a2b913a"></view>
+            </view>
+            <view
+              class="position right data-v-1a2b913a"
+              style="top: 100rpx; right: -30rpx"
+              wx:if="{{P}}"
+            >
+              <view class="name data-v-1a2b913a">前方右侧</view>
+              <view class="horizontal-line data-v-1a2b913a"></view>
+              <view class="icon data-v-1a2b913a"></view>
+            </view>
+            <view
+              class="position right data-v-1a2b913a"
+              style="top: 350rpx; right: -30rpx"
+              wx:if="{{Q}}"
+            >
+              <view class="name data-v-1a2b913a">中间右侧</view>
+              <view class="horizontal-line data-v-1a2b913a"></view>
+              <view class="icon data-v-1a2b913a"></view>
+            </view>
+            <view
+              class="position right data-v-1a2b913a"
+              style="bottom: 290rpx; right: -10rpx"
+              wx:if="{{R}}"
+            >
+              <view class="name data-v-1a2b913a">底部</view>
+              <view class="horizontal-line data-v-1a2b913a"></view>
+              <view class="icon data-v-1a2b913a"></view>
+            </view>
+            <view
+              class="position right data-v-1a2b913a"
+              style="bottom: 100rpx; right: -30rpx"
+              wx:if="{{S}}"
+            >
+              <view class="name data-v-1a2b913a">后方右侧</view>
+              <view class="horizontal-line data-v-1a2b913a"></view>
+              <view class="icon data-v-1a2b913a"></view>
+            </view>
+            <view
+              class="position right data-v-1a2b913a"
+              style="top: 425rpx; left: 180rpx"
+              wx:if="{{T}}"
+            >
+              <view class="name data-v-1a2b913a">顶部</view>
+              <view class="horizontal-line data-v-1a2b913a"></view>
+              <view class="icon data-v-1a2b913a"></view>
+            </view>
+            <view
+              class="position top data-v-1a2b913a"
+              style="top: 30rpx; left: 145rpx"
+              wx:if="{{U}}"
+            >
+              <view class="name data-v-1a2b913a">正前方</view>
+              <view class="vertical-line data-v-1a2b913a"></view>
+              <view class="icon data-v-1a2b913a"></view>
+            </view>
+            <view
+              class="position top data-v-1a2b913a"
+              style="top: 150rpx; left: 160rpx"
+              wx:if="{{V}}"
+            >
+              <view class="name data-v-1a2b913a">内部</view>
+              <view class="vertical-line data-v-1a2b913a"></view>
+              <view class="icon data-v-1a2b913a"></view>
+            </view>
+            <view
+              class="position bottom data-v-1a2b913a"
+              style="bottom: 40rpx; left: 150rpx"
+              wx:if="{{W}}"
+            >
+              <view class="name data-v-1a2b913a">正后方</view>
+              <view class="vertical-line data-v-1a2b913a"></view>
+              <view class="icon data-v-1a2b913a"></view>
+            </view>
+            <view
+              class="position bottom data-v-1a2b913a"
+              style="bottom: 0; right: 20rpx"
+              wx:if="{{X}}"
+            >
+              <view class="name data-v-1a2b913a">其他</view>
+              <view class="vertical-line data-v-1a2b913a"></view>
+              <view class="icon data-v-1a2b913a"></view>
+            </view>
+          </view>
+        </view>
+      </view>
+      <view class="card data-v-1a2b913a">
+        <view class="card-title data-v-1a2b913a">
+          <image
+            class="icon-title data-v-1a2b913a"
+            src="/static/images/icon_title.png"
+          ></image>
+          <text class="data-v-1a2b913a">保险信息</text>
+        </view>
+        <view class="insurance-content data-v-1a2b913a">
+          <view class="notice data-v-1a2b913a">
+            *
+            若当前交强险或商业险未在保,但当前断缴时长不超过一个月时,不纳入断缴统计记录中。
+          </view>
+          <view class="top-content data-v-1a2b913a">
+            <view class="item data-v-1a2b913a" wx:for="{{Y}}" wx:key="f">
+              <image class="icon data-v-1a2b913a" src="{{item.a}}"></image>
+              <text class="name data-v-1a2b913a">{{item.b}}</text>
+              <text class="status normal data-v-1a2b913a" wx:if="{{item.c}}"
+                >正常</text
+              >
+              <text class="status warning data-v-1a2b913a" wx:if="{{item.d}}"
+                >异常</text
+              >
+              <text class="status unknown data-v-1a2b913a" wx:if="{{item.e}}"
+                >未知</text
+              >
+            </view>
+          </view>
+          <view class="divider data-v-1a2b913a"></view>
+          <view class="bottom-content data-v-1a2b913a">
+            <view class="item data-v-1a2b913a" wx:for="{{Z}}" wx:key="c">
+              <view class="title data-v-1a2b913a">{{item.a}}</view>
+              <view class="value data-v-1a2b913a">{{item.b}}</view>
+            </view>
+          </view>
+        </view>
+      </view>
+      <view class="card data-v-1a2b913a">
+        <view class="card-title data-v-1a2b913a">
+          <image
+            class="icon-title data-v-1a2b913a"
+            src="/static/images/icon_title.png"
+          ></image>
+          <text class="data-v-1a2b913a">出险明细</text>
+        </view>
+        <view class="insurance-detail data-v-1a2b913a">
+          <view class="top-content data-v-1a2b913a">
+            <view class="item data-v-1a2b913a">
+              <view class="count data-v-1a2b913a">3</view>
+              <view class="info data-v-1a2b913a">维修总次数(次)</view>
+            </view>
+            <view class="item data-v-1a2b913a">
+              <view class="count data-v-1a2b913a">8000 </view>
+              <view class="info data-v-1a2b913a">维修总金额(元)</view>
+            </view>
+          </view>
+          <view class="insurance-list data-v-1a2b913a">
+            <view
+              class="insurance-item data-v-1a2b913a"
+              wx:for="{{aa}}"
+              wx:key="e"
+            >
+              <view class="title data-v-1a2b913a">
+                <view class="dot data-v-1a2b913a"></view>
+                <view class="date data-v-1a2b913a">{{item.a}}</view>
+                <view class="status data-v-1a2b913a">({{item.b}})</view>
+                <view class="money data-v-1a2b913a">{{item.c}}元</view>
+              </view>
+              <view class="records data-v-1a2b913a">
+                <view class="record-title data-v-1a2b913a">
+                  <view class="value data-v-1a2b913a" style="width: 40%"
+                    >维修名称</view
+                  >
+                  <view class="value data-v-1a2b913a">维修类型</view>
+                  <view class="value data-v-1a2b913a">件数</view>
+                </view>
+                <view
+                  class="record-item data-v-1a2b913a"
+                  wx:for="{{item.d}}"
+                  wx:for-item="listItem"
+                  wx:key="f"
+                >
+                  <view
+                    class="value data-v-1a2b913a"
+                    style="width: 40%; padding: 0 10rpx"
+                    >{{listItem.a}}</view
+                  >
+                  <view class="value data-v-1a2b913a">
+                    <text class="data-v-1a2b913a" wx:if="{{listItem.b}}"
+                      >更换</text
+                    >
+                    <text class="data-v-1a2b913a" wx:elif="{{listItem.c}}"
+                      >维修</text
+                    >
+                    <text class="data-v-1a2b913a" wx:elif="{{listItem.d}}"
+                      >其他</text
+                    >
+                    <text class="data-v-1a2b913a" wx:else>-</text>
+                  </view>
+                  <view class="value data-v-1a2b913a">{{listItem.e}}</view>
+                </view>
+              </view>
+            </view>
+          </view>
+        </view>
+      </view>
+      <view class="card data-v-1a2b913a">
+        <view class="card-title data-v-1a2b913a">
+          <image
+            class="icon-title data-v-1a2b913a"
+            src="/static/images/icon_title.png"
+          ></image>
+          <text class="data-v-1a2b913a">车况评级说明</text>
+        </view>
+        <view class="intro data-v-1a2b913a" style="margin-top: 20rpx">
+          (1)优秀:外观无可见瑕疵和喷漆修复等记录;内饰无磨损维修记录;动力系统、机械部位运行正常且无维修;按时保养且记录完整;电子系统无任何故障
+        </view>
+        <view class="intro data-v-1a2b913a">
+          (2)良好:外观局部有1-2处损伤记录;内饰有1-2
+          处磨损维修记录;动力系统正常且无维修;机械部位运行正常有部分维修或更换记录;电子设备及模块使用正常
+        </view>
+        <view class="intro data-v-1a2b913a">
+          (3)中等:外观局部有3-5处损伤记录;内饰有5-
+          10处磨损维修记录;动力系统有维修记录;结构件有轻微异常记录
+        </view>
+        <view class="intro data-v-1a2b913a">
+          (4)较差:外观局部有5处以上损伤记录;内饰有
+          10处以上磨损记录;动力系统有3次以上维修记录或发动机变速箱有维修记录;大灯框架/水箱框架更换或变形;机械部位运行存在严重异常或有大修记录
+        </view>
+      </view>
+    </view>
+  </view>
+  <view class="module-title data-v-1a2b913a">免责声明</view>
+  <view class="disclaimer data-v-1a2b913a">{{ab}}</view>
+  <divider bind:__l="__l" class="data-v-1a2b913a" uI="1a2b913a-6"></divider>
+  <float-back-to-top
+    bind:__l="__l"
+    class="data-v-1a2b913a"
+    uI="1a2b913a-7"
+    uP="{{ac}}"
+    wx:if="{{ac}}"
+  ></float-back-to-top>
+  <float-share
+    bind:__l="__l"
+    class="data-v-1a2b913a"
+    uI="1a2b913a-8"
+  ></float-share>
+  <keyboard
+    bind:__l="__l"
+    bindchange="{{ae}}"
+    bindclose="{{ad}}"
+    bindtypeChange="{{af}}"
+    class="data-v-1a2b913a"
+    uI="1a2b913a-9"
+    uP="{{ag}}"
+    wx:if="{{ag}}"
+  ></keyboard>
+  <keyboard
+    bind:__l="__l"
+    bindchange="{{ai}}"
+    bindclose="{{ah}}"
+    class="data-v-1a2b913a"
+    uI="1a2b913a-10"
+    uP="{{aj}}"
+    wx:if="{{aj}}"
+  ></keyboard>
+  <popup-copy-vin
+    bind:__l="__l"
+    bindcancel="{{al}}"
+    bindconfirm="{{ak}}"
+    class="data-v-1a2b913a"
+    uI="1a2b913a-11"
+    uP="{{am}}"
+    wx:if="{{am}}"
+  ></popup-copy-vin>
+</view>
diff --git a/pages/report-query/index.wxss b/pages/report-query/index.wxss
new file mode 100644
index 0000000..05772da
--- /dev/null
+++ b/pages/report-query/index.wxss
@@ -0,0 +1,854 @@
+.content.data-v-1a2b913a {
+  padding: 30rpx;
+}
+.content .banner.data-v-1a2b913a {
+  background-color: #1f68e9;
+  border-radius: 15rpx;
+  color: #fff;
+  height: 240rpx;
+  padding: 30rpx;
+  position: relative;
+}
+.content .banner .title.data-v-1a2b913a {
+  height: 95rpx;
+  position: absolute;
+  top: 40rpx;
+  z-index: 9;
+}
+.content .banner.maintain .image.data-v-1a2b913a {
+  bottom: 5rpx;
+  height: 120rpx;
+  position: absolute;
+  right: 0;
+  width: 300rpx;
+  z-index: 9;
+}
+.content .banner.accident .image.data-v-1a2b913a {
+  bottom: -25rpx;
+  height: 200rpx;
+  position: absolute;
+  right: -20rpx;
+  width: 400rpx;
+  z-index: 9;
+}
+.content .banner.overall .image.data-v-1a2b913a {
+  bottom: 5rpx;
+  height: 128rpx;
+  position: absolute;
+  right: 0;
+  width: 300rpx;
+  z-index: 9;
+}
+.content .module-title.data-v-1a2b913a {
+  align-items: center;
+  border-left: 6rpx solid #1f68e9;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 34rpx;
+  font-weight: 700;
+  justify-content: space-between;
+  line-height: 34rpx;
+  margin: 30rpx 0;
+  padding-left: 20rpx;
+}
+.content .module-title .tips.data-v-1a2b913a {
+  color: #1f68e9;
+  font-size: 30rpx;
+  font-weight: 400;
+}
+.content .query-content.data-v-1a2b913a {
+  background-color: #fff;
+  border-radius: 10rpx;
+  padding: 40rpx;
+}
+.content .query-content .radio-group.data-v-1a2b913a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 32rpx;
+  margin-bottom: 30rpx;
+}
+.content .query-content .radio-group label.data-v-1a2b913a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  margin-right: 20rpx;
+}
+.content .query-content .radio-group .tips.data-v-1a2b913a {
+  color: #1f68e9;
+  font-size: 30rpx;
+}
+.content .query-content .vehicle-content.data-v-1a2b913a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+}
+.content .query-content .vehicle-content .number-item.data-v-1a2b913a {
+  border: 2rpx solid #e1e1e1;
+  display: -webkit-flex;
+  display: flex;
+  font-weight: 700;
+  height: 85rpx;
+  justify-content: center;
+  margin: 0 7rpx;
+  position: relative;
+  width: 75rpx;
+}
+.content .query-content .vehicle-content .number-item.new.data-v-1a2b913a {
+  border: 2rpx dashed #6fd99a;
+}
+.content .query-content .vehicle-content .number-item .number.data-v-1a2b913a {
+  font-size: 32rpx;
+  height: 50rpx;
+  margin-top: 18rpx;
+  padding-bottom: 18rpx;
+  text-align: center;
+  width: 35rpx;
+}
+.content
+  .query-content
+  .vehicle-content
+  .number-item
+  .number.selected.data-v-1a2b913a {
+  border-bottom: 4rpx solid #1f68e9;
+}
+.content .query-content .vehicle-content .number-item .energy.data-v-1a2b913a {
+  background: #0ac260;
+  border-radius: 14rpx;
+  color: #fff;
+  font-size: 16rpx;
+  height: 28rpx;
+  left: 2rpx;
+  line-height: 28rpx;
+  position: absolute;
+  text-align: center;
+  top: -20rpx;
+  width: 60rpx;
+}
+.content .query-content .input-content.data-v-1a2b913a {
+  align-items: center;
+  background-color: #fff;
+  border: 1px solid #e1e1e1;
+  border-radius: 10rpx;
+  display: -webkit-flex;
+  display: flex;
+  padding: 20rpx;
+  position: relative;
+}
+.content .query-content .input-content.selected.data-v-1a2b913a {
+  border-color: #1f68e9;
+}
+.content .query-content .input-content .input.data-v-1a2b913a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-grow: 1;
+  font-size: 32rpx;
+  overflow-y: scroll;
+  position: relative;
+}
+.content .query-content .input-content .input .placeholder.data-v-1a2b913a {
+  color: silver;
+  left: 0;
+  position: absolute;
+}
+.content .query-content .input-content .input .cursor.data-v-1a2b913a {
+  animation: cursor-blinks-1a2b913a 1.5s step-start infinite;
+  background: #1f68e9;
+  height: 40rpx;
+  width: 4rpx;
+}
+.content .query-content .input-content .clear.data-v-1a2b913a {
+  flex-shrink: 0;
+  height: 32rpx;
+  padding: 0 10rpx 0 20rpx;
+  width: 32rpx;
+}
+.content .query-content .input-content .input-length.data-v-1a2b913a {
+  color: #232323;
+  flex-shrink: 0;
+  font-size: 26rpx;
+}
+.content .query-content .input-content .photo.data-v-1a2b913a {
+  flex-shrink: 0;
+  height: 50rpx;
+  margin-left: 10rpx;
+  margin-top: -5rpx;
+  width: 50rpx;
+}
+.content .query-content .button.data-v-1a2b913a {
+  align-items: center;
+  background-color: #1f68e9;
+  border-radius: 10rpx;
+  color: #fff;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 32rpx;
+  font-weight: 700;
+  height: 90rpx;
+  justify-content: center;
+  margin-top: 30rpx;
+}
+.content .example-content.data-v-1a2b913a {
+  background-color: #fff;
+  border-radius: 10rpx;
+  overflow: hidden;
+}
+.content .example-content .tabs.data-v-1a2b913a {
+  align-items: center;
+  background-color: #fff;
+  border-bottom: 2rpx solid #ebeef5;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 32rpx;
+  height: 90rpx;
+  justify-content: space-evenly;
+  width: 100%;
+}
+.content .example-content .tabs .tab.data-v-1a2b913a {
+  height: 90rpx;
+  line-height: 90rpx;
+}
+.content .example-content .tabs .tab.active.data-v-1a2b913a {
+  border-bottom: 4rpx solid #1f68e9;
+  color: #1f68e9;
+}
+.content .example-content .example.data-v-1a2b913a {
+  margin-top: 30rpx;
+  padding: 30rpx;
+  position: relative;
+}
+.content .example-content .example .background.data-v-1a2b913a {
+  background: linear-gradient(180deg, #1f68e9, #fff);
+  border-radius: 10rpx;
+  height: 2000rpx;
+  left: 0;
+  position: absolute;
+  top: 0;
+  width: 100%;
+  z-index: 1;
+}
+.content .example-content .example .content-title.data-v-1a2b913a {
+  border-bottom: 1rpx solid #74a8e6;
+  color: #fff;
+  font-size: 50rpx;
+  margin-top: 20rpx;
+  padding-bottom: 20rpx;
+  position: relative;
+  text-align: center;
+  z-index: 2;
+}
+.content .example-content .example .sub-title.data-v-1a2b913a {
+  color: #fff;
+  font-size: 26rpx;
+  margin-top: 20rpx;
+  position: relative;
+  text-align: center;
+  z-index: 2;
+}
+.content .example-content .example .order-detail.data-v-1a2b913a {
+  color: #fff;
+  font-size: 28rpx;
+  margin-top: 50rpx;
+  position: relative;
+  z-index: 2;
+}
+.content .example-content .example .order-detail .detail-item.data-v-1a2b913a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  margin: 15rpx 0;
+}
+.content
+  .example-content
+  .example
+  .order-detail
+  .detail-item
+  .label.data-v-1a2b913a {
+  width: 170rpx;
+}
+.content .example-content .card.data-v-1a2b913a {
+  background-color: #fff;
+  border-radius: 10rpx;
+  margin: 30rpx 0;
+  padding: 30rpx;
+  position: relative;
+  z-index: 2;
+}
+.content .example-content .card .card-title.data-v-1a2b913a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+}
+.content .example-content .card .card-title .icon-title.data-v-1a2b913a {
+  height: 30rpx;
+  margin-right: 10rpx;
+  width: 34rpx;
+}
+.content .example-content .card .card-title .suffix.data-v-1a2b913a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+}
+.content .example-content .card .card-title .suffix image.data-v-1a2b913a {
+  height: 30rpx;
+  margin-left: 30rpx;
+  width: 30rpx;
+}
+.content .example-content .card .card-title .suffix text.data-v-1a2b913a {
+  color: #9a9a9a;
+  font-size: 3028rpxrpx;
+  margin-left: 8rpx;
+}
+.content .example-content .card .card-title image.data-v-1a2b913a {
+  flex-shrink: 0;
+}
+.content .example-content .card .card-title text.data-v-1a2b913a {
+  color: #1f68e9;
+  flex-grow: 1;
+  font-size: 32rpx;
+}
+.content .example-content .brand-name.data-v-1a2b913a {
+  font-size: 32rpx;
+  font-weight: 700;
+  margin-top: 30rpx;
+}
+.content .example-content .cell-content.data-v-1a2b913a {
+  background-color: #fff;
+  border-radius: 10rpx;
+  margin-top: 20rpx;
+  position: relative;
+}
+.content .example-content .cell-content .cell.data-v-1a2b913a {
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  padding: 15rpx;
+}
+.content .example-content .cell-content .cell .title.data-v-1a2b913a {
+  color: #333;
+  flex-shrink: 0;
+  font-size: 30rpx;
+  padding-left: 5rpx;
+  position: relative;
+}
+.content .example-content .cell-content .cell .value.data-v-1a2b913a {
+  color: #686868;
+  font-size: 30rpx;
+  max-width: 450rpx;
+  padding-right: 5rpx;
+}
+.content .example-content .mile-content.data-v-1a2b913a {
+  background-color: #fff;
+  margin-top: 20rpx;
+}
+.content .example-content .mile-content .mile-item.data-v-1a2b913a {
+  border-left: 2rpx solid #ebeef5;
+  border-right: 2rpx solid #ebeef5;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  width: 100%;
+}
+.content .example-content .mile-content .mile-item.data-v-1a2b913a:last-child {
+  border-bottom: 2rpx solid #ebeef5;
+}
+.content .example-content .mile-content .mile-item.selected.data-v-1a2b913a {
+  background: #fafafa;
+  border-bottom: 2rpx solid #ebeef5;
+  border-top: 2rpx solid #ebeef5;
+}
+.content .example-content .mile-content .mile-item .date-title.data-v-1a2b913a,
+.content .example-content .mile-content .mile-item .mile-title.data-v-1a2b913a {
+  background-color: #f2f2f2;
+  border-bottom: 2rpx solid #ebeef5;
+  border-top: 2rpx solid #ebeef5;
+  font-weight: 700;
+}
+.content .example-content .mile-content .mile-item .date-title.data-v-1a2b913a,
+.content .example-content .mile-content .mile-item .date.data-v-1a2b913a,
+.content .example-content .mile-content .mile-item .mile-title.data-v-1a2b913a,
+.content .example-content .mile-content .mile-item .mile.data-v-1a2b913a {
+  padding: 15rpx 0;
+  text-align: center;
+  width: 50%;
+}
+.content .example-content .record-content.data-v-1a2b913a {
+  background-color: #fff;
+  border-radius: 10rpx;
+}
+.content .example-content .ckpc-content.data-v-1a2b913a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-wrap: wrap;
+  justify-content: space-between;
+}
+.content .example-content .ckpc-content .item.data-v-1a2b913a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  margin-top: 30rpx;
+  position: relative;
+  width: 135rpx;
+}
+.content .example-content .ckpc-content .item .icon.data-v-1a2b913a {
+  height: 56rpx;
+  width: 56rpx;
+}
+.content .example-content .ckpc-content .item .name.data-v-1a2b913a {
+  font-size: 28rpx;
+  margin-top: 10rpx;
+}
+.content .example-content .ckpc-content .item .status.data-v-1a2b913a {
+  border-radius: 50rpx;
+  font-size: 24rpx;
+  margin-top: 20rpx;
+  padding: 5rpx 16rpx;
+}
+.content .example-content .ckpc-content .item .status.normal.data-v-1a2b913a {
+  background-color: #dbf5e2;
+  color: #4aa444;
+}
+.content .example-content .ckpc-content .item .status.error.data-v-1a2b913a {
+  background-color: rgba(238, 36, 25, 0.094);
+  color: #eb5a5a;
+}
+.content
+  .example-content
+  .ckpc-content
+  .item
+  .status.unidentified.data-v-1a2b913a {
+  background-color: #ececec;
+  color: #606060;
+}
+.content .example-content .ckpc-content .item .status.doubt.data-v-1a2b913a {
+  background-color: rgba(255, 112, 56, 0.157);
+  color: #ff7038;
+}
+.content .example-content .grade-info.data-v-1a2b913a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+}
+.content .example-content .grade-info .grade-img.data-v-1a2b913a {
+  height: 172rpx;
+  margin: 30rpx 0;
+  width: 200rpx;
+}
+.content .example-content .grade-info .explain.data-v-1a2b913a {
+  background: #fafafa;
+  border-radius: 10rpx;
+  color: #9a9a9a;
+  font-size: 26rpx;
+  line-height: 38rpx;
+  padding: 20rpx;
+  position: relative;
+}
+.content .example-content .vehicle-detail.data-v-1a2b913a {
+  margin-top: 20rpx;
+}
+.content .example-content .vehicle-detail .part-title.data-v-1a2b913a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  justify-content: space-between;
+  margin: 25rpx 0;
+}
+.content .example-content .vehicle-detail .part-title .count.data-v-1a2b913a {
+  color: #333;
+}
+.content .example-content .vehicle-detail .part-list.data-v-1a2b913a {
+  font-size: 28rpx;
+}
+.content
+  .example-content
+  .vehicle-detail
+  .part-list
+  .part-item.data-v-1a2b913a {
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin: 25rpx 0;
+}
+.content
+  .example-content
+  .vehicle-detail
+  .part-list
+  .part-item
+  .label.data-v-1a2b913a {
+  color: #9a9a9a;
+}
+.content
+  .example-content
+  .vehicle-detail
+  .part-list
+  .part-item
+  .value.data-v-1a2b913a {
+  color: #333;
+  margin-right: 50rpx;
+}
+.content .example-content .part-content.data-v-1a2b913a {
+  border-radius: 17rpx;
+  display: -webkit-flex;
+  display: flex;
+  margin-top: 20rpx;
+}
+.content .example-content .part-content .part-left.data-v-1a2b913a {
+  flex-shrink: 0;
+  width: 200rpx;
+}
+.content .example-content .part-content .part-left-item.data-v-1a2b913a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  height: 65rpx;
+}
+.content .example-content .part-content .part-left-item image.data-v-1a2b913a {
+  height: 30rpx;
+  width: 30rpx;
+}
+.content .example-content .part-content .part-left-item text.data-v-1a2b913a {
+  color: #333;
+  font-size: 28rpx;
+  margin-left: 20rpx;
+}
+.content .example-content .part-content .part-right.data-v-1a2b913a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-grow: 1;
+  justify-content: center;
+  position: relative;
+}
+.content .example-content .part-content .part-right .pic.data-v-1a2b913a {
+  height: 577rpx;
+  width: 300rpx;
+  z-index: 10;
+}
+.content .example-content .part-content .part-right .position.data-v-1a2b913a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  position: absolute;
+  z-index: 20;
+}
+.content
+  .example-content
+  .part-content
+  .part-right
+  .position.right.data-v-1a2b913a {
+  flex-direction: row-reverse;
+}
+.content
+  .example-content
+  .part-content
+  .part-right
+  .position.top.data-v-1a2b913a {
+  flex-direction: column;
+}
+.content
+  .example-content
+  .part-content
+  .part-right
+  .position.bottom.data-v-1a2b913a {
+  flex-direction: column-reverse;
+}
+.content
+  .example-content
+  .part-content
+  .part-right
+  .position
+  .name.data-v-1a2b913a {
+  color: #333;
+  font-size: 26rpx;
+}
+.content
+  .example-content
+  .part-content
+  .part-right
+  .position
+  .horizontal-line.data-v-1a2b913a {
+  background: #bf5759;
+  height: 2rpx;
+  width: 15rpx;
+}
+.content
+  .example-content
+  .part-content
+  .part-right
+  .position
+  .vertical-line.data-v-1a2b913a {
+  background: #bf5759;
+  height: 15rpx;
+  width: 2rpx;
+}
+.content
+  .example-content
+  .part-content
+  .part-right
+  .position
+  .icon.data-v-1a2b913a {
+  background: #eb5a5b;
+  border: 1rpx solid #fff;
+  border-radius: 100%;
+  height: 22rpx;
+  width: 22rpx;
+}
+.content .example-content .top-content.data-v-1a2b913a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-wrap: wrap;
+  justify-content: space-between;
+  margin-bottom: 30rpx;
+}
+.content .example-content .top-content .item.data-v-1a2b913a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  margin-top: 20rpx;
+  position: relative;
+  width: 180rpx;
+}
+.content .example-content .top-content .item .icon.data-v-1a2b913a {
+  height: 56rpx;
+  width: 56rpx;
+}
+.content .example-content .top-content .item .name.data-v-1a2b913a {
+  font-size: 24rpx;
+  margin-top: 10rpx;
+}
+.content .example-content .top-content .item .status.data-v-1a2b913a {
+  border-radius: 50rpx;
+  font-size: 24rpx;
+  margin-top: 20rpx;
+  padding: 5rpx 16rpx;
+}
+.content .example-content .top-content .item .status.normal.data-v-1a2b913a {
+  background-color: #dbf5e2;
+  color: #4aa444;
+}
+.content .example-content .top-content .item .status.unknown.data-v-1a2b913a {
+  background-color: #ececec;
+  color: #606060;
+}
+.content .example-content .top-content .item .status.warning.data-v-1a2b913a {
+  background-color: rgba(255, 112, 56, 0.157);
+  color: #ff7038;
+}
+.content .example-content .bottom-content .item.data-v-1a2b913a {
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  justify-content: space-between;
+  margin-top: 30rpx;
+}
+.content .example-content .bottom-content .item .title.data-v-1a2b913a,
+.content .example-content .bottom-content .item .value.data-v-1a2b913a {
+  color: #333;
+}
+.content .example-content .insurance-detail.data-v-1a2b913a {
+  margin-top: 30rpx;
+}
+.content .example-content .insurance-detail .top-content.data-v-1a2b913a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+}
+.content .example-content .insurance-detail .top-content .item.data-v-1a2b913a {
+  align-items: center;
+  background: #f3f3f3;
+  border: 1rpx solid #d9d9d9;
+  border-radius: 10rpx;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  height: 167rpx;
+  justify-content: center;
+  width: 270rpx;
+}
+.content
+  .example-content
+  .insurance-detail
+  .top-content
+  .item
+  .info.data-v-1a2b913a {
+  color: #9a9a9a;
+  font-size: 26rpx;
+  margin-top: 20rpx;
+}
+.content
+  .example-content
+  .insurance-detail
+  .top-content
+  .item
+  .count.data-v-1a2b913a {
+  color: #1f68e9;
+  font-size: 50rpx;
+  font-weight: 700;
+}
+.content
+  .example-content
+  .insurance-detail
+  .insurance-item
+  .title.data-v-1a2b913a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  margin: 30rpx 0;
+}
+.content
+  .example-content
+  .insurance-detail
+  .insurance-item
+  .title
+  .dot.data-v-1a2b913a {
+  background-color: #1f68e9;
+  border-radius: 100%;
+  flex-shrink: 0;
+  height: 18rpx;
+  width: 18rpx;
+}
+.content
+  .example-content
+  .insurance-detail
+  .insurance-item
+  .title
+  .date.data-v-1a2b913a {
+  flex-shrink: 0;
+  font-weight: 700;
+  margin-left: 10rpx;
+}
+.content
+  .example-content
+  .insurance-detail
+  .insurance-item
+  .title
+  .status.data-v-1a2b913a {
+  flex-grow: 1;
+}
+.content
+  .example-content
+  .insurance-detail
+  .insurance-item
+  .title
+  .money.data-v-1a2b913a {
+  flex-shrink: 0;
+}
+.content
+  .example-content
+  .insurance-detail
+  .insurance-item
+  .records.data-v-1a2b913a {
+  background-color: #fff;
+  border: 1rpx solid #d9d9d9;
+  border-radius: 10rpx;
+  font-size: 28rpx;
+}
+.content
+  .example-content
+  .insurance-detail
+  .insurance-item
+  .records
+  .record-title.data-v-1a2b913a {
+  align-items: center;
+  background-color: #f3f3f3;
+  display: -webkit-flex;
+  display: flex;
+  padding: 15rpx 0;
+}
+.content
+  .example-content
+  .insurance-detail
+  .insurance-item
+  .records
+  .record-title
+  .value.data-v-1a2b913a {
+  display: -webkit-flex;
+  display: flex;
+  font-weight: 700;
+  justify-content: center;
+  width: 30%;
+}
+.content
+  .example-content
+  .insurance-detail
+  .insurance-item
+  .records
+  .record-item.data-v-1a2b913a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  padding: 15rpx 0;
+}
+.content
+  .example-content
+  .insurance-detail
+  .insurance-item
+  .records
+  .record-item
+  .value.data-v-1a2b913a {
+  display: -webkit-flex;
+  display: flex;
+  justify-content: center;
+  width: 30%;
+}
+.content .example-content .notice.data-v-1a2b913a {
+  color: #5e5e6b;
+  font-size: 24rpx;
+  margin-top: 30rpx;
+}
+.content .example-content .intro.data-v-1a2b913a {
+  color: #333;
+  font-size: 30rpx;
+  padding: 10rpx 0;
+}
+.content .example-content .tips.data-v-1a2b913a {
+  background-color: #fff9ea;
+  color: #ff9a43;
+  font-size: 26rpx;
+  padding: 20rpx;
+}
+.content .disclaimer.data-v-1a2b913a {
+  background-color: #fff;
+  border-radius: 10rpx;
+  color: #333;
+  font-size: 30rpx;
+  padding: 30rpx 40rpx;
+}
+@-webkit-keyframes cursor-blinks-1a2b913a {
+  0% {
+    display: block;
+    opacity: 1;
+  }
+  50% {
+    display: none;
+    opacity: 0;
+  }
+  to {
+    display: block;
+    opacity: 1;
+  }
+}
+@keyframes cursor-blinks-1a2b913a {
+  0% {
+    display: block;
+    opacity: 1;
+  }
+  50% {
+    display: none;
+    opacity: 0;
+  }
+  to {
+    display: block;
+    opacity: 1;
+  }
+}
diff --git a/pages/sali-check-detail/index.js b/pages/sali-check-detail/index.js
new file mode 100644
index 0000000..797e6db
--- /dev/null
+++ b/pages/sali-check-detail/index.js
@@ -0,0 +1,86 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../hooks/onMounted.js"),
+  r = require("../../hooks/onShareAppMessage.js"),
+  t = require("../../service/index.js"),
+  u = require("../../constant/index.js"),
+  a = require("../../utils/util.js");
+require("../../hooks/useState.js"),
+  require("../../store/app/index.js"),
+  require("../../enums/index.js"),
+  require("../../data/index.js"),
+  require("../../config/index.js"),
+  require("../../utils/request.js"),
+  Math || (e.unref(i) + e.unref(s) + e.unref(o))();
+var i = function () {
+    return "../../components/vehicle-number/index.js";
+  },
+  o = function () {
+    return "../../components/empty/index.js";
+  },
+  s = function () {
+    return "../../components/divider/index.js";
+  },
+  d = {
+    __name: "index",
+    setup: function (i) {
+      var o = e.ref(!0),
+        s = e.ref(!1),
+        d = e.ref({}),
+        c = function () {
+          e.index.setClipboardData({ data: d.value.vin }).then(function () {
+            a.showToast("VIN车架号已复制");
+          });
+        };
+      return (
+        n.onMounted(function (n) {
+          var r = n.order_no,
+            i = n.product_id;
+          a.showLoading("努力查询中"),
+            t
+              .getReportDetail({ order_no: r, product_id: i })
+              .then(function (n) {
+                var r = e._.find(u.vehicleTypeList, function (e) {
+                  return e.value == n.type;
+                });
+                (n.type = r ? r.text : "-"),
+                  (d.value = n),
+                  (o.value = !1),
+                  a.hideLoading();
+              });
+        }, !1),
+        r.onShareAppMessage(),
+        function (n, r) {
+          return e.e(
+            { a: !o.value },
+            o.value
+              ? {}
+              : e.e(
+                  { b: !s.value },
+                  s.value
+                    ? {}
+                    : e.e(
+                        { c: d.value.car_no },
+                        d.value.car_no
+                          ? { d: e.p({ data: d.value.car_no }) }
+                          : {},
+                        { e: d.value.vin },
+                        d.value.vin ? { f: e.t(d.value.vin), g: e.o(c) } : {},
+                        {
+                          h: e.t(d.value.type || "-"),
+                          i: e.t(d.value.first_insurance_date || "-"),
+                          j: e.t(d.value.last_compulsory_insurance_date || "-"),
+                          k: e.t(d.value.latest_insurance_date_start || "-"),
+                          l: e.t(d.value.latest_insurance_date_end || "-"),
+                          m: e.t(e.unref(u.disclaimer)),
+                        }
+                      ),
+                  { n: s.value },
+                  s.value ? { o: e.p({ info: "抱歉~!没有查到数据哦" }) } : {}
+                )
+          );
+        }
+      );
+    },
+  },
+  c = e._export_sfc(d, [["__scopeId", "data-v-ad616c8d"]]);
+(d.__runtimeHooks = 2), wx.createPage(c);
diff --git a/pages/sali-check-detail/index.json b/pages/sali-check-detail/index.json
new file mode 100644
index 0000000..ac4b955
--- /dev/null
+++ b/pages/sali-check-detail/index.json
@@ -0,0 +1,8 @@
+{
+  "navigationBarTitleText": "交强险投保日期",
+  "usingComponents": {
+    "vehicle-number": "../../components/vehicle-number/index",
+    "empty": "../../components/empty/index",
+    "divider": "../../components/divider/index"
+  }
+}
diff --git a/pages/sali-check-detail/index.wxml b/pages/sali-check-detail/index.wxml
new file mode 100644
index 0000000..26041dc
--- /dev/null
+++ b/pages/sali-check-detail/index.wxml
@@ -0,0 +1,56 @@
+<view class="content data-v-ad616c8d" wx:if="{{a}}">
+  <view class="data-v-ad616c8d" wx:if="{{b}}">
+    <view class="module-title data-v-ad616c8d">交强险投保日期</view>
+    <view class="detail data-v-ad616c8d">
+      <view class="cell data-v-ad616c8d" wx:if="{{c}}">
+        <view class="title data-v-ad616c8d">车牌号码</view>
+        <view class="value data-v-ad616c8d">
+          <vehicle-number
+            bind:__l="__l"
+            class="data-v-ad616c8d"
+            uI="ad616c8d-0"
+            uP="{{d}}"
+            wx:if="{{d}}"
+          ></vehicle-number>
+        </view>
+      </view>
+      <view class="cell data-v-ad616c8d" wx:if="{{e}}">
+        <view class="title data-v-ad616c8d">VIN车架号</view>
+        <view class="value data-v-ad616c8d">
+          <text class="data-v-ad616c8d">{{f}}</text>
+          <text bindtap="{{g}}" class="copy data-v-ad616c8d">复制</text>
+        </view>
+      </view>
+      <view class="cell data-v-ad616c8d">
+        <view class="title data-v-ad616c8d">号牌种类</view>
+        <view class="value data-v-ad616c8d">{{h}}</view>
+      </view>
+      <view class="cell data-v-ad616c8d">
+        <view class="title data-v-ad616c8d">初次投保日期</view>
+        <view class="value data-v-ad616c8d">{{i}}</view>
+      </view>
+      <view class="cell data-v-ad616c8d">
+        <view class="title data-v-ad616c8d">上次交强险投保年月</view>
+        <view class="value data-v-ad616c8d">{{j}}</view>
+      </view>
+      <view class="cell data-v-ad616c8d">
+        <view class="title data-v-ad616c8d">最近交强险投保期始</view>
+        <view class="value data-v-ad616c8d">{{k}}</view>
+      </view>
+      <view class="cell data-v-ad616c8d">
+        <view class="title data-v-ad616c8d">最近交强险投保期止</view>
+        <view class="value data-v-ad616c8d">{{l}}</view>
+      </view>
+    </view>
+    <view class="module-title data-v-ad616c8d">免责声明</view>
+    <view class="disclaimer data-v-ad616c8d">{{m}}</view>
+    <divider bind:__l="__l" class="data-v-ad616c8d" uI="ad616c8d-1"></divider>
+  </view>
+  <empty
+    bind:__l="__l"
+    class="data-v-ad616c8d"
+    uI="ad616c8d-2"
+    uP="{{o}}"
+    wx:if="{{n}}"
+  ></empty>
+</view>
diff --git a/pages/sali-check-detail/index.wxss b/pages/sali-check-detail/index.wxss
new file mode 100644
index 0000000..0f810b5
--- /dev/null
+++ b/pages/sali-check-detail/index.wxss
@@ -0,0 +1,88 @@
+.content.data-v-ad616c8d {
+  padding: 30rpx;
+}
+.content .info.data-v-ad616c8d {
+  align-items: center;
+  background-color: #eaf1f8;
+  border-radius: 12rpx;
+  display: -webkit-flex;
+  display: flex;
+  padding: 20rpx 30rpx;
+}
+.content .info .logo.data-v-ad616c8d {
+  flex-shrink: 0;
+  height: 100rpx;
+  width: 100rpx;
+}
+.content .info .right-content.data-v-ad616c8d {
+  flex-grow: 1;
+  margin-left: 30rpx;
+}
+.content .info .right-content .name.data-v-ad616c8d {
+  font-size: 32rpx;
+  font-weight: 700;
+}
+.content .info .right-content .desc.data-v-ad616c8d {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 28rpx;
+  margin-top: 8rpx;
+}
+.content .info .right-content .desc image.data-v-ad616c8d {
+  height: 40rpx;
+  width: 265rpx;
+}
+.content .module-title.data-v-ad616c8d {
+  align-items: center;
+  border-left: 6rpx solid #1f68e9;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 34rpx;
+  font-weight: 700;
+  justify-content: space-between;
+  line-height: 34rpx;
+  margin: 30rpx 0;
+  padding-left: 20rpx;
+}
+.content .module-title .tips.data-v-ad616c8d {
+  color: #1f68e9;
+  font-size: 30rpx;
+  font-weight: 400;
+}
+.content .disclaimer.data-v-ad616c8d {
+  background-color: #fff;
+  border-radius: 10rpx;
+  color: #333;
+  font-size: 30rpx;
+  padding: 30rpx 40rpx;
+}
+.content .detail.data-v-ad616c8d {
+  background-color: #fff;
+  border-radius: 10rpx;
+  padding: 10rpx 40rpx;
+  position: relative;
+}
+.content .detail .cell.data-v-ad616c8d {
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin: 30rpx 0;
+}
+.content .detail .cell .title.data-v-ad616c8d {
+  color: #333;
+  flex-shrink: 0;
+  font-size: 30rpx;
+  padding-left: 5rpx;
+  position: relative;
+}
+.content .detail .cell .value.data-v-ad616c8d {
+  color: #686868;
+  font-size: 30rpx;
+  max-width: 450rpx;
+  padding-right: 5rpx;
+}
+.content .detail .cell .value .copy.data-v-ad616c8d {
+  color: #d71818;
+  margin-left: 15rpx;
+}
diff --git a/pages/sali-check-query/index.js b/pages/sali-check-query/index.js
new file mode 100644
index 0000000..a4ca397
--- /dev/null
+++ b/pages/sali-check-query/index.js
@@ -0,0 +1,281 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../hooks/onMounted.js"),
+  u = require("../../hooks/onShareAppMessage.js"),
+  t = require("../../hooks/useState.js"),
+  a = require("../../enums/index.js"),
+  r = require("../../constant/index.js"),
+  o = require("../../data/index.js"),
+  i = require("../../utils/navigate.js"),
+  l = require("../../utils/util.js"),
+  v = require("../../utils/common.js");
+require("../../service/index.js"),
+  require("../../utils/request.js"),
+  require("../../config/index.js"),
+  require("../../store/app/index.js"),
+  Array || e.resolveComponent("uni-data-select")();
+Math ||
+  (
+    e.unref(p) +
+    function () {
+      return "../../uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js";
+    } +
+    e.unref(c) +
+    e.unref(y) +
+    e.unref(d) +
+    e.unref(m) +
+    e.unref(h) +
+    e.unref(f) +
+    e.unref(s)
+  )();
+var s = function () {
+    return "../../components/popup-copy-vin/index.js";
+  },
+  c = function () {
+    return "../../components/agreement/index.js";
+  },
+  f = function () {
+    return "../../components/keyboard/index.js";
+  },
+  d = function () {
+    return "../../components/divider/index.js";
+  },
+  p = function () {
+    return "../../components/tips/index.js";
+  },
+  y = function () {
+    return "../../components/prompt/index.js";
+  },
+  m = function () {
+    return "../../components/float-back-to-top/index.js";
+  },
+  h = function () {
+    return "../../components/float-share/index.js";
+  },
+  E = {
+    __name: "index",
+    setup: function (s) {
+      var c = t.useState().showAgreementPopup,
+        f = e.ref(!0),
+        d = e.ref(""),
+        p = e.ref("02"),
+        y = e.ref(a.QueryTypeEnum.VIN),
+        m = e.ref(!1),
+        h = e.ref(""),
+        E = e.ref(!1),
+        T = e.ref(["", "", "", "", "", "", "", ""]),
+        g = e.ref(0),
+        x = e.ref(!1),
+        j = e.ref(a.KeyboardEnum.AREA),
+        I = e.ref(!1),
+        b = e.ref(""),
+        N = e.ref(!1),
+        V = function () {
+          var e = c.value || I.value;
+          return "height: 100%; overflow: "
+            .concat(e ? "hidden" : "visible", "; position: ")
+            .concat(e ? "fixed" : "relative");
+        },
+        q = function () {
+          i.navigateTo({ url: "/pages/vin-info/index" });
+        },
+        _ = function (e) {
+          (y.value = e.detail.value),
+            e.detail.value === a.QueryTypeEnum.VIN
+              ? ((E.value = !0), (x.value = !1))
+              : ((E.value = !1), (x.value = !0));
+        },
+        k = function () {
+          h.value = "";
+        },
+        A = function () {
+          v.ocrIdentifyVin().then(function (e) {
+            h.value = e;
+          });
+        },
+        C = function () {
+          E.value = !0;
+        },
+        Q = function () {
+          E.value = !1;
+        },
+        w = function (e) {
+          h.value = e.value;
+        },
+        L = function () {
+          x.value = !1;
+        },
+        H = function (e) {
+          e.keyboardType
+            ? (j.value = e.keyboardType)
+            : ((T.value = e.value), (g.value = e.index));
+        },
+        S = function () {
+          j.value =
+            j.value === a.KeyboardEnum.AREA
+              ? a.KeyboardEnum.ABC
+              : a.KeyboardEnum.AREA;
+        },
+        K = function () {
+          m.value = !m.value;
+        },
+        M = function () {
+          I.value = !1;
+        },
+        O = function () {
+          (h.value = b.value), (I.value = !1), P();
+        },
+        P = function () {
+          (E.value = !1), (x.value = !1);
+          var e = T.value.join("");
+          if (m.value) {
+            if (y.value === a.QueryTypeEnum.VIN) {
+              if (0 === h.value.length)
+                return void l.showToast("请输入VIN车架号");
+              if (h.value.length < 17)
+                return void l.showToast("请输入完整的VIN车架号");
+            }
+            y.value !== a.QueryTypeEnum.VEHICLE_NO || r.vehicleNoExp.test(e)
+              ? p.value
+                ? i.navigateTo({
+                    url: "/pages/order-confirm/index",
+                    params: {
+                      productType: a.ProductTypeEnum.SALI_CHECK,
+                      queryType: y.value,
+                      vehicleType: p.value,
+                      vin: h.value,
+                      vehicleNo: e,
+                    },
+                  })
+                : l.showToast("请选择车辆类型")
+              : l.showToast("请输入正确的车牌");
+          } else l.showToast("请先阅读并同意协议");
+        };
+      return (
+        n.onMounted(function (n) {
+          e.index.setNavigationBarTitle({ title: n.title }),
+            v.hasClickAgreement() &&
+              e.index.getClipboardData().then(function (n) {
+                var u = n.data;
+                e.index.hideToast(),
+                  17 === u.trim().length &&
+                    setTimeout(function () {
+                      (b.value = u.trim()), (I.value = !0);
+                    }, 300);
+              }),
+            (d.value = n.title),
+            (f.value = !1),
+            l.hideLoading();
+        }),
+        e.onPageScroll(function (n) {
+          var u = n.scrollTop;
+          N.value = u >= e.index.getSystemInfoSync().windowHeight / 3;
+        }),
+        u.onShareAppMessage(),
+        function (n, u) {
+          return e.e(
+            { a: V(), b: !f.value },
+            f.value
+              ? {}
+              : e.e(
+                  {
+                    c: e.t(d.value),
+                    d: e.o(q),
+                    e: e.unref(a.QueryTypeEnum).VIN,
+                    f: y.value === e.unref(a.QueryTypeEnum).VIN,
+                    g: e.unref(a.QueryTypeEnum).VEHICLE_NO,
+                    h: y.value === e.unref(a.QueryTypeEnum).VEHICLE_NO,
+                    i: e.o(_),
+                    j: y.value === e.unref(a.QueryTypeEnum).VIN,
+                  },
+                  y.value === e.unref(a.QueryTypeEnum).VIN
+                    ? e.e(
+                        { k: 0 === h.value.length },
+                        (h.value.length, {}),
+                        { l: e.t(h.value), m: e.o(C), n: h.value.length > 0 },
+                        h.value.length > 0 ? { o: e.o(k) } : {},
+                        {
+                          p: e.t(h.value.length),
+                          q: e.o(A),
+                          r: h.value.length > 0 ? 1 : "",
+                        }
+                      )
+                    : {},
+                  { s: y.value === e.unref(a.QueryTypeEnum).VEHICLE_NO },
+                  y.value === e.unref(a.QueryTypeEnum).VEHICLE_NO
+                    ? {
+                        t: e.f(T.value, function (n, u, t) {
+                          return e.e(
+                            {
+                              a: e.t(n),
+                              b: u === g.value ? 1 : "",
+                              c: 7 === u,
+                            },
+                            {},
+                            {
+                              d: u,
+                              e: 7 === u ? 1 : "",
+                              f: e.o(function (e) {
+                                return (function (e) {
+                                  (g.value = e), (x.value = !0);
+                                })(u);
+                              }, u),
+                            }
+                          );
+                        }),
+                      }
+                    : {},
+                  {
+                    v: e.o(function (e) {
+                      return (p.value = e);
+                    }),
+                    w: e.p({
+                      localdata: e.unref(r.vehicleTypeList),
+                      modelValue: p.value,
+                    }),
+                    x: e.o(P),
+                    y: e.o(K),
+                    z: e.p({ checked: m.value }),
+                    A: e.f(e.unref(o.mockSaliCheckList), function (n, u, t) {
+                      return {
+                        a: e.t(n.label),
+                        b: e.t(n.value),
+                        c: u,
+                        d:
+                          (y.value === e.unref(a.QueryTypeEnum).VEHICLE_NO &&
+                            1 === u) ||
+                          (y.value === e.unref(a.QueryTypeEnum).VIN && 0 === u)
+                            ? "none"
+                            : "",
+                      };
+                    }),
+                    B: e.t(e.unref(r.disclaimer)),
+                    C: e.p({ visible: N.value }),
+                    D: e.o(L),
+                    E: e.o(H),
+                    F: e.o(S),
+                    G: e.p({
+                      visible: x.value,
+                      "can-switch": !0,
+                      "keyboard-type": j.value,
+                      "vehicle-no-list": T.value,
+                      "vehicle-no-index": g.value,
+                    }),
+                    H: e.o(Q),
+                    I: e.o(w),
+                    J: e.p({
+                      visible: E.value,
+                      "can-switch": !1,
+                      vin: h.value,
+                    }),
+                    K: e.o(O),
+                    L: e.o(M),
+                    M: e.p({ visible: I.value, "copy-vin": b.value }),
+                  }
+                )
+          );
+        }
+      );
+    },
+  },
+  T = e._export_sfc(E, [["__scopeId", "data-v-b545ddc3"]]);
+(E.__runtimeHooks = 3), wx.createPage(T);
diff --git a/pages/sali-check-query/index.json b/pages/sali-check-query/index.json
new file mode 100644
index 0000000..ec5912d
--- /dev/null
+++ b/pages/sali-check-query/index.json
@@ -0,0 +1,15 @@
+{
+  "navigationBarTextStyle": "black",
+  "navigationBarBackgroundColor": "#ffffff",
+  "usingComponents": {
+    "uni-data-select": "../../uni_modules/uni-data-select/components/uni-data-select/uni-data-select",
+    "popup-copy-vin": "../../components/popup-copy-vin/index",
+    "agreement": "../../components/agreement/index",
+    "keyboard": "../../components/keyboard/index",
+    "divider": "../../components/divider/index",
+    "tips": "../../components/tips/index",
+    "prompt": "../../components/prompt/index",
+    "float-back-to-top": "../../components/float-back-to-top/index",
+    "float-share": "../../components/float-share/index"
+  }
+}
diff --git a/pages/sali-check-query/index.wxml b/pages/sali-check-query/index.wxml
new file mode 100644
index 0000000..d5fcfd4
--- /dev/null
+++ b/pages/sali-check-query/index.wxml
@@ -0,0 +1,169 @@
+<page-meta class="data-v-b545ddc3" pageStyle="{{a}}"></page-meta>
+<view class="content data-v-b545ddc3" wx:if="{{b}}">
+  <tips bind:__l="__l" class="data-v-b545ddc3" uI="b545ddc3-0"></tips>
+  <view class="banner data-v-b545ddc3">
+    <image
+      class="title data-v-b545ddc3"
+      mode="heightFix"
+      src="/static/images/pic_title_5.png"
+    ></image>
+    <image
+      class="image data-v-b545ddc3"
+      src="/static/images/pic_sali_check.png"
+    ></image>
+  </view>
+  <view class="module-title data-v-b545ddc3">
+    <view class="data-v-b545ddc3">{{c}}</view>
+    <view bindtap="{{d}}" class="tips data-v-b545ddc3">什么是VIN?</view>
+  </view>
+  <view class="query-content data-v-b545ddc3">
+    <radio-group bindchange="{{i}}" class="radio-group data-v-b545ddc3">
+      <label class="data-v-b545ddc3">
+        <radio
+          checked="{{f}}"
+          class="data-v-b545ddc3"
+          color="#1F68E9"
+          style="transform: scale(0.9)"
+          value="{{e}}"
+        ></radio>
+        <text class="data-v-b545ddc3">按VIN车架号查询</text>
+      </label>
+      <label class="data-v-b545ddc3">
+        <radio
+          checked="{{h}}"
+          class="data-v-b545ddc3"
+          color="#1F68E9"
+          style="transform: scale(0.9)"
+          value="{{g}}"
+        ></radio>
+        <text class="data-v-b545ddc3">按车牌号查询</text>
+      </label>
+    </radio-group>
+    <view
+      class="{{['input-content','data-v-b545ddc3',r&&'selected']}}"
+      wx:if="{{j}}"
+    >
+      <view bindtap="{{m}}" class="input data-v-b545ddc3">
+        <text class="placeholder data-v-b545ddc3" wx:if="{{k}}"
+          >请输入17位VIN车架号</text
+        >
+        <text userSelect class="default data-v-b545ddc3">{{l}}</text>
+        <text class="cursor data-v-b545ddc3"></text>
+      </view>
+      <image
+        bindtap="{{o}}"
+        class="clear data-v-b545ddc3"
+        src="/static/svgs/icon_clear.svg"
+        wx:if="{{n}}"
+      ></image>
+      <view class="input-length data-v-b545ddc3">{{p}}/17 </view>
+      <image
+        bindtap="{{q}}"
+        class="photo data-v-b545ddc3"
+        src="/static/svgs/icon_scan.svg"
+      ></image>
+    </view>
+    <view class="vehicle-content data-v-b545ddc3" wx:if="{{s}}">
+      <view
+        bindtap="{{value.f}}"
+        class="{{['number-item','data-v-b545ddc3',value.e&&'new']}}"
+        wx:for="{{t}}"
+        wx:for-item="value"
+        wx:key="d"
+      >
+        <text class="{{['number','data-v-b545ddc3',value.b&&'selected']}}"
+          >{{value.a}}</text
+        >
+        <text class="energy data-v-b545ddc3" wx:if="{{value.c}}">新能源</text>
+      </view>
+    </view>
+    <view class="title-content data-v-b545ddc3">
+      <text class="data-v-b545ddc3" style="color: #f5222d; margin-right: 5rpx"
+        >*</text
+      >
+      <text class="data-v-b545ddc3">请选择您的车辆类型</text>
+    </view>
+    <view class="vehicle-type-select data-v-b545ddc3">
+      <uni-data-select
+        bind:__l="__l"
+        bindupdateModelValue="{{v}}"
+        class="data-v-b545ddc3"
+        uI="b545ddc3-1"
+        uP="{{w}}"
+        wx:if="{{w}}"
+      ></uni-data-select>
+    </view>
+    <view
+      bindtap="{{x}}"
+      class="button data-v-b545ddc3"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+    >
+      查 询
+    </view>
+    <agreement
+      bind:__l="__l"
+      bindchange="{{y}}"
+      class="data-v-b545ddc3"
+      uI="b545ddc3-2"
+      uP="{{z}}"
+      wx:if="{{z}}"
+    ></agreement>
+  </view>
+  <view class="module-title data-v-b545ddc3">样例报告</view>
+  <view class="example-content data-v-b545ddc3">
+    <prompt bind:__l="__l" class="data-v-b545ddc3" uI="b545ddc3-3"></prompt>
+    <view
+      class="cell data-v-b545ddc3"
+      style="{{'display:'+item.d}}"
+      wx:for="{{A}}"
+      wx:key="c"
+    >
+      <view class="cell-title data-v-b545ddc3">{{item.a}}</view>
+      <view class="cell-value data-v-b545ddc3">{{item.b}}</view>
+    </view>
+  </view>
+  <view class="module-title data-v-b545ddc3">免责声明</view>
+  <view class="disclaimer data-v-b545ddc3">{{B}}</view>
+  <divider bind:__l="__l" class="data-v-b545ddc3" uI="b545ddc3-4"></divider>
+  <float-back-to-top
+    bind:__l="__l"
+    class="data-v-b545ddc3"
+    uI="b545ddc3-5"
+    uP="{{C}}"
+    wx:if="{{C}}"
+  ></float-back-to-top>
+  <float-share
+    bind:__l="__l"
+    class="data-v-b545ddc3"
+    uI="b545ddc3-6"
+  ></float-share>
+  <keyboard
+    bind:__l="__l"
+    bindchange="{{E}}"
+    bindclose="{{D}}"
+    bindtypeChange="{{F}}"
+    class="data-v-b545ddc3"
+    uI="b545ddc3-7"
+    uP="{{G}}"
+    wx:if="{{G}}"
+  ></keyboard>
+  <keyboard
+    bind:__l="__l"
+    bindchange="{{I}}"
+    bindclose="{{H}}"
+    class="data-v-b545ddc3"
+    uI="b545ddc3-8"
+    uP="{{J}}"
+    wx:if="{{J}}"
+  ></keyboard>
+  <popup-copy-vin
+    bind:__l="__l"
+    bindcancel="{{L}}"
+    bindconfirm="{{K}}"
+    class="data-v-b545ddc3"
+    uI="b545ddc3-9"
+    uP="{{M}}"
+    wx:if="{{M}}"
+  ></popup-copy-vin>
+</view>
diff --git a/pages/sali-check-query/index.wxss b/pages/sali-check-query/index.wxss
new file mode 100644
index 0000000..f6672ae
--- /dev/null
+++ b/pages/sali-check-query/index.wxss
@@ -0,0 +1,254 @@
+.content.data-v-b545ddc3 {
+  padding: 30rpx;
+}
+.content .banner.data-v-b545ddc3 {
+  background-color: #1f68e9;
+  border-radius: 15rpx;
+  color: #fff;
+  height: 240rpx;
+  padding: 30rpx;
+  position: relative;
+}
+.content .banner .title.data-v-b545ddc3 {
+  height: 95rpx;
+  position: absolute;
+  top: 40rpx;
+  z-index: 10;
+}
+.content .banner .image.data-v-b545ddc3 {
+  bottom: -15rpx;
+  height: 170rpx;
+  position: absolute;
+  right: -10rpx;
+  width: 350rpx;
+  z-index: 9;
+}
+.content .module-title.data-v-b545ddc3 {
+  align-items: center;
+  border-left: 6rpx solid #1f68e9;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 36rpx;
+  font-weight: 700;
+  justify-content: space-between;
+  line-height: 36rpx;
+  margin: 30rpx 0;
+  padding-left: 20rpx;
+}
+.content .module-title .tips.data-v-b545ddc3 {
+  color: #1f68e9;
+  font-size: 30rpx;
+  font-weight: 400;
+}
+.content .query-content.data-v-b545ddc3 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  padding: 40rpx;
+}
+.content .query-content .radio-group.data-v-b545ddc3 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 32rpx;
+  margin-bottom: 30rpx;
+}
+.content .query-content .radio-group label.data-v-b545ddc3 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  margin-right: 20rpx;
+}
+.content .query-content .radio-group .tips.data-v-b545ddc3 {
+  color: #1f68e9;
+  font-size: 30rpx;
+}
+.content .query-content .vehicle-content.data-v-b545ddc3 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+}
+.content .query-content .vehicle-content .number-item.data-v-b545ddc3 {
+  border: 2rpx solid #e1e1e1;
+  display: -webkit-flex;
+  display: flex;
+  font-weight: 700;
+  height: 85rpx;
+  justify-content: center;
+  margin: 0 7rpx;
+  position: relative;
+  width: 75rpx;
+}
+.content .query-content .vehicle-content .number-item.new.data-v-b545ddc3 {
+  border: 2rpx dashed #6fd99a;
+}
+.content .query-content .vehicle-content .number-item .number.data-v-b545ddc3 {
+  font-size: 32rpx;
+  height: 50rpx;
+  margin-top: 18rpx;
+  padding-bottom: 18rpx;
+  text-align: center;
+  width: 35rpx;
+}
+.content
+  .query-content
+  .vehicle-content
+  .number-item
+  .number.selected.data-v-b545ddc3 {
+  border-bottom: 4rpx solid #1f68e9;
+}
+.content .query-content .vehicle-content .number-item .energy.data-v-b545ddc3 {
+  background: #0ac260;
+  border-radius: 14rpx;
+  color: #fff;
+  font-size: 16rpx;
+  height: 28rpx;
+  left: 2rpx;
+  line-height: 28rpx;
+  position: absolute;
+  text-align: center;
+  top: -20rpx;
+  width: 60rpx;
+}
+.content .query-content .input-content.data-v-b545ddc3 {
+  align-items: center;
+  background-color: #fff;
+  border: 1px solid #e1e1e1;
+  border-radius: 10rpx;
+  display: -webkit-flex;
+  display: flex;
+  padding: 20rpx;
+  position: relative;
+}
+.content .query-content .input-content.selected.data-v-b545ddc3 {
+  border-color: #1f68e9;
+}
+.content .query-content .input-content .input.data-v-b545ddc3 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-grow: 1;
+  font-size: 32rpx;
+  font-size: 30rpx;
+  overflow-y: scroll;
+  position: relative;
+}
+.content .query-content .input-content .input .placeholder.data-v-b545ddc3 {
+  color: silver;
+  left: 0;
+  position: absolute;
+}
+.content .query-content .input-content .input .cursor.data-v-b545ddc3 {
+  animation: cursor-blinks-b545ddc3 1.5s step-start infinite;
+  background: #1f68e9;
+  height: 40rpx;
+  width: 4rpx;
+}
+.content .query-content .input-content .clear.data-v-b545ddc3 {
+  flex-shrink: 0;
+  height: 32rpx;
+  padding: 0 10rpx 0 20rpx;
+  width: 32rpx;
+}
+.content .query-content .input-content .input-length.data-v-b545ddc3 {
+  color: #232323;
+  flex-shrink: 0;
+  font-size: 26rpx;
+}
+.content .query-content .input-content .photo.data-v-b545ddc3 {
+  flex-shrink: 0;
+  height: 50rpx;
+  margin-left: 10rpx;
+  margin-top: -5rpx;
+  width: 50rpx;
+}
+.content .query-content .title-content.data-v-b545ddc3 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 32rpx;
+  margin: 30rpx 0;
+}
+.content .query-content .button.data-v-b545ddc3 {
+  align-items: center;
+  background-color: #1f68e9;
+  border-radius: 10rpx;
+  color: #fff;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 32rpx;
+  font-weight: 700;
+  height: 90rpx;
+  justify-content: center;
+  margin-top: 40rpx;
+}
+.content .example-content.data-v-b545ddc3 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  overflow: hidden;
+}
+.content .example-content .cell.data-v-b545ddc3 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin: 40rpx;
+}
+.content .example-content .cell-title.data-v-b545ddc3 {
+  align-items: center;
+  color: #333;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  padding-left: 5rpx;
+}
+.content .example-content .cell-title image.data-v-b545ddc3 {
+  height: 30rpx;
+  margin-left: 10rpx;
+  width: 30rpx;
+}
+.content .example-content .cell-value.data-v-b545ddc3 {
+  color: #686868;
+  font-size: 30rpx;
+  padding-right: 5rpx;
+}
+.content .example-content .tips.data-v-b545ddc3 {
+  background-color: #fffbe8;
+  color: #ed6a0c;
+  font-size: 26rpx;
+  padding: 20rpx;
+}
+.content .disclaimer.data-v-b545ddc3 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  color: #333;
+  font-size: 30rpx;
+  padding: 30rpx 40rpx;
+}
+@-webkit-keyframes cursor-blinks-b545ddc3 {
+  0% {
+    display: block;
+    opacity: 1;
+  }
+  50% {
+    display: none;
+    opacity: 0;
+  }
+  to {
+    display: block;
+    opacity: 1;
+  }
+}
+@keyframes cursor-blinks-b545ddc3 {
+  0% {
+    display: block;
+    opacity: 1;
+  }
+  50% {
+    display: none;
+    opacity: 0;
+  }
+  to {
+    display: block;
+    opacity: 1;
+  }
+}
diff --git a/pages/sali-detail/index.js b/pages/sali-detail/index.js
new file mode 100644
index 0000000..9e72ad0
--- /dev/null
+++ b/pages/sali-detail/index.js
@@ -0,0 +1,109 @@
+var e = require("../../common/vendor.js"),
+  t = require("../../hooks/onMounted.js"),
+  n = require("../../hooks/onShareAppMessage.js"),
+  r = require("../../service/index.js"),
+  i = require("../../constant/index.js"),
+  u = require("../../utils/util.js");
+require("../../hooks/useState.js"),
+  require("../../store/app/index.js"),
+  require("../../enums/index.js"),
+  require("../../data/index.js"),
+  require("../../config/index.js"),
+  require("../../utils/request.js"),
+  Math || (e.unref(a) + e.unref(s) + e.unref(o) + e.unref(v))();
+var a = function () {
+    return "../../components/vehicle-number/index.js";
+  },
+  o = function () {
+    return "../../components/empty/index.js";
+  },
+  s = function () {
+    return "../../components/divider/index.js";
+  },
+  v = function () {
+    return "../../components/float-share/index.js";
+  },
+  l = {
+    __name: "index",
+    setup: function (a) {
+      var o = e.ref(!0),
+        s = e.ref(!1),
+        v = e.ref({}),
+        l = function () {
+          e.index.setClipboardData({ data: v.value.vin }).then(function () {
+            u.showToast("VIN车架号已复制");
+          });
+        };
+      return (
+        t.onMounted(function (t) {
+          var n = t.order_no,
+            a = t.product_id;
+          u.showLoading("努力查询中"),
+            r
+              .getReportDetail({ order_no: n, product_id: a })
+              .then(function (t) {
+                var n = e._.find(i.vehicleTypeList, function (e) {
+                  return e.value == t.type;
+                });
+                (t.type = n ? n.text : "-"),
+                  (v.value = t),
+                  (o.value = !1),
+                  u.hideLoading();
+              });
+        }, !1),
+        n.onShareAppMessage(),
+        function (t, n) {
+          return e.e(
+            { a: !o.value },
+            o.value
+              ? {}
+              : e.e(
+                  { b: !s.value },
+                  s.value
+                    ? {}
+                    : e.e(
+                        { c: v.value.info },
+                        v.value.info
+                          ? {
+                              d: e.t(v.value.vin),
+                              e: e.o(l),
+                              f: e.t(v.value.info || "-"),
+                              g: e.t(v.value.create_time || "-"),
+                            }
+                          : {},
+                        { h: !v.value.info },
+                        v.value.info
+                          ? {}
+                          : e.e(
+                              {
+                                i: e.t(v.value.name.trim() || "-"),
+                                j: e.t(v.value.code.trim() || "-"),
+                                k: e.t(v.value.no.trim() || "-"),
+                                l: e.t(v.value.start_time.trim() || "-"),
+                                m: e.t(v.value.end_time.trim() || "-"),
+                                n: !!v.value.cph.trim(),
+                              },
+                              v.value.cph.trim()
+                                ? { o: e.p({ data: v.value.cph.trim() }) }
+                                : {},
+                              {
+                                p: e.t(v.value.type.trim() || "-"),
+                                q: e.t(v.value.vin),
+                                r: e.o(l),
+                                s: e.t(v.value.engine_no.trim() || "-"),
+                                t: e.t(v.value.area.trim() || "-"),
+                                v: e.t(v.value.create_time || "-"),
+                              }
+                            ),
+                        { w: e.t(e.unref(i.disclaimer)) }
+                      ),
+                  { x: s.value },
+                  s.value ? { y: e.p({ info: "抱歉~!没有查到数据哦" }) } : {}
+                )
+          );
+        }
+      );
+    },
+  },
+  d = e._export_sfc(l, [["__scopeId", "data-v-a38072eb"]]);
+(l.__runtimeHooks = 2), wx.createPage(d);
diff --git a/pages/sali-detail/index.json b/pages/sali-detail/index.json
new file mode 100644
index 0000000..a32197c
--- /dev/null
+++ b/pages/sali-detail/index.json
@@ -0,0 +1,9 @@
+{
+  "navigationBarTitleText": "交强险信息",
+  "usingComponents": {
+    "vehicle-number": "../../components/vehicle-number/index",
+    "empty": "../../components/empty/index",
+    "divider": "../../components/divider/index",
+    "float-share": "../../components/float-share/index"
+  }
+}
diff --git a/pages/sali-detail/index.wxml b/pages/sali-detail/index.wxml
new file mode 100644
index 0000000..e6bcbff
--- /dev/null
+++ b/pages/sali-detail/index.wxml
@@ -0,0 +1,98 @@
+<view class="content data-v-a38072eb" wx:if="{{a}}">
+  <view class="data-v-a38072eb" wx:if="{{b}}">
+    <view class="module-title data-v-a38072eb">交强险信息</view>
+    <view class="detail data-v-a38072eb" wx:if="{{c}}">
+      <view class="cell data-v-a38072eb">
+        <view class="title data-v-a38072eb">VIN车架号</view>
+        <view class="value data-v-a38072eb">
+          <text class="data-v-a38072eb">{{d}}</text>
+          <text bindtap="{{e}}" class="copy data-v-a38072eb">复制</text>
+        </view>
+      </view>
+      <view class="cell data-v-a38072eb">
+        <view class="title data-v-a38072eb">状态</view>
+        <view
+          class="value data-v-a38072eb"
+          style="font-weight: bold; color: #333"
+          >{{f}}</view
+        >
+      </view>
+      <view class="cell data-v-a38072eb">
+        <view class="title data-v-a38072eb">报告时间</view>
+        <view class="value data-v-a38072eb">{{g}}</view>
+      </view>
+    </view>
+    <view class="detail data-v-a38072eb" wx:if="{{h}}">
+      <view class="cell data-v-a38072eb">
+        <view class="title data-v-a38072eb">保险公司</view>
+        <view class="value data-v-a38072eb">{{i}}</view>
+      </view>
+      <view class="cell data-v-a38072eb">
+        <view class="title data-v-a38072eb">投保确认码</view>
+        <view class="value data-v-a38072eb">{{j}}</view>
+      </view>
+      <view class="cell data-v-a38072eb">
+        <view class="title data-v-a38072eb">保单号</view>
+        <view class="value data-v-a38072eb">{{k}}</view>
+      </view>
+      <view class="cell data-v-a38072eb">
+        <view class="title data-v-a38072eb">起保日期</view>
+        <view class="value data-v-a38072eb">{{l}}</view>
+      </view>
+      <view class="cell data-v-a38072eb">
+        <view class="title data-v-a38072eb">终保日期</view>
+        <view class="value data-v-a38072eb">{{m}}</view>
+      </view>
+      <view class="cell data-v-a38072eb" wx:if="{{n}}">
+        <view class="title data-v-a38072eb">车牌号码</view>
+        <view class="value data-v-a38072eb">
+          <vehicle-number
+            bind:__l="__l"
+            class="data-v-a38072eb"
+            uI="a38072eb-0"
+            uP="{{o}}"
+            wx:if="{{o}}"
+          ></vehicle-number>
+        </view>
+      </view>
+      <view class="cell data-v-a38072eb">
+        <view class="title data-v-a38072eb">号牌种类</view>
+        <view class="value data-v-a38072eb">{{p}}</view>
+      </view>
+      <view class="cell data-v-a38072eb">
+        <view class="title data-v-a38072eb">VIN车架号</view>
+        <view class="value data-v-a38072eb">
+          <text class="data-v-a38072eb">{{q}}</text>
+          <text bindtap="{{r}}" class="copy data-v-a38072eb">复制</text>
+        </view>
+      </view>
+      <view class="cell data-v-a38072eb">
+        <view class="title data-v-a38072eb">发动机号</view>
+        <view class="value data-v-a38072eb">{{s}}</view>
+      </view>
+      <view class="cell data-v-a38072eb">
+        <view class="title data-v-a38072eb">投保地区</view>
+        <view class="value data-v-a38072eb">{{t}}</view>
+      </view>
+      <view class="cell data-v-a38072eb">
+        <view class="title data-v-a38072eb">报告时间</view>
+        <view class="value data-v-a38072eb">{{v}}</view>
+      </view>
+    </view>
+    <view class="module-title data-v-a38072eb">免责声明</view>
+    <view class="disclaimer data-v-a38072eb">{{w}}</view>
+    <divider bind:__l="__l" class="data-v-a38072eb" uI="a38072eb-1"></divider>
+  </view>
+  <empty
+    bind:__l="__l"
+    class="data-v-a38072eb"
+    uI="a38072eb-2"
+    uP="{{y}}"
+    wx:if="{{x}}"
+  ></empty>
+  <float-share
+    bind:__l="__l"
+    class="data-v-a38072eb"
+    uI="a38072eb-3"
+  ></float-share>
+</view>
diff --git a/pages/sali-detail/index.wxss b/pages/sali-detail/index.wxss
new file mode 100644
index 0000000..974c951
--- /dev/null
+++ b/pages/sali-detail/index.wxss
@@ -0,0 +1,88 @@
+.content.data-v-a38072eb {
+  padding: 30rpx;
+}
+.content .info.data-v-a38072eb {
+  align-items: center;
+  background-color: #eaf1f8;
+  border-radius: 12rpx;
+  display: -webkit-flex;
+  display: flex;
+  padding: 20rpx 30rpx;
+}
+.content .info .logo.data-v-a38072eb {
+  flex-shrink: 0;
+  height: 100rpx;
+  width: 100rpx;
+}
+.content .info .right-content.data-v-a38072eb {
+  flex-grow: 1;
+  margin-left: 30rpx;
+}
+.content .info .right-content .name.data-v-a38072eb {
+  font-size: 32rpx;
+  font-weight: 700;
+}
+.content .info .right-content .desc.data-v-a38072eb {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 28rpx;
+  margin-top: 8rpx;
+}
+.content .info .right-content .desc image.data-v-a38072eb {
+  height: 40rpx;
+  width: 265rpx;
+}
+.content .module-title.data-v-a38072eb {
+  align-items: center;
+  border-left: 6rpx solid #1f68e9;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 34rpx;
+  font-weight: 700;
+  justify-content: space-between;
+  line-height: 34rpx;
+  margin: 30rpx 0;
+  padding-left: 20rpx;
+}
+.content .module-title .tips.data-v-a38072eb {
+  color: #1f68e9;
+  font-size: 30rpx;
+  font-weight: 400;
+}
+.content .disclaimer.data-v-a38072eb {
+  background-color: #fff;
+  border-radius: 10rpx;
+  color: #333;
+  font-size: 30rpx;
+  padding: 30rpx 40rpx;
+}
+.content .detail.data-v-a38072eb {
+  background-color: #fff;
+  border-radius: 10rpx;
+  padding: 10rpx 40rpx;
+  position: relative;
+}
+.content .detail .cell.data-v-a38072eb {
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin: 30rpx 0;
+}
+.content .detail .cell .title.data-v-a38072eb {
+  color: #333;
+  flex-shrink: 0;
+  font-size: 30rpx;
+  padding-left: 5rpx;
+  position: relative;
+}
+.content .detail .cell .value.data-v-a38072eb {
+  color: #686868;
+  font-size: 30rpx;
+  max-width: 450rpx;
+  padding-right: 5rpx;
+}
+.content .detail .cell .value .copy.data-v-a38072eb {
+  color: #d71818;
+  margin-left: 15rpx;
+}
diff --git a/pages/sali-query/index.js b/pages/sali-query/index.js
new file mode 100644
index 0000000..a393cdb
--- /dev/null
+++ b/pages/sali-query/index.js
@@ -0,0 +1,202 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../hooks/onMounted.js"),
+  u = require("../../hooks/onShareAppMessage.js"),
+  t = require("../../hooks/useState.js"),
+  i = require("../../enums/index.js"),
+  o = require("../../constant/index.js"),
+  r = require("../../data/index.js"),
+  a = require("../../utils/navigate.js"),
+  l = require("../../utils/util.js"),
+  s = require("../../utils/common.js"),
+  v = require("../../utils/vin.js");
+require("../../service/index.js"),
+  require("../../utils/request.js"),
+  require("../../config/index.js"),
+  require("../../store/app/index.js"),
+  Math ||
+    (
+      e.unref(h) +
+      e.unref(f) +
+      e.unref(m) +
+      e.unref(p) +
+      e.unref(g) +
+      e.unref(x) +
+      e.unref(d) +
+      e.unref(c)
+    )();
+var c = function () {
+    return "../../components/popup-copy-vin/index.js";
+  },
+  f = function () {
+    return "../../components/agreement/index.js";
+  },
+  d = function () {
+    return "../../components/keyboard/index.js";
+  },
+  p = function () {
+    return "../../components/divider/index.js";
+  },
+  h = function () {
+    return "../../components/tips/index.js";
+  },
+  m = function () {
+    return "../../components/prompt/index.js";
+  },
+  g = function () {
+    return "../../components/float-back-to-top/index.js";
+  },
+  x = function () {
+    return "../../components/float-share/index.js";
+  },
+  j = {
+    __name: "index",
+    setup: function (c) {
+      var f = t.useState().showAgreementPopup,
+        d = e.ref(!0),
+        p = e.ref(""),
+        h = e.ref(i.QueryTypeEnum.VIN),
+        m = e.ref(!1),
+        g = e.ref(""),
+        x = e.ref(!1),
+        j = e.ref(0),
+        q = e.ref(!1),
+        y = e.ref(""),
+        T = e.ref(!1),
+        b = function () {
+          var e = f.value || q.value;
+          return "height: 100%; overflow: "
+            .concat(e ? "hidden" : "visible", "; position: ")
+            .concat(e ? "fixed" : "relative");
+        },
+        w = function () {
+          a.navigateTo({ url: "/pages/vin-info/index" });
+        },
+        k = function () {
+          g.value = "";
+        },
+        I = function () {
+          s.ocrIdentifyVin().then(function (e) {
+            g.value = e;
+          });
+        },
+        S = function () {
+          x.value = !0;
+        },
+        _ = function () {
+          x.value = !1;
+        },
+        A = function (e) {
+          g.value = e.value;
+        },
+        N = function () {
+          m.value = !m.value;
+        },
+        V = function () {
+          q.value = !1;
+        },
+        M = function () {
+          (g.value = y.value), (q.value = !1), P();
+        },
+        P = function () {
+          if (((x.value = !1), m.value)) {
+            if (h.value === i.QueryTypeEnum.VIN) {
+              if (0 === g.value.length)
+                return void l.showToast("请输入VIN车架号");
+              if (g.value.length < 17)
+                return void l.showToast("请输入完整的VIN车架号");
+              if (!v.validateVIN(g.value))
+                return void l.showToast("车架号有误,请检查后重新输入");
+            }
+            a.navigateTo({
+              url: "/pages/order-confirm/index",
+              params: {
+                productType: i.ProductTypeEnum.SALI,
+                queryType: h.value,
+                vin: g.value,
+              },
+            });
+          } else l.showToast("请先阅读并同意协议");
+        };
+      return (
+        n.onMounted(function (n) {
+          e.index.setNavigationBarTitle({ title: n.title }),
+            s.hasClickAgreement() &&
+              e.index.getClipboardData().then(function (n) {
+                var u = n.data;
+                e.index.hideToast(),
+                  17 === u.trim().length &&
+                    setTimeout(function () {
+                      (y.value = u.trim()), (q.value = !0);
+                    }, 300);
+              }),
+            (p.value = n.title),
+            (d.value = !1),
+            l.hideLoading();
+        }),
+        e.onPageScroll(function (n) {
+          var u = n.scrollTop;
+          T.value = u >= e.index.getSystemInfoSync().windowHeight / 3;
+        }),
+        u.onShareAppMessage(),
+        function (n, u) {
+          return e.e(
+            { a: b(), b: !d.value },
+            d.value
+              ? {}
+              : e.e(
+                  { c: e.t(p.value), d: e.o(w), e: 0 === g.value.length },
+                  (g.value.length, {}),
+                  { f: e.t(g.value), g: e.o(S), h: g.value.length > 0 },
+                  g.value.length > 0 ? { i: e.o(k) } : {},
+                  {
+                    j: e.t(g.value.length),
+                    k: e.o(I),
+                    l: g.value.length > 0 ? 1 : "",
+                    m: e.o(P),
+                    n: e.o(N),
+                    o: e.p({ checked: m.value }),
+                    p: e.f(["车辆在保", "车辆脱保"], function (n, u, t) {
+                      return {
+                        a: e.t(n),
+                        b: e.n(j.value === u ? "active" : ""),
+                        c: u,
+                        d: e.o(function (e) {
+                          return (function (e) {
+                            j.value = e;
+                          })(u);
+                        }, u),
+                      };
+                    }),
+                    q: 0 === j.value,
+                  },
+                  0 === j.value
+                    ? {
+                        r: e.f(e.unref(r.mockSaliList), function (n, u, t) {
+                          return { a: e.t(n.label), b: e.t(n.value), c: u };
+                        }),
+                      }
+                    : {},
+                  { s: 1 === j.value },
+                  (j.value, {}),
+                  {
+                    t: e.t(e.unref(o.disclaimer)),
+                    v: e.p({ visible: T.value }),
+                    w: e.o(_),
+                    x: e.o(A),
+                    y: e.p({
+                      visible: x.value,
+                      "can-switch": !1,
+                      vin: g.value,
+                    }),
+                    z: e.o(M),
+                    A: e.o(V),
+                    B: e.p({ visible: q.value, "copy-vin": y.value }),
+                  }
+                )
+          );
+        }
+      );
+    },
+  },
+  q = e._export_sfc(j, [["__scopeId", "data-v-8a3351c6"]]);
+(j.__runtimeHooks = 3), wx.createPage(q);
diff --git a/pages/sali-query/index.json b/pages/sali-query/index.json
new file mode 100644
index 0000000..66d2940
--- /dev/null
+++ b/pages/sali-query/index.json
@@ -0,0 +1,14 @@
+{
+  "navigationBarTextStyle": "black",
+  "navigationBarBackgroundColor": "#ffffff",
+  "usingComponents": {
+    "popup-copy-vin": "../../components/popup-copy-vin/index",
+    "agreement": "../../components/agreement/index",
+    "keyboard": "../../components/keyboard/index",
+    "divider": "../../components/divider/index",
+    "tips": "../../components/tips/index",
+    "prompt": "../../components/prompt/index",
+    "float-back-to-top": "../../components/float-back-to-top/index",
+    "float-share": "../../components/float-share/index"
+  }
+}
diff --git a/pages/sali-query/index.wxml b/pages/sali-query/index.wxml
new file mode 100644
index 0000000..54a09e1
--- /dev/null
+++ b/pages/sali-query/index.wxml
@@ -0,0 +1,124 @@
+<page-meta class="data-v-8a3351c6" pageStyle="{{a}}"></page-meta>
+<view class="content data-v-8a3351c6" wx:if="{{b}}">
+  <tips bind:__l="__l" class="data-v-8a3351c6" uI="8a3351c6-0"></tips>
+  <view class="banner data-v-8a3351c6">
+    <image
+      class="title data-v-8a3351c6"
+      mode="heightFix"
+      src="/static/images/pic_title_7.png"
+    ></image>
+    <image
+      class="image data-v-8a3351c6"
+      src="/static/images/pic_sali_check.png"
+    ></image>
+  </view>
+  <view class="module-title data-v-8a3351c6">
+    <view class="data-v-8a3351c6">{{c}}</view>
+    <view bindtap="{{d}}" class="tips data-v-8a3351c6">什么是VIN?</view>
+  </view>
+  <view class="query-content data-v-8a3351c6">
+    <view class="{{['input-content','data-v-8a3351c6',l&&'selected']}}">
+      <view bindtap="{{g}}" class="input data-v-8a3351c6">
+        <text class="placeholder data-v-8a3351c6" wx:if="{{e}}"
+          >请输入17位VIN车架号</text
+        >
+        <text userSelect class="default data-v-8a3351c6">{{f}}</text>
+        <text class="cursor data-v-8a3351c6"></text>
+      </view>
+      <image
+        bindtap="{{i}}"
+        class="clear data-v-8a3351c6"
+        src="/static/svgs/icon_clear.svg"
+        wx:if="{{h}}"
+      ></image>
+      <view class="input-length data-v-8a3351c6">{{j}}/17 </view>
+      <image
+        bindtap="{{k}}"
+        class="photo data-v-8a3351c6"
+        src="/static/svgs/icon_scan.svg"
+      ></image>
+    </view>
+    <view
+      bindtap="{{m}}"
+      class="button data-v-8a3351c6"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+    >
+      查 询
+    </view>
+    <agreement
+      bind:__l="__l"
+      bindchange="{{n}}"
+      class="data-v-8a3351c6"
+      uI="8a3351c6-1"
+      uP="{{o}}"
+      wx:if="{{o}}"
+    ></agreement>
+  </view>
+  <view class="module-title data-v-8a3351c6">样例报告</view>
+  <view class="example-content data-v-8a3351c6">
+    <view class="tabs data-v-8a3351c6">
+      <view
+        bindtap="{{item.d}}"
+        class="{{['tab','data-v-8a3351c6',item.b]}}"
+        wx:for="{{p}}"
+        wx:key="c"
+        >{{item.a}}</view
+      >
+    </view>
+    <prompt bind:__l="__l" class="data-v-8a3351c6" uI="8a3351c6-2"></prompt>
+    <block wx:if="{{q}}">
+      <view class="cell data-v-8a3351c6" wx:for="{{r}}" wx:key="c">
+        <view class="cell-title data-v-8a3351c6">{{item.a}}</view>
+        <view class="cell-value data-v-8a3351c6">{{item.b}}</view>
+      </view>
+    </block>
+    <block wx:if="{{s}}">
+      <view class="cell data-v-8a3351c6">
+        <view class="cell-title data-v-8a3351c6">VIN车架号</view>
+        <view class="cell-value data-v-8a3351c6">WDDBF*******40972</view>
+      </view>
+      <view class="cell data-v-8a3351c6">
+        <view class="cell-title data-v-8a3351c6">状态</view>
+        <view class="cell-value data-v-8a3351c6">脱保</view>
+      </view>
+      <view class="cell data-v-8a3351c6">
+        <view class="cell-title data-v-8a3351c6">报告时间</view>
+        <view class="cell-value data-v-8a3351c6">2021-08-01 11:27:27</view>
+      </view>
+    </block>
+  </view>
+  <view class="module-title data-v-8a3351c6">免责声明</view>
+  <view class="disclaimer data-v-8a3351c6">{{t}}</view>
+  <divider bind:__l="__l" class="data-v-8a3351c6" uI="8a3351c6-3"></divider>
+  <float-back-to-top
+    bind:__l="__l"
+    class="data-v-8a3351c6"
+    uI="8a3351c6-4"
+    uP="{{v}}"
+    wx:if="{{v}}"
+  ></float-back-to-top>
+  <float-share
+    bind:__l="__l"
+    class="data-v-8a3351c6"
+    uI="8a3351c6-5"
+  ></float-share>
+  <keyboard
+    bind:__l="__l"
+    bindchange="{{x}}"
+    bindclose="{{w}}"
+    class="data-v-8a3351c6"
+    uI="8a3351c6-6"
+    uP="{{y}}"
+    wx:if="{{y}}"
+  ></keyboard>
+  <popup-copy-vin
+    bind:__l="__l"
+    bindcancel="{{A}}"
+    bindconfirm="{{z}}"
+    class="data-v-8a3351c6"
+    uI="8a3351c6-7"
+    uP="{{B}}"
+    wx:if="{{B}}"
+  ></popup-copy-vin>
+</view>
diff --git a/pages/sali-query/index.wxss b/pages/sali-query/index.wxss
new file mode 100644
index 0000000..bd9af85
--- /dev/null
+++ b/pages/sali-query/index.wxss
@@ -0,0 +1,273 @@
+.content.data-v-8a3351c6 {
+  padding: 30rpx;
+}
+.content .banner.data-v-8a3351c6 {
+  background-color: #1f68e9;
+  border-radius: 15rpx;
+  color: #fff;
+  height: 240rpx;
+  padding: 30rpx;
+  position: relative;
+}
+.content .banner .title.data-v-8a3351c6 {
+  height: 95rpx;
+  position: absolute;
+  top: 40rpx;
+  z-index: 10;
+}
+.content .banner .image.data-v-8a3351c6 {
+  bottom: -15rpx;
+  height: 170rpx;
+  position: absolute;
+  right: -10rpx;
+  width: 350rpx;
+  z-index: 9;
+}
+.content .module-title.data-v-8a3351c6 {
+  align-items: center;
+  border-left: 6rpx solid #1f68e9;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 36rpx;
+  font-weight: 700;
+  justify-content: space-between;
+  line-height: 36rpx;
+  margin: 30rpx 0;
+  padding-left: 20rpx;
+}
+.content .module-title .tips.data-v-8a3351c6 {
+  color: #1f68e9;
+  font-size: 30rpx;
+  font-weight: 400;
+}
+.content .query-content.data-v-8a3351c6 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  padding: 40rpx;
+}
+.content .query-content .radio-group.data-v-8a3351c6 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 32rpx;
+  margin-bottom: 30rpx;
+}
+.content .query-content .radio-group label.data-v-8a3351c6 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  margin-right: 20rpx;
+}
+.content .query-content .radio-group .tips.data-v-8a3351c6 {
+  color: #1f68e9;
+  font-size: 30rpx;
+}
+.content .query-content .vehicle-content.data-v-8a3351c6 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+}
+.content .query-content .vehicle-content .number-item.data-v-8a3351c6 {
+  border: 2rpx solid #e1e1e1;
+  display: -webkit-flex;
+  display: flex;
+  font-weight: 700;
+  height: 85rpx;
+  justify-content: center;
+  margin: 0 7rpx;
+  position: relative;
+  width: 75rpx;
+}
+.content .query-content .vehicle-content .number-item.new.data-v-8a3351c6 {
+  border: 2rpx dashed #6fd99a;
+}
+.content .query-content .vehicle-content .number-item .number.data-v-8a3351c6 {
+  font-size: 32rpx;
+  height: 50rpx;
+  margin-top: 18rpx;
+  padding-bottom: 18rpx;
+  text-align: center;
+  width: 35rpx;
+}
+.content
+  .query-content
+  .vehicle-content
+  .number-item
+  .number.selected.data-v-8a3351c6 {
+  border-bottom: 4rpx solid #1f68e9;
+}
+.content .query-content .vehicle-content .number-item .energy.data-v-8a3351c6 {
+  background: #0ac260;
+  border-radius: 14rpx;
+  color: #fff;
+  font-size: 16rpx;
+  height: 28rpx;
+  left: 2rpx;
+  line-height: 28rpx;
+  position: absolute;
+  text-align: center;
+  top: -20rpx;
+  width: 60rpx;
+}
+.content .query-content .input-content.data-v-8a3351c6 {
+  align-items: center;
+  background-color: #fff;
+  border: 1px solid #e1e1e1;
+  border-radius: 10rpx;
+  display: -webkit-flex;
+  display: flex;
+  padding: 20rpx;
+  position: relative;
+}
+.content .query-content .input-content.selected.data-v-8a3351c6 {
+  border-color: #1f68e9;
+}
+.content .query-content .input-content .input.data-v-8a3351c6 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-grow: 1;
+  font-size: 32rpx;
+  font-size: 30rpx;
+  overflow-y: scroll;
+  position: relative;
+}
+.content .query-content .input-content .input .placeholder.data-v-8a3351c6 {
+  color: silver;
+  left: 0;
+  position: absolute;
+}
+.content .query-content .input-content .input .cursor.data-v-8a3351c6 {
+  animation: cursor-blinks-8a3351c6 1.5s step-start infinite;
+  background: #1f68e9;
+  height: 40rpx;
+  width: 4rpx;
+}
+.content .query-content .input-content .clear.data-v-8a3351c6 {
+  flex-shrink: 0;
+  height: 32rpx;
+  padding: 0 10rpx 0 20rpx;
+  width: 32rpx;
+}
+.content .query-content .input-content .input-length.data-v-8a3351c6 {
+  color: #232323;
+  flex-shrink: 0;
+  font-size: 26rpx;
+}
+.content .query-content .input-content .photo.data-v-8a3351c6 {
+  flex-shrink: 0;
+  height: 50rpx;
+  margin-left: 10rpx;
+  margin-top: -5rpx;
+  width: 50rpx;
+}
+.content .query-content .title-content.data-v-8a3351c6 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 32rpx;
+  margin: 30rpx 0;
+}
+.content .query-content .button.data-v-8a3351c6 {
+  align-items: center;
+  background-color: #1f68e9;
+  border-radius: 10rpx;
+  color: #fff;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 32rpx;
+  font-weight: 700;
+  height: 90rpx;
+  justify-content: center;
+  margin-top: 40rpx;
+}
+.content .example-content.data-v-8a3351c6 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  overflow: hidden;
+}
+.content .example-content .tabs.data-v-8a3351c6 {
+  align-items: center;
+  background-color: #fff;
+  border-bottom: 2rpx solid #ebeef5;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 32rpx;
+  height: 90rpx;
+  justify-content: space-evenly;
+  width: 100%;
+}
+.content .example-content .tabs .tab.data-v-8a3351c6 {
+  height: 90rpx;
+  line-height: 90rpx;
+}
+.content .example-content .tabs .tab.active.data-v-8a3351c6 {
+  border-bottom: 4rpx solid #1f68e9;
+  color: #1f68e9;
+}
+.content .example-content .cell.data-v-8a3351c6 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin: 40rpx;
+}
+.content .example-content .cell-title.data-v-8a3351c6 {
+  align-items: center;
+  color: #333;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  padding-left: 5rpx;
+}
+.content .example-content .cell-title image.data-v-8a3351c6 {
+  height: 30rpx;
+  margin-left: 10rpx;
+  width: 30rpx;
+}
+.content .example-content .cell-value.data-v-8a3351c6 {
+  color: #686868;
+  font-size: 30rpx;
+  padding-right: 5rpx;
+}
+.content .example-content .tips.data-v-8a3351c6 {
+  background-color: #fffbe8;
+  color: #ed6a0c;
+  font-size: 26rpx;
+  padding: 20rpx;
+}
+.content .disclaimer.data-v-8a3351c6 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  color: #333;
+  font-size: 30rpx;
+  padding: 30rpx 40rpx;
+}
+@-webkit-keyframes cursor-blinks-8a3351c6 {
+  0% {
+    display: block;
+    opacity: 1;
+  }
+  50% {
+    display: none;
+    opacity: 0;
+  }
+  to {
+    display: block;
+    opacity: 1;
+  }
+}
+@keyframes cursor-blinks-8a3351c6 {
+  0% {
+    display: block;
+    opacity: 1;
+  }
+  50% {
+    display: none;
+    opacity: 0;
+  }
+  to {
+    display: block;
+    opacity: 1;
+  }
+}
diff --git a/pages/splash/index.js b/pages/splash/index.js
new file mode 100644
index 0000000..1ea0e00
--- /dev/null
+++ b/pages/splash/index.js
@@ -0,0 +1,45 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../hooks/onMounted.js"),
+  o = require("../../utils/navigate.js");
+require("../../hooks/useState.js"),
+  require("../../store/app/index.js"),
+  require("../../enums/index.js"),
+  require("../../data/index.js"),
+  require("../../service/index.js"),
+  require("../../utils/request.js"),
+  require("../../config/index.js"),
+  require("../../constant/index.js"),
+  require("../../utils/util.js");
+var r = {
+    __name: "index",
+    setup: function (r) {
+      return (
+        n.onMounted(function (n) {
+          var r = n.loadingTime;
+          console.log(
+            "当前小程序版本号:".concat(
+              e.index.getAccountInfoSync().miniProgram.version
+            )
+          ),
+            console.log("初始化接口请求时间:".concat(r, "毫秒")),
+            console.log(
+              "闪屏页需要延迟时间:".concat(r > 1e3 ? 0 : 1e3 - r, "毫秒")
+            ),
+            console.log(
+              "闪屏页加载所需时间:".concat(r > 1e3 ? r : 1e3, "毫秒")
+            ),
+            setTimeout(
+              function () {
+                o.switchTab({ url: "/pages/home/index" });
+              },
+              r > 1e3 ? 0 : 1e3 - r
+            );
+        }, !1),
+        function (e, n) {
+          return {};
+        }
+      );
+    },
+  },
+  i = e._export_sfc(r, [["__scopeId", "data-v-367a9f4e"]]);
+wx.createPage(i);
diff --git a/pages/splash/index.json b/pages/splash/index.json
new file mode 100644
index 0000000..fd156c3
--- /dev/null
+++ b/pages/splash/index.json
@@ -0,0 +1,6 @@
+{
+  "disableScroll": true,
+  "navigationStyle": "custom",
+  "navigationBarTextStyle": "black",
+  "usingComponents": {}
+}
diff --git a/pages/splash/index.wxml b/pages/splash/index.wxml
new file mode 100644
index 0000000..d79de50
--- /dev/null
+++ b/pages/splash/index.wxml
@@ -0,0 +1,6 @@
+<view class="content data-v-367a9f4e">
+  <image
+    class="image1 data-v-367a9f4e"
+    src="/static/images/pic_splash.png"
+  ></image>
+</view>
diff --git a/pages/splash/index.wxss b/pages/splash/index.wxss
new file mode 100644
index 0000000..9c870b8
--- /dev/null
+++ b/pages/splash/index.wxss
@@ -0,0 +1,14 @@
+.content.data-v-367a9f4e {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  height: 100%;
+  justify-content: center;
+  position: absolute;
+}
+.content .image1.data-v-367a9f4e {
+  height: 1334rpx;
+  margin-top: 200rpx;
+  transform: scale(0.9);
+  width: 750rpx;
+}
diff --git a/pages/upload-success/index.js b/pages/upload-success/index.js
new file mode 100644
index 0000000..08b2fa0
--- /dev/null
+++ b/pages/upload-success/index.js
@@ -0,0 +1,37 @@
+var e = require("../../common/vendor.js"),
+  r = require("../../hooks/onMounted.js"),
+  n = require("../../hooks/onShareAppMessage.js"),
+  i = require("../../utils/navigate.js");
+require("../../hooks/useState.js"),
+  require("../../store/app/index.js"),
+  require("../../enums/index.js"),
+  require("../../data/index.js"),
+  require("../../service/index.js"),
+  require("../../utils/request.js"),
+  require("../../config/index.js"),
+  require("../../constant/index.js"),
+  require("../../utils/util.js"),
+  Math || (e.unref(s) + e.unref(o))();
+var s = function () {
+    return "../../components/float-help/index.js";
+  },
+  o = function () {
+    return "../../components/float-share/index.js";
+  },
+  t = {
+    __name: "index",
+    setup: function (s) {
+      var o = function () {
+        i.redirectTo({ url: "/pages/order-list-mine/index" });
+      };
+      return (
+        r.onMounted(function () {}, !1),
+        n.onShareAppMessage(),
+        function (r, n) {
+          return e.e({ a: !r.loading }, r.loading ? {} : { b: e.o(o) });
+        }
+      );
+    },
+  },
+  u = e._export_sfc(t, [["__scopeId", "data-v-10d49bcd"]]);
+(t.__runtimeHooks = 2), wx.createPage(u);
diff --git a/pages/upload-success/index.json b/pages/upload-success/index.json
new file mode 100644
index 0000000..63b7f29
--- /dev/null
+++ b/pages/upload-success/index.json
@@ -0,0 +1,7 @@
+{
+  "navigationBarTitleText": "查询中",
+  "usingComponents": {
+    "float-help": "../../components/float-help/index",
+    "float-share": "../../components/float-share/index"
+  }
+}
diff --git a/pages/upload-success/index.wxml b/pages/upload-success/index.wxml
new file mode 100644
index 0000000..1e13df0
--- /dev/null
+++ b/pages/upload-success/index.wxml
@@ -0,0 +1,30 @@
+<view class="content data-v-10d49bcd" wx:if="{{a}}">
+  <image
+    class="pic data-v-10d49bcd"
+    src="/static/images/pic_upload_file.png"
+  ></image>
+  <view class="pay-status data-v-10d49bcd">正在查询中,请耐心等待...</view>
+  <view class="tips data-v-10d49bcd">
+    正常情况下,报告在3-15分钟内会有结果,车辆维保报告最快10-30分钟左右出结果。报告处理时间为9点-22点,22点后次日处理。18点以后,部分订单会在第二天早上9点后收到查询结果。
+  </view>
+  <view class="button-content data-v-10d49bcd">
+    <button
+      bindtap="{{b}}"
+      class="button type3 data-v-10d49bcd"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+    >
+      查看订单
+    </button>
+  </view>
+  <float-help
+    bind:__l="__l"
+    class="data-v-10d49bcd"
+    uI="10d49bcd-0"
+  ></float-help>
+  <float-share
+    bind:__l="__l"
+    class="data-v-10d49bcd"
+    uI="10d49bcd-1"
+  ></float-share>
+</view>
diff --git a/pages/upload-success/index.wxss b/pages/upload-success/index.wxss
new file mode 100644
index 0000000..61b5ed8
--- /dev/null
+++ b/pages/upload-success/index.wxss
@@ -0,0 +1,68 @@
+page {
+  background-color: #fff;
+  overflow: visible !important;
+}
+.content.data-v-10d49bcd {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  padding: 60rpx;
+}
+.content .pic.data-v-10d49bcd {
+  height: 313rpx;
+  margin-top: 120rpx;
+  width: 324rpx;
+}
+.content .pay-status.data-v-10d49bcd {
+  font-size: 42rpx;
+  font-weight: 700;
+  margin-top: 100rpx;
+}
+.content .tips.data-v-10d49bcd {
+  color: #5e5e6b;
+  font-size: 28rpx;
+  line-height: 44rpx;
+  margin-top: 40rpx;
+  padding: 0 20rpx;
+}
+.content .view-report.data-v-10d49bcd {
+  color: #1f68e9;
+  font-size: 32rpx;
+  font-weight: 700;
+  margin-top: 150rpx;
+}
+.content .button-content.data-v-10d49bcd {
+  padding: 0 20rpx;
+  width: 100%;
+}
+.content .button-content .button.data-v-10d49bcd {
+  background-color: #fff;
+  border-radius: 100rpx;
+  font-size: 32rpx;
+  height: 90rpx;
+  line-height: 90rpx;
+  padding: 0;
+  text-align: center;
+  width: 100%;
+}
+.content .button-content .button.type1.data-v-10d49bcd {
+  background-color: #1f68e9;
+  color: #fff;
+  margin-top: 60rpx;
+}
+.content .button-content .button.type2.data-v-10d49bcd {
+  background-color: #edf5ff;
+  color: #1f68e9;
+  margin-top: 40rpx;
+}
+.content .button-content .button.type3.data-v-10d49bcd {
+  border: 2rpx solid #c4c8d1;
+  margin-top: 40rpx;
+}
+.content .notice.data-v-10d49bcd {
+  color: rgba(94, 94, 107, 0.855);
+  font-size: 24rpx;
+  margin-top: 50rpx;
+  text-align: center;
+}
diff --git a/pages/user/index.js b/pages/user/index.js
new file mode 100644
index 0000000..9738314
--- /dev/null
+++ b/pages/user/index.js
@@ -0,0 +1,106 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../hooks/onMounted.js"),
+  r = require("../../hooks/onShow.js"),
+  u = require("../../hooks/onShareAppMessage.js"),
+  i = require("../../hooks/useState.js"),
+  t = require("../../hooks/useHeight.js"),
+  o = require("../../constant/index.js"),
+  a = require("../../utils/navigate.js"),
+  s = require("../../config/index.js");
+require("../../service/index.js"),
+  require("../../utils/request.js"),
+  require("../../utils/util.js"),
+  require("../../enums/index.js"),
+  require("../../store/app/index.js"),
+  require("../../data/index.js");
+var c = {
+    __name: "index",
+    setup: function (c) {
+      var f = i.useState(),
+        l = f.userId,
+        d = f.nickName,
+        g = f.avatar,
+        v = f.token,
+        p = t.useHeight().navigationBarHeight,
+        q = e.ref(!0),
+        x = e.ref(!1),
+        h = function () {},
+        j = function (e) {
+          a.navigateTo({
+            url: "/pages/order-list-mine/index",
+            params: { tabIndex: e },
+          });
+        },
+        m = function () {
+          a.navigateTo({
+            url: "/pages/web-view/index",
+            params: { url: o.concealAgreementUrl, title: "隐私协议" },
+          });
+        },
+        k = function () {
+          a.navigateTo({
+            url: "/pages/web-view/index",
+            params: { url: o.userAgreementUrl, title: "用户协议" },
+          });
+        },
+        w = function () {
+          a.navigateTo({ url: "/pages/question/index" });
+        },
+        _ = function (e) {
+          e.detail.path && a.switchTab({ url: e.detail.path });
+        },
+        S = function () {
+          a.navigateTo({ url: "/pages/easter-egg/index" });
+        };
+      return (
+        n.onMounted(function () {
+          q.value = !1;
+          var n = e.index.getAccountInfoSync().miniProgram.envVersion;
+          ("develop" !== n && "trial" !== n) || (x.value = !0);
+        }, !1),
+        r.onShow(),
+        u.onShareAppMessage(),
+        function (n, r) {
+          return e.e(
+            { a: !q.value },
+            q.value
+              ? {}
+              : e.e(
+                  { b: e.unref(g), c: e.t(e.unref(d)), d: e.unref(v) },
+                  e.unref(v) ? { e: e.t(e.unref(l)) } : {},
+                  { f: !e.unref(v) },
+                  (e.unref(v), {}),
+                  {
+                    g: e.o(h),
+                    h: "".concat(e.unref(p) + 10, "px"),
+                    i: e.o(function (e) {
+                      return j(0);
+                    }),
+                    j: e.o(function (e) {
+                      return j(1);
+                    }),
+                    k: e.o(function (e) {
+                      return j(2);
+                    }),
+                    l: e.o(function (e) {
+                      return j(3);
+                    }),
+                    m: e.o(function (e) {
+                      return j(4);
+                    }),
+                    n: e.o(m),
+                    o: e.o(k),
+                    p: e.o(w),
+                    q: e.unref(s.appName),
+                    r: e.o(_),
+                    s: x.value,
+                  },
+                  x.value ? { t: e.o(S) } : {}
+                )
+          );
+        }
+      );
+    },
+  },
+  f = e._export_sfc(c, [["__scopeId", "data-v-d3798410"]]);
+(c.__runtimeHooks = 2), wx.createPage(f);
diff --git a/pages/user/index.json b/pages/user/index.json
new file mode 100644
index 0000000..4e4d0c5
--- /dev/null
+++ b/pages/user/index.json
@@ -0,0 +1,6 @@
+{
+  "navigationStyle": "custom",
+  "navigationBarTextStyle": "white",
+  "navigationBarTitleText": "我的",
+  "usingComponents": {}
+}
diff --git a/pages/user/index.wxml b/pages/user/index.wxml
new file mode 100644
index 0000000..a9b3233
--- /dev/null
+++ b/pages/user/index.wxml
@@ -0,0 +1,199 @@
+<view class="content data-v-d3798410" wx:if="{{a}}">
+  <view class="background data-v-d3798410">
+    <view class="background-inner data-v-d3798410"></view>
+    <view
+      bindtap="{{g}}"
+      class="user-info data-v-d3798410"
+      style="{{'padding-top:'+h}}"
+    >
+      <view class="left-content data-v-d3798410">
+        <image class="data-v-d3798410" src="{{b}}"></image>
+      </view>
+      <view class="right-content data-v-d3798410">
+        <view class="name data-v-d3798410">
+          <text class="data-v-d3798410">{{c}}</text>
+        </view>
+        <view class="id data-v-d3798410" wx:if="{{d}}">
+          <text class="data-v-d3798410">用户ID:{{e}}</text>
+        </view>
+        <view class="login data-v-d3798410" wx:if="{{f}}">
+          <text class="data-v-d3798410">点击登录</text>
+        </view>
+      </view>
+    </view>
+  </view>
+  <view class="order data-v-d3798410">
+    <view
+      bindtap="{{i}}"
+      class="order-item data-v-d3798410"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+    >
+      <image
+        class="data-v-d3798410"
+        src="/static/svgs/icon_order_1.svg"
+      ></image>
+      <text class="data-v-d3798410">全部订单</text>
+    </view>
+    <view
+      bindtap="{{j}}"
+      class="order-item data-v-d3798410"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+    >
+      <image
+        class="data-v-d3798410"
+        src="/static/svgs/icon_order_2.svg"
+      ></image>
+      <text class="data-v-d3798410">待付款</text>
+    </view>
+    <view
+      bindtap="{{k}}"
+      class="order-item data-v-d3798410"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+    >
+      <image
+        class="data-v-d3798410"
+        src="/static/svgs/icon_order_3.svg"
+      ></image>
+      <text class="data-v-d3798410">待上传</text>
+    </view>
+    <view
+      bindtap="{{l}}"
+      class="order-item data-v-d3798410"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+    >
+      <image
+        class="data-v-d3798410"
+        src="/static/svgs/icon_order_4.svg"
+      ></image>
+      <text class="data-v-d3798410">查询中</text>
+    </view>
+    <view
+      bindtap="{{m}}"
+      class="order-item data-v-d3798410"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+    >
+      <image
+        class="data-v-d3798410"
+        src="/static/svgs/icon_order_5.svg"
+      ></image>
+      <text class="data-v-d3798410">查询成功</text>
+    </view>
+  </view>
+  <view class="cell-content data-v-d3798410">
+    <button
+      bindtap="{{n}}"
+      class="cell data-v-d3798410"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+    >
+      <image
+        class="icon data-v-d3798410"
+        src="/static/svgs/icon_conceal_agreement.svg"
+      ></image>
+      <text class="data-v-d3798410">隐私协议</text>
+      <image
+        class="more data-v-d3798410"
+        src="/static/svgs/icon_right.svg"
+      ></image>
+    </button>
+    <button
+      bindtap="{{o}}"
+      class="cell data-v-d3798410"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+    >
+      <image
+        class="icon data-v-d3798410"
+        src="/static/svgs/icon_user_agreement.svg"
+      ></image>
+      <text class="data-v-d3798410">用户协议</text>
+      <image
+        class="more data-v-d3798410"
+        src="/static/svgs/icon_right.svg"
+      ></image>
+    </button>
+    <button
+      class="cell data-v-d3798410"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+      openType="share"
+    >
+      <image
+        class="icon data-v-d3798410"
+        src="/static/svgs/icon_share.svg"
+      ></image>
+      <text class="data-v-d3798410">推荐给好友</text>
+      <image
+        class="more data-v-d3798410"
+        src="/static/svgs/icon_right.svg"
+      ></image>
+    </button>
+    <button
+      bindtap="{{p}}"
+      class="cell data-v-d3798410"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+    >
+      <image
+        class="icon data-v-d3798410"
+        src="/static/svgs/icon_question.svg"
+      ></image>
+      <text class="data-v-d3798410">常见问题</text>
+      <image
+        class="more data-v-d3798410"
+        src="/static/svgs/icon_right.svg"
+      ></image>
+    </button>
+    <button
+      class="cell data-v-d3798410"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+      openType="feedback"
+    >
+      <image
+        class="icon data-v-d3798410"
+        src="/static/svgs/icon_feedback.svg"
+      ></image>
+      <text class="data-v-d3798410">意见反馈</text>
+      <image
+        class="more data-v-d3798410"
+        src="/static/svgs/icon_right.svg"
+      ></image>
+    </button>
+    <button
+      showMessageCard
+      bindcontact="{{r}}"
+      class="cell data-v-d3798410"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+      openType="contact"
+      sendMessageImg="/static/images/pic_share_mp.png"
+      sendMessagePath="/pages/splash/index"
+      sendMessageTitle="{{q}}"
+    >
+      <image
+        class="icon data-v-d3798410"
+        src="/static/svgs/icon_contact.svg"
+      ></image>
+      <text class="data-v-d3798410">联系客服</text>
+      <image
+        class="more data-v-d3798410"
+        src="/static/svgs/icon_right.svg"
+      ></image>
+    </button>
+  </view>
+  <view class="tips data-v-d3798410"> 客服工作时间为9:00~18:00 </view>
+  <image
+    catchtap="{{t}}"
+    class="easter-egg data-v-d3798410"
+    hoverClass="default-hover-class"
+    hoverStayTime="100"
+    src="/static/svgs/icon_easter_egg.svg"
+    wx:if="{{s}}"
+  ></image>
+</view>
diff --git a/pages/user/index.wxss b/pages/user/index.wxss
new file mode 100644
index 0000000..1ae41c4
--- /dev/null
+++ b/pages/user/index.wxss
@@ -0,0 +1,195 @@
+page {
+  background-color: #fff;
+}
+.content.data-v-d3798410 {
+  position: relative;
+}
+.content .background.data-v-d3798410 {
+  height: 500rpx;
+  overflow: hidden;
+  position: relative;
+  width: 100%;
+  z-index: 9;
+}
+.content .background .background-inner.data-v-d3798410 {
+  background: linear-gradient(to right top, #1f68e9, #2c74ef);
+  border-radius: 0 0 50% 50%;
+  content: "";
+  height: 500rpx;
+  left: -20%;
+  position: absolute;
+  top: 0;
+  width: 140%;
+  z-index: -1;
+}
+.content .background .user-info.data-v-d3798410 {
+  display: -webkit-flex;
+  display: flex;
+  padding: 40rpx;
+  position: relative;
+  z-index: 10;
+}
+.content .background .user-info .left-content.data-v-d3798410 {
+  border: 2rpx solid #fff;
+  border-radius: 100%;
+  height: 125rpx;
+  overflow: hidden;
+  width: 125rpx;
+}
+.content .background .user-info .left-content image.data-v-d3798410 {
+  height: 100%;
+  width: 100%;
+}
+.content .background .user-info .right-content.data-v-d3798410 {
+  color: #fff;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  flex-grow: 1;
+  justify-content: center;
+  margin-left: 30rpx;
+}
+.content .background .user-info .right-content .name.data-v-d3798410 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 38rpx;
+  font-weight: 700;
+}
+.content .background .user-info .right-content .name image.data-v-d3798410 {
+  height: 20rpx;
+  margin-left: 10rpx;
+  width: 20rpx;
+}
+.content .background .user-info .right-content .id.data-v-d3798410 {
+  color: hsla(0, 0%, 100%, 0.847);
+  font-size: 28rpx;
+  margin-top: 16rpx;
+}
+.content .background .user-info .right-content .login.data-v-d3798410 {
+  color: #fff;
+  font-size: 38rpx;
+  font-weight: 700;
+}
+.content .order.data-v-d3798410 {
+  align-self: center;
+  background-color: #fff;
+  border-radius: 12rpx;
+  box-shadow: 0 2rpx 20rpx rgba(0, 0, 0, 0.1);
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin: -120rpx 50rpx 20rpx;
+  padding: 30rpx 20rpx 20rpx;
+  position: relative;
+  z-index: 99;
+}
+.content .order .order-item.data-v-d3798410 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  width: 150rpx;
+}
+.content .order .order-item image.data-v-d3798410 {
+  height: 50rpx;
+  width: 50rpx;
+}
+.content .order .order-item text.data-v-d3798410 {
+  color: #444;
+  font-size: 28rpx;
+  margin-top: 20rpx;
+}
+.content .cell-content.data-v-d3798410 {
+  background-color: #fff;
+  padding: 0 20rpx;
+}
+.content .cell-content .cell.data-v-d3798410 {
+  align-items: center;
+  background-color: #fff;
+  border: 0;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin: 0;
+  padding: 18rpx 40rpx;
+}
+.content .cell-content .cell .icon.data-v-d3798410 {
+  flex-shrink: 0;
+  height: 44rpx;
+  width: 44rpx;
+}
+.content .cell-content .cell text.data-v-d3798410 {
+  color: #333;
+  display: block;
+  flex-grow: 1;
+  font-size: 30rpx;
+  margin-left: 30rpx;
+  text-align: left;
+}
+.content .cell-content .cell .more.data-v-d3798410 {
+  flex-shrink: 0;
+  height: 22rpx;
+  width: 12rpx;
+}
+.content .cell-content .divider.data-v-d3798410 {
+  background-color: #f4f4f4;
+  height: 1rpx;
+  margin: 8rpx 0;
+  width: 100%;
+}
+.content .tips.data-v-d3798410 {
+  color: gray;
+  font-size: 24rpx;
+  padding: 20rpx 0 40rpx;
+  text-align: center;
+}
+.content .easter-egg.data-v-d3798410 {
+  animation: shake-d3798410 1s linear 0.15s infinite;
+  bottom: 100rpx;
+  height: 100rpx;
+  position: fixed;
+  right: 50rpx;
+  width: 100rpx;
+  z-index: 88;
+}
+.hover-class.data-v-d3798410 {
+  opacity: 0.7;
+}
+@-webkit-keyframes shake-d3798410 {
+  10% {
+    transform: rotate(15deg);
+  }
+  20% {
+    transform: rotate(-10deg);
+  }
+  30% {
+    transform: rotate(5deg);
+  }
+  40% {
+    transform: rotate(-5deg);
+  }
+  50%,
+  to {
+    transform: rotate(0);
+  }
+}
+@keyframes shake-d3798410 {
+  10% {
+    transform: rotate(15deg);
+  }
+  20% {
+    transform: rotate(-10deg);
+  }
+  30% {
+    transform: rotate(5deg);
+  }
+  40% {
+    transform: rotate(-5deg);
+  }
+  50%,
+  to {
+    transform: rotate(0);
+  }
+}
diff --git a/pages/vehicle-five-detail/index.js b/pages/vehicle-five-detail/index.js
new file mode 100644
index 0000000..50196cb
--- /dev/null
+++ b/pages/vehicle-five-detail/index.js
@@ -0,0 +1,92 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../hooks/onMounted.js"),
+  r = require("../../hooks/onShareAppMessage.js"),
+  t = require("../../service/index.js"),
+  u = require("../../constant/index.js"),
+  i = require("../../utils/util.js");
+require("../../hooks/useState.js"),
+  require("../../store/app/index.js"),
+  require("../../enums/index.js"),
+  require("../../data/index.js"),
+  require("../../config/index.js"),
+  require("../../utils/request.js"),
+  Math || (e.unref(a) + e.unref(s) + e.unref(o) + e.unref(d))();
+var a = function () {
+    return "../../components/vehicle-number/index.js";
+  },
+  o = function () {
+    return "../../components/empty/index.js";
+  },
+  s = function () {
+    return "../../components/divider/index.js";
+  },
+  d = function () {
+    return "../../components/float-share/index.js";
+  },
+  v = {
+    __name: "index",
+    setup: function (a) {
+      var o = e.ref(!0),
+        s = e.ref(!1),
+        d = e.ref({}),
+        v = function () {
+          e.index.setClipboardData({ data: d.value.vin }).then(function () {
+            i.showToast("VIN车架号已复制");
+          });
+        };
+      return (
+        n.onMounted(function (e) {
+          var n = e.order_no,
+            r = e.product_id;
+          i.showLoading("努力查询中"),
+            t
+              .getReportDetail({ order_no: n, product_id: r })
+              .then(function (e) {
+                var n = e.type;
+                "101" === n
+                  ? (e.type = "小型汽车")
+                  : "102" === n
+                  ? (e.type = "大型汽车")
+                  : "103" === n
+                  ? (e.type = "小型新能源汽车")
+                  : "104" === n && (e.type = "大型新能源汽车"),
+                  (d.value = e),
+                  (o.value = !1),
+                  i.hideLoading();
+              });
+        }, !1),
+        r.onShareAppMessage(),
+        function (n, r) {
+          return e.e(
+            { a: !o.value },
+            o.value
+              ? {}
+              : e.e(
+                  { b: !s.value },
+                  s.value
+                    ? {}
+                    : e.e(
+                        { c: d.value.car_no },
+                        d.value.car_no
+                          ? { d: e.p({ data: d.value.car_no }) }
+                          : {},
+                        { e: d.value.vin },
+                        d.value.vin ? { f: e.t(d.value.vin), g: e.o(v) } : {},
+                        {
+                          h: e.t(d.value.brand_name),
+                          i: e.t(d.value.type),
+                          j: e.t(d.value.engine_no),
+                          k: e.t(d.value.first_issue_date),
+                          l: e.t(e.unref(u.disclaimer)),
+                        }
+                      ),
+                  { m: s.value },
+                  s.value ? { n: e.p({ info: "抱歉~!没有查到数据哦" }) } : {}
+                )
+          );
+        }
+      );
+    },
+  },
+  c = e._export_sfc(v, [["__scopeId", "data-v-1415ca37"]]);
+(v.__runtimeHooks = 2), wx.createPage(c);
diff --git a/pages/vehicle-five-detail/index.json b/pages/vehicle-five-detail/index.json
new file mode 100644
index 0000000..6c1064f
--- /dev/null
+++ b/pages/vehicle-five-detail/index.json
@@ -0,0 +1,9 @@
+{
+  "navigationBarTitleText": "车五项",
+  "usingComponents": {
+    "vehicle-number": "../../components/vehicle-number/index",
+    "empty": "../../components/empty/index",
+    "divider": "../../components/divider/index",
+    "float-share": "../../components/float-share/index"
+  }
+}
diff --git a/pages/vehicle-five-detail/index.wxml b/pages/vehicle-five-detail/index.wxml
new file mode 100644
index 0000000..f562dbd
--- /dev/null
+++ b/pages/vehicle-five-detail/index.wxml
@@ -0,0 +1,57 @@
+<view class="content data-v-1415ca37" wx:if="{{a}}">
+  <view class="data-v-1415ca37" wx:if="{{b}}">
+    <view class="module-title data-v-1415ca37">车五项信息</view>
+    <view class="detail data-v-1415ca37">
+      <view class="cell data-v-1415ca37" wx:if="{{c}}">
+        <view class="title data-v-1415ca37">车牌号码</view>
+        <view class="value data-v-1415ca37">
+          <vehicle-number
+            bind:__l="__l"
+            class="data-v-1415ca37"
+            uI="1415ca37-0"
+            uP="{{d}}"
+            wx:if="{{d}}"
+          ></vehicle-number>
+        </view>
+      </view>
+      <view class="cell data-v-1415ca37" wx:if="{{e}}">
+        <view class="title data-v-1415ca37">VIN车架号</view>
+        <view class="value data-v-1415ca37">
+          <text class="data-v-1415ca37">{{f}}</text>
+          <text bindtap="{{g}}" class="copy data-v-1415ca37">复制</text>
+        </view>
+      </view>
+      <view class="cell data-v-1415ca37">
+        <view class="title data-v-1415ca37">车辆品牌</view>
+        <view class="value data-v-1415ca37">{{h}}</view>
+      </view>
+      <view class="cell data-v-1415ca37">
+        <view class="title data-v-1415ca37">车辆类型</view>
+        <view class="value data-v-1415ca37">{{i}}</view>
+      </view>
+      <view class="cell data-v-1415ca37">
+        <view class="title data-v-1415ca37">发动机号</view>
+        <view class="value data-v-1415ca37">{{j}}</view>
+      </view>
+      <view class="cell data-v-1415ca37">
+        <view class="title data-v-1415ca37">初次登记日期</view>
+        <view class="value data-v-1415ca37">{{k}}</view>
+      </view>
+    </view>
+    <view class="module-title data-v-1415ca37">免责声明</view>
+    <view class="disclaimer data-v-1415ca37">{{l}}</view>
+    <divider bind:__l="__l" class="data-v-1415ca37" uI="1415ca37-1"></divider>
+  </view>
+  <empty
+    bind:__l="__l"
+    class="data-v-1415ca37"
+    uI="1415ca37-2"
+    uP="{{n}}"
+    wx:if="{{m}}"
+  ></empty>
+  <float-share
+    bind:__l="__l"
+    class="data-v-1415ca37"
+    uI="1415ca37-3"
+  ></float-share>
+</view>
diff --git a/pages/vehicle-five-detail/index.wxss b/pages/vehicle-five-detail/index.wxss
new file mode 100644
index 0000000..6a133f6
--- /dev/null
+++ b/pages/vehicle-five-detail/index.wxss
@@ -0,0 +1,56 @@
+.content.data-v-1415ca37 {
+  padding: 30rpx;
+}
+.content .module-title.data-v-1415ca37 {
+  align-items: center;
+  border-left: 6rpx solid #1f68e9;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 34rpx;
+  font-weight: 700;
+  justify-content: space-between;
+  line-height: 34rpx;
+  margin: 30rpx 0;
+  padding-left: 20rpx;
+}
+.content .module-title .tips.data-v-1415ca37 {
+  color: #1f68e9;
+  font-size: 30rpx;
+  font-weight: 400;
+}
+.content .disclaimer.data-v-1415ca37 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  color: #333;
+  font-size: 30rpx;
+  padding: 30rpx 40rpx;
+}
+.content .detail.data-v-1415ca37 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  padding: 10rpx 40rpx;
+  position: relative;
+}
+.content .detail .cell.data-v-1415ca37 {
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin: 30rpx 0;
+}
+.content .detail .cell .title.data-v-1415ca37 {
+  color: #333;
+  flex-shrink: 0;
+  font-size: 30rpx;
+  padding-left: 5rpx;
+  position: relative;
+}
+.content .detail .cell .value.data-v-1415ca37 {
+  color: #686868;
+  font-size: 30rpx;
+  max-width: 450rpx;
+  padding-right: 5rpx;
+}
+.content .detail .cell .value .copy.data-v-1415ca37 {
+  color: #d71818;
+  margin-left: 15rpx;
+}
diff --git a/pages/vehicle-five-query/index.js b/pages/vehicle-five-query/index.js
new file mode 100644
index 0000000..677878e
--- /dev/null
+++ b/pages/vehicle-five-query/index.js
@@ -0,0 +1,155 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../hooks/onMounted.js"),
+  r = require("../../hooks/onShareAppMessage.js"),
+  u = require("../../hooks/useState.js"),
+  o = require("../../enums/index.js"),
+  t = require("../../constant/index.js"),
+  i = require("../../data/index.js"),
+  a = require("../../utils/navigate.js"),
+  s = require("../../utils/util.js");
+require("../../config/index.js"),
+  require("../../service/index.js"),
+  require("../../utils/request.js"),
+  require("../../store/app/index.js"),
+  Math ||
+    (
+      e.unref(f) +
+      e.unref(c) +
+      e.unref(d) +
+      e.unref(v) +
+      e.unref(p) +
+      e.unref(m) +
+      e.unref(l)
+    )();
+var c = function () {
+    return "../../components/agreement/index.js";
+  },
+  l = function () {
+    return "../../components/keyboard/index.js";
+  },
+  v = function () {
+    return "../../components/divider/index.js";
+  },
+  f = function () {
+    return "../../components/tips/index.js";
+  },
+  d = function () {
+    return "../../components/prompt/index.js";
+  },
+  p = function () {
+    return "../../components/float-back-to-top/index.js";
+  },
+  m = function () {
+    return "../../components/float-share/index.js";
+  },
+  h = {
+    __name: "index",
+    setup: function (c) {
+      var l = u.useState().showAgreementPopup,
+        v = e.ref(!0),
+        f = e.ref(""),
+        d = e.ref(!1),
+        p = e.ref(["", "", "", "", "", "", "", ""]),
+        m = e.ref(0),
+        h = e.ref(!1),
+        x = e.ref(o.KeyboardEnum.AREA),
+        j = e.ref(!1),
+        y = function () {
+          var e = l.value;
+          return "height: 100%; overflow: "
+            .concat(e ? "hidden" : "visible", "; position: ")
+            .concat(e ? "fixed" : "relative");
+        },
+        b = function () {
+          h.value = !1;
+        },
+        g = function (e) {
+          e.keyboardType
+            ? (x.value = e.keyboardType)
+            : ((p.value = e.value), (m.value = e.index));
+        },
+        q = function () {
+          x.value =
+            x.value === o.KeyboardEnum.AREA
+              ? o.KeyboardEnum.ABC
+              : o.KeyboardEnum.AREA;
+        },
+        E = function () {
+          d.value = !d.value;
+        },
+        k = function () {
+          h.value = !1;
+          var e = p.value.join("");
+          d.value
+            ? t.vehicleNoExp.test(e)
+              ? a.navigateTo({
+                  url: "/pages/order-confirm/index",
+                  params: {
+                    productType: o.ProductTypeEnum.VEHICLE_FIVE,
+                    queryType: o.QueryTypeEnum.VEHICLE_NO,
+                    vehicleNo: e,
+                  },
+                })
+              : s.showToast("请输入正确的车牌")
+            : s.showToast("请先阅读并同意协议");
+        };
+      return (
+        n.onMounted(function (n) {
+          e.index.setNavigationBarTitle({ title: n.title }),
+            (f.value = n.title),
+            (v.value = !1),
+            s.hideLoading();
+        }),
+        e.onPageScroll(function (n) {
+          var r = n.scrollTop;
+          j.value = r >= e.index.getSystemInfoSync().windowHeight / 3;
+        }),
+        r.onShareAppMessage(),
+        function (n, r) {
+          return e.e(
+            { a: y(), b: !v.value },
+            v.value
+              ? {}
+              : {
+                  c: e.t(f.value),
+                  d: e.f(p.value, function (n, r, u) {
+                    return e.e(
+                      { a: e.t(n), b: r === m.value ? 1 : "", c: 7 === r },
+                      {},
+                      {
+                        d: r,
+                        e: 7 === r ? 1 : "",
+                        f: e.o(function (e) {
+                          return (function (e) {
+                            (m.value = e), (h.value = !0);
+                          })(r);
+                        }, r),
+                      }
+                    );
+                  }),
+                  e: e.o(k),
+                  f: e.o(E),
+                  g: e.p({ checked: d.value }),
+                  h: e.f(e.unref(i.mockVehicleFiveList), function (n, r, u) {
+                    return { a: e.t(n.label), b: e.t(n.value), c: r };
+                  }),
+                  i: e.t(e.unref(t.disclaimer)),
+                  j: e.p({ visible: j.value }),
+                  k: e.o(b),
+                  l: e.o(g),
+                  m: e.o(q),
+                  n: e.p({
+                    visible: h.value,
+                    "can-switch": !0,
+                    "keyboard-type": x.value,
+                    "vehicle-no-list": p.value,
+                    "vehicle-no-index": m.value,
+                  }),
+                }
+          );
+        }
+      );
+    },
+  },
+  x = e._export_sfc(h, [["__scopeId", "data-v-c2411e15"]]);
+(h.__runtimeHooks = 3), wx.createPage(x);
diff --git a/pages/vehicle-five-query/index.json b/pages/vehicle-five-query/index.json
new file mode 100644
index 0000000..7026815
--- /dev/null
+++ b/pages/vehicle-five-query/index.json
@@ -0,0 +1,13 @@
+{
+  "navigationBarTextStyle": "black",
+  "navigationBarBackgroundColor": "#ffffff",
+  "usingComponents": {
+    "agreement": "../../components/agreement/index",
+    "keyboard": "../../components/keyboard/index",
+    "divider": "../../components/divider/index",
+    "tips": "../../components/tips/index",
+    "prompt": "../../components/prompt/index",
+    "float-back-to-top": "../../components/float-back-to-top/index",
+    "float-share": "../../components/float-share/index"
+  }
+}
diff --git a/pages/vehicle-five-query/index.wxml b/pages/vehicle-five-query/index.wxml
new file mode 100644
index 0000000..1e1fd84
--- /dev/null
+++ b/pages/vehicle-five-query/index.wxml
@@ -0,0 +1,81 @@
+<page-meta class="data-v-c2411e15" pageStyle="{{a}}"></page-meta>
+<view class="content data-v-c2411e15" wx:if="{{b}}">
+  <tips bind:__l="__l" class="data-v-c2411e15" uI="c2411e15-0"></tips>
+  <view class="banner data-v-c2411e15">
+    <image
+      class="title data-v-c2411e15"
+      mode="heightFix"
+      src="/static/images/pic_title_4.png"
+    ></image>
+    <image
+      class="image data-v-c2411e15"
+      src="/static/images/pic_vehicle_info.png"
+    ></image>
+  </view>
+  <view class="module-title data-v-c2411e15">{{c}}</view>
+  <view class="query-content data-v-c2411e15">
+    <view class="vehicle-content data-v-c2411e15">
+      <view
+        bindtap="{{value.f}}"
+        class="{{['number-item','data-v-c2411e15',value.e&&'new']}}"
+        wx:for="{{d}}"
+        wx:for-item="value"
+        wx:key="d"
+      >
+        <text class="{{['number','data-v-c2411e15',value.b&&'selected']}}"
+          >{{value.a}}</text
+        >
+        <text class="energy data-v-c2411e15" wx:if="{{value.c}}">新能源</text>
+      </view>
+    </view>
+    <view
+      bindtap="{{e}}"
+      class="button data-v-c2411e15"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+    >
+      查 询
+    </view>
+    <agreement
+      bind:__l="__l"
+      bindchange="{{f}}"
+      class="data-v-c2411e15"
+      uI="c2411e15-1"
+      uP="{{g}}"
+      wx:if="{{g}}"
+    ></agreement>
+  </view>
+  <view class="module-title data-v-c2411e15">样例报告</view>
+  <view class="example-content data-v-c2411e15">
+    <prompt bind:__l="__l" class="data-v-c2411e15" uI="c2411e15-2"></prompt>
+    <view class="cell data-v-c2411e15" wx:for="{{h}}" wx:key="c">
+      <view class="cell-title data-v-c2411e15">{{item.a}}</view>
+      <view class="cell-value data-v-c2411e15">{{item.b}}</view>
+    </view>
+  </view>
+  <view class="module-title data-v-c2411e15">免责声明</view>
+  <view class="disclaimer data-v-c2411e15">{{i}}</view>
+  <divider bind:__l="__l" class="data-v-c2411e15" uI="c2411e15-3"></divider>
+  <float-back-to-top
+    bind:__l="__l"
+    class="data-v-c2411e15"
+    uI="c2411e15-4"
+    uP="{{j}}"
+    wx:if="{{j}}"
+  ></float-back-to-top>
+  <float-share
+    bind:__l="__l"
+    class="data-v-c2411e15"
+    uI="c2411e15-5"
+  ></float-share>
+  <keyboard
+    bind:__l="__l"
+    bindchange="{{l}}"
+    bindclose="{{k}}"
+    bindtypeChange="{{m}}"
+    class="data-v-c2411e15"
+    uI="c2411e15-6"
+    uP="{{n}}"
+    wx:if="{{n}}"
+  ></keyboard>
+</view>
diff --git a/pages/vehicle-five-query/index.wxss b/pages/vehicle-five-query/index.wxss
new file mode 100644
index 0000000..511350f
--- /dev/null
+++ b/pages/vehicle-five-query/index.wxss
@@ -0,0 +1,178 @@
+.content.data-v-c2411e15 {
+  padding: 30rpx;
+}
+.content .banner.data-v-c2411e15 {
+  background-color: #1f68e9;
+  border-radius: 15rpx;
+  color: #fff;
+  height: 240rpx;
+  padding: 30rpx;
+  position: relative;
+}
+.content .banner .title.data-v-c2411e15 {
+  height: 95rpx;
+  position: absolute;
+  top: 40rpx;
+  z-index: 9;
+}
+.content .banner .image.data-v-c2411e15 {
+  bottom: 5rpx;
+  height: 125rpx;
+  position: absolute;
+  right: 0;
+  width: 300rpx;
+  z-index: 9;
+}
+.content .module-title.data-v-c2411e15 {
+  align-items: center;
+  border-left: 6rpx solid #1f68e9;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 34rpx;
+  font-weight: 700;
+  justify-content: space-between;
+  line-height: 34rpx;
+  margin: 30rpx 0;
+  padding-left: 20rpx;
+}
+.content .module-title .tips.data-v-c2411e15 {
+  color: #1f68e9;
+  font-size: 30rpx;
+  font-weight: 400;
+}
+.content .query-content.data-v-c2411e15 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  padding: 40rpx;
+}
+.content .query-content .vehicle-content.data-v-c2411e15 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+}
+.content .query-content .vehicle-content .number-item.data-v-c2411e15 {
+  border: 2rpx solid #e1e1e1;
+  display: -webkit-flex;
+  display: flex;
+  font-weight: 700;
+  height: 85rpx;
+  justify-content: center;
+  margin: 0 7rpx;
+  position: relative;
+  width: 75rpx;
+}
+.content .query-content .vehicle-content .number-item.new.data-v-c2411e15 {
+  border: 2rpx dashed #6fd99a;
+}
+.content .query-content .vehicle-content .number-item .number.data-v-c2411e15 {
+  font-size: 32rpx;
+  height: 50rpx;
+  margin-top: 18rpx;
+  padding-bottom: 18rpx;
+  text-align: center;
+  width: 35rpx;
+}
+.content
+  .query-content
+  .vehicle-content
+  .number-item
+  .number.selected.data-v-c2411e15 {
+  border-bottom: 4rpx solid #1f68e9;
+}
+.content .query-content .vehicle-content .number-item .energy.data-v-c2411e15 {
+  background: #0ac260;
+  border-radius: 14rpx;
+  color: #fff;
+  font-size: 16rpx;
+  height: 28rpx;
+  left: 2rpx;
+  line-height: 28rpx;
+  position: absolute;
+  text-align: center;
+  top: -20rpx;
+  width: 60rpx;
+}
+.content .query-content .button.data-v-c2411e15 {
+  align-items: center;
+  background-color: #1f68e9;
+  border-radius: 10rpx;
+  color: #fff;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 32rpx;
+  font-weight: 700;
+  height: 90rpx;
+  justify-content: center;
+  margin-top: 30rpx;
+}
+.content .example-content.data-v-c2411e15 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  overflow: hidden;
+}
+.content .example-content .cell.data-v-c2411e15 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin: 40rpx;
+}
+.content .example-content .cell-title.data-v-c2411e15 {
+  align-items: center;
+  color: #333;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  padding-left: 5rpx;
+}
+.content .example-content .cell-title image.data-v-c2411e15 {
+  height: 30rpx;
+  margin-left: 10rpx;
+  width: 30rpx;
+}
+.content .example-content .cell-value.data-v-c2411e15 {
+  color: #686868;
+  font-size: 30rpx;
+  padding-right: 5rpx;
+}
+.content .example-content .tips.data-v-c2411e15 {
+  background-color: #fffbe8;
+  color: #ed6a0c;
+  font-size: 26rpx;
+  padding: 20rpx;
+}
+.content .disclaimer.data-v-c2411e15 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  color: #333;
+  font-size: 30rpx;
+  padding: 30rpx 40rpx;
+}
+@-webkit-keyframes cursor-blinks-c2411e15 {
+  0% {
+    display: block;
+    opacity: 1;
+  }
+  50% {
+    display: none;
+    opacity: 0;
+  }
+  to {
+    display: block;
+    opacity: 1;
+  }
+}
+@keyframes cursor-blinks-c2411e15 {
+  0% {
+    display: block;
+    opacity: 1;
+  }
+  50% {
+    display: none;
+    opacity: 0;
+  }
+  to {
+    display: block;
+    opacity: 1;
+  }
+}
diff --git a/pages/vehicle-info-detail/index.js b/pages/vehicle-info-detail/index.js
new file mode 100644
index 0000000..a9b4153
--- /dev/null
+++ b/pages/vehicle-info-detail/index.js
@@ -0,0 +1,174 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../hooks/onMounted.js"),
+  t = require("../../hooks/onShareAppMessage.js"),
+  a = require("../../service/index.js"),
+  o = require("../../constant/index.js"),
+  i = require("../../utils/util.js"),
+  r = require("../../utils/common.js"),
+  u = require("../../utils/navigate.js"),
+  c = require("../../config/index.js");
+require("../../hooks/useState.js"),
+  require("../../store/app/index.js"),
+  require("../../enums/index.js"),
+  require("../../data/index.js"),
+  require("../../utils/request.js"),
+  Math || (e.unref(d) + e.unref(s) + e.unref(l))();
+var s = function () {
+    return "../../components/empty/index.js";
+  },
+  d = function () {
+    return "../../components/divider/index.js";
+  },
+  l = function () {
+    return "../../components/float-share/index.js";
+  },
+  v = {
+    __name: "index",
+    setup: function (s) {
+      var d = e.ref(!0),
+        l = e.ref(!1),
+        v = e.ref({}),
+        f = e.ref([]),
+        g = e.ref(!0),
+        h = null,
+        m = function () {
+          h.show().catch(function () {
+            h.load()
+              .then(function () {
+                return h.show();
+              })
+              .catch(function (e) {
+                console.log("激励视频 广告显示失败", e);
+              });
+          });
+        };
+      return (
+        n.onMounted(function (n) {
+          i.showLoading("努力查询中"),
+            e.wx$1.createRewardedVideoAd &&
+              ((h = e.wx$1.createRewardedVideoAd({
+                adUnitId: c.mpWeixinVideoUnitAd,
+              })).onLoad(function () {
+                g.value = n.showMask;
+              }),
+              h.onError(function (e) {
+                (g.value = !1), console.log("视频激励广告拉取失败", e);
+              }),
+              h.onClose(function (t) {
+                if (t && t.isEnded) {
+                  var a = e.index.getStorageSync("loadRewardedVideoAdCount"),
+                    o = new Date().getFullYear(),
+                    r = new Date().getMonth() + 1,
+                    c = new Date().getDate();
+                  if (a) {
+                    var s = JSON.parse(a),
+                      d = s.date,
+                      l = s.count;
+                    d !== "".concat(o, "-").concat(r, "-").concat(c)
+                      ? e.index.setStorageSync(
+                          "loadRewardedVideoAdCount",
+                          JSON.stringify({
+                            date: "".concat(o, "-").concat(r, "-").concat(c),
+                            count: 1,
+                          })
+                        )
+                      : l < 2 &&
+                        e.index.setStorageSync(
+                          "loadRewardedVideoAdCount",
+                          JSON.stringify({
+                            date: "".concat(o, "-").concat(r, "-").concat(c),
+                            count: 2,
+                          })
+                        );
+                  } else
+                    e.index.setStorageSync(
+                      "loadRewardedVideoAdCount",
+                      JSON.stringify({
+                        date: "".concat(o, "-").concat(r, "-").concat(c),
+                        count: 1,
+                      })
+                    );
+                  u.redirectTo({
+                    url: "/pages/vehicle-info-detail/index",
+                    params: { vin: n.vin, showMask: !1 },
+                  }),
+                    console.log("视频激励广告播放完毕");
+                } else i.showToast("看完广告后自动解锁剩余车辆信息~");
+              })),
+            a
+              .getVehicleInfoDetail({ vin: n.vin })
+              .then(function (e) {
+                e
+                  ? ((f.value = r.getVehicleInfoList(e.detail)), (v.value = e))
+                  : (l.value = !0);
+              })
+              .catch(function () {
+                l.value = !0;
+              })
+              .finally(function () {
+                (d.value = !1), i.hideLoading();
+              });
+        }, !1),
+        t.onShareAppMessage(),
+        function (n, t) {
+          return e.e(
+            { a: !d.value },
+            d.value
+              ? {}
+              : e.e(
+                  { b: !l.value },
+                  l.value
+                    ? {}
+                    : e.e(
+                        {
+                          c: v.value.logo,
+                          d: e.t(v.value.name),
+                          e: e.t(
+                            (v.value.vin || "")
+                              .toString()
+                              .replace(/^(.{5}).{6}/, "$1******")
+                          ),
+                          f: v.value.comfuelconsumption,
+                        },
+                        v.value.comfuelconsumption
+                          ? { g: e.t(v.value.comfuelconsumption) }
+                          : {},
+                        { h: v.value.environmentalstandards },
+                        v.value.environmentalstandards
+                          ? { i: e.t(v.value.environmentalstandards) }
+                          : {},
+                        {
+                          j: e.f(f.value, function (n, t, a) {
+                            return e.e(
+                              {
+                                a: e.t(n.name),
+                                b: e.t(n.value || "-"),
+                                c: t >= 3 && g.value ? 1 : "",
+                                d: t >= 20 && g.value ? 1 : "",
+                              },
+                              g.value ? { e: e.o(m, t) } : {},
+                              {
+                                f:
+                                  !g.value &&
+                                  t + 1 === parseInt(f.value.length / 2),
+                              },
+                              g.value || t + 1 !== parseInt(f.value.length / 2)
+                                ? {}
+                                : { g: e.unref(c.mpWeixinBannerUnitAd) },
+                              { h: t }
+                            );
+                          }),
+                          k: g.value,
+                          l: e.t(e.unref(o.disclaimer)),
+                        }
+                      ),
+                  { m: l.value },
+                  l.value ? { n: e.p({ info: "抱歉~!没有查到数据哦" }) } : {}
+                )
+          );
+        }
+      );
+    },
+  },
+  f = e._export_sfc(v, [["__scopeId", "data-v-4dace52a"]]);
+(v.__runtimeHooks = 2), wx.createPage(f);
diff --git a/pages/vehicle-info-detail/index.json b/pages/vehicle-info-detail/index.json
new file mode 100644
index 0000000..5bd5a5e
--- /dev/null
+++ b/pages/vehicle-info-detail/index.json
@@ -0,0 +1,8 @@
+{
+  "navigationBarTitleText": "车辆信息",
+  "usingComponents": {
+    "empty": "../../components/empty/index",
+    "divider": "../../components/divider/index",
+    "float-share": "../../components/float-share/index"
+  }
+}
diff --git a/pages/vehicle-info-detail/index.wxml b/pages/vehicle-info-detail/index.wxml
new file mode 100644
index 0000000..14f67e1
--- /dev/null
+++ b/pages/vehicle-info-detail/index.wxml
@@ -0,0 +1,55 @@
+<view class="content data-v-4dace52a" wx:if="{{a}}">
+  <view class="data-v-4dace52a" wx:if="{{b}}">
+    <view class="info data-v-4dace52a">
+      <image class="logo data-v-4dace52a" src="{{c}}"></image>
+      <view class="right-content data-v-4dace52a">
+        <view class="desc data-v-4dace52a" style="font-weight: bold"
+          >{{d}}</view
+        >
+        <view class="desc data-v-4dace52a"
+          >VIN:<text class="data-v-4dace52a">{{e}}</text>
+        </view>
+        <view class="desc data-v-4dace52a" wx:if="{{f}}"
+          >油耗:百公里/{{g}}L</view
+        >
+        <view class="desc data-v-4dace52a" wx:if="{{h}}">国标:{{i}}</view>
+      </view>
+    </view>
+    <view class="module-title data-v-4dace52a">基本信息</view>
+    <view class="detail data-v-4dace52a">
+      <block wx:for="{{j}}" wx:key="h">
+        <view
+          class="{{['cell','data-v-4dace52a',item.c&&'mask',item.d&&'hidden']}}"
+        >
+          <view class="title data-v-4dace52a">{{item.a}}</view>
+          <view class="value data-v-4dace52a">{{item.b}}</view>
+        </view>
+        <view
+          bindtap="{{item.e}}"
+          class="unlock data-v-4dace52a"
+          hoverClass="default-hover-class"
+          hoverStayTime="100"
+          wx:if="{{k}}"
+        >
+          立即解锁
+        </view>
+        <ad class="data-v-4dace52a" unitId="{{item.g}}" wx:if="{{item.f}}"></ad>
+      </block>
+    </view>
+    <view class="module-title data-v-4dace52a">免责声明</view>
+    <view class="disclaimer data-v-4dace52a">{{l}}</view>
+    <divider bind:__l="__l" class="data-v-4dace52a" uI="4dace52a-0"></divider>
+  </view>
+  <empty
+    bind:__l="__l"
+    class="data-v-4dace52a"
+    uI="4dace52a-1"
+    uP="{{n}}"
+    wx:if="{{m}}"
+  ></empty>
+  <float-share
+    bind:__l="__l"
+    class="data-v-4dace52a"
+    uI="4dace52a-2"
+  ></float-share>
+</view>
diff --git a/pages/vehicle-info-detail/index.wxss b/pages/vehicle-info-detail/index.wxss
new file mode 100644
index 0000000..80f2bcf
--- /dev/null
+++ b/pages/vehicle-info-detail/index.wxss
@@ -0,0 +1,107 @@
+.content.data-v-4dace52a {
+  padding: 30rpx;
+}
+.content .info.data-v-4dace52a {
+  align-items: center;
+  background-color: #eaf1f8;
+  border-radius: 10rpx;
+  display: -webkit-flex;
+  display: flex;
+  padding: 20rpx 30rpx;
+}
+.content .info .logo.data-v-4dace52a {
+  border-radius: 10rpx;
+  flex-shrink: 0;
+  height: 120rpx;
+  width: 120rpx;
+}
+.content .info .right-content.data-v-4dace52a {
+  color: #333;
+  flex-grow: 1;
+  margin-left: 30rpx;
+}
+.content .info .right-content .name.data-v-4dace52a {
+  font-size: 32rpx;
+  font-weight: 700;
+}
+.content .info .right-content .desc.data-v-4dace52a {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 28rpx;
+  margin-top: 8rpx;
+}
+.content .info .right-content .desc image.data-v-4dace52a {
+  height: 40rpx;
+  width: 265rpx;
+}
+.content .module-title.data-v-4dace52a {
+  align-items: center;
+  border-left: 6rpx solid #1f68e9;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 34rpx;
+  font-weight: 700;
+  justify-content: space-between;
+  line-height: 34rpx;
+  margin: 30rpx 0;
+  padding-left: 20rpx;
+}
+.content .module-title .tips.data-v-4dace52a {
+  color: #1f68e9;
+  font-size: 30rpx;
+  font-weight: 400;
+}
+.content .disclaimer.data-v-4dace52a {
+  background-color: #fff;
+  border-radius: 10rpx;
+  color: #333;
+  font-size: 30rpx;
+  padding: 30rpx 40rpx;
+}
+.content .detail.data-v-4dace52a {
+  background-color: #fff;
+  border-radius: 10rpx;
+  padding: 10rpx 40rpx;
+  position: relative;
+}
+.content .detail .cell.data-v-4dace52a {
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin: 30rpx 0;
+}
+.content .detail .cell .title.data-v-4dace52a {
+  color: #333;
+  flex-shrink: 0;
+  font-size: 30rpx;
+  padding-left: 5rpx;
+  position: relative;
+}
+.content .detail .cell .value.data-v-4dace52a {
+  color: #686868;
+  font-size: 30rpx;
+  max-width: 400rpx;
+  padding-right: 5rpx;
+}
+.content .detail .mask.data-v-4dace52a {
+  filter: blur(15rpx);
+}
+.content .detail .hidden.data-v-4dace52a {
+  display: none;
+}
+.content .detail .unlock.data-v-4dace52a {
+  background: #1f68e9;
+  border-radius: 50rpx;
+  color: #fff;
+  font-size: 28rpx;
+  height: 64rpx;
+  left: 50%;
+  line-height: 64rpx;
+  position: absolute;
+  text-align: center;
+  top: 600rpx;
+  transform: translate(-50%);
+  width: 170rpx;
+  z-index: 999;
+}
diff --git a/pages/vehicle-info-query/index.js b/pages/vehicle-info-query/index.js
new file mode 100644
index 0000000..a65c24d
--- /dev/null
+++ b/pages/vehicle-info-query/index.js
@@ -0,0 +1,180 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../hooks/onMounted.js"),
+  t = require("../../hooks/onShareAppMessage.js"),
+  i = require("../../hooks/useState.js"),
+  o = require("../../constant/index.js"),
+  u = require("../../data/index.js"),
+  a = require("../../utils/navigate.js"),
+  r = require("../../utils/util.js"),
+  l = require("../../utils/common.js"),
+  s = require("../../utils/vin.js");
+require("../../service/index.js"),
+  require("../../utils/request.js"),
+  require("../../config/index.js"),
+  require("../../enums/index.js"),
+  require("../../store/app/index.js"),
+  Math ||
+    (
+      e.unref(h) +
+      e.unref(c) +
+      e.unref(d) +
+      e.unref(p) +
+      e.unref(g) +
+      e.unref(f) +
+      e.unref(v)
+    )();
+var v = function () {
+    return "../../components/popup-copy-vin/index.js";
+  },
+  c = function () {
+    return "../../components/agreement/index.js";
+  },
+  f = function () {
+    return "../../components/keyboard/index.js";
+  },
+  d = function () {
+    return "../../components/divider/index.js";
+  },
+  h = function () {
+    return "../../components/tips/index.js";
+  },
+  p = function () {
+    return "../../components/float-back-to-top/index.js";
+  },
+  g = function () {
+    return "../../components/float-share/index.js";
+  },
+  m = {
+    __name: "index",
+    setup: function (v) {
+      var c = i.useState().showAgreementPopup,
+        f = e.ref(!0),
+        d = e.ref(""),
+        h = e.ref(!1),
+        p = e.ref(""),
+        g = e.ref(!1),
+        m = e.ref(!1),
+        x = e.ref(""),
+        j = e.ref(!1),
+        q = function () {
+          var e = c.value || m.value;
+          return "height: 100%; overflow: "
+            .concat(e ? "hidden" : "visible", "; position: ")
+            .concat(e ? "fixed" : "relative");
+        },
+        w = function () {
+          a.navigateTo({ url: "/pages/vin-info/index" });
+        },
+        k = function () {
+          p.value = "";
+        },
+        b = function () {
+          l.ocrIdentifyVin().then(function (e) {
+            p.value = e;
+          });
+        },
+        S = function () {
+          g.value = !0;
+        },
+        T = function () {
+          g.value = !1;
+        },
+        y = function (e) {
+          p.value = e.value;
+        },
+        _ = function () {
+          h.value = !h.value;
+        },
+        I = function () {
+          m.value = !1;
+        },
+        M = function () {
+          (p.value = x.value), (m.value = !1), V();
+        },
+        V = function () {
+          if (((g.value = !1), h.value))
+            if (0 !== p.value.length)
+              if (p.value.length < 17) r.showToast("请输入完整的VIN车架号");
+              else if (s.validateVIN(p.value)) {
+                var n = !1,
+                  t = e.index.getStorageSync("loadRewardedVideoAdCount"),
+                  i = new Date().getFullYear(),
+                  o = new Date().getMonth() + 1,
+                  u = new Date().getDate();
+                if (t) {
+                  var l = JSON.parse(t),
+                    v = l.date,
+                    c = l.count;
+                  (v !== "".concat(i, "-").concat(o, "-").concat(u) || c < 2) &&
+                    (n = !0);
+                } else n = !0;
+                a.navigateTo({
+                  url: "/pages/vehicle-info-detail/index",
+                  params: { vin: p.value, showMask: n },
+                });
+              } else r.showToast("车架号有误,请检查后重新输入");
+            else r.showToast("请输入VIN车架号");
+          else r.showToast("请先阅读并同意协议");
+        };
+      return (
+        n.onMounted(function (n) {
+          e.index.setNavigationBarTitle({ title: n.title }),
+            l.hasClickAgreement() &&
+              e.index.getClipboardData().then(function (n) {
+                var t = n.data;
+                e.index.hideToast(),
+                  17 === t.trim().length &&
+                    setTimeout(function () {
+                      (x.value = t.trim()), (m.value = !0);
+                    }, 300);
+              }),
+            (d.value = n.title),
+            (f.value = !1),
+            r.hideLoading();
+        }),
+        e.onPageScroll(function (n) {
+          var t = n.scrollTop;
+          j.value = t >= e.index.getSystemInfoSync().windowHeight / 3;
+        }),
+        t.onShareAppMessage(),
+        function (n, t) {
+          return e.e(
+            { a: q(), b: !f.value },
+            f.value
+              ? {}
+              : e.e(
+                  { c: e.t(d.value), d: e.o(w), e: 0 === p.value.length },
+                  (p.value.length, {}),
+                  { f: e.t(p.value), g: e.o(S), h: p.value.length > 0 },
+                  p.value.length > 0 ? { i: e.o(k) } : {},
+                  {
+                    j: e.t(p.value.length),
+                    k: e.o(b),
+                    l: p.value.length > 0 ? 1 : "",
+                    m: e.o(V),
+                    n: e.o(_),
+                    o: e.p({ checked: h.value }),
+                    p: e.f(e.unref(u.mockVehicleInfoList), function (n, t, i) {
+                      return { a: e.t(n.label), b: e.t(n.value), c: t };
+                    }),
+                    q: e.t(e.unref(o.disclaimer)),
+                    r: e.p({ visible: j.value }),
+                    s: e.o(T),
+                    t: e.o(y),
+                    v: e.p({
+                      visible: g.value,
+                      "can-switch": !1,
+                      vin: p.value,
+                    }),
+                    w: e.o(M),
+                    x: e.o(I),
+                    y: e.p({ visible: m.value, "copy-vin": x.value }),
+                  }
+                )
+          );
+        }
+      );
+    },
+  },
+  x = e._export_sfc(m, [["__scopeId", "data-v-972a1a01"]]);
+(m.__runtimeHooks = 3), wx.createPage(x);
diff --git a/pages/vehicle-info-query/index.json b/pages/vehicle-info-query/index.json
new file mode 100644
index 0000000..966970a
--- /dev/null
+++ b/pages/vehicle-info-query/index.json
@@ -0,0 +1,13 @@
+{
+  "navigationBarTextStyle": "black",
+  "navigationBarBackgroundColor": "#ffffff",
+  "usingComponents": {
+    "popup-copy-vin": "../../components/popup-copy-vin/index",
+    "agreement": "../../components/agreement/index",
+    "keyboard": "../../components/keyboard/index",
+    "divider": "../../components/divider/index",
+    "tips": "../../components/tips/index",
+    "float-back-to-top": "../../components/float-back-to-top/index",
+    "float-share": "../../components/float-share/index"
+  }
+}
diff --git a/pages/vehicle-info-query/index.wxml b/pages/vehicle-info-query/index.wxml
new file mode 100644
index 0000000..0e311b3
--- /dev/null
+++ b/pages/vehicle-info-query/index.wxml
@@ -0,0 +1,114 @@
+<page-meta class="data-v-972a1a01" pageStyle="{{a}}"></page-meta>
+<view class="content data-v-972a1a01" wx:if="{{b}}">
+  <tips bind:__l="__l" class="data-v-972a1a01" uI="972a1a01-0"></tips>
+  <view class="banner data-v-972a1a01">
+    <image
+      class="title data-v-972a1a01"
+      mode="heightFix"
+      src="/static/images/pic_title_8.png"
+    ></image>
+    <image
+      class="image data-v-972a1a01"
+      src="/static/images/pic_vehicle_info.png"
+    ></image>
+  </view>
+  <view class="module-title data-v-972a1a01">
+    <view class="data-v-972a1a01">{{c}}</view>
+    <view bindtap="{{d}}" class="tips data-v-972a1a01">什么是VIN?</view>
+  </view>
+  <view class="query-content data-v-972a1a01">
+    <view class="{{['input-content','data-v-972a1a01',l&&'selected']}}">
+      <view bindtap="{{g}}" class="input data-v-972a1a01">
+        <text class="placeholder data-v-972a1a01" wx:if="{{e}}"
+          >请输入17位VIN车架号</text
+        >
+        <text userSelect class="default data-v-972a1a01">{{f}}</text>
+        <text class="cursor data-v-972a1a01"></text>
+      </view>
+      <image
+        bindtap="{{i}}"
+        class="clear data-v-972a1a01"
+        src="/static/svgs/icon_clear.svg"
+        wx:if="{{h}}"
+      ></image>
+      <view class="input-length data-v-972a1a01">{{j}}/17 </view>
+      <image
+        bindtap="{{k}}"
+        class="photo data-v-972a1a01"
+        src="/static/svgs/icon_scan.svg"
+      ></image>
+    </view>
+    <view
+      bindtap="{{m}}"
+      class="button data-v-972a1a01"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+    >
+      查 询
+    </view>
+    <agreement
+      bind:__l="__l"
+      bindchange="{{n}}"
+      class="data-v-972a1a01"
+      uI="972a1a01-1"
+      uP="{{o}}"
+      wx:if="{{o}}"
+    ></agreement>
+  </view>
+  <view class="module-title data-v-972a1a01">样例报告</view>
+  <view class="example-content data-v-972a1a01">
+    <view class="vehicle-info data-v-972a1a01">
+      <image
+        class="logo data-v-972a1a01"
+        src="/static/images/logo_vehicle.png"
+      ></image>
+      <view class="right-content data-v-972a1a01">
+        <view class="desc data-v-972a1a01" style="font-weight: bold"
+          >奥迪 Q7 2021款 55 TFSI quattro S line运动型</view
+        >
+        <view class="desc data-v-972a1a01">VIN:LFV3B******359515</view>
+        <view class="desc data-v-972a1a01">油耗:百公里/9.3L</view>
+        <view class="desc data-v-972a1a01">国标:国五</view>
+      </view>
+    </view>
+    <view class="vehicle-list data-v-972a1a01">
+      <view class="cell data-v-972a1a01" wx:for="{{p}}" wx:key="c">
+        <view class="cell-title data-v-972a1a01">{{item.a}}</view>
+        <view class="cell-value data-v-972a1a01">{{item.b}}</view>
+      </view>
+    </view>
+  </view>
+  <view class="module-title data-v-972a1a01">免责声明</view>
+  <view class="disclaimer data-v-972a1a01">{{q}}</view>
+  <divider bind:__l="__l" class="data-v-972a1a01" uI="972a1a01-2"></divider>
+  <float-back-to-top
+    bind:__l="__l"
+    class="data-v-972a1a01"
+    uI="972a1a01-3"
+    uP="{{r}}"
+    wx:if="{{r}}"
+  ></float-back-to-top>
+  <float-share
+    bind:__l="__l"
+    class="data-v-972a1a01"
+    uI="972a1a01-4"
+  ></float-share>
+  <keyboard
+    bind:__l="__l"
+    bindchange="{{t}}"
+    bindclose="{{s}}"
+    class="data-v-972a1a01"
+    uI="972a1a01-5"
+    uP="{{v}}"
+    wx:if="{{v}}"
+  ></keyboard>
+  <popup-copy-vin
+    bind:__l="__l"
+    bindcancel="{{x}}"
+    bindconfirm="{{w}}"
+    class="data-v-972a1a01"
+    uI="972a1a01-6"
+    uP="{{y}}"
+    wx:if="{{y}}"
+  ></popup-copy-vin>
+</view>
diff --git a/pages/vehicle-info-query/index.wxss b/pages/vehicle-info-query/index.wxss
new file mode 100644
index 0000000..97385d0
--- /dev/null
+++ b/pages/vehicle-info-query/index.wxss
@@ -0,0 +1,222 @@
+.content.data-v-972a1a01 {
+  padding: 30rpx;
+}
+.content .banner.data-v-972a1a01 {
+  background-color: #1f68e9;
+  border-radius: 15rpx;
+  color: #fff;
+  height: 240rpx;
+  padding: 30rpx;
+  position: relative;
+}
+.content .banner .title.data-v-972a1a01 {
+  height: 95rpx;
+  position: absolute;
+  top: 40rpx;
+  z-index: 9;
+}
+.content .banner .image.data-v-972a1a01 {
+  bottom: 5rpx;
+  height: 125rpx;
+  position: absolute;
+  right: 0;
+  width: 300rpx;
+  z-index: 9;
+}
+.content .module-title.data-v-972a1a01 {
+  align-items: center;
+  border-left: 6rpx solid #1f68e9;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 34rpx;
+  font-weight: 700;
+  justify-content: space-between;
+  line-height: 34rpx;
+  margin: 30rpx 0;
+  padding-left: 20rpx;
+}
+.content .module-title .tips.data-v-972a1a01 {
+  color: #1f68e9;
+  font-size: 30rpx;
+  font-weight: 400;
+}
+.content .query-content.data-v-972a1a01 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  padding: 40rpx;
+}
+.content .query-content .input-content.data-v-972a1a01 {
+  align-items: center;
+  background-color: #fff;
+  border: 1px solid #e1e1e1;
+  border-radius: 10rpx;
+  display: -webkit-flex;
+  display: flex;
+  padding: 20rpx;
+  position: relative;
+}
+.content .query-content .input-content.selected.data-v-972a1a01 {
+  border-color: #1f68e9;
+}
+.content .query-content .input-content .input.data-v-972a1a01 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-grow: 1;
+  font-size: 32rpx;
+  overflow-y: scroll;
+  position: relative;
+}
+.content .query-content .input-content .input .placeholder.data-v-972a1a01 {
+  color: silver;
+  left: 0;
+  position: absolute;
+}
+.content .query-content .input-content .input .cursor.data-v-972a1a01 {
+  animation: cursor-blinks-972a1a01 1.5s step-start infinite;
+  background: #1f68e9;
+  height: 40rpx;
+  width: 4rpx;
+}
+.content .query-content .input-content .clear.data-v-972a1a01 {
+  flex-shrink: 0;
+  height: 32rpx;
+  padding: 0 10rpx 0 20rpx;
+  width: 32rpx;
+}
+.content .query-content .input-content .input-length.data-v-972a1a01 {
+  color: #232323;
+  flex-shrink: 0;
+  font-size: 26rpx;
+}
+.content .query-content .input-content .photo.data-v-972a1a01 {
+  flex-shrink: 0;
+  height: 50rpx;
+  margin-left: 10rpx;
+  margin-top: -5rpx;
+  width: 50rpx;
+}
+.content .query-content .button.data-v-972a1a01 {
+  align-items: center;
+  background-color: #1f68e9;
+  border-radius: 10rpx;
+  color: #fff;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 32rpx;
+  font-weight: 700;
+  height: 90rpx;
+  justify-content: center;
+  margin-top: 30rpx;
+}
+.content .example-content.data-v-972a1a01 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  overflow: hidden;
+}
+.content .example-content .vehicle-info.data-v-972a1a01 {
+  align-items: center;
+  background-color: #eaf1f8;
+  border-radius: 10rpx;
+  display: -webkit-flex;
+  display: flex;
+  margin: 30rpx 30rpx 0;
+  padding: 20rpx 30rpx;
+}
+.content .example-content .vehicle-info .logo.data-v-972a1a01 {
+  flex-shrink: 0;
+  height: 120rpx;
+  width: 120rpx;
+}
+.content .example-content .vehicle-info .right-content.data-v-972a1a01 {
+  margin-left: 30rpx;
+}
+.content .example-content .vehicle-info .right-content .name.data-v-972a1a01 {
+  font-size: 32rpx;
+  font-weight: 700;
+}
+.content .example-content .vehicle-info .right-content .desc.data-v-972a1a01 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 28rpx;
+  margin-top: 12rpx;
+}
+.content
+  .example-content
+  .vehicle-info
+  .right-content
+  .desc
+  image.data-v-972a1a01 {
+  height: 40rpx;
+  width: 265rpx;
+}
+.content .example-content .vehicle-list.data-v-972a1a01 {
+  padding: 20rpx 30rpx;
+}
+.content .example-content .vehicle-list .cell.data-v-972a1a01 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin: 30rpx 0;
+}
+.content .example-content .vehicle-list .cell-title.data-v-972a1a01 {
+  align-items: center;
+  color: #333;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  padding-left: 5rpx;
+}
+.content .example-content .vehicle-list .cell-title image.data-v-972a1a01 {
+  height: 30rpx;
+  margin-left: 10rpx;
+  width: 30rpx;
+}
+.content .example-content .vehicle-list .cell-value.data-v-972a1a01 {
+  color: #686868;
+  font-size: 30rpx;
+  padding-right: 5rpx;
+}
+.content .example-content .vehicle-list .more.data-v-972a1a01 {
+  color: #568dd9;
+  font-size: 26rpx;
+  margin-top: 10rpx;
+  text-align: center;
+}
+.content .disclaimer.data-v-972a1a01 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  color: #333;
+  font-size: 30rpx;
+  padding: 30rpx 40rpx;
+}
+@-webkit-keyframes cursor-blinks-972a1a01 {
+  0% {
+    display: block;
+    opacity: 1;
+  }
+  50% {
+    display: none;
+    opacity: 0;
+  }
+  to {
+    display: block;
+    opacity: 1;
+  }
+}
+@keyframes cursor-blinks-972a1a01 {
+  0% {
+    display: block;
+    opacity: 1;
+  }
+  50% {
+    display: none;
+    opacity: 0;
+  }
+  to {
+    display: block;
+    opacity: 1;
+  }
+}
diff --git a/pages/vehicle-status-detail/index.js b/pages/vehicle-status-detail/index.js
new file mode 100644
index 0000000..31336d0
--- /dev/null
+++ b/pages/vehicle-status-detail/index.js
@@ -0,0 +1,118 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../hooks/onMounted.js"),
+  t = require("../../hooks/onShareAppMessage.js"),
+  r = require("../../hooks/useState.js"),
+  i = require("../../service/index.js"),
+  u = require("../../constant/index.js"),
+  o = require("../../utils/util.js"),
+  a = require("../../utils/common.js");
+require("../../config/index.js"),
+  require("../../store/app/index.js"),
+  require("../../enums/index.js"),
+  require("../../data/index.js"),
+  require("../../utils/request.js"),
+  require("../../utils/navigate.js"),
+  Math || (e.unref(s) + e.unref(c) + e.unref(l) + e.unref(v) + e.unref(f))();
+var s = function () {
+    return "../../components/vehicle-number/index.js";
+  },
+  l = function () {
+    return "../../components/empty/index.js";
+  },
+  c = function () {
+    return "../../components/divider/index.js";
+  },
+  v = function () {
+    return "../../components/float-back-to-top/index.js";
+  },
+  f = function () {
+    return "../../components/float-share/index.js";
+  },
+  d = {
+    __name: "index",
+    setup: function (s) {
+      r.useState();
+      var l = e.ref(!0),
+        c = e.ref(!1),
+        v = e.ref({}),
+        f = e.ref({}),
+        d = e.ref([]),
+        p = e.ref(!1),
+        m = function () {
+          e.index.setClipboardData({ data: v.value.vin }).then(function () {
+            o.showToast("VIN车架号已复制");
+          });
+        };
+      return (
+        n.onMounted(function (e) {
+          var n = e.order_no,
+            t = e.product_id;
+          o.showLoading("努力查询中"),
+            i
+              .getReportDetail({ order_no: n, product_id: t })
+              .then(function (e) {
+                (v.value = e),
+                  i
+                    .getVehicleInfoDetail({ vin: e.vin })
+                    .then(function (e) {
+                      (d.value = a.getVehicleInfoList(e.detail)), (f.value = e);
+                    })
+                    .catch(function () {
+                      d.value = [];
+                    })
+                    .finally(function () {
+                      (l.value = !1), o.hideLoading();
+                    });
+              });
+        }, !1),
+        e.onPageScroll(function (n) {
+          var t = n.scrollTop;
+          p.value = t >= e.index.getSystemInfoSync().windowHeight / 3;
+        }),
+        t.onShareAppMessage(),
+        function (n, t) {
+          return e.e(
+            { a: !l.value },
+            l.value
+              ? {}
+              : e.e(
+                  { b: !c.value },
+                  c.value
+                    ? {}
+                    : e.e(
+                        { c: !!v.value.carno.trim() },
+                        v.value.carno.trim()
+                          ? { d: e.p({ data: v.value.carno.trim() }) }
+                          : {},
+                        {
+                          e: e.t(v.value.vin),
+                          f: e.o(m),
+                          g: e.t(v.value.info),
+                          h: e.t(v.value.create_time || "-"),
+                          i: d.value.length > 0,
+                        },
+                        d.value.length > 0
+                          ? {
+                              j: e.t(f.value.brand),
+                              k: e.f(d.value, function (n, t, r) {
+                                return {
+                                  a: e.t(n.name),
+                                  b: e.t(n.value || "-"),
+                                  c: t,
+                                };
+                              }),
+                            }
+                          : {},
+                        { l: e.t(e.unref(u.disclaimer)) }
+                      ),
+                  { m: c.value },
+                  c.value ? { n: e.p({ info: "抱歉~!没有查到数据哦" }) } : {},
+                  { o: e.p({ visible: p.value }) }
+                )
+          );
+        }
+      );
+    },
+  },
+  p = e._export_sfc(d, [["__scopeId", "data-v-91b17388"]]);
+(d.__runtimeHooks = 3), wx.createPage(p);
diff --git a/pages/vehicle-status-detail/index.json b/pages/vehicle-status-detail/index.json
new file mode 100644
index 0000000..d803ccf
--- /dev/null
+++ b/pages/vehicle-status-detail/index.json
@@ -0,0 +1,10 @@
+{
+  "navigationBarTitleText": "车辆状态",
+  "usingComponents": {
+    "vehicle-number": "../../components/vehicle-number/index",
+    "empty": "../../components/empty/index",
+    "divider": "../../components/divider/index",
+    "float-back-to-top": "../../components/float-back-to-top/index",
+    "float-share": "../../components/float-share/index"
+  }
+}
diff --git a/pages/vehicle-status-detail/index.wxml b/pages/vehicle-status-detail/index.wxml
new file mode 100644
index 0000000..b8caa3b
--- /dev/null
+++ b/pages/vehicle-status-detail/index.wxml
@@ -0,0 +1,80 @@
+<view class="content data-v-91b17388" wx:if="{{a}}">
+  <view class="data-v-91b17388" wx:if="{{b}}">
+    <view class="module-title data-v-91b17388">车辆状态</view>
+    <view class="detail data-v-91b17388">
+      <view class="cell data-v-91b17388" wx:if="{{c}}">
+        <view class="title data-v-91b17388">车牌号码</view>
+        <view class="value data-v-91b17388">
+          <vehicle-number
+            bind:__l="__l"
+            class="data-v-91b17388"
+            uI="91b17388-0"
+            uP="{{d}}"
+            wx:if="{{d}}"
+          ></vehicle-number>
+        </view>
+      </view>
+      <view class="cell data-v-91b17388">
+        <view class="title data-v-91b17388">VIN车架号</view>
+        <view class="value data-v-91b17388">
+          <text class="data-v-91b17388">{{e}}</text>
+          <text bindtap="{{f}}" class="copy data-v-91b17388">复制</text>
+        </view>
+      </view>
+      <view class="cell data-v-91b17388">
+        <view class="title data-v-91b17388">车辆状态</view>
+        <view
+          class="value data-v-91b17388"
+          style="font-weight: bold; color: #333"
+          >{{g}}</view
+        >
+      </view>
+      <view class="cell data-v-91b17388">
+        <view class="title data-v-91b17388">报告时间</view>
+        <view class="value data-v-91b17388">{{h}}</view>
+      </view>
+    </view>
+    <view class="data-v-91b17388" wx:if="{{i}}">
+      <view class="module-title data-v-91b17388">车辆信息</view>
+      <view class="detail data-v-91b17388">
+        <view class="cell data-v-91b17388">
+          <view class="title data-v-91b17388">车辆品牌</view>
+          <view class="value data-v-91b17388">{{j}}</view>
+        </view>
+        <view class="cell data-v-91b17388" wx:for="{{k}}" wx:key="c">
+          <view class="title data-v-91b17388">{{item.a}}</view>
+          <view class="value data-v-91b17388">{{item.b}}</view>
+        </view>
+      </view>
+    </view>
+    <view class="module-title data-v-91b17388">小提示</view>
+    <view class="tips-content data-v-91b17388">
+      一般车辆状态的结果有:
+      正常、车辆处于抵押中、车辆处于查封状态、车辆处于违法未处理状态、车辆处于锁定中、车辆处于盗抢状态、逾期未检测强制注销等等。
+      <view class="data-v-91b17388" style="margin-top: 10rpx"></view>
+      异常:行驶证上的车辆号码有被报失、被盗,或发生交通事故未处理完毕等等状况的,就会被车管部门记录为“状态异常”。
+    </view>
+    <view class="module-title data-v-91b17388">免责声明</view>
+    <view class="disclaimer data-v-91b17388">{{l}}</view>
+    <divider bind:__l="__l" class="data-v-91b17388" uI="91b17388-1"></divider>
+  </view>
+  <empty
+    bind:__l="__l"
+    class="data-v-91b17388"
+    uI="91b17388-2"
+    uP="{{n}}"
+    wx:if="{{m}}"
+  ></empty>
+  <float-back-to-top
+    bind:__l="__l"
+    class="data-v-91b17388"
+    uI="91b17388-3"
+    uP="{{o}}"
+    wx:if="{{o}}"
+  ></float-back-to-top>
+  <float-share
+    bind:__l="__l"
+    class="data-v-91b17388"
+    uI="91b17388-4"
+  ></float-share>
+</view>
diff --git a/pages/vehicle-status-detail/index.wxss b/pages/vehicle-status-detail/index.wxss
new file mode 100644
index 0000000..0ee0266
--- /dev/null
+++ b/pages/vehicle-status-detail/index.wxss
@@ -0,0 +1,57 @@
+.content.data-v-91b17388 {
+  padding: 30rpx;
+}
+.content .module-title.data-v-91b17388 {
+  align-items: center;
+  border-left: 6rpx solid #1f68e9;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 34rpx;
+  font-weight: 700;
+  justify-content: space-between;
+  line-height: 34rpx;
+  margin: 30rpx 0;
+  padding-left: 20rpx;
+}
+.content .module-title .tips.data-v-91b17388 {
+  color: #1f68e9;
+  font-size: 30rpx;
+  font-weight: 400;
+}
+.content .disclaimer.data-v-91b17388,
+.content .tips-content.data-v-91b17388 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  color: #333;
+  font-size: 30rpx;
+  padding: 30rpx 40rpx;
+}
+.content .detail.data-v-91b17388 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  padding: 10rpx 40rpx;
+  position: relative;
+}
+.content .detail .cell.data-v-91b17388 {
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin: 30rpx 0;
+}
+.content .detail .cell .title.data-v-91b17388 {
+  color: #333;
+  flex-shrink: 0;
+  font-size: 30rpx;
+  padding-left: 5rpx;
+  position: relative;
+}
+.content .detail .cell .value.data-v-91b17388 {
+  color: #686868;
+  font-size: 30rpx;
+  max-width: 450rpx;
+  padding-right: 5rpx;
+}
+.content .detail .cell .value .copy.data-v-91b17388 {
+  color: #d71818;
+  margin-left: 15rpx;
+}
diff --git a/pages/vehicle-status-query/index.js b/pages/vehicle-status-query/index.js
new file mode 100644
index 0000000..9e9c20c
--- /dev/null
+++ b/pages/vehicle-status-query/index.js
@@ -0,0 +1,191 @@
+var e = require("../../common/vendor.js"),
+  n = require("../../hooks/onMounted.js"),
+  t = require("../../hooks/onShareAppMessage.js"),
+  u = require("../../hooks/useState.js"),
+  i = require("../../enums/index.js"),
+  o = require("../../constant/index.js"),
+  r = require("../../data/index.js"),
+  a = require("../../utils/navigate.js"),
+  l = require("../../utils/util.js"),
+  s = require("../../utils/common.js"),
+  v = require("../../utils/vin.js");
+require("../../service/index.js"),
+  require("../../utils/request.js"),
+  require("../../config/index.js"),
+  require("../../store/app/index.js"),
+  Math ||
+    (
+      e.unref(h) +
+      e.unref(f) +
+      e.unref(m) +
+      e.unref(p) +
+      e.unref(g) +
+      e.unref(x) +
+      e.unref(d) +
+      e.unref(c)
+    )();
+var c = function () {
+    return "../../components/popup-copy-vin/index.js";
+  },
+  f = function () {
+    return "../../components/agreement/index.js";
+  },
+  d = function () {
+    return "../../components/keyboard/index.js";
+  },
+  p = function () {
+    return "../../components/divider/index.js";
+  },
+  h = function () {
+    return "../../components/tips/index.js";
+  },
+  m = function () {
+    return "../../components/prompt/index.js";
+  },
+  g = function () {
+    return "../../components/float-back-to-top/index.js";
+  },
+  x = function () {
+    return "../../components/float-share/index.js";
+  },
+  j = {
+    __name: "index",
+    setup: function (c) {
+      var f = u.useState().showAgreementPopup,
+        d = e.ref(!0),
+        p = e.ref(""),
+        h = e.ref(i.QueryTypeEnum.VIN),
+        m = e.ref(!1),
+        g = e.ref(""),
+        x = e.ref(!1),
+        j = e.ref(!1),
+        q = e.ref(""),
+        T = e.ref(!1),
+        y = function () {
+          var e = f.value || j.value;
+          return "height: 100%; overflow: "
+            .concat(e ? "hidden" : "visible", "; position: ")
+            .concat(e ? "fixed" : "relative");
+        },
+        b = function () {
+          a.navigateTo({ url: "/pages/vin-info/index" });
+        },
+        k = function () {
+          g.value = "";
+        },
+        w = function () {
+          s.ocrIdentifyVin().then(function (e) {
+            g.value = e;
+          });
+        },
+        I = function () {
+          x.value = !0;
+        },
+        S = function () {
+          x.value = !1;
+        },
+        V = function (e) {
+          g.value = e.value;
+        },
+        _ = function () {
+          m.value = !m.value;
+        },
+        N = function () {
+          j.value = !1;
+        },
+        A = function () {
+          (g.value = q.value), (j.value = !1), E();
+        },
+        E = function () {
+          if (((x.value = !1), m.value)) {
+            if (h.value === i.QueryTypeEnum.VIN) {
+              if (0 === g.value.length)
+                return void l.showToast("请输入VIN车架号");
+              if (g.value.length < 17)
+                return void l.showToast("请输入完整的VIN车架号");
+              if (!v.validateVIN(g.value))
+                return void l.showToast("车架号有误,请检查后重新输入");
+            }
+            a.navigateTo({
+              url: "/pages/order-confirm/index",
+              params: {
+                productType: i.ProductTypeEnum.VEHICLE_STATUS,
+                queryType: h.value,
+                vin: g.value,
+              },
+            });
+          } else l.showToast("请先阅读并同意协议");
+        };
+      return (
+        n.onMounted(function (n) {
+          e.index.setNavigationBarTitle({ title: n.title }),
+            s.hasClickAgreement() &&
+              e.index.getClipboardData().then(function (n) {
+                var t = n.data;
+                e.index.hideToast(),
+                  17 === t.trim().length &&
+                    setTimeout(function () {
+                      (q.value = t.trim()), (j.value = !0);
+                    }, 300);
+              }),
+            (p.value = n.title),
+            (d.value = !1),
+            l.hideLoading();
+        }),
+        e.onPageScroll(function (n) {
+          var t = n.scrollTop;
+          T.value = t >= e.index.getSystemInfoSync().windowHeight / 3;
+        }),
+        t.onShareAppMessage(),
+        function (n, t) {
+          return e.e(
+            { a: y(), b: !d.value },
+            d.value
+              ? {}
+              : e.e(
+                  { c: e.t(p.value), d: e.o(b), e: 0 === g.value.length },
+                  (g.value.length, {}),
+                  { f: e.t(g.value), g: e.o(I), h: g.value.length > 0 },
+                  g.value.length > 0 ? { i: e.o(k) } : {},
+                  {
+                    j: e.t(g.value.length),
+                    k: e.o(w),
+                    l: g.value.length > 0 ? 1 : "",
+                    m: e.o(E),
+                    n: e.o(_),
+                    o: e.p({ checked: m.value }),
+                    p: e.f(
+                      e.unref(r.mockVehicleStatusList),
+                      function (n, t, u) {
+                        return {
+                          a: e.t(n.label),
+                          b: e.t(n.value),
+                          c: 1 === t ? 1 : "",
+                          d: t,
+                        };
+                      }
+                    ),
+                    q: e.f(e.unref(r.mockVehicleInfoList), function (n, t, u) {
+                      return { a: e.t(n.label), b: e.t(n.value), c: t };
+                    }),
+                    r: e.t(e.unref(o.disclaimer)),
+                    s: e.p({ visible: T.value }),
+                    t: e.o(S),
+                    v: e.o(V),
+                    w: e.p({
+                      visible: x.value,
+                      "can-switch": !1,
+                      vin: g.value,
+                    }),
+                    x: e.o(A),
+                    y: e.o(N),
+                    z: e.p({ visible: j.value, "copy-vin": q.value }),
+                  }
+                )
+          );
+        }
+      );
+    },
+  },
+  q = e._export_sfc(j, [["__scopeId", "data-v-a931ae86"]]);
+(j.__runtimeHooks = 3), wx.createPage(q);
diff --git a/pages/vehicle-status-query/index.json b/pages/vehicle-status-query/index.json
new file mode 100644
index 0000000..66d2940
--- /dev/null
+++ b/pages/vehicle-status-query/index.json
@@ -0,0 +1,14 @@
+{
+  "navigationBarTextStyle": "black",
+  "navigationBarBackgroundColor": "#ffffff",
+  "usingComponents": {
+    "popup-copy-vin": "../../components/popup-copy-vin/index",
+    "agreement": "../../components/agreement/index",
+    "keyboard": "../../components/keyboard/index",
+    "divider": "../../components/divider/index",
+    "tips": "../../components/tips/index",
+    "prompt": "../../components/prompt/index",
+    "float-back-to-top": "../../components/float-back-to-top/index",
+    "float-share": "../../components/float-share/index"
+  }
+}
diff --git a/pages/vehicle-status-query/index.wxml b/pages/vehicle-status-query/index.wxml
new file mode 100644
index 0000000..3efa344
--- /dev/null
+++ b/pages/vehicle-status-query/index.wxml
@@ -0,0 +1,112 @@
+<page-meta class="data-v-a931ae86" pageStyle="{{a}}"></page-meta>
+<view class="content data-v-a931ae86" wx:if="{{b}}">
+  <tips bind:__l="__l" class="data-v-a931ae86" uI="a931ae86-0"></tips>
+  <view class="banner data-v-a931ae86">
+    <image
+      class="title data-v-a931ae86"
+      mode="heightFix"
+      src="/static/images/pic_title_9.png"
+    ></image>
+    <image
+      class="image data-v-a931ae86"
+      src="/static/images/pic_vehicle_info.png"
+    ></image>
+  </view>
+  <view class="module-title data-v-a931ae86">
+    <view class="data-v-a931ae86">{{c}}</view>
+    <view bindtap="{{d}}" class="tips data-v-a931ae86">什么是VIN?</view>
+  </view>
+  <view class="query-content data-v-a931ae86">
+    <view class="{{['input-content','data-v-a931ae86',l&&'selected']}}">
+      <view bindtap="{{g}}" class="input data-v-a931ae86">
+        <text class="placeholder data-v-a931ae86" wx:if="{{e}}"
+          >请输入17位VIN车架号</text
+        >
+        <text userSelect class="default data-v-a931ae86">{{f}}</text>
+        <text class="cursor data-v-a931ae86"></text>
+      </view>
+      <image
+        bindtap="{{i}}"
+        class="clear data-v-a931ae86"
+        src="/static/svgs/icon_clear.svg"
+        wx:if="{{h}}"
+      ></image>
+      <view class="input-length data-v-a931ae86">{{j}}/17 </view>
+      <image
+        bindtap="{{k}}"
+        class="photo data-v-a931ae86"
+        src="/static/svgs/icon_scan.svg"
+      ></image>
+    </view>
+    <view
+      bindtap="{{m}}"
+      class="button data-v-a931ae86"
+      hoverClass="default-hover-class"
+      hoverStayTime="100"
+    >
+      查 询
+    </view>
+    <agreement
+      bind:__l="__l"
+      bindchange="{{n}}"
+      class="data-v-a931ae86"
+      uI="a931ae86-1"
+      uP="{{o}}"
+      wx:if="{{o}}"
+    ></agreement>
+  </view>
+  <view class="module-title data-v-a931ae86">样例报告</view>
+  <view class="example-content data-v-a931ae86">
+    <prompt bind:__l="__l" class="data-v-a931ae86" uI="a931ae86-2"></prompt>
+    <view class="cell data-v-a931ae86" wx:for="{{p}}" wx:key="d">
+      <view class="cell-title data-v-a931ae86">{{item.a}}</view>
+      <view class="{{['cell-value','data-v-a931ae86',item.c&&'important']}}"
+        >{{item.b}}</view
+      >
+    </view>
+    <view class="cell data-v-a931ae86" wx:for="{{q}}" wx:key="c">
+      <view class="cell-title data-v-a931ae86">{{item.a}}</view>
+      <view class="cell-value data-v-a931ae86">{{item.b}}</view>
+    </view>
+  </view>
+  <view class="module-title data-v-a931ae86">小提示</view>
+  <view class="tips-content data-v-a931ae86">
+    一般车辆状态的结果有:
+    正常、车辆处于抵押中、车辆处于查封状态、车辆处于违法未处理状态、车辆处于锁定中、车辆处于盗抢状态、逾期未检测强制注销等等。
+    <view class="data-v-a931ae86" style="margin-top: 10rpx"></view>
+    异常:行驶证上的车辆号码有被报失、被盗,或发生交通事故未处理完毕等等状况的,就会被车管部门记录为“状态异常”。
+  </view>
+  <view class="module-title data-v-a931ae86">免责声明</view>
+  <view class="disclaimer data-v-a931ae86">{{r}}</view>
+  <divider bind:__l="__l" class="data-v-a931ae86" uI="a931ae86-3"></divider>
+  <float-back-to-top
+    bind:__l="__l"
+    class="data-v-a931ae86"
+    uI="a931ae86-4"
+    uP="{{s}}"
+    wx:if="{{s}}"
+  ></float-back-to-top>
+  <float-share
+    bind:__l="__l"
+    class="data-v-a931ae86"
+    uI="a931ae86-5"
+  ></float-share>
+  <keyboard
+    bind:__l="__l"
+    bindchange="{{v}}"
+    bindclose="{{t}}"
+    class="data-v-a931ae86"
+    uI="a931ae86-6"
+    uP="{{w}}"
+    wx:if="{{w}}"
+  ></keyboard>
+  <popup-copy-vin
+    bind:__l="__l"
+    bindcancel="{{y}}"
+    bindconfirm="{{x}}"
+    class="data-v-a931ae86"
+    uI="a931ae86-7"
+    uP="{{z}}"
+    wx:if="{{z}}"
+  ></popup-copy-vin>
+</view>
diff --git a/pages/vehicle-status-query/index.wxss b/pages/vehicle-status-query/index.wxss
new file mode 100644
index 0000000..7d03b98
--- /dev/null
+++ b/pages/vehicle-status-query/index.wxss
@@ -0,0 +1,251 @@
+.content.data-v-a931ae86 {
+  padding: 30rpx;
+}
+.content .banner.data-v-a931ae86 {
+  background-color: #1f68e9;
+  border-radius: 15rpx;
+  color: #fff;
+  height: 240rpx;
+  padding: 30rpx;
+  position: relative;
+}
+.content .banner .title.data-v-a931ae86 {
+  height: 95rpx;
+  position: absolute;
+  top: 40rpx;
+  z-index: 9;
+}
+.content .banner .image.data-v-a931ae86 {
+  bottom: 5rpx;
+  height: 125rpx;
+  position: absolute;
+  right: 0;
+  width: 300rpx;
+  z-index: 9;
+}
+.content .module-title.data-v-a931ae86 {
+  align-items: center;
+  border-left: 6rpx solid #1f68e9;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 34rpx;
+  font-weight: 700;
+  justify-content: space-between;
+  line-height: 34rpx;
+  margin: 30rpx 0;
+  padding-left: 20rpx;
+}
+.content .module-title .tips.data-v-a931ae86 {
+  color: #1f68e9;
+  font-size: 30rpx;
+  font-weight: 400;
+}
+.content .query-content.data-v-a931ae86 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  padding: 40rpx;
+}
+.content .query-content .radio-group.data-v-a931ae86 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 32rpx;
+  margin-bottom: 30rpx;
+}
+.content .query-content .radio-group label.data-v-a931ae86 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  margin-right: 20rpx;
+}
+.content .query-content .radio-group .tips.data-v-a931ae86 {
+  color: #1f68e9;
+  font-size: 30rpx;
+}
+.content .query-content .vehicle-content.data-v-a931ae86 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+}
+.content .query-content .vehicle-content .number-item.data-v-a931ae86 {
+  border: 2rpx solid #e1e1e1;
+  display: -webkit-flex;
+  display: flex;
+  font-weight: 700;
+  height: 85rpx;
+  justify-content: center;
+  margin: 0 7rpx;
+  position: relative;
+  width: 75rpx;
+}
+.content .query-content .vehicle-content .number-item.new.data-v-a931ae86 {
+  border: 2rpx dashed #6fd99a;
+}
+.content .query-content .vehicle-content .number-item .number.data-v-a931ae86 {
+  font-size: 32rpx;
+  height: 50rpx;
+  margin-top: 18rpx;
+  padding-bottom: 18rpx;
+  text-align: center;
+  width: 35rpx;
+}
+.content
+  .query-content
+  .vehicle-content
+  .number-item
+  .number.selected.data-v-a931ae86 {
+  border-bottom: 4rpx solid #1f68e9;
+}
+.content .query-content .vehicle-content .number-item .energy.data-v-a931ae86 {
+  background: #0ac260;
+  border-radius: 14rpx;
+  color: #fff;
+  font-size: 16rpx;
+  height: 28rpx;
+  left: 2rpx;
+  line-height: 28rpx;
+  position: absolute;
+  text-align: center;
+  top: -20rpx;
+  width: 60rpx;
+}
+.content .query-content .input-content.data-v-a931ae86 {
+  align-items: center;
+  background-color: #fff;
+  border: 1px solid #e1e1e1;
+  border-radius: 10rpx;
+  display: -webkit-flex;
+  display: flex;
+  padding: 20rpx;
+  position: relative;
+}
+.content .query-content .input-content.selected.data-v-a931ae86 {
+  border-color: #1f68e9;
+}
+.content .query-content .input-content .input.data-v-a931ae86 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-grow: 1;
+  font-size: 32rpx;
+  overflow-y: scroll;
+  position: relative;
+}
+.content .query-content .input-content .input .placeholder.data-v-a931ae86 {
+  color: silver;
+  left: 0;
+  position: absolute;
+}
+.content .query-content .input-content .input .cursor.data-v-a931ae86 {
+  animation: cursor-blinks-a931ae86 1.5s step-start infinite;
+  background: #1f68e9;
+  height: 40rpx;
+  width: 4rpx;
+}
+.content .query-content .input-content .clear.data-v-a931ae86 {
+  flex-shrink: 0;
+  height: 32rpx;
+  padding: 0 10rpx 0 20rpx;
+  width: 32rpx;
+}
+.content .query-content .input-content .input-length.data-v-a931ae86 {
+  color: #232323;
+  flex-shrink: 0;
+  font-size: 26rpx;
+}
+.content .query-content .input-content .photo.data-v-a931ae86 {
+  flex-shrink: 0;
+  height: 50rpx;
+  margin-left: 10rpx;
+  margin-top: -5rpx;
+  width: 50rpx;
+}
+.content .query-content .button.data-v-a931ae86 {
+  align-items: center;
+  background-color: #1f68e9;
+  border-radius: 10rpx;
+  color: #fff;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 32rpx;
+  font-weight: 700;
+  height: 90rpx;
+  justify-content: center;
+  margin-top: 30rpx;
+}
+.content .example-content.data-v-a931ae86 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  overflow: hidden;
+}
+.content .example-content .cell.data-v-a931ae86 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  margin: 40rpx;
+}
+.content .example-content .cell-title.data-v-a931ae86 {
+  align-items: center;
+  color: #333;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  padding-left: 5rpx;
+}
+.content .example-content .cell-title image.data-v-a931ae86 {
+  height: 30rpx;
+  margin-left: 10rpx;
+  width: 30rpx;
+}
+.content .example-content .cell-value.data-v-a931ae86 {
+  color: #686868;
+  font-size: 30rpx;
+  padding-right: 5rpx;
+}
+.content .example-content .cell-value.important.data-v-a931ae86 {
+  color: #333;
+  font-weight: 700;
+}
+.content .example-content .tips.data-v-a931ae86 {
+  background-color: #fffbe8;
+  color: #ed6a0c;
+  font-size: 26rpx;
+  padding: 20rpx;
+}
+.content .disclaimer.data-v-a931ae86,
+.content .tips-content.data-v-a931ae86 {
+  background-color: #fff;
+  border-radius: 10rpx;
+  color: #333;
+  font-size: 30rpx;
+  padding: 30rpx 40rpx;
+}
+@-webkit-keyframes cursor-blinks-a931ae86 {
+  0% {
+    display: block;
+    opacity: 1;
+  }
+  50% {
+    display: none;
+    opacity: 0;
+  }
+  to {
+    display: block;
+    opacity: 1;
+  }
+}
+@keyframes cursor-blinks-a931ae86 {
+  0% {
+    display: block;
+    opacity: 1;
+  }
+  50% {
+    display: none;
+    opacity: 0;
+  }
+  to {
+    display: block;
+    opacity: 1;
+  }
+}
diff --git a/pages/vin-info/index.js b/pages/vin-info/index.js
new file mode 100644
index 0000000..8b19763
--- /dev/null
+++ b/pages/vin-info/index.js
@@ -0,0 +1,16 @@
+var e = require("../../hooks/onShareAppMessage.js"),
+  r = require("../../common/vendor.js");
+require("../../config/index.js"), require("../../constant/index.js");
+var n = {
+    __name: "index",
+    setup: function (r) {
+      return (
+        e.onShareAppMessage(),
+        function (e, r) {
+          return {};
+        }
+      );
+    },
+  },
+  s = r._export_sfc(n, [["__scopeId", "data-v-ef0fd91c"]]);
+(n.__runtimeHooks = 2), wx.createPage(s);
diff --git a/pages/vin-info/index.json b/pages/vin-info/index.json
new file mode 100644
index 0000000..9acd6af
--- /dev/null
+++ b/pages/vin-info/index.json
@@ -0,0 +1 @@
+{ "navigationBarTitleText": "什么是VIN", "usingComponents": {} }
diff --git a/pages/vin-info/index.wxml b/pages/vin-info/index.wxml
new file mode 100644
index 0000000..1ab33a6
--- /dev/null
+++ b/pages/vin-info/index.wxml
@@ -0,0 +1,37 @@
+<view class="content data-v-ef0fd91c">
+  <view class="title data-v-ef0fd91c">什么是VIN?</view>
+  <view class="divider data-v-ef0fd91c"></view>
+  <view class="info data-v-ef0fd91c">
+    VIN (Vehicle Identification
+    Number),中文名为车辆识别代码,俗称车架号,车架号就好比一辆车的身份证号码,分别由17位字母、数字组合而成。通过17位代号,我们可以了解这辆车的生产厂家、年代、车型、发动机型号等信息。
+  </view>
+  <view class="divider-box data-v-ef0fd91c"></view>
+  <view class="title data-v-ef0fd91c">在哪可以找到?</view>
+  <view class="divider data-v-ef0fd91c"></view>
+  <view class="desc data-v-ef0fd91c">一般位于前挡风玻璃下方</view>
+  <view class="image-wrap data-v-ef0fd91c">
+    <image
+      class="image1 data-v-ef0fd91c"
+      mode="widthFix"
+      src="/static/images/pic_vin_info_1.png"
+    ></image>
+  </view>
+  <view class="divider data-v-ef0fd91c"></view>
+  <view class="desc data-v-ef0fd91c">驾驶员一侧的中柱(B柱)上的铭牌</view>
+  <view class="image-wrap data-v-ef0fd91c">
+    <image
+      class="image2 data-v-ef0fd91c"
+      mode="widthFix"
+      src="/static/images/pic_vin_info_2.png"
+    ></image>
+  </view>
+  <view class="divider data-v-ef0fd91c"></view>
+  <view class="desc data-v-ef0fd91c">机动车行驶证 、保险单上也可以找到</view>
+  <view class="image-wrap data-v-ef0fd91c">
+    <image
+      class="image3 data-v-ef0fd91c"
+      mode="widthFix"
+      src="/static/images/pic_vin_info_3.png"
+    ></image>
+  </view>
+</view>
diff --git a/pages/vin-info/index.wxss b/pages/vin-info/index.wxss
new file mode 100644
index 0000000..0dd268c
--- /dev/null
+++ b/pages/vin-info/index.wxss
@@ -0,0 +1,34 @@
+page {
+  background-color: #fff;
+}
+.content.data-v-ef0fd91c {
+  padding-bottom: 50rpx;
+}
+.content .title.data-v-ef0fd91c {
+  font-weight: 700;
+}
+.content .info.data-v-ef0fd91c,
+.content .title.data-v-ef0fd91c {
+  font-size: 30rpx;
+  padding: 30rpx 40rpx;
+}
+.content .desc.data-v-ef0fd91c {
+  color: #9a9a9a;
+  font-size: 28rpx;
+  padding: 20rpx 40rpx;
+}
+.content .image-wrap.data-v-ef0fd91c {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  justify-content: center;
+  padding: 10rpx 40rpx;
+}
+.content .image1.data-v-ef0fd91c,
+.content .image2.data-v-ef0fd91c {
+  margin-left: 120rpx;
+  width: 500rpx;
+}
+.content .image3.data-v-ef0fd91c {
+  width: 400rpx;
+}
diff --git a/pages/web-view/index.js b/pages/web-view/index.js
new file mode 100644
index 0000000..18eab34
--- /dev/null
+++ b/pages/web-view/index.js
@@ -0,0 +1,29 @@
+var e = require("../../common/vendor.js"),
+  r = require("../../hooks/onMounted.js"),
+  s = require("../../hooks/onShareAppMessage.js");
+require("../../hooks/useState.js"),
+  require("../../store/app/index.js"),
+  require("../../enums/index.js"),
+  require("../../data/index.js"),
+  require("../../service/index.js"),
+  require("../../utils/request.js"),
+  require("../../config/index.js"),
+  require("../../constant/index.js"),
+  require("../../utils/util.js");
+var u = {
+  __name: "index",
+  setup: function (u) {
+    var i = e.ref("");
+    return (
+      r.onMounted(function (e) {
+        i.value = e.url;
+      }, !1),
+      s.onShareAppMessage(),
+      function (e, r) {
+        return { a: i.value };
+      }
+    );
+  },
+  __runtimeHooks: 2,
+};
+wx.createPage(u);
diff --git a/pages/web-view/index.json b/pages/web-view/index.json
new file mode 100644
index 0000000..6f4b9d0
--- /dev/null
+++ b/pages/web-view/index.json
@@ -0,0 +1 @@
+{ "usingComponents": {} }
diff --git a/pages/web-view/index.wxml b/pages/web-view/index.wxml
new file mode 100644
index 0000000..0d2d5e6
--- /dev/null
+++ b/pages/web-view/index.wxml
@@ -0,0 +1 @@
+<web-view src="{{a}}" updateTitle="{{false}}"></web-view>
diff --git a/pages/web-view/index.wxss b/pages/web-view/index.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/project.config.json b/project.config.json
new file mode 100644
index 0000000..441d3d1
--- /dev/null
+++ b/project.config.json
@@ -0,0 +1,26 @@
+{
+    "miniprogramRoot": "",
+    "appid": "wxa41ff17634574443",
+    "compileType": "miniprogram",
+    "libVersion": "3.3.2",
+    "packOptions": {
+        "ignore": [],
+        "include": []
+    },
+    "setting": {
+        "babelSetting": {
+            "ignore": [],
+            "disablePlugins": [],
+            "outputPath": ""
+        },
+        "condition": false,
+        "minified": true,
+        "ignoreDevUnusedFiles": false,
+        "ignoreUploadUnusedFiles": false
+    },
+    "condition": {},
+    "editorSetting": {
+        "tabIndent": "auto",
+        "tabSize": 4
+    }
+}
\ No newline at end of file
diff --git a/service/index.js b/service/index.js
new file mode 100644
index 0000000..7e92a70
--- /dev/null
+++ b/service/index.js
@@ -0,0 +1,170 @@
+var e = require("../common/vendor.js"),
+  r = require("../utils/request.js"),
+  t = require("../enums/index.js");
+(exports.createOrder = function (o) {
+  var n = o.payMethod,
+    i = o.product,
+    u = o.money,
+    a = o.vin,
+    d = o.car_no,
+    s = o.engine,
+    p = o.type;
+  var c = n === t.PayMethodEnum.WECHAT_PAY ? "we" : "ali";
+  return r.request({
+    url: "/pay/xcx",
+    method: "post",
+    formData: e._.assign(
+      { product: i, money: u, method: c },
+      a ? { vin: a } : null,
+      d ? { car_no: d } : null,
+      s ? { engine: s } : null,
+      p ? { type: p } : null
+    ),
+  });
+}),
+  (exports.getBlankReportDetail = function (e) {
+    var t = e.order_no,
+      o = e.product_id;
+    return r.request({
+      url: "/report/noinfo",
+      method: "post",
+      formData: { order_no: t, product_id: o },
+    });
+  }),
+  (exports.getConfig = function () {
+    return r.request({ url: "/config", method: "get" }).then(function (e) {
+      return { config: e };
+    });
+  }),
+  (exports.getOrderDetail = function (e) {
+    var t = e.order_no;
+    return r.request({
+      url: "/order/detail",
+      method: "post",
+      formData: { order_no: t },
+    });
+  }),
+  (exports.getOrderList = function (e) {
+    var t = e.page,
+      o = e.status;
+    return r.request({
+      url: "/order/list",
+      method: "post",
+      formData: { page: t, status: o },
+    });
+  }),
+  (exports.getOrderNum = function () {
+    return r.request({ url: "/order/count", method: "post" });
+  }),
+  (exports.getPriceList = function (e) {
+    var t = e.vin;
+    return r.request({
+      url: "/car/price",
+      method: "post",
+      formData: { vin: t },
+      needToast: !1,
+    });
+  }),
+  (exports.getReportDetail = function (e) {
+    var t = e.order_no,
+      o = e.product_id;
+    return r.request({
+      url: "/report/detail",
+      method: "post",
+      formData: { order_no: t, product_id: o },
+    });
+  }),
+  (exports.getUserInfo = function () {
+    return r.request({ url: "/user/info", method: "get" }).then(function (r) {
+      var t = r.user_id,
+        o = r.nick_name,
+        n = r.avatar_image,
+        i = r.vip,
+        u = r.vip_limit_time,
+        a = r.mobile;
+      return {
+        token: e.index.getStorageSync("token"),
+        openId: e.index.getStorageSync("openId"),
+        userId: t,
+        userInfo: {
+          nickName: o,
+          avatar: n,
+          vip: i,
+          vipLimitTime: u,
+          mobile: a,
+        },
+      };
+    });
+  }),
+  (exports.getUserMobileForMpWeixin = function (e) {
+    var t = e.code;
+    return r.request({
+      url: "/user/xcx/phone",
+      method: "post",
+      formData: { code: t },
+    });
+  }),
+  (exports.getVehicleInfoDetail = function (e) {
+    var t = e.vin;
+    return r.request({
+      url: "/car/carinfo",
+      method: "post",
+      formData: { vin: t },
+      needToast: !1,
+    });
+  }),
+  (exports.loginForMpWeixin = function (e) {
+    var t = e.code,
+      o = e.count;
+    return r
+      .request({
+        url: "/login/xcx",
+        method: "post",
+        formData: { js_code: t },
+        count: o,
+      })
+      .then(function (e) {
+        return { token: e.token, openId: e.openid, userId: e.user_id };
+      });
+  }),
+  (exports.modifyOrderVin = function (e) {
+    var t = e.order_no,
+      o = e.vin;
+    return r.request({
+      url: "/car/modify/vin",
+      method: "post",
+      formData: { order_no: t, vin: o },
+    });
+  }),
+  (exports.noDrivingLicense = function (e) {
+    var t = e.order_no;
+    return r.request({
+      url: "/car/noimg",
+      method: "post",
+      formData: { order_no: t },
+    });
+  }),
+  (exports.ocrUploadDrivingLicense = function (e) {
+    var t = e.filePath;
+    return r.upload({ url: "/ocr/vin", name: "image", filePath: t });
+  }),
+  (exports.payOrderAgain = function (e) {
+    var o = e.payMethod,
+      n = e.order_no;
+    var i = o === t.PayMethodEnum.WECHAT_PAY ? "we" : "ali";
+    return r.request({
+      url: "/pay/repay/xcx",
+      method: "post",
+      formData: { order_no: n, method: i },
+    });
+  }),
+  (exports.uploadDrivingLicense = function (e) {
+    var t = e.filePath,
+      o = e.order_no;
+    return r.upload({
+      url: "/car/upload",
+      name: "img",
+      filePath: t,
+      formData: { order_no: o },
+    });
+  });
diff --git a/static/images/banner_home.png b/static/images/banner_home.png
new file mode 100644
index 0000000..e5f26f3
Binary files /dev/null and b/static/images/banner_home.png differ
diff --git a/static/images/car.jpg b/static/images/car.jpg
new file mode 100644
index 0000000..3900dd3
Binary files /dev/null and b/static/images/car.jpg differ
diff --git a/static/images/icon_avatar.png b/static/images/icon_avatar.png
new file mode 100644
index 0000000..ec9a863
Binary files /dev/null and b/static/images/icon_avatar.png differ
diff --git a/static/images/icon_average.jpg b/static/images/icon_average.jpg
new file mode 100644
index 0000000..2c8eec4
Binary files /dev/null and b/static/images/icon_average.jpg differ
diff --git a/static/images/icon_checked_1.png b/static/images/icon_checked_1.png
new file mode 100644
index 0000000..91b35b3
Binary files /dev/null and b/static/images/icon_checked_1.png differ
diff --git a/static/images/icon_checked_2.png b/static/images/icon_checked_2.png
new file mode 100644
index 0000000..acd95bf
Binary files /dev/null and b/static/images/icon_checked_2.png differ
diff --git a/static/images/icon_close.png b/static/images/icon_close.png
new file mode 100644
index 0000000..1bf7df7
Binary files /dev/null and b/static/images/icon_close.png differ
diff --git a/static/images/icon_close_3.png b/static/images/icon_close_3.png
new file mode 100644
index 0000000..ff74243
Binary files /dev/null and b/static/images/icon_close_3.png differ
diff --git a/static/images/icon_code.png b/static/images/icon_code.png
new file mode 100644
index 0000000..821a2d0
Binary files /dev/null and b/static/images/icon_code.png differ
diff --git a/static/images/icon_coupon.png b/static/images/icon_coupon.png
new file mode 100644
index 0000000..c8fc3ef
Binary files /dev/null and b/static/images/icon_coupon.png differ
diff --git a/static/images/icon_excellent.jpg b/static/images/icon_excellent.jpg
new file mode 100644
index 0000000..6cbcaf0
Binary files /dev/null and b/static/images/icon_excellent.jpg differ
diff --git a/static/images/icon_good.jpg b/static/images/icon_good.jpg
new file mode 100644
index 0000000..5351947
Binary files /dev/null and b/static/images/icon_good.jpg differ
diff --git a/static/images/icon_home_operation_1.png b/static/images/icon_home_operation_1.png
new file mode 100644
index 0000000..6d61e89
Binary files /dev/null and b/static/images/icon_home_operation_1.png differ
diff --git a/static/images/icon_home_operation_2.png b/static/images/icon_home_operation_2.png
new file mode 100644
index 0000000..0cf7a0a
Binary files /dev/null and b/static/images/icon_home_operation_2.png differ
diff --git a/static/images/icon_home_operation_3.png b/static/images/icon_home_operation_3.png
new file mode 100644
index 0000000..258241b
Binary files /dev/null and b/static/images/icon_home_operation_3.png differ
diff --git a/static/images/icon_home_operation_4.png b/static/images/icon_home_operation_4.png
new file mode 100644
index 0000000..386052a
Binary files /dev/null and b/static/images/icon_home_operation_4.png differ
diff --git a/static/images/icon_home_operation_5.png b/static/images/icon_home_operation_5.png
new file mode 100644
index 0000000..e60b663
Binary files /dev/null and b/static/images/icon_home_operation_5.png differ
diff --git a/static/images/icon_home_operation_6.png b/static/images/icon_home_operation_6.png
new file mode 100644
index 0000000..4521af8
Binary files /dev/null and b/static/images/icon_home_operation_6.png differ
diff --git a/static/images/icon_home_operation_7.png b/static/images/icon_home_operation_7.png
new file mode 100644
index 0000000..1cc5f64
Binary files /dev/null and b/static/images/icon_home_operation_7.png differ
diff --git a/static/images/icon_home_operation_8.png b/static/images/icon_home_operation_8.png
new file mode 100644
index 0000000..7f1f885
Binary files /dev/null and b/static/images/icon_home_operation_8.png differ
diff --git a/static/images/icon_phone.png b/static/images/icon_phone.png
new file mode 100644
index 0000000..faf1417
Binary files /dev/null and b/static/images/icon_phone.png differ
diff --git a/static/images/icon_poor.jpg b/static/images/icon_poor.jpg
new file mode 100644
index 0000000..d1c4609
Binary files /dev/null and b/static/images/icon_poor.jpg differ
diff --git a/static/images/icon_title.png b/static/images/icon_title.png
new file mode 100644
index 0000000..ffb3767
Binary files /dev/null and b/static/images/icon_title.png differ
diff --git a/static/images/icon_unchecked_1.png b/static/images/icon_unchecked_1.png
new file mode 100644
index 0000000..6bf6820
Binary files /dev/null and b/static/images/icon_unchecked_1.png differ
diff --git a/static/images/icon_unchecked_2.png b/static/images/icon_unchecked_2.png
new file mode 100644
index 0000000..bea41c7
Binary files /dev/null and b/static/images/icon_unchecked_2.png differ
diff --git a/static/images/icon_wechat.png b/static/images/icon_wechat.png
new file mode 100644
index 0000000..f989d71
Binary files /dev/null and b/static/images/icon_wechat.png differ
diff --git a/static/images/icon_zhankai.png b/static/images/icon_zhankai.png
new file mode 100644
index 0000000..f719fc4
Binary files /dev/null and b/static/images/icon_zhankai.png differ
diff --git a/static/images/logo_alipay.png b/static/images/logo_alipay.png
new file mode 100644
index 0000000..9f314e8
Binary files /dev/null and b/static/images/logo_alipay.png differ
diff --git a/static/images/logo_app.png b/static/images/logo_app.png
new file mode 100644
index 0000000..8246139
Binary files /dev/null and b/static/images/logo_app.png differ
diff --git a/static/images/logo_vehicle.png b/static/images/logo_vehicle.png
new file mode 100644
index 0000000..0f5dd29
Binary files /dev/null and b/static/images/logo_vehicle.png differ
diff --git a/static/images/logo_wechat.png b/static/images/logo_wechat.png
new file mode 100644
index 0000000..958f4ac
Binary files /dev/null and b/static/images/logo_wechat.png differ
diff --git a/static/images/pic_accident.png b/static/images/pic_accident.png
new file mode 100644
index 0000000..937529f
Binary files /dev/null and b/static/images/pic_accident.png differ
diff --git a/static/images/pic_commercial_insurance.png b/static/images/pic_commercial_insurance.png
new file mode 100644
index 0000000..3a9e7b3
Binary files /dev/null and b/static/images/pic_commercial_insurance.png differ
diff --git a/static/images/pic_coupon.png b/static/images/pic_coupon.png
new file mode 100644
index 0000000..cc698f1
Binary files /dev/null and b/static/images/pic_coupon.png differ
diff --git a/static/images/pic_detail_info_1.png b/static/images/pic_detail_info_1.png
new file mode 100644
index 0000000..8badfba
Binary files /dev/null and b/static/images/pic_detail_info_1.png differ
diff --git a/static/images/pic_detail_info_2.png b/static/images/pic_detail_info_2.png
new file mode 100644
index 0000000..fbe8f43
Binary files /dev/null and b/static/images/pic_detail_info_2.png differ
diff --git a/static/images/pic_empty.png b/static/images/pic_empty.png
new file mode 100644
index 0000000..a018b37
Binary files /dev/null and b/static/images/pic_empty.png differ
diff --git a/static/images/pic_home_query_1.png b/static/images/pic_home_query_1.png
new file mode 100644
index 0000000..fe0aab6
Binary files /dev/null and b/static/images/pic_home_query_1.png differ
diff --git a/static/images/pic_home_query_2.png b/static/images/pic_home_query_2.png
new file mode 100644
index 0000000..495cc0e
Binary files /dev/null and b/static/images/pic_home_query_2.png differ
diff --git a/static/images/pic_home_query_3.png b/static/images/pic_home_query_3.png
new file mode 100644
index 0000000..b8a344f
Binary files /dev/null and b/static/images/pic_home_query_3.png differ
diff --git a/static/images/pic_home_query_4.png b/static/images/pic_home_query_4.png
new file mode 100644
index 0000000..509c7d4
Binary files /dev/null and b/static/images/pic_home_query_4.png differ
diff --git a/static/images/pic_maintain.png b/static/images/pic_maintain.png
new file mode 100644
index 0000000..8207196
Binary files /dev/null and b/static/images/pic_maintain.png differ
diff --git a/static/images/pic_notice.png b/static/images/pic_notice.png
new file mode 100644
index 0000000..ba60e7e
Binary files /dev/null and b/static/images/pic_notice.png differ
diff --git a/static/images/pic_overall.png b/static/images/pic_overall.png
new file mode 100644
index 0000000..2f63a24
Binary files /dev/null and b/static/images/pic_overall.png differ
diff --git a/static/images/pic_pay_fail.png b/static/images/pic_pay_fail.png
new file mode 100644
index 0000000..49eb3b9
Binary files /dev/null and b/static/images/pic_pay_fail.png differ
diff --git a/static/images/pic_pay_success.png b/static/images/pic_pay_success.png
new file mode 100644
index 0000000..a35e086
Binary files /dev/null and b/static/images/pic_pay_success.png differ
diff --git a/static/images/pic_sali_check.png b/static/images/pic_sali_check.png
new file mode 100644
index 0000000..ba48777
Binary files /dev/null and b/static/images/pic_sali_check.png differ
diff --git a/static/images/pic_share_mp.png b/static/images/pic_share_mp.png
new file mode 100644
index 0000000..9eaa2a3
Binary files /dev/null and b/static/images/pic_share_mp.png differ
diff --git a/static/images/pic_splash.png b/static/images/pic_splash.png
new file mode 100644
index 0000000..ac14fb5
Binary files /dev/null and b/static/images/pic_splash.png differ
diff --git a/static/images/pic_title_1.png b/static/images/pic_title_1.png
new file mode 100644
index 0000000..09b7e5c
Binary files /dev/null and b/static/images/pic_title_1.png differ
diff --git a/static/images/pic_title_2.png b/static/images/pic_title_2.png
new file mode 100644
index 0000000..16440ec
Binary files /dev/null and b/static/images/pic_title_2.png differ
diff --git a/static/images/pic_title_3.png b/static/images/pic_title_3.png
new file mode 100644
index 0000000..ae63fe2
Binary files /dev/null and b/static/images/pic_title_3.png differ
diff --git a/static/images/pic_title_4.png b/static/images/pic_title_4.png
new file mode 100644
index 0000000..76f0075
Binary files /dev/null and b/static/images/pic_title_4.png differ
diff --git a/static/images/pic_title_5.png b/static/images/pic_title_5.png
new file mode 100644
index 0000000..111471e
Binary files /dev/null and b/static/images/pic_title_5.png differ
diff --git a/static/images/pic_title_6.png b/static/images/pic_title_6.png
new file mode 100644
index 0000000..040bb5c
Binary files /dev/null and b/static/images/pic_title_6.png differ
diff --git a/static/images/pic_title_7.png b/static/images/pic_title_7.png
new file mode 100644
index 0000000..5f817b1
Binary files /dev/null and b/static/images/pic_title_7.png differ
diff --git a/static/images/pic_title_8.png b/static/images/pic_title_8.png
new file mode 100644
index 0000000..4aebf0c
Binary files /dev/null and b/static/images/pic_title_8.png differ
diff --git a/static/images/pic_title_9.png b/static/images/pic_title_9.png
new file mode 100644
index 0000000..ea0ecd6
Binary files /dev/null and b/static/images/pic_title_9.png differ
diff --git a/static/images/pic_upload_file.png b/static/images/pic_upload_file.png
new file mode 100644
index 0000000..81e86f6
Binary files /dev/null and b/static/images/pic_upload_file.png differ
diff --git a/static/images/pic_vehicle.jpg b/static/images/pic_vehicle.jpg
new file mode 100644
index 0000000..075803d
Binary files /dev/null and b/static/images/pic_vehicle.jpg differ
diff --git a/static/images/pic_vehicle_info.png b/static/images/pic_vehicle_info.png
new file mode 100644
index 0000000..d265940
Binary files /dev/null and b/static/images/pic_vehicle_info.png differ
diff --git a/static/images/pic_vin_info_1.png b/static/images/pic_vin_info_1.png
new file mode 100644
index 0000000..c5150a7
Binary files /dev/null and b/static/images/pic_vin_info_1.png differ
diff --git a/static/images/pic_vin_info_2.png b/static/images/pic_vin_info_2.png
new file mode 100644
index 0000000..b585869
Binary files /dev/null and b/static/images/pic_vin_info_2.png differ
diff --git a/static/images/pic_vin_info_3.png b/static/images/pic_vin_info_3.png
new file mode 100644
index 0000000..4bb72ec
Binary files /dev/null and b/static/images/pic_vin_info_3.png differ
diff --git a/static/images/tabs/icon_home_default.png b/static/images/tabs/icon_home_default.png
new file mode 100644
index 0000000..d69014c
Binary files /dev/null and b/static/images/tabs/icon_home_default.png differ
diff --git a/static/images/tabs/icon_home_selected.png b/static/images/tabs/icon_home_selected.png
new file mode 100644
index 0000000..30c2ead
Binary files /dev/null and b/static/images/tabs/icon_home_selected.png differ
diff --git a/static/images/tabs/icon_order_list_default.png b/static/images/tabs/icon_order_list_default.png
new file mode 100644
index 0000000..6d3c9fe
Binary files /dev/null and b/static/images/tabs/icon_order_list_default.png differ
diff --git a/static/images/tabs/icon_order_list_selected.png b/static/images/tabs/icon_order_list_selected.png
new file mode 100644
index 0000000..90d06da
Binary files /dev/null and b/static/images/tabs/icon_order_list_selected.png differ
diff --git a/static/images/tabs/icon_user_default.png b/static/images/tabs/icon_user_default.png
new file mode 100644
index 0000000..ab44ce7
Binary files /dev/null and b/static/images/tabs/icon_user_default.png differ
diff --git a/static/images/tabs/icon_user_selected.png b/static/images/tabs/icon_user_selected.png
new file mode 100644
index 0000000..ee9f914
Binary files /dev/null and b/static/images/tabs/icon_user_selected.png differ
diff --git a/static/svgs/icon_arrow_down.svg b/static/svgs/icon_arrow_down.svg
new file mode 100644
index 0000000..e578002
--- /dev/null
+++ b/static/svgs/icon_arrow_down.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><svg width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M36 18L24 30L12 18" stroke="#848484" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_check_1.svg b/static/svgs/icon_check_1.svg
new file mode 100644
index 0000000..21fb399
--- /dev/null
+++ b/static/svgs/icon_check_1.svg
@@ -0,0 +1 @@
+<svg width="48" height="48" xmlns="http://www.w3.org/2000/svg"><g fill-rule="nonzero" fill="none"><path d="M24 4c11.046 0 20 8.954 20 20s-8.954 20-20 20S4 35.046 4 24 12.954 4 24 4Z" fill="#DDB39A"/><path d="m20.486 29.8-4.246-4.246a2 2 0 1 0-2.828 2.828l5.658 5.658a2 2 0 0 0 2.828 0l14.14-14.142a2 2 0 1 0-2.826-2.828L20.484 29.796l.002.004Z" fill="#FFF"/></g></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_check_2.svg b/static/svgs/icon_check_2.svg
new file mode 100644
index 0000000..ab266ac
--- /dev/null
+++ b/static/svgs/icon_check_2.svg
@@ -0,0 +1 @@
+<svg width="48" height="48" xmlns="http://www.w3.org/2000/svg"><g fill-rule="nonzero" fill="none"><path d="M24 4c11.046 0 20 8.954 20 20s-8.954 20-20 20S4 35.046 4 24 12.954 4 24 4Z" fill="#0FE787"/><path d="m20.486 29.8-4.246-4.246a2 2 0 1 0-2.828 2.828l5.658 5.658a2 2 0 0 0 2.828 0l14.14-14.142a2 2 0 1 0-2.826-2.828L20.484 29.796l.002.004Z" fill="#FFF"/></g></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_check_3.svg b/static/svgs/icon_check_3.svg
new file mode 100644
index 0000000..896f2d3
--- /dev/null
+++ b/static/svgs/icon_check_3.svg
@@ -0,0 +1 @@
+<svg width="48" height="48" xmlns="http://www.w3.org/2000/svg"><g fill="none"><path d="M24 4c11.046 0 20 8.954 20 20s-8.954 20-20 20S4 35.046 4 24 12.954 4 24 4z" fill="#196AD7"/><path d="m20.486 29.8-4.246-4.246a2 2 0 1 0-2.828 2.828l5.658 5.658a2 2 0 0 0 2.828 0l14.14-14.142a2 2 0 1 0-2.826-2.828L20.484 29.796l.002.004z" fill="#FFF"/></g></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_normal_1.svg b/static/svgs/icon_ckxx_normal_1.svg
new file mode 100644
index 0000000..a95f709
--- /dev/null
+++ b/static/svgs/icon_ckxx_normal_1.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="m697.99 399.5-56.137 56.25s0-225-187.2-300.01c0 0-18.703 206.241-112.303 281.25S61.55 737 435.95 905.75c0 0-187.2-206.269 56.138-356.26 0 0-18.704 75.01 74.868 149.991 93.6 75.01 0 206.269 0 206.269s449.269-112.5 131.063-506.25z" fill="#196AD7"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_normal_10.svg b/static/svgs/icon_ckxx_normal_10.svg
new file mode 100644
index 0000000..b4c7a23
--- /dev/null
+++ b/static/svgs/icon_ckxx_normal_10.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="m519.2 899.45-32.85-19.35-5.4-3.15c-97.2-54.9-156.6-93.6-190.35-129.6-23.4-25.2-40.95-52.2-53.55-80.1-8.1-18.45-13.05-34.2-15.3-45.9l-17.1 3.6 17.55-1.8-.9-8.1-17.55 1.8h17.55l-1.8-402.3-12.15 16.65 310.5-106.65H506.6L817.1 231.2l-11.7-16.65-1.8 404.55h17.55l-17.1-2.7c-2.25 13.05-6.75 30.15-15.3 49.5-12.15 28.35-29.7 55.8-54 81.45-21.6 22.95-61.2 51.75-112.05 83.25-34.2 21.15-67.95 40.05-95.4 54.45L502.1 899l17.1.45zm-17.55 30.15 8.55 4.95 8.55-4.95 24.75-13.95c27.9-14.85 62.55-34.2 97.2-55.35 53.55-32.85 94.95-63 119.25-89.1 47.7-50.85 71.1-105.3 78.3-149.85v-2.7l1.8-404.55v-12.6l-11.7-4.05-310.5-106.2-5.4-2.25-5.85 1.8-310.5 106.65-11.7 4.05v12.6l1.8 402.3v1.8l.9 8.1.45 1.35c2.7 13.95 8.1 32.4 17.55 53.1 13.95 31.5 33.75 62.1 59.85 90 37.35 39.6 98.1 78.75 198.45 135.9l5.4 3.15 32.85 19.8z" fill="#196AD7"/><path d="M303.65 309.95h172.8l-9.45-36 73.8-2.7 4.5 38.7h175.95v48.15h-417.6v-48.15zm16.65 89.55h86.85l-25.2-30.6h71.55l22.95 30.6h69.75c10.8-13.05 19.35-23.4 24.75-30.6h71.1c-9.45 10.35-18.9 20.7-27.9 30.6h90.9v225.9c0 20.25-4.05 36.45-12.15 48.6-8.1 12.15-18.9 19.8-33.3 23.4-13.95 3.6-44.55 5.4-90.45 5.85-4.05-23.4-8.1-41.85-11.25-54.9 16.65 1.8 32.85 2.7 48.6 2.7 26.55 0 40.05-12.15 40.05-36.9v-79.2l-13.95 18-31.95-22.5v108.9h-123.3v21.15H423.8V535.85l-28.35 19.8c-.45-.9-6.3-8.55-17.55-22.95v170.1h-58.05V399.5zm142.2 49.05L494 483.2c-11.7 9-23.4 18-35.55 27h113.4l-40.95-27 28.35-33.3a1863 1863 0 0 1 87.3 52.2v-56.25h-269.1v62.1c31.5-20.7 59.85-40.5 85.05-59.4zm85.05 142.2V556.1H477.8v34.65h69.75z" fill="#196AD7"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_normal_11.svg b/static/svgs/icon_ckxx_normal_11.svg
new file mode 100644
index 0000000..9100978
--- /dev/null
+++ b/static/svgs/icon_ckxx_normal_11.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M677.95 613.997c-.78-2.995-2.721-6.2-5.695-9.659a84.82 84.82 0 0 0-12.822-11.43c-8.288-5.99-18.073-14.404-29.356-25.096a376.797 376.797 0 0 1-33.89-37.243h61.897c7.149 0 12.147-1.645 15.015-5.04 2.931-3.311 4.365-8.12 4.365-14.34 0-6.665-1.392-11.621-4.175-14.869s-7.824-4.85-15.205-4.85h-86.128v-25.265h41.503c12.696 0 21.321-3.037 25.919-9.026 4.64-5.968 6.896-15.226 6.896-27.69v-48.8c0-13.18-2.468-22.565-7.424-28.238-4.956-5.652-13.433-8.499-25.412-8.499H496.563c-12.654 0-21.51 2.974-26.425 8.858-4.956 5.862-7.444 15.057-7.444 27.52v49.201c0 12.464 2.488 21.701 7.444 27.69 4.935 6.01 13.75 9.026 26.425 9.026h36.653v25.265h-71.893c-7.845 0-13.18 1.624-16.07 4.85s-4.344 8.183-4.344 14.868c0 6.2 1.56 10.988 4.682 14.34 3.1 3.396 8.351 5.062 15.753 5.062h55.992a277.196 277.196 0 0 1-16.239 20.098 323.041 323.041 0 0 1-33.89 32.878c-5.314 4.386-9.912 7.971-13.834 10.755a69.657 69.657 0 0 0-12.443 10.734 24.463 24.463 0 0 0-5.378 9.343c-.801 3.016-.759 5.905.17 8.667s2.298 5.631 4.154 8.626c3.943 5.778 9.131 8.225 15.584 7.297s14.742-5.315 24.885-13.16c12.443-10.397 22.755-19.634 30.938-27.71a172.445 172.445 0 0 0 21.954-26.32v72.736c0 7.381 1.813 12.611 5.398 15.732 3.543 3.122 8.584 4.682 15.037 4.682 6.685 0 11.409-1.54 14.193-4.682 2.741-3.12 4.133-8.35 4.133-15.732v-87.287a262.558 262.558 0 0 0 26.994 35.113 349.656 349.656 0 0 0 37.665 35.155c7.423 6.243 14.066 10.186 20.098 11.747 5.968 1.624 11.304-.654 15.88-6.896 2.32-3.417 3.986-6.622 5.04-9.511a14.256 14.256 0 0 0 .274-8.9zM515.331 426.368c-4.64 0-7.824-.97-9.68-2.952-1.856-1.94-2.762-5.568-2.762-10.903v-19.044c0-4.133.632-6.833 1.898-8.14 1.265-1.287 4.196-1.92 8.815-1.92h81.973c4.597 0 7.529.887 8.836 2.616 1.265 1.73 1.856 5.146 1.856 10.207v15.901c0 5.314-.738 9.026-2.214 11.072-1.54 2.088-4.345 3.12-8.436 3.12h-80.286z" fill="#196AD7"/><path d="M510.84 933.685a77.818 77.818 0 0 1-12.463-1.012c-14.32-2.51-344.911-66.156-344.911-547.028V259.913c0-19.571 8.435-38.403 23.156-51.69a73.453 73.453 0 0 1 53.777-18.642l.506.042c.02 0 7.634.485 20.477.485 16.871 0 60.399-1.033 100.173-10.44 31.844-7.549 72.293-33.552 113.902-73.157 2.678-2.53 3.67-3.48 5.377-4.618a73.432 73.432 0 0 1 39.985-11.768c14.34 0 28.133 4.07 39.922 11.789 4.85 3.12 11.282 8.309 20.182 15.437 25.096 20.182 67.126 53.967 102.302 62.318 38.361 9.09 78.726 10.439 99.372 10.439 11.008 0 18.347-.38 20.034-.464l.95-.063c1.602-.106 3.142-.106 4.766-.106a72.546 72.546 0 0 1 49.053 18.812 69.805 69.805 0 0 1 23.176 51.583v125.775c0 248.534-90.703 382.955-166.793 451.959-84.018 76.194-170.61 93.34-180.205 95.048a80.35 80.35 0 0 1-12.738 1.033zm-284.364-703.93c-8.668 0-16.724 2.805-22.86 8.352a29.546 29.546 0 0 0-9.87 21.784v125.733c0 447.424 298.641 505.06 311.358 507.296 3.543.57 7.782.612 11.641-.02 12.59-2.236 313.51-60.8 313.51-507.276V259.891a29.356 29.356 0 0 0-9.913-21.721 32.414 32.414 0 0 0-24.252-8.373c-3.986.317-13.413.612-23.493.612-22.397 0-66.304-1.497-108.672-11.536-44.034-10.46-90.472-47.808-118.225-70.1a292.589 292.589 0 0 0-16.892-13.075 33.89 33.89 0 0 0-34.691-.822l-.886.843c-47.366 45.089-93.15 73.833-132.376 83.154-42.326 10.039-86.76 11.536-109.473 11.536-12.696 0-21.215-.443-23.577-.612l-1.329-.042z" fill="#196AD7"/><path d="M423.32 432.252v210.194c0 14.298-5.757 21.448-17.271 21.448-7.381 0-12.443-1.73-15.226-5.21-2.763-3.458-4.134-8.857-4.134-16.259v-134c-5.99 8.795-11.789 13.582-17.272 14.362a18.39 18.39 0 0 1-15.226-4.64c-5.968-4.175-8.984-9.152-8.984-14.91s3.353-13.496 10.038-23.197a288.245 288.245 0 0 0 32.351-59.24c7.93-20.076 14.699-41.566 20.203-64.384 1.856-9.237 4.387-16.007 7.613-20.246 3.227-4.302 8.879-5.947 16.935-5.019 7.613 1.139 12.231 4.471 13.813 10.039 1.624 5.525 1.055 13.497-1.73 23.893a921.8 921.8 0 0 1-10.206 36 430.785 430.785 0 0 1-10.903 31.169z" fill="#196AD7"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_normal_12.svg b/static/svgs/icon_ckxx_normal_12.svg
new file mode 100644
index 0000000..c2f28da
--- /dev/null
+++ b/static/svgs/icon_ckxx_normal_12.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M868.634 793.052h-20.96V497.709c19.054-8.257 32.392-27.311 32.392-49.541V241.111c0-29.852-24.135-53.987-53.987-53.987H681.266c-12.068 0-22.23 10.162-22.23 22.23s10.162 22.23 22.23 22.23h144.178c5.081 0 9.527 4.446 9.527 9.527v206.422c0 5.081-4.446 9.527-9.527 9.527H194.745c-5.08 0-9.527-4.446-9.527-9.527V241.11c0-5.081 4.446-9.527 9.527-9.527H340.83c12.067 0 22.23-10.163 22.23-22.23s-10.163-22.23-22.23-22.23H194.745c-29.852 0-53.987 24.135-53.987 53.987v206.422c0 21.595 12.703 40.014 31.122 48.906v295.977h-14.608c-12.068 0-22.23 10.163-22.23 22.23s10.162 22.23 22.23 22.23h711.362c12.067 0 22.23-10.162 22.23-22.23s-10.163-21.594-22.23-21.594zM216.34 502.155h586.874v290.897H702.226v-174.03c0-20.96-17.15-38.109-38.109-38.109h-307.41c-20.96 0-38.109 17.15-38.109 38.109v174.03H216.34V502.155zm441.426 290.897H363.059V624.738H657.13v168.314z" fill="#196AD7"/><path d="M402.438 211.259a24.135 24.135 0 1 0 48.27 0 24.135 24.135 0 1 0-48.27 0zM486.91200000000003 211.259a24.135 24.135 0 1 0 48.27 0 24.135 24.135 0 1 0-48.27 0zM571.3860000000001 211.259a24.135 24.135 0 1 0 48.271 0 24.135 24.135 0 1 0-48.271 0z" fill="#196AD7"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_normal_2.svg b/static/svgs/icon_ckxx_normal_2.svg
new file mode 100644
index 0000000..77903ea
--- /dev/null
+++ b/static/svgs/icon_ckxx_normal_2.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M512.045 882.788a264.912 264.912 0 0 0 265.16-265.406c0-105.273-141.106-311.865-234.023-451.24-20.51-33.856-42.01-32.62-62.274 0-93.164 139.375-234.269 347.45-234.269 451.24a264.912 264.912 0 0 0 265.406 265.406zm80.561-125.537a158.404 158.404 0 0 0 56.838-54.86 153.461 153.461 0 0 0 24.712-76.607 31.878 31.878 0 1 1 63.51 3.707 234.763 234.763 0 0 1-33.609 106.261 226.114 226.114 0 0 1-80.067 77.843 32.126 32.126 0 0 1-31.384-56.344z" fill="#196AD7"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_normal_3.svg b/static/svgs/icon_ckxx_normal_3.svg
new file mode 100644
index 0000000..4dc1215
--- /dev/null
+++ b/static/svgs/icon_ckxx_normal_3.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M531.2 295.85c0 9.046.768 17.92 2.261 26.582H288l-49.024 120.405a32.683 32.683 0 0 0 3.413 30.891 33.963 33.963 0 0 0 27.947 14.592h440.661a33.963 33.963 0 0 0 27.947-14.592 32.725 32.725 0 0 0 4.864-26.453l5.29-1.792c17.835-6.443 34.262-15.872 48.555-27.691l30.806 70.528h50.645c9.344 0 16.896 7.424 16.896 16.597v23.894a33.28 33.28 0 0 1-25.6 32.17l-41.941 10.283v248.875c0 18.346-15.147 33.194-33.792 33.194h-33.792a33.493 33.493 0 0 1-33.75-33.194v-33.152H254.208v33.152c0 18.346-15.104 33.194-33.75 33.194h-33.791a33.493 33.493 0 0 1-33.792-33.194V571.307l-41.984-10.24a33.28 33.28 0 0 1-25.558-32.299v-23.893c0-9.174 7.552-16.64 16.896-16.64h50.646l83.797-192C247.339 271.787 271.744 256 298.795 256H536.32a156.858 156.858 0 0 0-5.12 39.808zm229.675 258.817H220.459v165.93h540.416v-165.93z" fill="#196AD7"/><path d="M256 597.333c83.328 0 139.52 21.462 168.533 64.427a11.69 11.69 0 0 1-.426 13.995 19.37 19.37 0 0 1-15.446 6.912H291.968c-19.883 0-35.968-12.715-35.968-28.459v-56.875zm469.333 0v56.875c0 15.744-16.085 28.459-35.968 28.459H572.587a19.37 19.37 0 0 1-15.403-6.912 11.69 11.69 0 0 1-.427-14.038c29.014-42.922 85.206-64.384 168.576-64.384zM730.667 313.259h80v56.746h-80v56.662h-53.334v-56.704h-80v-56.704h80v-28.331h-80v-56.661h68.95l-56.576-60.16L647.467 128 704 188.16 760.576 128l37.717 40.107-56.576 60.16h68.95v56.661h-80z" fill="#196AD7"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_normal_4.svg b/static/svgs/icon_ckxx_normal_4.svg
new file mode 100644
index 0000000..d437dd5
--- /dev/null
+++ b/static/svgs/icon_ckxx_normal_4.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1039 1024" xmlns="http://www.w3.org/2000/svg" width="202.93" height="200"><path d="M864.02 801.028c-10.137 40.854-46.112 70.643-88.683 70.643-39.518 0-73.177-25.32-85.986-61.812H334.64c-12.81 36.52-46.496 61.812-86.015 61.812-42.57 0-78.49-29.79-88.656-70.643-44.261-18.56-72.469-64.374-68.762-115.23l8.693-118.31c3.407-47.231 33.14-88.983 75.74-108.442l38.265-184.428c14.007-67.426 80.098-122.29 147.362-122.29h301.455c67.263 0 133.354 54.836 147.335 122.29l38.265 184.427c42.598 19.459 72.332 61.213 75.766 108.443l8.667 118.31c3.706 50.857-24.474 96.67-68.735 115.23zm8.723-229.587c-2.261-30.716-24.856-58.596-54.999-67.808-9.866-3.025-17.034-11.774-18.233-22.24-.19-1.498-.299-2.97-.38-4.414-.056-.763-.056-1.554-.218-2.345L759.72 285.628c-9.076-43.633-53.5-80.507-96.996-80.507H361.268c-43.525 0-87.922 36.874-96.997 80.507l-39.219 189.034c-.163.708-.163 1.5-.218 2.289-.109 1.5-.217 3.026-.38 4.524-1.227 10.466-8.368 19.16-18.206 22.185-30.17 9.185-52.79 37.065-55.025 67.808l-8.668 118.31c-2.318 31.478 16.678 58.377 46.195 65.382 11.175 2.698 19.296 12.673 19.868 24.447 1.063 22.048 18.643 39.299 40.01 39.299 20.875 0 37.991-16.216 39.845-37.746 1.199-13.6 12.318-24.038 25.645-24.038h395.728c13.327 0 24.501 10.439 25.646 24.038 1.854 21.53 18.968 37.747 39.845 37.747 21.367 0 38.946-17.28 40.01-39.3.598-11.829 8.72-21.777 19.895-24.447 29.488-7.005 48.485-33.931 46.14-65.41l-8.64-118.308zm-90.265 104.764c-10.793 11.038-25.918 17.47-41.154 17.47-15.235 0-30.36-6.433-41.127-17.47-10.765-11.038-17.033-26.545-17.033-42.162 0-15.616 6.268-31.151 17.033-42.19 10.767-11.037 25.892-17.47 41.127-17.47s30.361 6.434 41.154 17.47c10.765 11.039 17.033 26.574 17.033 42.19 0 15.617-6.268 31.124-17.033 42.162zm-49.384-202.088c-5.043 6.24-13.246 9.866-22.811 9.866H313.654c-9.538 0-17.742-3.625-23.138-10.248-5.15-6.078-7.358-14.909-5.913-24.474.136-.654.245-1.281.381-1.908l31.151-138.805c3.925-21.912 25.074-40.172 46.823-40.172H660.98c21.748 0 42.898 18.314 46.795 40.172l31.15 138.832c.165.627.274 1.255.382 1.909 1.418 9.565-.763 18.396-6.212 24.828zM657.845 321.14H366.173l-24.718 110.053h341.083L657.845 321.14zM323.793 676.205c-10.766 11.038-25.891 17.47-41.127 17.47s-30.36-6.433-41.126-17.47c-10.792-11.038-17.06-26.545-17.06-42.162 0-15.616 6.268-31.151 17.06-42.19 10.766-11.037 25.892-17.47 41.126-17.47 15.236 0 30.361 6.434 41.127 17.47 10.793 11.039 17.06 26.574 17.06 42.19 0 15.617-6.267 31.124-17.06 42.162z" fill="#196AD7"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_normal_5.svg b/static/svgs/icon_ckxx_normal_5.svg
new file mode 100644
index 0000000..a3b977a
--- /dev/null
+++ b/static/svgs/icon_ckxx_normal_5.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M834.895 300.432c-.045-32.89-20.659-61.996-50.98-71.974l-244.263-81.166a88.959 88.959 0 0 0-55.327-.044l-244.33 81.233c-30.412 10.069-50.911 39.062-50.911 71.974V478.67c0 110.699 51.744 215.812 138.564 281.41l140.796 106.374c12.637 9.597 27.73 14.688 43.5 14.688 15.634 0 30.861-5.135 43.477-14.665L696.33 760.102c86.797-65.531 138.588-170.713 138.588-281.434V300.455l-.023-.023zm-46.79 178.237c0 95.245-44.626 185.918-119.394 242.37L527.848 827.391c-4.664 3.515-10.139 5.362-15.905 5.362-5.835 0-11.218-1.803-15.814-5.294l-140.863-106.42c-74.768-56.52-119.419-147.126-119.419-242.37V300.455c0-11.87 7.368-22.234 18.429-25.928l244.286-81.188a43.368 43.368 0 0 1 26.897.045l244.197 81.143c10.969 3.582 18.45 14.103 18.45 26.019v178.123zm-144.782 2.815c12.705 0 23.021-10.587 23.021-23.675 0-13.066-10.317-23.653-23.021-23.653h-60.824l72.74-76.143c8.583-9.462 8.222-24.06-.676-33.025-8.898-8.943-23.045-9.012-32.056-.202L517.913 434.178H505.05l-93.038-108.334c-5.227-6.58-13.696-9.778-21.987-8.178-8.312 1.599-15.093 7.727-17.662 15.994-2.613 8.268-.563 17.368 5.294 23.61l66.027 76.885h-62.918c-12.75 0-23.09 10.61-23.09 23.698s10.363 23.653 23.09 23.653h103.603l4.122 4.8v60.756H380.766c-12.75 0-23.09 10.587-23.09 23.675s10.363 23.675 23.09 23.675h107.703v54.99c-.563 8.784 3.672 17.165 10.971 21.693 7.411 4.64 16.693 4.64 24.104 0 7.412-4.686 11.647-13.179 10.97-22.076v-54.652h108.762c12.751 0 23.068-10.587 23.068-23.653s-10.317-23.653-23.068-23.653h-108.76v-62.672h-.023l2.815-2.907h106.015z" fill="#196AD7"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_normal_6.svg b/static/svgs/icon_ckxx_normal_6.svg
new file mode 100644
index 0000000..9cd3c91
--- /dev/null
+++ b/static/svgs/icon_ckxx_normal_6.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M256.347 192.355c-28.228 0-51.207 22.808-51.207 51.027v588.38c0 28.245 22.96 51.027 51.207 51.027h511.306c28.228 0 51.207-22.809 51.207-51.028v-588.38c0-28.245-22.96-51.026-51.207-51.026h-76.652l25.572 25.571v-38.395c0-21.079-17.153-38.32-38.313-38.32H345.74c-21.241 0-38.313 17.156-38.313 38.32v38.395l25.572-25.571h-76.652zm102.223 51.143V179.53c0 7.026-5.769 12.824-12.83 12.824h332.52a12.773 12.773 0 0 1-12.83-12.824v63.967h102.223c.09 0 .063 588.263.063 588.263 0-.112-511.37-.116-511.37-.116-.089 0-.062-588.263-.062-588.263 0 .112 76.715.116 76.715.116h25.571zm306.86 12.824c0-7.026 5.769-12.824 12.83-12.824H345.74c7.144 0 12.83 5.715 12.83 12.824v-38.396c0-14.123-11.449-25.571-25.571-25.571-14.123 0-25.572 11.448-25.572 25.571v38.396c0 21.078 17.153 38.32 38.313 38.32h332.52c21.241 0 38.313-17.157 38.313-38.32v-38.396c0-14.123-11.449-25.571-25.572-25.571-14.122 0-25.571 11.448-25.571 25.571v38.396zm0 204.535c14.123 0 25.571-11.45 25.571-25.572 0-14.123-11.448-25.572-25.571-25.572H358.57c-14.123 0-25.571 11.45-25.571 25.572 0 14.123 11.448 25.572 25.571 25.572h306.86zm-306.86 76.715c-14.123 0-25.571 11.448-25.571 25.571 0 14.123 11.448 25.572 25.571 25.572h306.86c14.123 0 25.571-11.449 25.571-25.572s-11.448-25.571-25.571-25.571H358.57zm0 127.858C344.447 665.43 333 676.879 333 691c0 14.123 11.448 25.572 25.571 25.572h204.573c14.123 0 25.572-11.449 25.572-25.572 0-14.122-11.449-25.571-25.572-25.571H358.57z" fill="#196AD7"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_normal_7.svg b/static/svgs/icon_ckxx_normal_7.svg
new file mode 100644
index 0000000..83afe08
--- /dev/null
+++ b/static/svgs/icon_ckxx_normal_7.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M769.766 532.672c-83.11 0-151.032 67.922-151.032 151.031s67.922 151.031 151.032 151.031c83.109 0 151.03-67.922 151.03-151.03s-67.921-151.032-151.03-151.032zm83.109 167.484H685.391c-9.282 0-16.453-8.015-16.453-17.297s7.171-16.453 16.453-16.453h168.328c9.281 0 15.61 8.016 15.61 17.297s-7.173 16.453-16.454 16.453zm-232.453-184.36c0-13.077-10.547-23.624-23.625-23.624H377c-13.078 0-23.625 10.547-23.625 23.625s10.547 23.625 23.625 23.625h219.797c13.078 0 23.625-10.969 23.625-23.625zm68.344-129.937c0-13.078-10.547-23.625-23.625-23.625H377c-13.078 0-23.625 10.547-23.625 23.625s10.547 23.625 23.625 23.625h288.14c13.079 0 23.626-10.546 23.626-23.625zM376.578 621.688c-13.078 0-23.625 10.546-23.625 23.625s10.547 23.625 23.625 23.625h127.406c13.079 0 25.313-10.547 25.313-23.625s-10.547-23.625-23.625-23.625H376.578z" fill="#196AD7"/><path d="M646.578 809H344.516c-20.25 0-36.282-16.453-36.282-36.281v-429.89c0-20.25 16.454-36.282 36.282-36.282H690.03c20.25 0 36.282 16.453 36.282 36.281V514.11c17.296-6.75 35.437-11.812 54.421-13.922V324.267c0-40.079-32.484-72.563-72.562-72.563h-71.297v-25.312c0-40.078-32.484-72.985-72.563-72.985H182.517c-40.078 0-72.563 32.485-72.563 72.985v466.593c0 40.078 32.484 72.985 72.563 72.985h71.297v25.312c0 40.078 32.484 72.985 72.562 72.985h392.766c-27.844-13.078-52.735-32.063-72.563-55.266zm-445.922-97.875c-20.25 0-36.281-16.453-36.281-36.281V244.53c0-20.25 16.453-36.281 36.281-36.281h345.516c20.25 0 36.281 16.453 36.281 36.281v7.172H326.375c-40.078 0-72.563 32.484-72.563 72.563v386.859h-53.156z" fill="#196AD7"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_normal_8.svg b/static/svgs/icon_ckxx_normal_8.svg
new file mode 100644
index 0000000..5857ae1
--- /dev/null
+++ b/static/svgs/icon_ckxx_normal_8.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1025 1024" xmlns="http://www.w3.org/2000/svg" width="200.195" height="200"><path d="M507.552 932.326c-55.919 0-110.176-10.956-161.265-32.565-49.336-20.867-93.64-50.736-131.68-88.776-38.041-38.041-67.91-82.344-88.776-131.679-21.61-51.089-32.566-105.347-32.566-161.265s10.957-110.178 32.566-161.267c20.867-49.335 50.736-93.639 88.776-131.68 38.04-38.04 82.344-67.91 131.68-88.776 51.089-21.609 105.346-32.565 161.265-32.565s110.177 10.956 161.266 32.565c49.335 20.867 93.638 50.736 131.679 88.776 38.04 38.04 67.91 82.344 88.776 131.68 21.609 51.089 32.565 105.346 32.565 161.266s-10.956 110.176-32.565 161.265c-20.867 49.336-50.736 93.638-88.776 131.68s-82.344 67.909-131.68 88.775c-51.088 21.61-105.346 32.566-161.265 32.566zm0-786.857c-205.435 0-372.57 167.134-372.57 372.57S302.116 890.61 507.552 890.61s372.57-167.134 372.57-372.57-167.134-372.571-372.57-372.571z" fill="#196AD7"/><path d="M385.502 427.85h24.31v108.663c0 27.75-2.946 53.042-8.84 75.879l10.314-9.945c23.574 26.031 44.323 49.727 62.25 71.09L450.7 692.692c-15.47-21.12-33.399-43.465-53.779-67.039-11.05 34.135-29.59 61.882-55.62 83.246a205.834 205.834 0 0 0-19.155-22.1c42.236-30.941 63.356-81.037 63.356-150.286V427.851zm-46.411-55.988h117.134v225.796h-24.312V395.805h-68.512v204.063h-24.31V371.862zm131.868 127.816h119.344c17.925-29.22 31.553-52.794 40.886-70.722l27.258 16.207c-13.752 20.627-26.4 38.8-37.94 54.515h68.881v25.784h-218.43v-25.784zm5.525-102.769h93.56c-7.367-15.223-13.877-27.87-19.522-37.94l23.574-12.155c7.612 12.279 15.223 25.663 22.837 40.15l-20.627 9.944h103.506v25.784H476.484V396.91zm13.628 165.02h173.86v149.179H637.45v-23.574H516.632v23.943h-26.52V561.928zm5.526-117.871 20.995-14.366c14.979 18.418 27.378 35.117 37.203 50.096L530.263 497.1c-12.772-21.854-24.312-39.535-34.625-53.042zm141.813 143.286H516.632v74.774h120.819v-74.774z" fill="#196AD7"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_normal_9.svg b/static/svgs/icon_ckxx_normal_9.svg
new file mode 100644
index 0000000..73b502d
--- /dev/null
+++ b/static/svgs/icon_ckxx_normal_9.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="m519.2 899.45-32.85-19.35-5.4-3.15c-97.2-54.9-156.6-93.6-190.35-129.6-23.4-25.2-40.95-52.2-53.55-80.1-8.1-18.45-13.05-34.2-15.3-45.9l-17.1 3.6 17.55-1.8-.9-8.1-17.55 1.8h17.55l-1.8-402.3-12.15 16.65 310.5-106.65H506.6L817.1 231.2l-11.7-16.65-1.8 404.55h17.55l-17.1-2.7c-2.25 13.05-6.75 30.15-15.3 49.5-12.15 28.35-29.7 55.8-54 81.45-21.6 22.95-61.2 51.75-112.05 83.25-34.2 21.15-67.95 40.05-95.4 54.45L502.1 899l17.1.45zm-17.55 30.15 8.55 4.95 8.55-4.95 24.75-13.95c27.9-14.85 62.55-34.2 97.2-55.35 53.55-32.85 94.95-63 119.25-89.1 47.7-50.85 71.1-105.3 78.3-149.85v-2.7l1.8-404.55v-12.6l-11.7-4.05-310.5-106.2-5.4-2.25-5.85 1.8-310.5 106.65-11.7 4.05v12.6l1.8 402.3v1.8l.9 8.1.45 1.35c2.7 13.95 8.1 32.4 17.55 53.1 13.95 31.5 33.75 62.1 59.85 90 37.35 39.6 98.1 78.75 198.45 135.9l5.4 3.15 32.85 19.8z" fill="#196AD7"/><path d="M448.1 470.6c19.35 33.3 40.5 61.2 63.9 84.15 25.2-23.85 45.45-52.2 61.2-84.6l51.75 34.65c-18.45 33.3-39.6 62.55-63.45 88.2 42.75 24.3 98.55 40.5 168.3 48.6-14.85 24.75-27 45.45-36.45 63-69.75-9.45-130.05-31.95-180.9-67.95-50.4 35.1-111.6 58.05-183.6 69.75-7.2-16.2-19.35-37.35-35.55-63 67.5-8.55 123.75-25.65 169.2-50.85-24.3-25.2-45.45-53.55-63.45-84.6l49.05-37.35zM298.25 326.15h177.3c-5.85-13.95-11.25-26.1-15.75-36l65.25-19.8c7.2 13.95 16.2 32.4 27.45 55.8h170.1v55.35H298.7v-55.35zm2.7 157.05c48.6-32.4 90.9-66.15 126.9-101.25l47.25 43.65c-41.85 38.25-86.4 74.25-133.2 108.45-9-13.5-22.95-30.6-40.95-50.85zm290.7-99.45c48.15 34.2 91.8 66.15 130.5 96.3l-45.9 50.4c-40.5-36.9-82.35-71.55-125.1-103.95l40.5-42.75z" fill="#196AD7"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_unknown_1.svg b/static/svgs/icon_ckxx_unknown_1.svg
new file mode 100644
index 0000000..bcbf6d4
--- /dev/null
+++ b/static/svgs/icon_ckxx_unknown_1.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="m697.99 399.5-56.137 56.25s0-225-187.2-300.01c0 0-18.703 206.241-112.303 281.25S61.55 737 435.95 905.75c0 0-187.2-206.269 56.138-356.26 0 0-18.704 75.01 74.868 149.991 93.6 75.01 0 206.269 0 206.269s449.269-112.5 131.063-506.25z" fill="#4f5a7e"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_unknown_10.svg b/static/svgs/icon_ckxx_unknown_10.svg
new file mode 100644
index 0000000..db4b05d
--- /dev/null
+++ b/static/svgs/icon_ckxx_unknown_10.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="m519.2 899.45-32.85-19.35-5.4-3.15c-97.2-54.9-156.6-93.6-190.35-129.6-23.4-25.2-40.95-52.2-53.55-80.1-8.1-18.45-13.05-34.2-15.3-45.9l-17.1 3.6 17.55-1.8-.9-8.1-17.55 1.8h17.55l-1.8-402.3-12.15 16.65 310.5-106.65H506.6L817.1 231.2l-11.7-16.65-1.8 404.55h17.55l-17.1-2.7c-2.25 13.05-6.75 30.15-15.3 49.5-12.15 28.35-29.7 55.8-54 81.45-21.6 22.95-61.2 51.75-112.05 83.25-34.2 21.15-67.95 40.05-95.4 54.45L502.1 899l17.1.45zm-17.55 30.15 8.55 4.95 8.55-4.95 24.75-13.95c27.9-14.85 62.55-34.2 97.2-55.35 53.55-32.85 94.95-63 119.25-89.1 47.7-50.85 71.1-105.3 78.3-149.85v-2.7l1.8-404.55v-12.6l-11.7-4.05-310.5-106.2-5.4-2.25-5.85 1.8-310.5 106.65-11.7 4.05v12.6l1.8 402.3v1.8l.9 8.1.45 1.35c2.7 13.95 8.1 32.4 17.55 53.1 13.95 31.5 33.75 62.1 59.85 90 37.35 39.6 98.1 78.75 198.45 135.9l5.4 3.15 32.85 19.8z" fill="#4f5a7e"/><path d="M303.65 309.95h172.8l-9.45-36 73.8-2.7 4.5 38.7h175.95v48.15h-417.6v-48.15zm16.65 89.55h86.85l-25.2-30.6h71.55l22.95 30.6h69.75c10.8-13.05 19.35-23.4 24.75-30.6h71.1c-9.45 10.35-18.9 20.7-27.9 30.6h90.9v225.9c0 20.25-4.05 36.45-12.15 48.6-8.1 12.15-18.9 19.8-33.3 23.4-13.95 3.6-44.55 5.4-90.45 5.85-4.05-23.4-8.1-41.85-11.25-54.9 16.65 1.8 32.85 2.7 48.6 2.7 26.55 0 40.05-12.15 40.05-36.9v-79.2l-13.95 18-31.95-22.5v108.9h-123.3v21.15H423.8V535.85l-28.35 19.8c-.45-.9-6.3-8.55-17.55-22.95v170.1h-58.05V399.5zm142.2 49.05L494 483.2c-11.7 9-23.4 18-35.55 27h113.4l-40.95-27 28.35-33.3a1863 1863 0 0 1 87.3 52.2v-56.25h-269.1v62.1c31.5-20.7 59.85-40.5 85.05-59.4zm85.05 142.2V556.1H477.8v34.65h69.75z" fill="#4f5a7e"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_unknown_11.svg b/static/svgs/icon_ckxx_unknown_11.svg
new file mode 100644
index 0000000..b825954
--- /dev/null
+++ b/static/svgs/icon_ckxx_unknown_11.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M677.95 613.997c-.78-2.995-2.721-6.2-5.695-9.659a84.82 84.82 0 0 0-12.822-11.43c-8.288-5.99-18.073-14.404-29.356-25.096a376.797 376.797 0 0 1-33.89-37.243h61.897c7.149 0 12.147-1.645 15.015-5.04 2.931-3.311 4.365-8.12 4.365-14.34 0-6.665-1.392-11.621-4.175-14.869s-7.824-4.85-15.205-4.85h-86.128v-25.265h41.503c12.696 0 21.321-3.037 25.919-9.026 4.64-5.968 6.896-15.226 6.896-27.69v-48.8c0-13.18-2.468-22.565-7.424-28.238-4.956-5.652-13.433-8.499-25.412-8.499H496.563c-12.654 0-21.51 2.974-26.425 8.858-4.956 5.862-7.444 15.057-7.444 27.52v49.201c0 12.464 2.488 21.701 7.444 27.69 4.935 6.01 13.75 9.026 26.425 9.026h36.653v25.265h-71.893c-7.845 0-13.18 1.624-16.07 4.85s-4.344 8.183-4.344 14.868c0 6.2 1.56 10.988 4.682 14.34 3.1 3.396 8.351 5.062 15.753 5.062h55.992a277.196 277.196 0 0 1-16.239 20.098 323.041 323.041 0 0 1-33.89 32.878c-5.314 4.386-9.912 7.971-13.834 10.755a69.657 69.657 0 0 0-12.443 10.734 24.463 24.463 0 0 0-5.378 9.343c-.801 3.016-.759 5.905.17 8.667s2.298 5.631 4.154 8.626c3.943 5.778 9.131 8.225 15.584 7.297s14.742-5.315 24.885-13.16c12.443-10.397 22.755-19.634 30.938-27.71a172.445 172.445 0 0 0 21.954-26.32v72.736c0 7.381 1.813 12.611 5.398 15.732 3.543 3.122 8.584 4.682 15.037 4.682 6.685 0 11.409-1.54 14.193-4.682 2.741-3.12 4.133-8.35 4.133-15.732v-87.287a262.558 262.558 0 0 0 26.994 35.113 349.656 349.656 0 0 0 37.665 35.155c7.423 6.243 14.066 10.186 20.098 11.747 5.968 1.624 11.304-.654 15.88-6.896 2.32-3.417 3.986-6.622 5.04-9.511a14.256 14.256 0 0 0 .274-8.9zM515.331 426.368c-4.64 0-7.824-.97-9.68-2.952-1.856-1.94-2.762-5.568-2.762-10.903v-19.044c0-4.133.632-6.833 1.898-8.14 1.265-1.287 4.196-1.92 8.815-1.92h81.973c4.597 0 7.529.887 8.836 2.616 1.265 1.73 1.856 5.146 1.856 10.207v15.901c0 5.314-.738 9.026-2.214 11.072-1.54 2.088-4.345 3.12-8.436 3.12h-80.286z" fill="#4f5a7e"/><path d="M510.84 933.685a77.818 77.818 0 0 1-12.463-1.012c-14.32-2.51-344.911-66.156-344.911-547.028V259.913c0-19.571 8.435-38.403 23.156-51.69a73.453 73.453 0 0 1 53.777-18.642l.506.042c.02 0 7.634.485 20.477.485 16.871 0 60.399-1.033 100.173-10.44 31.844-7.549 72.293-33.552 113.902-73.157 2.678-2.53 3.67-3.48 5.377-4.618a73.432 73.432 0 0 1 39.985-11.768c14.34 0 28.133 4.07 39.922 11.789 4.85 3.12 11.282 8.309 20.182 15.437 25.096 20.182 67.126 53.967 102.302 62.318 38.361 9.09 78.726 10.439 99.372 10.439 11.008 0 18.347-.38 20.034-.464l.95-.063c1.602-.106 3.142-.106 4.766-.106a72.546 72.546 0 0 1 49.053 18.812 69.805 69.805 0 0 1 23.176 51.583v125.775c0 248.534-90.703 382.955-166.793 451.959-84.018 76.194-170.61 93.34-180.205 95.048a80.35 80.35 0 0 1-12.738 1.033zm-284.364-703.93c-8.668 0-16.724 2.805-22.86 8.352a29.546 29.546 0 0 0-9.87 21.784v125.733c0 447.424 298.641 505.06 311.358 507.296 3.543.57 7.782.612 11.641-.02 12.59-2.236 313.51-60.8 313.51-507.276V259.891a29.356 29.356 0 0 0-9.913-21.721 32.414 32.414 0 0 0-24.252-8.373c-3.986.317-13.413.612-23.493.612-22.397 0-66.304-1.497-108.672-11.536-44.034-10.46-90.472-47.808-118.225-70.1a292.589 292.589 0 0 0-16.892-13.075 33.89 33.89 0 0 0-34.691-.822l-.886.843c-47.366 45.089-93.15 73.833-132.376 83.154-42.326 10.039-86.76 11.536-109.473 11.536-12.696 0-21.215-.443-23.577-.612l-1.329-.042z" fill="#4f5a7e"/><path d="M423.32 432.252v210.194c0 14.298-5.757 21.448-17.271 21.448-7.381 0-12.443-1.73-15.226-5.21-2.763-3.458-4.134-8.857-4.134-16.259v-134c-5.99 8.795-11.789 13.582-17.272 14.362a18.39 18.39 0 0 1-15.226-4.64c-5.968-4.175-8.984-9.152-8.984-14.91s3.353-13.496 10.038-23.197a288.245 288.245 0 0 0 32.351-59.24c7.93-20.076 14.699-41.566 20.203-64.384 1.856-9.237 4.387-16.007 7.613-20.246 3.227-4.302 8.879-5.947 16.935-5.019 7.613 1.139 12.231 4.471 13.813 10.039 1.624 5.525 1.055 13.497-1.73 23.893a921.8 921.8 0 0 1-10.206 36 430.785 430.785 0 0 1-10.903 31.169z" fill="#4f5a7e"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_unknown_12.svg b/static/svgs/icon_ckxx_unknown_12.svg
new file mode 100644
index 0000000..9a48f45
--- /dev/null
+++ b/static/svgs/icon_ckxx_unknown_12.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M868.634 793.052h-20.96V497.709c19.054-8.257 32.392-27.311 32.392-49.541V241.111c0-29.852-24.135-53.987-53.987-53.987H681.266c-12.068 0-22.23 10.162-22.23 22.23s10.162 22.23 22.23 22.23h144.178c5.081 0 9.527 4.446 9.527 9.527v206.422c0 5.081-4.446 9.527-9.527 9.527H194.745c-5.08 0-9.527-4.446-9.527-9.527V241.11c0-5.081 4.446-9.527 9.527-9.527H340.83c12.067 0 22.23-10.163 22.23-22.23s-10.163-22.23-22.23-22.23H194.745c-29.852 0-53.987 24.135-53.987 53.987v206.422c0 21.595 12.703 40.014 31.122 48.906v295.977h-14.608c-12.068 0-22.23 10.163-22.23 22.23s10.162 22.23 22.23 22.23h711.362c12.067 0 22.23-10.162 22.23-22.23s-10.163-21.594-22.23-21.594zM216.34 502.155h586.874v290.897H702.226v-174.03c0-20.96-17.15-38.109-38.109-38.109h-307.41c-20.96 0-38.109 17.15-38.109 38.109v174.03H216.34V502.155zm441.426 290.897H363.059V624.738H657.13v168.314z" fill="#4f5a7e"/><path d="M402.438 211.259a24.135 24.135 0 1 0 48.27 0 24.135 24.135 0 1 0-48.27 0zM486.91200000000003 211.259a24.135 24.135 0 1 0 48.27 0 24.135 24.135 0 1 0-48.27 0zM571.3860000000001 211.259a24.135 24.135 0 1 0 48.271 0 24.135 24.135 0 1 0-48.271 0z" fill="#4f5a7e"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_unknown_2.svg b/static/svgs/icon_ckxx_unknown_2.svg
new file mode 100644
index 0000000..7df0531
--- /dev/null
+++ b/static/svgs/icon_ckxx_unknown_2.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M512.045 882.788a264.912 264.912 0 0 0 265.16-265.406c0-105.273-141.106-311.865-234.023-451.24-20.51-33.856-42.01-32.62-62.274 0-93.164 139.375-234.269 347.45-234.269 451.24a264.912 264.912 0 0 0 265.406 265.406zm80.561-125.537a158.404 158.404 0 0 0 56.838-54.86 153.461 153.461 0 0 0 24.712-76.607 31.878 31.878 0 1 1 63.51 3.707 234.763 234.763 0 0 1-33.609 106.261 226.114 226.114 0 0 1-80.067 77.843 32.126 32.126 0 0 1-31.384-56.344z" fill="#4f5a7e"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_unknown_3.svg b/static/svgs/icon_ckxx_unknown_3.svg
new file mode 100644
index 0000000..c062164
--- /dev/null
+++ b/static/svgs/icon_ckxx_unknown_3.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M531.2 295.85c0 9.046.768 17.92 2.261 26.582H288l-49.024 120.405a32.683 32.683 0 0 0 3.413 30.891 33.963 33.963 0 0 0 27.947 14.592h440.661a33.963 33.963 0 0 0 27.947-14.592 32.725 32.725 0 0 0 4.864-26.453l5.29-1.792c17.835-6.443 34.262-15.872 48.555-27.691l30.806 70.528h50.645c9.344 0 16.896 7.424 16.896 16.597v23.894a33.28 33.28 0 0 1-25.6 32.17l-41.941 10.283v248.875c0 18.346-15.147 33.194-33.792 33.194h-33.792a33.493 33.493 0 0 1-33.75-33.194v-33.152H254.208v33.152c0 18.346-15.104 33.194-33.75 33.194h-33.791a33.493 33.493 0 0 1-33.792-33.194V571.307l-41.984-10.24a33.28 33.28 0 0 1-25.558-32.299v-23.893c0-9.174 7.552-16.64 16.896-16.64h50.646l83.797-192C247.339 271.787 271.744 256 298.795 256H536.32a156.858 156.858 0 0 0-5.12 39.808zm229.675 258.817H220.459v165.93h540.416v-165.93z" fill="#4f5a7e"/><path d="M256 597.333c83.328 0 139.52 21.462 168.533 64.427a11.69 11.69 0 0 1-.426 13.995 19.37 19.37 0 0 1-15.446 6.912H291.968c-19.883 0-35.968-12.715-35.968-28.459v-56.875zm469.333 0v56.875c0 15.744-16.085 28.459-35.968 28.459H572.587a19.37 19.37 0 0 1-15.403-6.912 11.69 11.69 0 0 1-.427-14.038c29.014-42.922 85.206-64.384 168.576-64.384zM730.667 313.259h80v56.746h-80v56.662h-53.334v-56.704h-80v-56.704h80v-28.331h-80v-56.661h68.95l-56.576-60.16L647.467 128 704 188.16 760.576 128l37.717 40.107-56.576 60.16h68.95v56.661h-80z" fill="#4f5a7e"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_unknown_4.svg b/static/svgs/icon_ckxx_unknown_4.svg
new file mode 100644
index 0000000..750a7c6
--- /dev/null
+++ b/static/svgs/icon_ckxx_unknown_4.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1039 1024" xmlns="http://www.w3.org/2000/svg" width="202.93" height="200"><path d="M864.02 801.028c-10.137 40.854-46.112 70.643-88.683 70.643-39.518 0-73.177-25.32-85.986-61.812H334.64c-12.81 36.52-46.496 61.812-86.015 61.812-42.57 0-78.49-29.79-88.656-70.643-44.261-18.56-72.469-64.374-68.762-115.23l8.693-118.31c3.407-47.231 33.14-88.983 75.74-108.442l38.265-184.428c14.007-67.426 80.098-122.29 147.362-122.29h301.455c67.263 0 133.354 54.836 147.335 122.29l38.265 184.427c42.598 19.459 72.332 61.213 75.766 108.443l8.667 118.31c3.706 50.857-24.474 96.67-68.735 115.23zm8.723-229.587c-2.261-30.716-24.856-58.596-54.999-67.808-9.866-3.025-17.034-11.774-18.233-22.24-.19-1.498-.299-2.97-.38-4.414-.056-.763-.056-1.554-.218-2.345L759.72 285.628c-9.076-43.633-53.5-80.507-96.996-80.507H361.268c-43.525 0-87.922 36.874-96.997 80.507l-39.219 189.034c-.163.708-.163 1.5-.218 2.289-.109 1.5-.217 3.026-.38 4.524-1.227 10.466-8.368 19.16-18.206 22.185-30.17 9.185-52.79 37.065-55.025 67.808l-8.668 118.31c-2.318 31.478 16.678 58.377 46.195 65.382 11.175 2.698 19.296 12.673 19.868 24.447 1.063 22.048 18.643 39.299 40.01 39.299 20.875 0 37.991-16.216 39.845-37.746 1.199-13.6 12.318-24.038 25.645-24.038h395.728c13.327 0 24.501 10.439 25.646 24.038 1.854 21.53 18.968 37.747 39.845 37.747 21.367 0 38.946-17.28 40.01-39.3.598-11.829 8.72-21.777 19.895-24.447 29.488-7.005 48.485-33.931 46.14-65.41l-8.64-118.308zm-90.265 104.764c-10.793 11.038-25.918 17.47-41.154 17.47-15.235 0-30.36-6.433-41.127-17.47-10.765-11.038-17.033-26.545-17.033-42.162 0-15.616 6.268-31.151 17.033-42.19 10.767-11.037 25.892-17.47 41.127-17.47s30.361 6.434 41.154 17.47c10.765 11.039 17.033 26.574 17.033 42.19 0 15.617-6.268 31.124-17.033 42.162zm-49.384-202.088c-5.043 6.24-13.246 9.866-22.811 9.866H313.654c-9.538 0-17.742-3.625-23.138-10.248-5.15-6.078-7.358-14.909-5.913-24.474.136-.654.245-1.281.381-1.908l31.151-138.805c3.925-21.912 25.074-40.172 46.823-40.172H660.98c21.748 0 42.898 18.314 46.795 40.172l31.15 138.832c.165.627.274 1.255.382 1.909 1.418 9.565-.763 18.396-6.212 24.828zM657.845 321.14H366.173l-24.718 110.053h341.083L657.845 321.14zM323.793 676.205c-10.766 11.038-25.891 17.47-41.127 17.47s-30.36-6.433-41.126-17.47c-10.792-11.038-17.06-26.545-17.06-42.162 0-15.616 6.268-31.151 17.06-42.19 10.766-11.037 25.892-17.47 41.126-17.47 15.236 0 30.361 6.434 41.127 17.47 10.793 11.039 17.06 26.574 17.06 42.19 0 15.617-6.267 31.124-17.06 42.162z" fill="#4f5a7e"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_unknown_5.svg b/static/svgs/icon_ckxx_unknown_5.svg
new file mode 100644
index 0000000..37486cb
--- /dev/null
+++ b/static/svgs/icon_ckxx_unknown_5.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M834.895 300.432c-.045-32.89-20.659-61.996-50.98-71.974l-244.263-81.166a88.959 88.959 0 0 0-55.327-.044l-244.33 81.233c-30.412 10.069-50.911 39.062-50.911 71.974V478.67c0 110.699 51.744 215.812 138.564 281.41l140.796 106.374c12.637 9.597 27.73 14.688 43.5 14.688 15.634 0 30.861-5.135 43.477-14.665L696.33 760.102c86.797-65.531 138.588-170.713 138.588-281.434V300.455l-.023-.023zm-46.79 178.237c0 95.245-44.626 185.918-119.394 242.37L527.848 827.391c-4.664 3.515-10.139 5.362-15.905 5.362-5.835 0-11.218-1.803-15.814-5.294l-140.863-106.42c-74.768-56.52-119.419-147.126-119.419-242.37V300.455c0-11.87 7.368-22.234 18.429-25.928l244.286-81.188a43.368 43.368 0 0 1 26.897.045l244.197 81.143c10.969 3.582 18.45 14.103 18.45 26.019v178.123zm-144.782 2.815c12.705 0 23.021-10.587 23.021-23.675 0-13.066-10.317-23.653-23.021-23.653h-60.824l72.74-76.143c8.583-9.462 8.222-24.06-.676-33.025-8.898-8.943-23.045-9.012-32.056-.202L517.913 434.178H505.05l-93.038-108.334c-5.227-6.58-13.696-9.778-21.987-8.178-8.312 1.599-15.093 7.727-17.662 15.994-2.613 8.268-.563 17.368 5.294 23.61l66.027 76.885h-62.918c-12.75 0-23.09 10.61-23.09 23.698s10.363 23.653 23.09 23.653h103.603l4.122 4.8v60.756H380.766c-12.75 0-23.09 10.587-23.09 23.675s10.363 23.675 23.09 23.675h107.703v54.99c-.563 8.784 3.672 17.165 10.971 21.693 7.411 4.64 16.693 4.64 24.104 0 7.412-4.686 11.647-13.179 10.97-22.076v-54.652h108.762c12.751 0 23.068-10.587 23.068-23.653s-10.317-23.653-23.068-23.653h-108.76v-62.672h-.023l2.815-2.907h106.015z" fill="#4f5a7e"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_unknown_6.svg b/static/svgs/icon_ckxx_unknown_6.svg
new file mode 100644
index 0000000..d1f063e
--- /dev/null
+++ b/static/svgs/icon_ckxx_unknown_6.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M256.347 192.355c-28.228 0-51.207 22.808-51.207 51.027v588.38c0 28.245 22.96 51.027 51.207 51.027h511.306c28.228 0 51.207-22.809 51.207-51.028v-588.38c0-28.245-22.96-51.026-51.207-51.026h-76.652l25.572 25.571v-38.395c0-21.079-17.153-38.32-38.313-38.32H345.74c-21.241 0-38.313 17.156-38.313 38.32v38.395l25.572-25.571h-76.652zm102.223 51.143V179.53c0 7.026-5.769 12.824-12.83 12.824h332.52a12.773 12.773 0 0 1-12.83-12.824v63.967h102.223c.09 0 .063 588.263.063 588.263 0-.112-511.37-.116-511.37-.116-.089 0-.062-588.263-.062-588.263 0 .112 76.715.116 76.715.116h25.571zm306.86 12.824c0-7.026 5.769-12.824 12.83-12.824H345.74c7.144 0 12.83 5.715 12.83 12.824v-38.396c0-14.123-11.449-25.571-25.571-25.571-14.123 0-25.572 11.448-25.572 25.571v38.396c0 21.078 17.153 38.32 38.313 38.32h332.52c21.241 0 38.313-17.157 38.313-38.32v-38.396c0-14.123-11.449-25.571-25.572-25.571-14.122 0-25.571 11.448-25.571 25.571v38.396zm0 204.535c14.123 0 25.571-11.45 25.571-25.572 0-14.123-11.448-25.572-25.571-25.572H358.57c-14.123 0-25.571 11.45-25.571 25.572 0 14.123 11.448 25.572 25.571 25.572h306.86zm-306.86 76.715c-14.123 0-25.571 11.448-25.571 25.571 0 14.123 11.448 25.572 25.571 25.572h306.86c14.123 0 25.571-11.449 25.571-25.572s-11.448-25.571-25.571-25.571H358.57zm0 127.858C344.447 665.43 333 676.879 333 691c0 14.123 11.448 25.572 25.571 25.572h204.573c14.123 0 25.572-11.449 25.572-25.572 0-14.122-11.449-25.571-25.572-25.571H358.57z" fill="#4f5a7e"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_unknown_7.svg b/static/svgs/icon_ckxx_unknown_7.svg
new file mode 100644
index 0000000..0c6aa05
--- /dev/null
+++ b/static/svgs/icon_ckxx_unknown_7.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M769.766 532.672c-83.11 0-151.032 67.922-151.032 151.031s67.922 151.031 151.032 151.031c83.109 0 151.03-67.922 151.03-151.03s-67.921-151.032-151.03-151.032zm83.109 167.484H685.391c-9.282 0-16.453-8.015-16.453-17.297s7.171-16.453 16.453-16.453h168.328c9.281 0 15.61 8.016 15.61 17.297s-7.173 16.453-16.454 16.453zm-232.453-184.36c0-13.077-10.547-23.624-23.625-23.624H377c-13.078 0-23.625 10.547-23.625 23.625s10.547 23.625 23.625 23.625h219.797c13.078 0 23.625-10.969 23.625-23.625zm68.344-129.937c0-13.078-10.547-23.625-23.625-23.625H377c-13.078 0-23.625 10.547-23.625 23.625s10.547 23.625 23.625 23.625h288.14c13.079 0 23.626-10.546 23.626-23.625zM376.578 621.688c-13.078 0-23.625 10.546-23.625 23.625s10.547 23.625 23.625 23.625h127.406c13.079 0 25.313-10.547 25.313-23.625s-10.547-23.625-23.625-23.625H376.578z" fill="#4f5a7e"/><path d="M646.578 809H344.516c-20.25 0-36.282-16.453-36.282-36.281v-429.89c0-20.25 16.454-36.282 36.282-36.282H690.03c20.25 0 36.282 16.453 36.282 36.281V514.11c17.296-6.75 35.437-11.812 54.421-13.922V324.267c0-40.079-32.484-72.563-72.562-72.563h-71.297v-25.312c0-40.078-32.484-72.985-72.563-72.985H182.517c-40.078 0-72.563 32.485-72.563 72.985v466.593c0 40.078 32.484 72.985 72.563 72.985h71.297v25.312c0 40.078 32.484 72.985 72.562 72.985h392.766c-27.844-13.078-52.735-32.063-72.563-55.266zm-445.922-97.875c-20.25 0-36.281-16.453-36.281-36.281V244.53c0-20.25 16.453-36.281 36.281-36.281h345.516c20.25 0 36.281 16.453 36.281 36.281v7.172H326.375c-40.078 0-72.563 32.484-72.563 72.563v386.859h-53.156z" fill="#4f5a7e"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_unknown_8.svg b/static/svgs/icon_ckxx_unknown_8.svg
new file mode 100644
index 0000000..5724a98
--- /dev/null
+++ b/static/svgs/icon_ckxx_unknown_8.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1025 1024" xmlns="http://www.w3.org/2000/svg" width="200.195" height="200"><path d="M507.552 932.326c-55.919 0-110.176-10.956-161.265-32.565-49.336-20.867-93.64-50.736-131.68-88.776-38.041-38.041-67.91-82.344-88.776-131.679-21.61-51.089-32.566-105.347-32.566-161.265s10.957-110.178 32.566-161.267c20.867-49.335 50.736-93.639 88.776-131.68 38.04-38.04 82.344-67.91 131.68-88.776 51.089-21.609 105.346-32.565 161.265-32.565s110.177 10.956 161.266 32.565c49.335 20.867 93.638 50.736 131.679 88.776 38.04 38.04 67.91 82.344 88.776 131.68 21.609 51.089 32.565 105.346 32.565 161.266s-10.956 110.176-32.565 161.265c-20.867 49.336-50.736 93.638-88.776 131.68s-82.344 67.909-131.68 88.775c-51.088 21.61-105.346 32.566-161.265 32.566zm0-786.857c-205.435 0-372.57 167.134-372.57 372.57S302.116 890.61 507.552 890.61s372.57-167.134 372.57-372.57-167.134-372.571-372.57-372.571z" fill="#4f5a7e"/><path d="M385.502 427.85h24.31v108.663c0 27.75-2.946 53.042-8.84 75.879l10.314-9.945c23.574 26.031 44.323 49.727 62.25 71.09L450.7 692.692c-15.47-21.12-33.399-43.465-53.779-67.039-11.05 34.135-29.59 61.882-55.62 83.246a205.834 205.834 0 0 0-19.155-22.1c42.236-30.941 63.356-81.037 63.356-150.286V427.851zm-46.411-55.988h117.134v225.796h-24.312V395.805h-68.512v204.063h-24.31V371.862zm131.868 127.816h119.344c17.925-29.22 31.553-52.794 40.886-70.722l27.258 16.207c-13.752 20.627-26.4 38.8-37.94 54.515h68.881v25.784h-218.43v-25.784zm5.525-102.769h93.56c-7.367-15.223-13.877-27.87-19.522-37.94l23.574-12.155c7.612 12.279 15.223 25.663 22.837 40.15l-20.627 9.944h103.506v25.784H476.484V396.91zm13.628 165.02h173.86v149.179H637.45v-23.574H516.632v23.943h-26.52V561.928zm5.526-117.871 20.995-14.366c14.979 18.418 27.378 35.117 37.203 50.096L530.263 497.1c-12.772-21.854-24.312-39.535-34.625-53.042zm141.813 143.286H516.632v74.774h120.819v-74.774z" fill="#4f5a7e"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_unknown_9.svg b/static/svgs/icon_ckxx_unknown_9.svg
new file mode 100644
index 0000000..c0817ae
--- /dev/null
+++ b/static/svgs/icon_ckxx_unknown_9.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="m519.2 899.45-32.85-19.35-5.4-3.15c-97.2-54.9-156.6-93.6-190.35-129.6-23.4-25.2-40.95-52.2-53.55-80.1-8.1-18.45-13.05-34.2-15.3-45.9l-17.1 3.6 17.55-1.8-.9-8.1-17.55 1.8h17.55l-1.8-402.3-12.15 16.65 310.5-106.65H506.6L817.1 231.2l-11.7-16.65-1.8 404.55h17.55l-17.1-2.7c-2.25 13.05-6.75 30.15-15.3 49.5-12.15 28.35-29.7 55.8-54 81.45-21.6 22.95-61.2 51.75-112.05 83.25-34.2 21.15-67.95 40.05-95.4 54.45L502.1 899l17.1.45zm-17.55 30.15 8.55 4.95 8.55-4.95 24.75-13.95c27.9-14.85 62.55-34.2 97.2-55.35 53.55-32.85 94.95-63 119.25-89.1 47.7-50.85 71.1-105.3 78.3-149.85v-2.7l1.8-404.55v-12.6l-11.7-4.05-310.5-106.2-5.4-2.25-5.85 1.8-310.5 106.65-11.7 4.05v12.6l1.8 402.3v1.8l.9 8.1.45 1.35c2.7 13.95 8.1 32.4 17.55 53.1 13.95 31.5 33.75 62.1 59.85 90 37.35 39.6 98.1 78.75 198.45 135.9l5.4 3.15 32.85 19.8z" fill="#4f5a7e"/><path d="M448.1 470.6c19.35 33.3 40.5 61.2 63.9 84.15 25.2-23.85 45.45-52.2 61.2-84.6l51.75 34.65c-18.45 33.3-39.6 62.55-63.45 88.2 42.75 24.3 98.55 40.5 168.3 48.6-14.85 24.75-27 45.45-36.45 63-69.75-9.45-130.05-31.95-180.9-67.95-50.4 35.1-111.6 58.05-183.6 69.75-7.2-16.2-19.35-37.35-35.55-63 67.5-8.55 123.75-25.65 169.2-50.85-24.3-25.2-45.45-53.55-63.45-84.6l49.05-37.35zM298.25 326.15h177.3c-5.85-13.95-11.25-26.1-15.75-36l65.25-19.8c7.2 13.95 16.2 32.4 27.45 55.8h170.1v55.35H298.7v-55.35zm2.7 157.05c48.6-32.4 90.9-66.15 126.9-101.25l47.25 43.65c-41.85 38.25-86.4 74.25-133.2 108.45-9-13.5-22.95-30.6-40.95-50.85zm290.7-99.45c48.15 34.2 91.8 66.15 130.5 96.3l-45.9 50.4c-40.5-36.9-82.35-71.55-125.1-103.95l40.5-42.75z" fill="#4f5a7e"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_warning_1.svg b/static/svgs/icon_ckxx_warning_1.svg
new file mode 100644
index 0000000..b02d9d2
--- /dev/null
+++ b/static/svgs/icon_ckxx_warning_1.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="m697.99 399.5-56.137 56.25s0-225-187.2-300.01c0 0-18.703 206.241-112.303 281.25S61.55 737 435.95 905.75c0 0-187.2-206.269 56.138-356.26 0 0-18.704 75.01 74.868 149.991 93.6 75.01 0 206.269 0 206.269s449.269-112.5 131.063-506.25z" fill="#ef8d3c"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_warning_10.svg b/static/svgs/icon_ckxx_warning_10.svg
new file mode 100644
index 0000000..4999e67
--- /dev/null
+++ b/static/svgs/icon_ckxx_warning_10.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="m519.2 899.45-32.85-19.35-5.4-3.15c-97.2-54.9-156.6-93.6-190.35-129.6-23.4-25.2-40.95-52.2-53.55-80.1-8.1-18.45-13.05-34.2-15.3-45.9l-17.1 3.6 17.55-1.8-.9-8.1-17.55 1.8h17.55l-1.8-402.3-12.15 16.65 310.5-106.65H506.6L817.1 231.2l-11.7-16.65-1.8 404.55h17.55l-17.1-2.7c-2.25 13.05-6.75 30.15-15.3 49.5-12.15 28.35-29.7 55.8-54 81.45-21.6 22.95-61.2 51.75-112.05 83.25-34.2 21.15-67.95 40.05-95.4 54.45L502.1 899l17.1.45zm-17.55 30.15 8.55 4.95 8.55-4.95 24.75-13.95c27.9-14.85 62.55-34.2 97.2-55.35 53.55-32.85 94.95-63 119.25-89.1 47.7-50.85 71.1-105.3 78.3-149.85v-2.7l1.8-404.55v-12.6l-11.7-4.05-310.5-106.2-5.4-2.25-5.85 1.8-310.5 106.65-11.7 4.05v12.6l1.8 402.3v1.8l.9 8.1.45 1.35c2.7 13.95 8.1 32.4 17.55 53.1 13.95 31.5 33.75 62.1 59.85 90 37.35 39.6 98.1 78.75 198.45 135.9l5.4 3.15 32.85 19.8z" fill="#ef8d3c"/><path d="M303.65 309.95h172.8l-9.45-36 73.8-2.7 4.5 38.7h175.95v48.15h-417.6v-48.15zm16.65 89.55h86.85l-25.2-30.6h71.55l22.95 30.6h69.75c10.8-13.05 19.35-23.4 24.75-30.6h71.1c-9.45 10.35-18.9 20.7-27.9 30.6h90.9v225.9c0 20.25-4.05 36.45-12.15 48.6-8.1 12.15-18.9 19.8-33.3 23.4-13.95 3.6-44.55 5.4-90.45 5.85-4.05-23.4-8.1-41.85-11.25-54.9 16.65 1.8 32.85 2.7 48.6 2.7 26.55 0 40.05-12.15 40.05-36.9v-79.2l-13.95 18-31.95-22.5v108.9h-123.3v21.15H423.8V535.85l-28.35 19.8c-.45-.9-6.3-8.55-17.55-22.95v170.1h-58.05V399.5zm142.2 49.05L494 483.2c-11.7 9-23.4 18-35.55 27h113.4l-40.95-27 28.35-33.3a1863 1863 0 0 1 87.3 52.2v-56.25h-269.1v62.1c31.5-20.7 59.85-40.5 85.05-59.4zm85.05 142.2V556.1H477.8v34.65h69.75z" fill="#ef8d3c"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_warning_11.svg b/static/svgs/icon_ckxx_warning_11.svg
new file mode 100644
index 0000000..94deb35
--- /dev/null
+++ b/static/svgs/icon_ckxx_warning_11.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M677.95 613.997c-.78-2.995-2.721-6.2-5.695-9.659a84.82 84.82 0 0 0-12.822-11.43c-8.288-5.99-18.073-14.404-29.356-25.096a376.797 376.797 0 0 1-33.89-37.243h61.897c7.149 0 12.147-1.645 15.015-5.04 2.931-3.311 4.365-8.12 4.365-14.34 0-6.665-1.392-11.621-4.175-14.869s-7.824-4.85-15.205-4.85h-86.128v-25.265h41.503c12.696 0 21.321-3.037 25.919-9.026 4.64-5.968 6.896-15.226 6.896-27.69v-48.8c0-13.18-2.468-22.565-7.424-28.238-4.956-5.652-13.433-8.499-25.412-8.499H496.563c-12.654 0-21.51 2.974-26.425 8.858-4.956 5.862-7.444 15.057-7.444 27.52v49.201c0 12.464 2.488 21.701 7.444 27.69 4.935 6.01 13.75 9.026 26.425 9.026h36.653v25.265h-71.893c-7.845 0-13.18 1.624-16.07 4.85s-4.344 8.183-4.344 14.868c0 6.2 1.56 10.988 4.682 14.34 3.1 3.396 8.351 5.062 15.753 5.062h55.992a277.196 277.196 0 0 1-16.239 20.098 323.041 323.041 0 0 1-33.89 32.878c-5.314 4.386-9.912 7.971-13.834 10.755a69.657 69.657 0 0 0-12.443 10.734 24.463 24.463 0 0 0-5.378 9.343c-.801 3.016-.759 5.905.17 8.667s2.298 5.631 4.154 8.626c3.943 5.778 9.131 8.225 15.584 7.297s14.742-5.315 24.885-13.16c12.443-10.397 22.755-19.634 30.938-27.71a172.445 172.445 0 0 0 21.954-26.32v72.736c0 7.381 1.813 12.611 5.398 15.732 3.543 3.122 8.584 4.682 15.037 4.682 6.685 0 11.409-1.54 14.193-4.682 2.741-3.12 4.133-8.35 4.133-15.732v-87.287a262.558 262.558 0 0 0 26.994 35.113 349.656 349.656 0 0 0 37.665 35.155c7.423 6.243 14.066 10.186 20.098 11.747 5.968 1.624 11.304-.654 15.88-6.896 2.32-3.417 3.986-6.622 5.04-9.511a14.256 14.256 0 0 0 .274-8.9zM515.331 426.368c-4.64 0-7.824-.97-9.68-2.952-1.856-1.94-2.762-5.568-2.762-10.903v-19.044c0-4.133.632-6.833 1.898-8.14 1.265-1.287 4.196-1.92 8.815-1.92h81.973c4.597 0 7.529.887 8.836 2.616 1.265 1.73 1.856 5.146 1.856 10.207v15.901c0 5.314-.738 9.026-2.214 11.072-1.54 2.088-4.345 3.12-8.436 3.12h-80.286z" fill="#ef8d3c"/><path d="M510.84 933.685a77.818 77.818 0 0 1-12.463-1.012c-14.32-2.51-344.911-66.156-344.911-547.028V259.913c0-19.571 8.435-38.403 23.156-51.69a73.453 73.453 0 0 1 53.777-18.642l.506.042c.02 0 7.634.485 20.477.485 16.871 0 60.399-1.033 100.173-10.44 31.844-7.549 72.293-33.552 113.902-73.157 2.678-2.53 3.67-3.48 5.377-4.618a73.432 73.432 0 0 1 39.985-11.768c14.34 0 28.133 4.07 39.922 11.789 4.85 3.12 11.282 8.309 20.182 15.437 25.096 20.182 67.126 53.967 102.302 62.318 38.361 9.09 78.726 10.439 99.372 10.439 11.008 0 18.347-.38 20.034-.464l.95-.063c1.602-.106 3.142-.106 4.766-.106a72.546 72.546 0 0 1 49.053 18.812 69.805 69.805 0 0 1 23.176 51.583v125.775c0 248.534-90.703 382.955-166.793 451.959-84.018 76.194-170.61 93.34-180.205 95.048a80.35 80.35 0 0 1-12.738 1.033zm-284.364-703.93c-8.668 0-16.724 2.805-22.86 8.352a29.546 29.546 0 0 0-9.87 21.784v125.733c0 447.424 298.641 505.06 311.358 507.296 3.543.57 7.782.612 11.641-.02 12.59-2.236 313.51-60.8 313.51-507.276V259.891a29.356 29.356 0 0 0-9.913-21.721 32.414 32.414 0 0 0-24.252-8.373c-3.986.317-13.413.612-23.493.612-22.397 0-66.304-1.497-108.672-11.536-44.034-10.46-90.472-47.808-118.225-70.1a292.589 292.589 0 0 0-16.892-13.075 33.89 33.89 0 0 0-34.691-.822l-.886.843c-47.366 45.089-93.15 73.833-132.376 83.154-42.326 10.039-86.76 11.536-109.473 11.536-12.696 0-21.215-.443-23.577-.612l-1.329-.042z" fill="#ef8d3c"/><path d="M423.32 432.252v210.194c0 14.298-5.757 21.448-17.271 21.448-7.381 0-12.443-1.73-15.226-5.21-2.763-3.458-4.134-8.857-4.134-16.259v-134c-5.99 8.795-11.789 13.582-17.272 14.362a18.39 18.39 0 0 1-15.226-4.64c-5.968-4.175-8.984-9.152-8.984-14.91s3.353-13.496 10.038-23.197a288.245 288.245 0 0 0 32.351-59.24c7.93-20.076 14.699-41.566 20.203-64.384 1.856-9.237 4.387-16.007 7.613-20.246 3.227-4.302 8.879-5.947 16.935-5.019 7.613 1.139 12.231 4.471 13.813 10.039 1.624 5.525 1.055 13.497-1.73 23.893a921.8 921.8 0 0 1-10.206 36 430.785 430.785 0 0 1-10.903 31.169z" fill="#ef8d3c"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_warning_12.svg b/static/svgs/icon_ckxx_warning_12.svg
new file mode 100644
index 0000000..005f780
--- /dev/null
+++ b/static/svgs/icon_ckxx_warning_12.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M868.634 793.052h-20.96V497.709c19.054-8.257 32.392-27.311 32.392-49.541V241.111c0-29.852-24.135-53.987-53.987-53.987H681.266c-12.068 0-22.23 10.162-22.23 22.23s10.162 22.23 22.23 22.23h144.178c5.081 0 9.527 4.446 9.527 9.527v206.422c0 5.081-4.446 9.527-9.527 9.527H194.745c-5.08 0-9.527-4.446-9.527-9.527V241.11c0-5.081 4.446-9.527 9.527-9.527H340.83c12.067 0 22.23-10.163 22.23-22.23s-10.163-22.23-22.23-22.23H194.745c-29.852 0-53.987 24.135-53.987 53.987v206.422c0 21.595 12.703 40.014 31.122 48.906v295.977h-14.608c-12.068 0-22.23 10.163-22.23 22.23s10.162 22.23 22.23 22.23h711.362c12.067 0 22.23-10.162 22.23-22.23s-10.163-21.594-22.23-21.594zM216.34 502.155h586.874v290.897H702.226v-174.03c0-20.96-17.15-38.109-38.109-38.109h-307.41c-20.96 0-38.109 17.15-38.109 38.109v174.03H216.34V502.155zm441.426 290.897H363.059V624.738H657.13v168.314z" fill="#ef8d3c"/><path d="M402.438 211.259a24.135 24.135 0 1 0 48.27 0 24.135 24.135 0 1 0-48.27 0zM486.91200000000003 211.259a24.135 24.135 0 1 0 48.27 0 24.135 24.135 0 1 0-48.27 0zM571.3860000000001 211.259a24.135 24.135 0 1 0 48.271 0 24.135 24.135 0 1 0-48.271 0z" fill="#ef8d3c"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_warning_2.svg b/static/svgs/icon_ckxx_warning_2.svg
new file mode 100644
index 0000000..6d2dad8
--- /dev/null
+++ b/static/svgs/icon_ckxx_warning_2.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M512.045 882.788a264.912 264.912 0 0 0 265.16-265.406c0-105.273-141.106-311.865-234.023-451.24-20.51-33.856-42.01-32.62-62.274 0-93.164 139.375-234.269 347.45-234.269 451.24a264.912 264.912 0 0 0 265.406 265.406zm80.561-125.537a158.404 158.404 0 0 0 56.838-54.86 153.461 153.461 0 0 0 24.712-76.607 31.878 31.878 0 1 1 63.51 3.707 234.763 234.763 0 0 1-33.609 106.261 226.114 226.114 0 0 1-80.067 77.843 32.126 32.126 0 0 1-31.384-56.344z" fill="#ef8d3c"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_warning_3.svg b/static/svgs/icon_ckxx_warning_3.svg
new file mode 100644
index 0000000..8b43dd9
--- /dev/null
+++ b/static/svgs/icon_ckxx_warning_3.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M531.2 295.85c0 9.046.768 17.92 2.261 26.582H288l-49.024 120.405a32.683 32.683 0 0 0 3.413 30.891 33.963 33.963 0 0 0 27.947 14.592h440.661a33.963 33.963 0 0 0 27.947-14.592 32.725 32.725 0 0 0 4.864-26.453l5.29-1.792c17.835-6.443 34.262-15.872 48.555-27.691l30.806 70.528h50.645c9.344 0 16.896 7.424 16.896 16.597v23.894a33.28 33.28 0 0 1-25.6 32.17l-41.941 10.283v248.875c0 18.346-15.147 33.194-33.792 33.194h-33.792a33.493 33.493 0 0 1-33.75-33.194v-33.152H254.208v33.152c0 18.346-15.104 33.194-33.75 33.194h-33.791a33.493 33.493 0 0 1-33.792-33.194V571.307l-41.984-10.24a33.28 33.28 0 0 1-25.558-32.299v-23.893c0-9.174 7.552-16.64 16.896-16.64h50.646l83.797-192C247.339 271.787 271.744 256 298.795 256H536.32a156.858 156.858 0 0 0-5.12 39.808zm229.675 258.817H220.459v165.93h540.416v-165.93z" fill="#ef8d3c"/><path d="M256 597.333c83.328 0 139.52 21.462 168.533 64.427a11.69 11.69 0 0 1-.426 13.995 19.37 19.37 0 0 1-15.446 6.912H291.968c-19.883 0-35.968-12.715-35.968-28.459v-56.875zm469.333 0v56.875c0 15.744-16.085 28.459-35.968 28.459H572.587a19.37 19.37 0 0 1-15.403-6.912 11.69 11.69 0 0 1-.427-14.038c29.014-42.922 85.206-64.384 168.576-64.384zM730.667 313.259h80v56.746h-80v56.662h-53.334v-56.704h-80v-56.704h80v-28.331h-80v-56.661h68.95l-56.576-60.16L647.467 128 704 188.16 760.576 128l37.717 40.107-56.576 60.16h68.95v56.661h-80z" fill="#ef8d3c"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_warning_4.svg b/static/svgs/icon_ckxx_warning_4.svg
new file mode 100644
index 0000000..287ca52
--- /dev/null
+++ b/static/svgs/icon_ckxx_warning_4.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1039 1024" xmlns="http://www.w3.org/2000/svg" width="202.93" height="200"><path d="M864.02 801.028c-10.137 40.854-46.112 70.643-88.683 70.643-39.518 0-73.177-25.32-85.986-61.812H334.64c-12.81 36.52-46.496 61.812-86.015 61.812-42.57 0-78.49-29.79-88.656-70.643-44.261-18.56-72.469-64.374-68.762-115.23l8.693-118.31c3.407-47.231 33.14-88.983 75.74-108.442l38.265-184.428c14.007-67.426 80.098-122.29 147.362-122.29h301.455c67.263 0 133.354 54.836 147.335 122.29l38.265 184.427c42.598 19.459 72.332 61.213 75.766 108.443l8.667 118.31c3.706 50.857-24.474 96.67-68.735 115.23zm8.723-229.587c-2.261-30.716-24.856-58.596-54.999-67.808-9.866-3.025-17.034-11.774-18.233-22.24-.19-1.498-.299-2.97-.38-4.414-.056-.763-.056-1.554-.218-2.345L759.72 285.628c-9.076-43.633-53.5-80.507-96.996-80.507H361.268c-43.525 0-87.922 36.874-96.997 80.507l-39.219 189.034c-.163.708-.163 1.5-.218 2.289-.109 1.5-.217 3.026-.38 4.524-1.227 10.466-8.368 19.16-18.206 22.185-30.17 9.185-52.79 37.065-55.025 67.808l-8.668 118.31c-2.318 31.478 16.678 58.377 46.195 65.382 11.175 2.698 19.296 12.673 19.868 24.447 1.063 22.048 18.643 39.299 40.01 39.299 20.875 0 37.991-16.216 39.845-37.746 1.199-13.6 12.318-24.038 25.645-24.038h395.728c13.327 0 24.501 10.439 25.646 24.038 1.854 21.53 18.968 37.747 39.845 37.747 21.367 0 38.946-17.28 40.01-39.3.598-11.829 8.72-21.777 19.895-24.447 29.488-7.005 48.485-33.931 46.14-65.41l-8.64-118.308zm-90.265 104.764c-10.793 11.038-25.918 17.47-41.154 17.47-15.235 0-30.36-6.433-41.127-17.47-10.765-11.038-17.033-26.545-17.033-42.162 0-15.616 6.268-31.151 17.033-42.19 10.767-11.037 25.892-17.47 41.127-17.47s30.361 6.434 41.154 17.47c10.765 11.039 17.033 26.574 17.033 42.19 0 15.617-6.268 31.124-17.033 42.162zm-49.384-202.088c-5.043 6.24-13.246 9.866-22.811 9.866H313.654c-9.538 0-17.742-3.625-23.138-10.248-5.15-6.078-7.358-14.909-5.913-24.474.136-.654.245-1.281.381-1.908l31.151-138.805c3.925-21.912 25.074-40.172 46.823-40.172H660.98c21.748 0 42.898 18.314 46.795 40.172l31.15 138.832c.165.627.274 1.255.382 1.909 1.418 9.565-.763 18.396-6.212 24.828zM657.845 321.14H366.173l-24.718 110.053h341.083L657.845 321.14zM323.793 676.205c-10.766 11.038-25.891 17.47-41.127 17.47s-30.36-6.433-41.126-17.47c-10.792-11.038-17.06-26.545-17.06-42.162 0-15.616 6.268-31.151 17.06-42.19 10.766-11.037 25.892-17.47 41.126-17.47 15.236 0 30.361 6.434 41.127 17.47 10.793 11.039 17.06 26.574 17.06 42.19 0 15.617-6.267 31.124-17.06 42.162z" fill="#ef8d3c"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_warning_5.svg b/static/svgs/icon_ckxx_warning_5.svg
new file mode 100644
index 0000000..41e1173
--- /dev/null
+++ b/static/svgs/icon_ckxx_warning_5.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M834.895 300.432c-.045-32.89-20.659-61.996-50.98-71.974l-244.263-81.166a88.959 88.959 0 0 0-55.327-.044l-244.33 81.233c-30.412 10.069-50.911 39.062-50.911 71.974V478.67c0 110.699 51.744 215.812 138.564 281.41l140.796 106.374c12.637 9.597 27.73 14.688 43.5 14.688 15.634 0 30.861-5.135 43.477-14.665L696.33 760.102c86.797-65.531 138.588-170.713 138.588-281.434V300.455l-.023-.023zm-46.79 178.237c0 95.245-44.626 185.918-119.394 242.37L527.848 827.391c-4.664 3.515-10.139 5.362-15.905 5.362-5.835 0-11.218-1.803-15.814-5.294l-140.863-106.42c-74.768-56.52-119.419-147.126-119.419-242.37V300.455c0-11.87 7.368-22.234 18.429-25.928l244.286-81.188a43.368 43.368 0 0 1 26.897.045l244.197 81.143c10.969 3.582 18.45 14.103 18.45 26.019v178.123zm-144.782 2.815c12.705 0 23.021-10.587 23.021-23.675 0-13.066-10.317-23.653-23.021-23.653h-60.824l72.74-76.143c8.583-9.462 8.222-24.06-.676-33.025-8.898-8.943-23.045-9.012-32.056-.202L517.913 434.178H505.05l-93.038-108.334c-5.227-6.58-13.696-9.778-21.987-8.178-8.312 1.599-15.093 7.727-17.662 15.994-2.613 8.268-.563 17.368 5.294 23.61l66.027 76.885h-62.918c-12.75 0-23.09 10.61-23.09 23.698s10.363 23.653 23.09 23.653h103.603l4.122 4.8v60.756H380.766c-12.75 0-23.09 10.587-23.09 23.675s10.363 23.675 23.09 23.675h107.703v54.99c-.563 8.784 3.672 17.165 10.971 21.693 7.411 4.64 16.693 4.64 24.104 0 7.412-4.686 11.647-13.179 10.97-22.076v-54.652h108.762c12.751 0 23.068-10.587 23.068-23.653s-10.317-23.653-23.068-23.653h-108.76v-62.672h-.023l2.815-2.907h106.015z" fill="#ef8d3c"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_warning_6.svg b/static/svgs/icon_ckxx_warning_6.svg
new file mode 100644
index 0000000..aa7bfef
--- /dev/null
+++ b/static/svgs/icon_ckxx_warning_6.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M256.347 192.355c-28.228 0-51.207 22.808-51.207 51.027v588.38c0 28.245 22.96 51.027 51.207 51.027h511.306c28.228 0 51.207-22.809 51.207-51.028v-588.38c0-28.245-22.96-51.026-51.207-51.026h-76.652l25.572 25.571v-38.395c0-21.079-17.153-38.32-38.313-38.32H345.74c-21.241 0-38.313 17.156-38.313 38.32v38.395l25.572-25.571h-76.652zm102.223 51.143V179.53c0 7.026-5.769 12.824-12.83 12.824h332.52a12.773 12.773 0 0 1-12.83-12.824v63.967h102.223c.09 0 .063 588.263.063 588.263 0-.112-511.37-.116-511.37-.116-.089 0-.062-588.263-.062-588.263 0 .112 76.715.116 76.715.116h25.571zm306.86 12.824c0-7.026 5.769-12.824 12.83-12.824H345.74c7.144 0 12.83 5.715 12.83 12.824v-38.396c0-14.123-11.449-25.571-25.571-25.571-14.123 0-25.572 11.448-25.572 25.571v38.396c0 21.078 17.153 38.32 38.313 38.32h332.52c21.241 0 38.313-17.157 38.313-38.32v-38.396c0-14.123-11.449-25.571-25.572-25.571-14.122 0-25.571 11.448-25.571 25.571v38.396zm0 204.535c14.123 0 25.571-11.45 25.571-25.572 0-14.123-11.448-25.572-25.571-25.572H358.57c-14.123 0-25.571 11.45-25.571 25.572 0 14.123 11.448 25.572 25.571 25.572h306.86zm-306.86 76.715c-14.123 0-25.571 11.448-25.571 25.571 0 14.123 11.448 25.572 25.571 25.572h306.86c14.123 0 25.571-11.449 25.571-25.572s-11.448-25.571-25.571-25.571H358.57zm0 127.858C344.447 665.43 333 676.879 333 691c0 14.123 11.448 25.572 25.571 25.572h204.573c14.123 0 25.572-11.449 25.572-25.572 0-14.122-11.449-25.571-25.572-25.571H358.57z" fill="#ef8d3c"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_warning_7.svg b/static/svgs/icon_ckxx_warning_7.svg
new file mode 100644
index 0000000..5c8d715
--- /dev/null
+++ b/static/svgs/icon_ckxx_warning_7.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M769.766 532.672c-83.11 0-151.032 67.922-151.032 151.031s67.922 151.031 151.032 151.031c83.109 0 151.03-67.922 151.03-151.03s-67.921-151.032-151.03-151.032zm83.109 167.484H685.391c-9.282 0-16.453-8.015-16.453-17.297s7.171-16.453 16.453-16.453h168.328c9.281 0 15.61 8.016 15.61 17.297s-7.173 16.453-16.454 16.453zm-232.453-184.36c0-13.077-10.547-23.624-23.625-23.624H377c-13.078 0-23.625 10.547-23.625 23.625s10.547 23.625 23.625 23.625h219.797c13.078 0 23.625-10.969 23.625-23.625zm68.344-129.937c0-13.078-10.547-23.625-23.625-23.625H377c-13.078 0-23.625 10.547-23.625 23.625s10.547 23.625 23.625 23.625h288.14c13.079 0 23.626-10.546 23.626-23.625zM376.578 621.688c-13.078 0-23.625 10.546-23.625 23.625s10.547 23.625 23.625 23.625h127.406c13.079 0 25.313-10.547 25.313-23.625s-10.547-23.625-23.625-23.625H376.578z" fill="#ef8d3c"/><path d="M646.578 809H344.516c-20.25 0-36.282-16.453-36.282-36.281v-429.89c0-20.25 16.454-36.282 36.282-36.282H690.03c20.25 0 36.282 16.453 36.282 36.281V514.11c17.296-6.75 35.437-11.812 54.421-13.922V324.267c0-40.079-32.484-72.563-72.562-72.563h-71.297v-25.312c0-40.078-32.484-72.985-72.563-72.985H182.517c-40.078 0-72.563 32.485-72.563 72.985v466.593c0 40.078 32.484 72.985 72.563 72.985h71.297v25.312c0 40.078 32.484 72.985 72.562 72.985h392.766c-27.844-13.078-52.735-32.063-72.563-55.266zm-445.922-97.875c-20.25 0-36.281-16.453-36.281-36.281V244.53c0-20.25 16.453-36.281 36.281-36.281h345.516c20.25 0 36.281 16.453 36.281 36.281v7.172H326.375c-40.078 0-72.563 32.484-72.563 72.563v386.859h-53.156z" fill="#ef8d3c"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_warning_8.svg b/static/svgs/icon_ckxx_warning_8.svg
new file mode 100644
index 0000000..1af5d80
--- /dev/null
+++ b/static/svgs/icon_ckxx_warning_8.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1025 1024" xmlns="http://www.w3.org/2000/svg" width="200.195" height="200"><path d="M507.552 932.326c-55.919 0-110.176-10.956-161.265-32.565-49.336-20.867-93.64-50.736-131.68-88.776-38.041-38.041-67.91-82.344-88.776-131.679-21.61-51.089-32.566-105.347-32.566-161.265s10.957-110.178 32.566-161.267c20.867-49.335 50.736-93.639 88.776-131.68 38.04-38.04 82.344-67.91 131.68-88.776 51.089-21.609 105.346-32.565 161.265-32.565s110.177 10.956 161.266 32.565c49.335 20.867 93.638 50.736 131.679 88.776 38.04 38.04 67.91 82.344 88.776 131.68 21.609 51.089 32.565 105.346 32.565 161.266s-10.956 110.176-32.565 161.265c-20.867 49.336-50.736 93.638-88.776 131.68s-82.344 67.909-131.68 88.775c-51.088 21.61-105.346 32.566-161.265 32.566zm0-786.857c-205.435 0-372.57 167.134-372.57 372.57S302.116 890.61 507.552 890.61s372.57-167.134 372.57-372.57-167.134-372.571-372.57-372.571z" fill="#ef8d3c"/><path d="M385.502 427.85h24.31v108.663c0 27.75-2.946 53.042-8.84 75.879l10.314-9.945c23.574 26.031 44.323 49.727 62.25 71.09L450.7 692.692c-15.47-21.12-33.399-43.465-53.779-67.039-11.05 34.135-29.59 61.882-55.62 83.246a205.834 205.834 0 0 0-19.155-22.1c42.236-30.941 63.356-81.037 63.356-150.286V427.851zm-46.411-55.988h117.134v225.796h-24.312V395.805h-68.512v204.063h-24.31V371.862zm131.868 127.816h119.344c17.925-29.22 31.553-52.794 40.886-70.722l27.258 16.207c-13.752 20.627-26.4 38.8-37.94 54.515h68.881v25.784h-218.43v-25.784zm5.525-102.769h93.56c-7.367-15.223-13.877-27.87-19.522-37.94l23.574-12.155c7.612 12.279 15.223 25.663 22.837 40.15l-20.627 9.944h103.506v25.784H476.484V396.91zm13.628 165.02h173.86v149.179H637.45v-23.574H516.632v23.943h-26.52V561.928zm5.526-117.871 20.995-14.366c14.979 18.418 27.378 35.117 37.203 50.096L530.263 497.1c-12.772-21.854-24.312-39.535-34.625-53.042zm141.813 143.286H516.632v74.774h120.819v-74.774z" fill="#ef8d3c"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_ckxx_warning_9.svg b/static/svgs/icon_ckxx_warning_9.svg
new file mode 100644
index 0000000..8726106
--- /dev/null
+++ b/static/svgs/icon_ckxx_warning_9.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="m519.2 899.45-32.85-19.35-5.4-3.15c-97.2-54.9-156.6-93.6-190.35-129.6-23.4-25.2-40.95-52.2-53.55-80.1-8.1-18.45-13.05-34.2-15.3-45.9l-17.1 3.6 17.55-1.8-.9-8.1-17.55 1.8h17.55l-1.8-402.3-12.15 16.65 310.5-106.65H506.6L817.1 231.2l-11.7-16.65-1.8 404.55h17.55l-17.1-2.7c-2.25 13.05-6.75 30.15-15.3 49.5-12.15 28.35-29.7 55.8-54 81.45-21.6 22.95-61.2 51.75-112.05 83.25-34.2 21.15-67.95 40.05-95.4 54.45L502.1 899l17.1.45zm-17.55 30.15 8.55 4.95 8.55-4.95 24.75-13.95c27.9-14.85 62.55-34.2 97.2-55.35 53.55-32.85 94.95-63 119.25-89.1 47.7-50.85 71.1-105.3 78.3-149.85v-2.7l1.8-404.55v-12.6l-11.7-4.05-310.5-106.2-5.4-2.25-5.85 1.8-310.5 106.65-11.7 4.05v12.6l1.8 402.3v1.8l.9 8.1.45 1.35c2.7 13.95 8.1 32.4 17.55 53.1 13.95 31.5 33.75 62.1 59.85 90 37.35 39.6 98.1 78.75 198.45 135.9l5.4 3.15 32.85 19.8z" fill="#ef8d3c"/><path d="M448.1 470.6c19.35 33.3 40.5 61.2 63.9 84.15 25.2-23.85 45.45-52.2 61.2-84.6l51.75 34.65c-18.45 33.3-39.6 62.55-63.45 88.2 42.75 24.3 98.55 40.5 168.3 48.6-14.85 24.75-27 45.45-36.45 63-69.75-9.45-130.05-31.95-180.9-67.95-50.4 35.1-111.6 58.05-183.6 69.75-7.2-16.2-19.35-37.35-35.55-63 67.5-8.55 123.75-25.65 169.2-50.85-24.3-25.2-45.45-53.55-63.45-84.6l49.05-37.35zM298.25 326.15h177.3c-5.85-13.95-11.25-26.1-15.75-36l65.25-19.8c7.2 13.95 16.2 32.4 27.45 55.8h170.1v55.35H298.7v-55.35zm2.7 157.05c48.6-32.4 90.9-66.15 126.9-101.25l47.25 43.65c-41.85 38.25-86.4 74.25-133.2 108.45-9-13.5-22.95-30.6-40.95-50.85zm290.7-99.45c48.15 34.2 91.8 66.15 130.5 96.3l-45.9 50.4c-40.5-36.9-82.35-71.55-125.1-103.95l40.5-42.75z" fill="#ef8d3c"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_clear.svg b/static/svgs/icon_clear.svg
new file mode 100644
index 0000000..cb5386f
--- /dev/null
+++ b/static/svgs/icon_clear.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><svg width="26" height="26" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z" fill="#c0c4cc" stroke="#c0c4cc" stroke-width="4" stroke-linejoin="round"/><path d="M29.6567 18.3432L18.343 29.6569" stroke="#FFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/><path d="M18.3433 18.3432L29.657 29.6569" stroke="#FFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_close_1.svg b/static/svgs/icon_close_1.svg
new file mode 100644
index 0000000..32b078b
--- /dev/null
+++ b/static/svgs/icon_close_1.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M512.001 15.678C237.414 15.678 14.82 238.273 14.82 512.86S237.414 1010.04 512 1010.04s497.18-222.593 497.18-497.18S786.589 15.678 512.002 15.678zm213.211 645.937c17.798 17.803 17.798 46.657 0 64.456-17.798 17.797-46.658 17.797-64.456 0L512.001 577.315 363.241 726.07c-17.799 17.797-46.652 17.797-64.45 0-17.804-17.799-17.804-46.653 0-64.456L447.545 512.86 298.79 364.104c-17.803-17.798-17.803-46.657 0-64.455 17.799-17.798 46.652-17.798 64.45 0l148.761 148.755 148.755-148.755c17.798-17.798 46.658-17.798 64.456 0 17.798 17.798 17.798 46.657 0 64.455L576.456 512.86l148.756 148.755zm0 0" fill="#A3A3A3"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_close_2.svg b/static/svgs/icon_close_2.svg
new file mode 100644
index 0000000..d2f13ed
--- /dev/null
+++ b/static/svgs/icon_close_2.svg
@@ -0,0 +1 @@
+<svg width="25" height="25" xmlns="http://www.w3.org/2000/svg"><g fill="#848484" fill-rule="nonzero"><path d="m2.016.403 22.58 22.58c.538.539.538 1.076 0 1.614-.537.537-1.074.537-1.612 0L.404 2.017C-.135 1.477-.135.94.403.402c.537-.537 1.074-.537 1.612 0z"/><path d="m24.597 2.016-22.58 22.58c-.539.538-1.076.538-1.614 0-.537-.537-.537-1.074 0-1.612L22.983.404c.539-.538 1.076-.538 1.614 0 .537.537.537 1.074 0 1.612z"/></g></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_close_3.svg b/static/svgs/icon_close_3.svg
new file mode 100644
index 0000000..8ceb001
--- /dev/null
+++ b/static/svgs/icon_close_3.svg
@@ -0,0 +1 @@
+<svg t="1689159585043" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2295" width="200" height="200"><path d="M739.176296 306.441481l-21.617777-21.617777-205.558519 205.558518-205.558519-205.558518-21.617777 21.617777 205.558518 205.558519-205.558518 205.558519 21.617777 21.617777 205.558519-205.558518 205.558519 205.558518 21.617777-21.617777-205.558518-205.558519 205.558518-205.558519z" fill="#ffffff" p-id="2296"></path><path d="M512 1024A512 512 0 1 1 1024 512 512.758519 512.758519 0 0 1 512 1024z m0-986.074074A474.074074 474.074074 0 1 0 986.074074 512 474.832593 474.832593 0 0 0 512 37.925926z" fill="#ffffff" p-id="2297"></path></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_colon.svg b/static/svgs/icon_colon.svg
new file mode 100644
index 0000000..35ea074
--- /dev/null
+++ b/static/svgs/icon_colon.svg
@@ -0,0 +1 @@
+<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M7.667 10.667a2.667 2.667 0 1 1 0 5.333 2.667 2.667 0 0 1 0-5.333zM7.667 0a2.667 2.667 0 1 1 0 5.333 2.667 2.667 0 0 1 0-5.333z" fill="#2C2C34" fill-rule="nonzero"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_conceal_agreement.svg b/static/svgs/icon_conceal_agreement.svg
new file mode 100644
index 0000000..d47be8c
--- /dev/null
+++ b/static/svgs/icon_conceal_agreement.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="55px" height="67px" viewBox="0 0 55 67" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>xieyi</title>
+    <g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="个人中心" transform="translate(-335.000000, -605.000000)" fill-rule="nonzero">
+            <g id="编组-2" transform="translate(262.000000, 565.000000)">
+                <g id="xieyi" transform="translate(73.000000, 40.000000)">
+                    <path d="M51.3078721,9.61114793 C46.4699301,9.60317639 37.7250317,8.415418 30.2134903,1.06965045 C28.8846477,-0.229709412 26.8038552,-0.369211238 25.3437198,0.782675264 C21.4407419,3.86367272 13.4199434,9.08104099 3.60083095,9.32815851 C1.59563132,9.37997347 0.00011217024,11.0300808 0.00011217024,13.0428928 L0.00011217024,36.4233988 C0.00011217024,41.1545035 -0.270318328,51.6530123 25.7455554,66.5119496 C26.8263398,67.1285134 28.1432628,67.1629171 29.2546548,66.6036223 C54.87665,53.6937248 54.9999929,42.6093083 54.9999929,38.3564955 L54.9999929,13.329868 C55.0039642,11.2811841 53.3528574,9.61513369 51.3078721,9.61114793 Z M24.5639199,16.7376983 C24.5639199,15.1115056 25.8808268,13.7922169 27.5040836,13.7922169 C29.1273405,13.7922169 30.4442474,15.1115056 30.4442474,16.7376983 L30.4442474,35.4827579 C30.4442474,37.1089506 29.1273405,38.4282393 27.5040836,38.4282393 C25.8808268,38.4282393 24.5639199,37.1089506 24.5639199,35.4827579 L24.5639199,16.7376983 Z M27.5001051,49.8235455 C25.3079126,49.8235455 23.5334701,48.0458937 23.5334701,45.8497364 C23.5334701,43.6535791 25.3079126,41.8759273 27.5001051,41.8759273 C29.6922975,41.8759273 31.4667467,43.6535791 31.4667467,45.8497364 C31.4707186,48.0419079 29.6922975,49.8235455 27.5001051,49.8235455 Z" id="形状" fill="#05C46D"></path>
+                    <path d="M52.3809524,16.2658124 C52.3809524,14.028472 52.2031629,11.8308007 51.8673383,9.68866623 C51.5681482,9.60924572 51.2601962,9.56792992 50.9507347,9.56569184 C46.1464674,9.55775801 37.4624384,8.37561713 30.0031814,1.06459152 C28.6835882,-0.228622998 26.6172792,-0.367465047 25.1673071,0.778973588 C21.2914961,3.84539942 13.3265268,9.03809205 3.57576076,9.28404083 C1.58451842,9.33561073 0.000108142057,10.9779138 0.000108142057,12.9812062 L0.000108142057,36.2511337 C0.000108142057,40.0554058 -0.173622133,47.6163471 13.4055444,58.1842105 C35.1748802,56.6966171 52.3809524,38.5043418 52.3809524,16.2658124 L52.3809524,16.2658124 Z M24.3889842,16.6585371 C24.3889842,15.0400355 25.6967247,13.7269864 27.3086828,13.7269864 C28.9206409,13.7269864 30.2283814,15.0400355 30.2283814,16.6585371 L30.2283814,35.3149416 C30.2283814,36.9334432 28.9206409,38.2464923 27.3086828,38.2464923 C25.6967247,38.2464923 24.3889842,36.9334432 24.3889842,35.3149416 L24.3889842,16.6585371 Z M27.3047319,41.6739074 C29.4816655,41.6739074 31.2437569,43.4431518 31.2437569,45.6289224 C31.2437569,47.8146929 29.4816655,49.5839373 27.3047319,49.5839373 C25.1277983,49.5839373 23.3657069,47.8146929 23.3657069,45.6289224 C23.3657069,43.4471187 25.1317492,41.6739074 27.3047319,41.6739074 Z" id="形状" fill="#1DCE75"></path>
+                    <path d="M30.4292318,1.06167071 C29.0908948,-0.227995749 26.9952354,-0.366456872 25.5246675,0.7768364 C21.5938033,3.8348492 13.5156973,9.0132952 3.62642858,9.25856919 C1.60690206,9.3099976 0,10.9477949 0,12.9455911 L0,36.1516753 C0,37.8092527 -0.0319597303,40.1789159 1.07397146,43.1973684 C9.94546292,42.7898971 18.1037089,39.688368 24.735289,34.7077236 L24.735289,16.6128328 C24.735289,14.9987717 26.0616051,13.6893251 27.6964599,13.6893251 C29.3313146,13.6893251 30.6576307,14.9987717 30.6576307,16.6128328 L30.6576307,29.3196079 C36.0550557,23.3855598 39.761528,15.9284393 41.031746,7.67615635 C37.5616866,6.42605021 33.8672353,4.3768256 30.4292318,1.06167071 L30.4292318,1.06167071 Z" id="路径" fill="#3CD38E"></path>
+                    <path d="M27.9365079,0.0774145135 C26.9249123,-0.136275565 25.8427402,0.0895101784 24.9762183,0.791058738 C21.1298023,3.90770838 13.2252409,9.18545013 3.54842662,9.4354272 C1.57228627,9.48784175 0,11.1570435 0,13.1931471 L0,27.3289474 C13.0997717,23.5067173 23.5529268,13.2455616 27.9365079,0.0774145135 Z" id="路径" fill="#48E1AA"></path>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/static/svgs/icon_contact.svg b/static/svgs/icon_contact.svg
new file mode 100644
index 0000000..9da144c
--- /dev/null
+++ b/static/svgs/icon_contact.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="60px" height="62px" viewBox="0 0 60 62" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>kefu</title>
+    <g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="个人中心" transform="translate(-98.000000, -840.000000)" fill-rule="nonzero">
+            <g id="kefu" transform="translate(98.000000, 840.000000)">
+                <path d="M54.4568567,22.1922219 C53.6171032,9.81756255 43.0431433,0 30.1617874,0 C17.3343606,0 6.79892142,9.73309388 5.87827427,22.0309636 C2.42681048,23.4976468 0.00385208012,26.9109487 0.00385208012,30.880976 L0.00385208012,40.7522913 C0.00385208012,46.0546198 4.33359014,50.3702006 9.65331279,50.3702006 L13.3705701,50.3702006 C15.3004622,50.3702006 16.8644068,48.8113698 16.8644068,46.887788 L16.8644068,24.7454793 C16.8644068,22.8218974 15.3004622,21.2630666 13.3705701,21.2630666 L12.9892142,21.2630666 C14.2488444,13.1809512 21.4676425,6.96482537 30.1617874,6.96482537 C38.8559322,6.96482537 46.0785824,13.1809512 47.3343606,21.2630666 L46.633282,21.2630666 C44.7033898,21.2630666 43.1394453,22.8218974 43.1394453,24.7454793 L43.1394453,46.887788 C43.1394453,48.147139 43.8135593,49.2490711 44.8189522,49.8595492 C42.5385208,52.0672529 38.9060092,54.5897944 33.7827427,55.3116175 C33.1435391,54.8378862 32.3681896,54.5820766 31.5716487,54.5821154 L29.0254237,54.5821154 C26.9684129,54.5821154 25.3043143,56.2446123 25.3043143,58.2910577 C25.3043143,60.3413426 26.972265,62 29.0254237,62 L31.5716487,62 C32.6733436,62 33.6633282,61.5200644 34.3451464,60.7598464 C44.0909091,59.4928164 49.6417565,53.1346297 51.683359,50.270374 C56.3751926,49.6215011 60,45.6054 60,40.7561308 L60,30.880976 C59.9961479,27.0414912 57.7234206,23.7318553 54.4568567,22.1922219 Z" id="路径" fill="#BD50D3"></path>
+                <path d="M59.6918336,28.5043349 C58.9732119,25.7301653 57.0552526,23.4175715 54.4568567,22.1922219 C53.6171032,9.81756255 43.0431433,0 30.1617874,0 C17.3343606,0 6.79892142,9.73309388 5.87827427,22.0309636 C2.42681048,23.4976468 0.00385208012,26.9109487 0.00385208012,30.880976 L0.00385208012,40.7522913 C0.00385208012,46.0546198 4.33359014,50.3702006 9.65331279,50.3702006 L13.3705701,50.3702006 C15.3004622,50.3702006 16.8644068,48.8113698 16.8644068,46.887788 L16.8644068,24.7454793 C16.8644068,22.8218974 15.3004622,21.2630666 13.3705701,21.2630666 L12.9892142,21.2630666 C14.2488444,13.1809512 21.4676425,6.96482537 30.1617874,6.96482537 C38.8559322,6.96482537 46.0785824,13.1809512 47.3343606,21.2630666 L46.633282,21.2630666 C44.7033898,21.2630666 43.1394453,22.8218974 43.1394453,24.7454793 L43.1394453,46.887788 C43.1394453,47.3446866 43.2318952,47.7785484 43.3898305,48.1778548 C50.6009245,43.4053753 56.3212635,36.5634134 59.6918336,28.5043349 Z" id="路径" fill="#BF5CD6"></path>
+                <path d="M30.1579353,0 C17.3305085,0 6.79506934,9.73309388 5.87442219,22.0309636 C2.4229584,23.4976468 0,26.9109487 0,30.880976 L0,39.3355214 C2.30739599,39.7079514 4.67642527,39.9037652 7.08782743,39.9037652 C10.4468413,39.9037652 13.7172573,39.5274957 16.8605547,38.8133515 L16.8605547,24.7454793 C16.8605547,22.8218974 15.2966102,21.2630666 13.366718,21.2630666 L12.9853621,21.2630666 C14.2449923,13.1809512 21.4637904,6.96482537 30.1579353,6.96482537 C37.114792,6.96482537 43.124037,10.9463711 45.8936826,16.6748823 C47.211094,14.2099331 48.3012327,11.6067624 49.133282,8.89224672 C44.6687211,3.47473371 37.8235747,0 30.1579353,0 Z" id="路径" fill="#CA6EE0"></path>
+                <path d="M30.1579353,6.96482537 C30.4776579,6.96482537 30.7935285,6.97634382 31.1093991,6.99170176 C32.6502311,4.9644538 34.0177196,2.79898439 35.1887519,0.514490959 C33.5337057,0.173075391 31.8480561,0.000687579986 30.1579353,0 C17.3305085,0 6.79506934,9.73309388 5.87442219,22.0309636 C4.84880216,22.4677868 3.9075965,23.079779 3.09322034,23.8393609 C6.56009245,23.2826356 9.88828968,22.3227644 13.0315871,21.0058212 C14.4029276,13.0504087 21.5600924,6.96482537 30.1579353,6.96482537 L30.1579353,6.96482537 Z" id="路径" fill="#D786EA"></path>
+            </g>
+        </g>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/static/svgs/icon_contact_person.svg b/static/svgs/icon_contact_person.svg
new file mode 100644
index 0000000..cad26fd
--- /dev/null
+++ b/static/svgs/icon_contact_person.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M544 48c182.528 0 331.072 145.536 335.872 326.912L880 384v16h16a80 80 0 0 1 80 80v112a80 80 0 0 1-80 80l-15.776.032c-4.864 180.48-112.16 300.32-325.184 303.904l-1.28.032L552 976l-4.32-.032L544 976h-64l-8 .032a80 80 0 0 1-80-80v-32a80 80 0 0 1 80-80h80a80 80 0 0 1 80 80v7.04c108.736-25.216 154.976-103.008 152.256-222.592L784 640V384a240 240 0 0 0-232.224-239.872L544 144h-64a240 240 0 0 0-239.872 232.224L240 384v208a80 80 0 0 1-80 80h-32a80 80 0 0 1-80-80V480a80 80 0 0 1 80-80h16v-16c0-182.528 145.536-331.072 326.912-335.872L480 48h64z" fill="#1F68E9"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_delete.svg b/static/svgs/icon_delete.svg
new file mode 100644
index 0000000..fa92580
--- /dev/null
+++ b/static/svgs/icon_delete.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><svg width="26" height="26" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14 11L4 24L14 37H44V11H14Z" fill="none" stroke="#2C2C34" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><path d="M21 19L31 29" stroke="#2C2C34" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><path d="M31 19L21 29" stroke="#2C2C34" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_down.svg b/static/svgs/icon_down.svg
new file mode 100644
index 0000000..4cc3e40
--- /dev/null
+++ b/static/svgs/icon_down.svg
@@ -0,0 +1 @@
+<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg"><path d="M17.645 5.377C17.38 5.094 17.025 5 16.67 5l-13.296.094c-.355 0-.71.095-.975.378a1.43 1.43 0 0 0 0 1.98l6.648 7.076c.089.095.266.189.355.283l.088.095c.444.188 1.064.094 1.419-.283l6.648-7.17c.62-.66.532-1.51.088-2.076Z" fill="#2C2C34" fill-rule="nonzero"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_easter_egg.svg b/static/svgs/icon_easter_egg.svg
new file mode 100644
index 0000000..05d9988
--- /dev/null
+++ b/static/svgs/icon_easter_egg.svg
@@ -0,0 +1 @@
+<svg id="Capa_1" enable-background="new 0 0 512 512" height="512" viewBox="0 0 512 512" width="512" xmlns="http://www.w3.org/2000/svg"><path d="m451 286c0 13.5-1.5 30.599-3.6 45l-51.601 30h-293.699l-37.5-30c-2.1-14.101-3.6-30-3.6-45 0-33.001 5.099-69.6 15.901-105l38.399-30h288.3l31.5 30c10.801 35.4 15.9 72.299 15.9 105z" fill="#ffda2d"/><path d="m451 286c0 13.5-1.5 30.599-3.6 45l-51.601 30h-139.799v-210h147.599l31.5 30c10.802 35.4 15.901 72.299 15.901 105z" fill="#fdbf00"/><path d="m395.799 94.6-31.5 49.2h-215.099l-33.9-48.001c34.501-55.799 84-95.799 140.7-95.799 56.4 0 105.3 39.399 139.799 94.6z" fill="#f2f2f2"/><path d="m364.3 143.8h-108.3v-143.8c56.4 0 105.3 39.399 139.799 94.6z" fill="#e7e7f2"/><path d="m417.1 419.2c-33.6 57.299-90.899 92.8-161.1 92.8-69.901 0-127.2-35.2-160.8-92.201l29.1-49.499h264.9z" fill="#f2f2f2"/><path d="m389.2 370.3 27.9 48.9c-33.6 57.299-90.899 92.8-161.1 92.8v-141.7z" fill="#e7e7f2"/><g fill="#fdbf00"><path d="m435.099 181h-358.198c9.3-30 22.2-60.3 38.399-85.201 6.601-3.299 13.801-4.799 21.301-4.799 17.399 0 32.999 8.399 42.599 22.8 8.101 11.999 27.001 11.999 35.099 0 9.601-14.101 24.901-22.5 41.701-22.8h.601c17.399 0 32.999 8.399 42.599 22.8 8.101 11.999 27.001 11.999 35.099 0 9.601-14.401 25.201-22.8 42.302-22.8 6.899 0 13.2 1.199 19.199 3.6 0 0 .3 0 .3.3 16.201 25.199 29.401 55.199 38.999 86.1z"/><path d="m447.4 331c-5.4 36.599-17.401 68.399-30.3 88.2-9.3-3.6-17.1-10.201-22.8-18.9-8.099-11.7-26.999-11.7-35.099 0-9.6 14.399-25.201 22.8-42.599 22.8-17.1 0-32.701-8.401-42.301-22.8-4.2-6-11.1-9-18.3-8.701-6.301.3-12.599 3.301-16.8 8.701-9.6 14.399-25.201 22.8-42.599 22.8-17.1 0-32.701-8.401-42.301-22.8-8.099-11.7-26.999-11.7-35.099 0-6 9.3-14.399 15.899-24 19.499-14.103-22.5-25.503-53.399-30.602-88.799z"/><circle cx="166" cy="256" r="15"/><path d="m271 256c0 8.399-6.599 15-15 15s-15-6.601-15-15c0-8.401 6.599-15 15-15s15 6.599 15 15z"/></g><circle cx="346" cy="256" fill="#ff9100" r="15"/><path d="m271 256c0 8.399-6.599 15-15 15v-30c8.401 0 15 6.599 15 15z" fill="#ff9100"/><path d="m435.099 181h-179.099v-90h.601c17.399 0 32.999 8.399 42.599 22.8 8.101 11.999 27.001 11.999 35.099 0 9.601-14.401 25.201-22.8 42.302-22.8 6.899 0 13.2 1.199 19.199 3.6 0 0 .3 0 .3.3 16.201 25.199 29.401 55.199 38.999 86.1z" fill="#ff9100"/><path d="m447.4 331c-5.4 36.599-17.401 68.399-30.3 88.2-9.3-3.6-17.1-10.201-22.8-18.9-8.099-11.7-26.999-11.7-35.099 0-9.6 14.399-25.201 22.8-42.599 22.8-17.1 0-32.701-8.401-42.301-22.8-4.2-6-11.1-9-18.3-8.701v-60.599z" fill="#ff9100"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_feedback.svg b/static/svgs/icon_feedback.svg
new file mode 100644
index 0000000..a3b01cd
--- /dev/null
+++ b/static/svgs/icon_feedback.svg
@@ -0,0 +1 @@
+<svg t="1695472140008" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6893" width="200" height="200"><path d="M880.056 339.273H143.945c-60.226 0-109.054 48.829-109.054 109.052v427.127c0 60.223 48.828 109.053 109.054 109.053h736.111c60.226 0 109.053-48.83 109.053-109.053V448.326c-0.001-60.224-48.828-109.053-109.053-109.053z" fill="#6DD54B" p-id="6894"></path><path d="M932.268 851.635c0 41.974-34.025 76-76 76H167.731c-41.974 0-76-34.026-76-76v-379.49c0-41.974 34.026-76 76-76h688.536c41.975 0 76 34.026 76 76v379.49z" fill="#6DD54B" p-id="6895"></path><path d="M580.715 592.678l351.554-156.229V195.655c0-86.246-68.672-156.161-153.408-156.161H245.142c-84.739 0-153.411 69.915-153.411 156.161v240.861c0 4.78 0.223 9.505 0.636 14.176l311.229 134.395v7.591h177.119zM363.384 326.097c-23.821 0-43.146-18.3-43.146-40.877 0-22.596 19.326-40.895 43.146-40.895h297.234c23.82 0 43.146 18.299 43.146 40.895 0 22.577-19.326 40.877-43.146 40.877H363.384z" fill="#B3F28E" p-id="6896"></path><path d="M530.485 565.5h-34.973C342.206 561.779 85.978 391.581 85.978 391.581v66.534c286.4 177.885 424.788 168.87 424.788 168.87 0.399-0.02 0.816-0.048 1.233-0.077 0.417 0.029 0.834 0.058 1.233 0.077 0 0 138.39 9.015 424.789-168.87V391.58c0 0.001-252.948 165.42-407.536 173.92z" fill="#6DD54B" p-id="6897"></path></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_free.svg b/static/svgs/icon_free.svg
new file mode 100644
index 0000000..6427247
--- /dev/null
+++ b/static/svgs/icon_free.svg
@@ -0,0 +1 @@
+<svg t="1697095011509" class="icon" viewBox="0 0 1807 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4047" width="64" height="64"><path d="M120.470588 0h1566.117647a120.470588 120.470588 0 0 1 120.470589 120.470588v783.058824a120.470588 120.470588 0 0 1-120.470589 120.470588H120.470588a120.470588 120.470588 0 0 1-120.470588-120.470588V120.470588a120.470588 120.470588 0 0 1 120.470588-120.470588z m176.128 207.992471v581.75247h46.381177V253.711059h109.327059c-17.227294 54.994824-41.743059 117.278118-72.884706 186.187294 46.381176 55.657412 69.571765 106.676706 69.571764 151.732706 0 13.914353-4.638118 23.853176-12.589176 29.81647-8.613647 5.300706-25.178353 8.613647-49.694118 9.938824-6.625882 0-15.239529-1.325176-25.840941-2.650353l15.902118 48.368941c47.706353-0.662588 80.835765-8.613647 99.388235-23.853176 13.251765-12.589176 20.540235-33.129412 20.540235-61.620706-2.650353-47.706353-25.840941-100.713412-68.246588-159.021177a2401.460706 2401.460706 0 0 0 71.559529-186.187294v-38.430117H296.598588z m357.797647 284.250353c22.528 123.904 89.449412 221.304471 199.439059 291.538823l26.50353-41.743059c-50.356706-29.816471-90.112-65.596235-120.591059-107.339294 37.767529-19.215059 71.559529-47.043765 102.038588-82.823529l-31.141647-31.141647c-29.816471 35.779765-60.958118 62.283294-92.762353 80.173176a356.894118 356.894118 0 0 1-40.417882-108.66447h122.578823V208.655059H531.154824v512.843294c0 6.625882-5.300706 11.926588-14.576942 15.239529l11.264 41.080471c72.222118-19.215059 131.855059-39.092706 179.561412-59.632941l-10.601412-44.393412c-39.092706 17.889882-78.848 33.129412-118.603294 45.056V492.242824h76.197647z m365.086118-115.290353V563.802353h161.671529c-3.975529 9.276235-7.951059 19.215059-12.589176 28.491294-37.104941 63.608471-113.965176 117.278118-229.25553 159.683765l30.479059 37.767529c128.542118-49.694118 211.365647-112.64 247.145412-189.500235 5.300706-11.926588 10.601412-23.853176 15.239529-36.442353h34.454589v145.106823c0 46.381176 20.540235 69.571765 61.620706 69.571765h129.867294c23.190588 0 39.755294-5.963294 50.356706-17.889882 11.926588-13.914353 19.877647-53.007059 24.515764-116.61553l-45.718588-14.576941c-1.987765 49.694118-5.963294 79.510588-12.589176 90.112-5.300706 7.951059-13.251765 12.589176-25.178353 12.589177h-106.676706c-19.215059 0-28.491294-11.264-28.491294-33.129412V563.802353h151.070117V363.038118h-162.334117c27.166118-23.853176 54.332235-53.007059 82.160941-87.461647V239.134118h-228.592941c11.926588-15.902118 23.190588-32.466824 33.792-49.694118l-47.706353-11.264a630.904471 630.904471 0 0 1-205.402353 198.113882l30.479059 36.442353c17.227294-11.264 34.454588-23.190588 51.681882-35.779764z m-441.283765-3.312942h195.46353v74.872471H578.198588V373.639529z m195.46353-43.730823H578.198588V253.711059h195.46353v76.197647z m646.023529 188.837647h-174.260706a569.464471 569.464471 0 0 0 13.251765-111.314824h161.008941v111.314824z m-223.954823 0h-129.867295V407.431529h145.106824a518.987294 518.987294 0 0 1-15.239529 111.314824z m46.381176-155.708235h-204.739765a687.887059 687.887059 0 0 0 84.148706-80.173177h201.426824c-26.503529 30.479059-53.007059 56.982588-80.835765 80.173177z" fill="#F06A62" p-id="4048"></path></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_help.svg b/static/svgs/icon_help.svg
new file mode 100644
index 0000000..c6fc5d2
--- /dev/null
+++ b/static/svgs/icon_help.svg
@@ -0,0 +1 @@
+<svg t="1705227439998" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11433" width="120" height="120"><path d="M557.996 764.034h-100.327c-2.711-41.862 0.332-82.544 15.47-121.947 19.559-50.956 56.332-89.001 94.164-126.267 26.235-25.871 53.489-50.815 78.63-77.707 47.355-50.682 58.004-129.309 27.47-191.664-16.342-33.393-42.5-56.389-77.245-68.374-46.998-16.245-95.074-17.047-142.26-1.529-66.017 21.744-96.506 73.194-109.011 137.681-3.825 19.678-4.886 39.904-7.295 60.571h-99.107c-2.006-33.607 2.141-65.83 10.893-97.267 34.014-122.085 131.193-196.954 258.070-200.348 57.294-1.532 113.18 3.782 164.735 31.152 74.322 39.443 113.709 102.396 121.271 185.497 5.633 61.745-4.597 120.21-40.777 172.001-8.812 12.634-19.946 23.91-31.227 34.514-29.907 28.095-60.541 55.366-90.738 83.146-47.169 43.406-72.652 96.386-70.754 161.385 0.151 5.173-0.11 10.365-0.349 15.554-0.066 0.915-0.803 1.81-1.631 3.599zM585.222 930.19c-0.252 44.183-33.204 76.326-77.609 75.731-43.593-0.558-76.514-34.334-75.97-77.885 0.545-42.158 34.77-74.609 78.073-74.001 43.85 0.619 75.773 32.83 75.531 76.169z" p-id="11434" fill="#1F68E9"></path></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_more.svg b/static/svgs/icon_more.svg
new file mode 100644
index 0000000..9104b96
--- /dev/null
+++ b/static/svgs/icon_more.svg
@@ -0,0 +1 @@
+<svg t="1689257988765" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2288" width="200" height="200"><path d="M512 810.666667a85.333333 85.333333 0 1 1-85.333333 85.333333 85.333333 85.333333 0 0 1 85.333333-85.333333zM426.666667 512a85.333333 85.333333 0 1 0 85.333333-85.333333 85.333333 85.333333 0 0 0-85.333333 85.333333z m0-384A85.333333 85.333333 0 1 0 512 42.666667a85.333333 85.333333 0 0 0-85.333333 85.333333z" fill="#333333" p-id="2289"></path></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_normal.svg b/static/svgs/icon_normal.svg
new file mode 100644
index 0000000..96e5dea
--- /dev/null
+++ b/static/svgs/icon_normal.svg
@@ -0,0 +1 @@
+<svg width="28" height="28" xmlns="http://www.w3.org/2000/svg"><path d="M14 0c7.732 0 14 6.268 14 14s-6.268 14-14 14S0 21.732 0 14 6.268 0 14 0Zm6.448 9.149-8.91 8.908-2.97-2.97a1.4 1.4 0 1 0-1.98 1.98l3.961 3.961a1.4 1.4 0 0 0 1.98 0l9.898-9.9a1.4 1.4 0 1 0-1.979-1.979Z" fill="#4AA444" fill-rule="nonzero"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_order_1.svg b/static/svgs/icon_order_1.svg
new file mode 100644
index 0000000..9609873
--- /dev/null
+++ b/static/svgs/icon_order_1.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1697181993871" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1787" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M764.16 927.0272H256a124.0576 124.0576 0 0 1-124.1088-124.0576V221.0304A124.0576 124.0576 0 0 1 256 96.9728h440.32l191.744 189.44v516.5568a124.1088 124.1088 0 0 1-123.904 124.0576z" fill="#4a9afc" p-id="1788"></path><path d="M696.32 96.9728V248.32a41.8304 41.8304 0 0 0 41.8304 41.8304h149.9136v-3.7376z" fill="#ADF0EA" p-id="1789"></path><path d="M666.7776 569.3952H332.8a40.96 40.96 0 0 1 0-81.92h334.08a40.96 40.96 0 0 1 0 81.92zM666.7776 787.0464H332.8a40.96 40.96 0 0 1 0-81.92h334.08a40.96 40.96 0 0 1 0 81.92zM522.24 351.744H332.8a40.96 40.96 0 0 1 0-81.92h189.44a40.96 40.96 0 0 1 0 81.92z" fill="#FFFFFF" p-id="1790"></path></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_order_2.svg b/static/svgs/icon_order_2.svg
new file mode 100644
index 0000000..8384e60
--- /dev/null
+++ b/static/svgs/icon_order_2.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1697181995896" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1949" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M65.028162 348.206165m101.276176-40.589618l502.626393-201.443364q101.276177-40.589619 141.865796 60.686558l106.492988 265.713329q40.589619 101.276177-60.686558 141.865795l-502.626393 201.443363q-101.276177 40.589619-141.865795-60.686558l-106.492989-265.713328q-40.589619-101.276177 60.686558-141.865795Z" fill="#FFC2D8" p-id="1950"></path><path d="M88.4736 306.8928m109.1072 0l628.7872 0q109.1072 0 109.1072 109.1072l0 383.7952q0 109.1072-109.1072 109.1072l-628.7872 0q-109.1072 0-109.1072-109.1072l0-383.7952q0-109.1072 109.1072-109.1072Z" fill="#FC5787" p-id="1951"></path><path d="M439.1424 551.68H233.1648a40.96 40.96 0 1 1 0-81.92h205.9776a40.96 40.96 0 0 1 0 81.92z" fill="#FFFFFF" p-id="1952"></path></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_order_3.svg b/static/svgs/icon_order_3.svg
new file mode 100644
index 0000000..6f74d94
--- /dev/null
+++ b/static/svgs/icon_order_3.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1697181990066" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1624" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M116.3776 86.3232m101.9392 0l552.3968 0q101.9392 0 101.9392 101.9392l0 626.2272q0 101.9392-101.9392 101.9392l-552.3968 0q-101.9392 0-101.9392-101.9392l0-626.2272q0-101.9392 101.9392-101.9392Z" fill="#FDBA54" p-id="1625"></path><path d="M527.9232 535.552h-235.52a40.96 40.96 0 0 1 0-81.92h235.52a40.96 40.96 0 0 1 0 81.92zM677.6832 353.792H292.4544a40.96 40.96 0 0 1 0-81.92h385.2288a40.96 40.96 0 1 1 0 81.92z" fill="#FFFFFF" p-id="1626"></path><path d="M726.6816 737.6384m-202.0352 0a202.0352 202.0352 0 1 0 404.0704 0 202.0352 202.0352 0 1 0-404.0704 0Z" fill="#FFDE8D" p-id="1627"></path><path d="M832.1024 684.6976L752.64 619.1104a40.96 40.96 0 0 0-51.968 0c-81.92 66.56-82.944 67.9936-87.04 73.6768a40.96 40.96 0 0 0 62.4128 52.6336c1.5872-1.3824 4.864-4.1984 9.4208-7.936v98.048a40.96 40.96 0 1 0 81.92 0v-97.8432l12.288 10.24a40.96 40.96 0 0 0 52.1728-63.1808z" fill="#FFFFFF" p-id="1628"></path></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_order_4.svg b/static/svgs/icon_order_4.svg
new file mode 100644
index 0000000..07e4ed4
--- /dev/null
+++ b/static/svgs/icon_order_4.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1697181987644" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1461" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M105.8304 88.8832m101.9392 0l552.3968 0q101.9392 0 101.9392 101.9392l0 626.2272q0 101.9392-101.9392 101.9392l-552.3968 0q-101.9392 0-101.9392-101.9392l0-626.2272q0-101.9392 101.9392-101.9392Z" fill="#3DD5BB" p-id="1462"></path><path d="M517.4272 538.1632h-235.52a40.96 40.96 0 0 1 0-81.92h235.52a40.96 40.96 0 0 1 0 81.92zM667.1872 356.352H281.9584a40.96 40.96 0 0 1 0-81.92h385.2288a40.96 40.96 0 1 1 0 81.92z" fill="#FFFFFF" p-id="1463"></path><path d="M716.1344 740.1984m-202.0352 0a202.0352 202.0352 0 1 0 404.0704 0 202.0352 202.0352 0 1 0-404.0704 0Z" fill="#ADF0EA" p-id="1464"></path><path d="M835.9424 800.4608h-124.8768a40.96 40.96 0 0 1-40.96-40.96V645.12a40.96 40.96 0 1 1 81.92 0v73.3184h83.9168a40.96 40.96 0 0 1 0 81.92z" fill="#FFFFFF" p-id="1465"></path></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_order_5.svg b/static/svgs/icon_order_5.svg
new file mode 100644
index 0000000..142c40e
--- /dev/null
+++ b/static/svgs/icon_order_5.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1697181997803" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2111" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M58.9824 113.5104m105.216 0l690.8928 0q105.216 0 105.216 105.216l0 0.0512q0 105.216-105.216 105.216l-690.8928 0q-105.216 0-105.216-105.216l0-0.0512q0-105.216 105.216-105.216Z" fill="#9076F8" p-id="2112"></path><path d="M161.8432 222.6688m92.16 0l503.1424 0q92.16 0 92.16 92.16l0 515.2768q0 92.16-92.16 92.16l-503.1424 0q-92.16 0-92.16-92.16l0-515.2768q0-92.16 92.16-92.16Z" fill="#C7B0FF" p-id="2113"></path><path d="M546.4064 481.792h-235.52a40.96 40.96 0 1 1 0-81.92h235.52a40.96 40.96 0 0 1 0 81.92zM696.32 663.552H310.9376a40.96 40.96 0 1 1 0-81.92H696.32a40.96 40.96 0 0 1 0 81.92z" fill="#FFFFFF" p-id="2114"></path></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_question.svg b/static/svgs/icon_question.svg
new file mode 100644
index 0000000..824cb8b
--- /dev/null
+++ b/static/svgs/icon_question.svg
@@ -0,0 +1 @@
+<svg t="1686619887587" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8802" width="64" height="64"><path d="M504.082732 12.987317a465.145756 465.145756 0 0 1 465.870048 465.870049c0 234.021463-173.330732 426.858146-400.858536 459.37639-21.678829 2.147902-80.171707 71.505171-101.850537 71.505171-25.974634 0-15.160195-69.357268-41.159805-71.505171C205.049756 899.221854 38.212683 708.533073 38.212683 478.857366A465.145756 465.145756 0 0 1 504.107707 12.987317z m-6.493659 619.719805a43.457561 43.457561 0 0 0-43.332683 43.332683c0 23.826732 19.480976 43.332683 43.332683 43.332683a43.457561 43.457561 0 0 0 43.332683-43.332683 43.457561 43.457561 0 0 0-43.332683-43.332683z m2.172878-420.364488c-106.171317 0-171.182829 69.332293-179.849366 145.18322-2.172878 21.653854 15.160195 43.332683 36.839025 45.505561 21.653854 2.147902 43.332683-15.185171 45.505561-36.839025 4.32078-36.839024 36.839024-73.678049 97.50478-73.678049 47.653463 0 86.665366 41.159805 86.665366 93.159025 0 45.505561-30.345366 82.344585-69.332293 91.011122h-4.345756c-43.332683 12.987317-54.172098 41.18478-54.172097 97.50478 0 21.678829 19.505951 41.18478 41.18478 41.184781 21.653854 0 41.159805-19.505951 41.159805-41.184781 0-10.814439 0-17.333073 2.172878-17.333073 73.678049-19.480976 125.677268-88.838244 125.677268-169.009951 0-97.50478-75.850927-175.50361-169.009951-175.50361z" fill="#519EFF" p-id="8803"></path><path d="M647.39278 283.722927c156.04761 0 314.867512 105.521951 295.31161 281.125463-16.958439 152.301268-116.910829 268.362927-253.627317 287.719025-12.887415 1.273756-46.204878 14.286049-96.206049 0-132.820293-23.227317-226.603707-148.430049-226.603707-287.719025 0-115.08761 68.058537-213.341659 166.387512-256.999024 27.098537 15.634732 45.580488 46.30478 45.580488 82.119805 0 45.505561-30.32039 82.344585-69.332293 91.011122h-4.345756c-41.159805 15.160195-69.332293 43.332683-69.332292 99.652683 0 23.851707 34.666146 36.864 56.344975 36.864 21.678829 0 39.011902-17.333073 39.011903-39.011903 0-10.839415 2.147902-12.987317 2.147902-12.987317 73.678049-19.505951 132.195902-101.850537 132.195903-182.022244a172.306732 172.306732 0 0 0-31.719025-99.427902l6.893268-0.249756z m-168.835121 344.588488c-23.826732 0-32.468293 28.172488-32.468293 52.024195 0 12.987317-8.691512 17.333073 0 25.974634 8.641561 6.493659 32.468293 15.185171 43.307707 15.185171 23.851707 0 43.332683-21.678829 45.505561-45.505561 0-19.480976-12.987317-34.666146-30.345366-41.159805-4.32078-2.172878-21.653854-6.493659-25.974634-6.493659z" fill="#90C1FF" p-id="8804"></path></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_right.svg b/static/svgs/icon_right.svg
new file mode 100644
index 0000000..267b3a3
--- /dev/null
+++ b/static/svgs/icon_right.svg
@@ -0,0 +1 @@
+<svg width="8" height="15" xmlns="http://www.w3.org/2000/svg"><path d="m.305 2.142 5.766 5.713-5.766 5.714A.717.717 0 0 0 .29 14.59a.733.733 0 0 0 1.03-.016l6.255-6.196a.736.736 0 0 0 .167-.258c.015-.032.015-.067.022-.104.013-.054.03-.105.03-.161 0-.056-.017-.107-.03-.16-.008-.036-.008-.072-.022-.105a.732.732 0 0 0-.165-.26L1.323 1.134A.736.736 0 0 0 .292 1.12a.72.72 0 0 0 .013 1.022Z" fill="#2C2C34" fill-rule="nonzero"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_risk.svg b/static/svgs/icon_risk.svg
new file mode 100644
index 0000000..ca4e7c5
--- /dev/null
+++ b/static/svgs/icon_risk.svg
@@ -0,0 +1 @@
+<svg width="116" height="107" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><filter x="-9.9%" y="-7%" width="119.8%" height="118.4%" filterUnits="objectBoundingBox" id="a"><feOffset dy="2" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation="2.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0" in="shadowBlurOuter1"/></filter><path d="M42.869 0c-17.78 6.403-40.3 9.605-40.3 9.605-1.384.2-2.569 1.6-2.569 3.201v35.817c0 .4.593 8.204 5.729 17.209 2.963 5.402 9.285 10.205 14.224 14.407 6.124 5.202 13.631 9.204 22.323 12.005l.79.2.79-.2c8.693-2.801 16.002-6.803 22.127-12.005 4.938-4.202 11.26-9.005 14.223-14.407 5.334-9.205 5.73-17.009 5.73-17.409V12.606c0-1.4-1.186-3.001-2.569-3.201-.197.2-19.755-3.002-40.498-9.405z" id="b"/></defs><g fill="none"><g transform="translate(5 3)"><use fill="#000" filter="url(#a)" xlink:href="#b"/><use fill="#FF2C2E" xlink:href="#b"/></g><path d="M43.754 27.837c.586-2.189 2.932-3.78 5.082-3.78H54.7c2.15 0 3.128 1.591 2.346 3.581L52.16 39.376h4.496c6.45 0 8.21 3.98 4.105 8.953L45.122 66.633c-1.368 1.592-4.105 1.99-5.278 1.194l7.428-17.906h-6.841c-2.15 0-3.323-1.592-2.737-3.78l6.06-18.304z" fill="#DAE9FF"/><path d="M40.247 27.833c.59-2.186 2.956-3.776 5.125-3.776h5.913c2.168 0 3.154 1.59 2.366 3.577l-4.928 11.725h8.476c4.336 0 5.519 2.782 2.76 5.962l-18.53 21.86c-1.38 1.59-2.168 1.392-1.577-.794l3.943-16.495h-6.9c-2.168 0-3.35-1.59-2.76-3.776l6.112-18.283z" fill="#FFF"/></g></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_risk_car.svg b/static/svgs/icon_risk_car.svg
new file mode 100644
index 0000000..b750046
--- /dev/null
+++ b/static/svgs/icon_risk_car.svg
@@ -0,0 +1 @@
+<svg width="116" height="107" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path d="M42.869 0c-17.78 6.403-40.3 9.605-40.3 9.605-1.384.2-2.569 1.6-2.569 3.201v35.817c0 .4.593 8.204 5.729 17.209 2.963 5.402 9.285 10.205 14.224 14.407 6.124 5.202 13.631 9.204 22.323 12.005l.79.2.79-.2c8.693-2.801 16.002-6.803 22.127-12.005 4.938-4.202 11.26-9.005 14.223-14.407 5.334-9.205 5.73-17.009 5.73-17.409V12.606c0-1.4-1.186-3.001-2.569-3.201-.197.2-19.755-3.002-40.498-9.405Z" id="b"/><path d="M10.964 0h50.725c6.056 0 10.964 4.909 10.964 10.964v2.848H0v-2.848C0 4.909 4.909 0 10.964 0Z" id="c"/><linearGradient x1="82.357%" y1="43.113%" x2="0%" y2="56.887%" id="e"><stop stop-color="#F2F2F2" offset="0%"/><stop stop-color="#FFF" offset="100%"/></linearGradient><filter x="-9.9%" y="-7%" width="119.8%" height="118.4%" filterUnits="objectBoundingBox" id="a"><feOffset dy="2" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation="2.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0" in="shadowBlurOuter1"/></filter></defs><g fill="none" fill-rule="evenodd"><g fill-rule="nonzero"><g transform="translate(5 3)"><use fill="#000" filter="url(#a)" xlink:href="#b"/><use fill="#FF2C2E" xlink:href="#b"/></g><path d="M43.754 27.837c.586-2.189 2.932-3.78 5.082-3.78H54.7c2.15 0 3.128 1.591 2.346 3.581L52.16 39.376h4.496c6.45 0 8.21 3.98 4.105 8.953L45.122 66.633c-1.368 1.592-4.105 1.99-5.278 1.194l7.428-17.906h-6.841c-2.15 0-3.323-1.592-2.737-3.78l6.06-18.304Z" fill="#DAE9FF"/><path d="M40.247 27.833c.59-2.186 2.956-3.776 5.125-3.776h5.913c2.168 0 3.154 1.59 2.366 3.577l-4.928 11.725h8.476c4.336 0 5.519 2.782 2.76 5.962l-18.53 21.86c-1.38 1.59-2.168 1.392-1.577-.794l3.943-16.495h-6.9c-2.168 0-3.35-1.59-2.76-3.776l6.112-18.283Z" fill="#FFF"/></g><g transform="translate(28.632 70.167)"><ellipse fill="#D8D8D8" opacity=".5" cx="43.684" cy="34.761" rx="43.684" ry="2.072"/><g transform="translate(4.598 15.654)"><mask id="d" fill="#fff"><use xlink:href="#c"/></mask><use fill="#57A6F7" xlink:href="#c"/><path fill="#368AE0" mask="url(#d)" d="M-2.945 10.853h86.398v3.946H-2.945z"/></g><g transform="translate(4.598)"><ellipse fill="#DCA0A0" opacity=".4" cx="12.272" cy="28.118" rx="6.382" ry="6.413"/><g transform="translate(5.89 21.705)"><ellipse fill="#020202" cx="6.382" cy="6.413" rx="6.382" ry="6.413"/><ellipse fill="#FFF" cx="6.382" cy="6.413" rx="4.418" ry="4.44"/><ellipse fill="#CFCFCF" opacity=".4" cx="6.382" cy="6.413" rx="3.436" ry="3.453"/><ellipse fill="#020202" opacity=".4" cx="6.382" cy="6.413" rx="1.473" ry="1.48"/></g><g transform="translate(53.999 21.705)"><ellipse fill="#020202" cx="6.382" cy="6.413" rx="6.382" ry="6.413"/><ellipse fill="#FFF" cx="6.382" cy="6.413" rx="4.418" ry="4.44"/><ellipse fill="#CFCFCF" opacity=".4" cx="6.382" cy="6.413" rx="3.436" ry="3.453"/><ellipse fill="#020202" opacity=".4" cx="6.382" cy="6.413" rx="1.473" ry="1.48"/></g><rect fill="#FFE5BB" y="22.199" width="3.927" height="2.96" rx=".685"/><path d="M70.199 21.212v4.933h2.454v-2.478a2.454 2.454 0 0 0-2.454-2.455Z" fill="#FFF"/><path d="M56.55 15.292C52.774 5.097 45.793 0 35.608 0 25.422 0 18.462 5.097 14.727 15.292H56.55Z" fill="#53A4F7"/><path d="M37.287 1.73c7.838 1.452 13.482 5.973 16.931 13.562H37.483L37.287 1.73Zm-2.684 0-.196 13.562H17.672c3.45-7.589 9.093-12.11 16.931-13.563Z" fill="url(#e)"/></g></g></g></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_scan.svg b/static/svgs/icon_scan.svg
new file mode 100644
index 0000000..2317477
--- /dev/null
+++ b/static/svgs/icon_scan.svg
@@ -0,0 +1 @@
+<svg t="1702482822263" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2339" width="300" height="300"><path d="M640 576c0 70.4-57.6 128-128 128s-128-57.6-128-128 57.6-128 128-128 128 57.6 128 128z m320-224v480c0 35.2-28.8 64-64 64H128c-35.2 0-64-28.8-64-64V352c0-35.2 28.8-64 64-64h167.2L376 192h256l80.8 96H896c35.2 0 64 28.8 64 64zM704 576c0-106.4-85.6-192-192-192S320 469.6 320 576s85.6 192 192 192 192-85.6 192-192z" p-id="2340" fill="#242424"></path></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_selected.svg b/static/svgs/icon_selected.svg
new file mode 100644
index 0000000..f3a2459
--- /dev/null
+++ b/static/svgs/icon_selected.svg
@@ -0,0 +1 @@
+<svg width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M43 11 16.875 37 5 25.182" stroke="#fff" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_setting.svg b/static/svgs/icon_setting.svg
new file mode 100644
index 0000000..2d685ae
--- /dev/null
+++ b/static/svgs/icon_setting.svg
@@ -0,0 +1 @@
+<svg t="1697549014985" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5731" width="64" height="64"><path d="M933.868272 511.691752a140.807706 140.807706 0 0 1 90.131728-131.067068 525.562914 525.562914 0 0 0-57.334136-138.64997 139.882962 139.882962 0 0 1-184.948826-184.948826A525.562914 525.562914 0 0 0 643.067068 0a140.376159 140.376159 0 0 1-262.134136 0A525.562914 525.562914 0 0 0 242.282962 57.334136a139.882962 139.882962 0 0 1-184.948826 184.948826A506.698134 506.698134 0 0 0 0 380.932932a140.376159 140.376159 0 0 1 0 262.134136 525.562914 525.562914 0 0 0 57.334136 138.64997 139.882962 139.882962 0 0 1 184.948826 184.948826 525.562914 525.562914 0 0 0 138.64997 57.334136 140.376159 140.376159 0 0 1 262.134136 0 525.562914 525.562914 0 0 0 138.64997-57.334136 139.882962 139.882962 0 0 1 184.948826-184.948826 506.698134 506.698134 0 0 0 57.334136-138.64997A140.807706 140.807706 0 0 1 933.868272 511.691752zM511.691752 652.437809A140.437809 140.437809 0 1 1 652.437809 511.691752 140.499458 140.499458 0 0 1 511.691752 652.437809z" fill="#1D85ED" p-id="5732"></path></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_share.svg b/static/svgs/icon_share.svg
new file mode 100644
index 0000000..8c36d85
--- /dev/null
+++ b/static/svgs/icon_share.svg
@@ -0,0 +1 @@
+<svg t="1686836545127" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="21864" width="200" height="200"><path d="M0 0h1024v1024H0V0m723.456 5.837C662.272 9.318 605.645 45.056 570.419 94.31c-39.885 57.037-54.937 131.226-38.656 199.066 1.946 11.213 6.861 23.398 0.717 34.253-27.34 63.232-84.582 109.414-147.354 134.963-10.854 3.635-22.681 9.114-34.201 5.58-16.538-8.447-31.232-20.274-48.487-27.34-55.552-22.22-121.395-15.104-171.212 17.92-41.165 26.982-71.373 71.27-78.797 120.218-10.394 55.142 10.65 113.868 50.176 152.985 50.893 53.35 135.833 69.069 203.008 39.373 16.486-7.475 30.72-19.456 47.923-25.395 67.942 5.99 138.342 30.925 183.654 83.968 13.466 13.619 8.244 33.792 9.882 50.893 3.174 49.203 33.229 95.283 76.237 119.142 47.77 27.597 110.694 25.6 156.723-4.813 63.949-37.683 89.395-128.665 51.2-193.024-35.533-67.737-127.027-98.713-195.891-64.768-15.309 6.656-28.826 20.787-46.643 19.098-67.43-3.533-129.741-41.984-170.957-94.26-10.24-10.29-2.458-25.292-1.895-37.631 3.79-20.532-1.382-40.96-2.867-61.39 6.042-15.36 17.869-27.391 28.775-39.372 48.998-52.685 115.916-90.06 187.494-99.635 34.509 13.465 70.349 25.958 107.98 24.473 81.409 1.792 164.814-36.25 210.535-104.755 50.893-77.875 37.018-186.624-20.94-256.87C878.847 27.136 798.31 0.973 723.455 5.837z" fill="#FFFFFF" p-id="21865"></path><path d="M723.456 5.837C798.31 0.973 878.848 27.136 926.822 86.989c57.959 70.246 71.834 178.995 20.941 256.87-45.721 68.506-129.126 106.547-210.534 104.755-37.632 1.485-73.472-11.008-107.981-24.473-71.578 9.574-138.496 46.95-187.494 99.635-10.906 11.98-22.733 24.013-28.775 39.373 1.485 20.429 6.656 40.857 2.867 61.389-0.563 12.339-8.345 27.34 1.895 37.632 41.216 52.275 103.526 90.726 170.957 94.259 17.817 1.69 31.334-12.442 46.643-19.098 68.864-33.945 160.358-2.97 195.891 64.768 38.195 64.359 12.749 155.341-51.2 193.024-46.029 30.413-108.954 32.41-156.723 4.813-43.008-23.86-73.063-69.94-76.237-119.142-1.638-17.101 3.584-37.274-9.882-50.893-45.312-53.043-115.712-77.978-183.654-83.968-17.203 5.939-31.437 17.92-47.923 25.395-67.175 29.696-152.115 13.978-203.008-39.373-39.527-39.117-60.57-97.843-50.176-152.985 7.424-48.948 37.632-93.236 78.797-120.218 49.817-33.024 115.66-40.14 171.212-17.92 17.255 7.066 31.95 18.893 48.487 27.34 11.52 3.534 23.347-1.945 34.201-5.58 62.772-25.549 120.013-71.731 147.354-134.963 6.144-10.855 1.229-23.04-0.717-34.253-16.281-67.84-1.229-142.029 38.656-199.066 35.226-49.254 91.853-84.992 153.037-88.473z" fill="#F04848" p-id="21866"></path></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_share_1.svg b/static/svgs/icon_share_1.svg
new file mode 100644
index 0000000..a7cd90a
--- /dev/null
+++ b/static/svgs/icon_share_1.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><svg width="26" height="26" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M35 16C37.7614 16 40 13.7614 40 11C40 8.23858 37.7614 6 35 6C32.2386 6 30 8.23858 30 11C30 13.7614 32.2386 16 35 16Z" fill="none" stroke="#1F68E9" stroke-width="4" stroke-linejoin="round"/><path d="M13 29C15.7614 29 18 26.7614 18 24C18 21.2386 15.7614 19 13 19C10.2386 19 8 21.2386 8 24C8 26.7614 10.2386 29 13 29Z" fill="none" stroke="#1F68E9" stroke-width="4" stroke-linejoin="round"/><path d="M30.0004 13.5745L17.3393 21.2454" stroke="#1F68E9" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/><path d="M17.3385 26.5639L30.6789 34.4469" stroke="#1F68E9" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/><path d="M35 32C37.7614 32 40 34.2386 40 37C40 39.7614 37.7614 42 35 42C32.2386 42 30 39.7614 30 37C30 34.2386 32.2386 32 35 32Z" fill="none" stroke="#1F68E9" stroke-width="4" stroke-linejoin="round"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_shield.svg b/static/svgs/icon_shield.svg
new file mode 100644
index 0000000..a2f8be7
--- /dev/null
+++ b/static/svgs/icon_shield.svg
@@ -0,0 +1 @@
+<svg t="1703770531696" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5711" width="200" height="200"><path d="M523.377778 944.355556l-11.377778-5.688889c-295.822222-119.466667-329.955556-267.377778-329.955556-375.466667v-398.222222h28.444445c204.8 5.688889 290.133333-85.333333 290.133333-91.022222l22.755556-17.066667 17.066666 22.755555S625.777778 170.666667 813.511111 170.666667h51.2v398.222222c0 102.4-34.133333 256-329.955555 375.466667h-11.377778z" fill="#16B325" p-id="5712"></path><path d="M694.044444 364.088889l34.133334 45.511111-250.311111 199.111111-159.288889-125.155555 34.133333-45.511112 125.155556 96.711112z" fill="#FFFFFF" p-id="5713"></path></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_unknown.svg b/static/svgs/icon_unknown.svg
new file mode 100644
index 0000000..4fc33d3
--- /dev/null
+++ b/static/svgs/icon_unknown.svg
@@ -0,0 +1 @@
+<svg width="28" height="28" xmlns="http://www.w3.org/2000/svg"><path d="M14 .274C6.389.274.219 6.472.219 14.118c0 7.646 6.17 13.844 13.78 13.844 7.612 0 13.782-6.198 13.782-13.844C27.78 6.472 21.61.274 14 .274zm-.087 21.456a1.04 1.04 0 0 1-.737-.307 1.049 1.049 0 0 1 .737-1.786c.568.01 1.024.475 1.024 1.046 0 .572-.456 1.037-1.024 1.047zm4.345-9.333c-.305.552-.902 1.223-1.789 2.012-.596.53-.983.922-1.168 1.173a2.624 2.624 0 0 0-.41.87c-.066.244-.111.602-.135 1.073a.547.547 0 0 1-.546.52h-.69a.548.548 0 0 1-.546-.549v-.003c0-.722.101-1.344.304-1.869A4.24 4.24 0 0 1 14 14.43c.244-.293.683-.72 1.316-1.282.632-.562 1.044-1.009 1.235-1.342.19-.332.288-.71.285-1.092 0-.716-.278-1.343-.833-1.883-.555-.54-1.237-.811-2.044-.812-.778 0-1.429.245-1.951.734-.38.358-.666.863-.856 1.513a.95.95 0 0 1-1.608.39.96.96 0 0 1-.22-.935c.258-.867.686-1.567 1.285-2.099.837-.74 1.943-1.112 3.319-1.113 1.457 0 2.619.398 3.486 1.195.868.797 1.302 1.76 1.302 2.89a3.673 3.673 0 0 1-.458 1.804z" fill="#C4C8D1"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_user_1.svg b/static/svgs/icon_user_1.svg
new file mode 100644
index 0000000..402cfdf
--- /dev/null
+++ b/static/svgs/icon_user_1.svg
@@ -0,0 +1 @@
+<svg width="36" height="36" xmlns="http://www.w3.org/2000/svg"><g fill="#2C2C34" fill-rule="evenodd"><path d="M26.953 2H9.093A4.093 4.093 0 0 0 5 6.093v23.814A4.093 4.093 0 0 0 9.093 34h17.86a4.093 4.093 0 0 0 4.094-4.093V6.093A4.093 4.093 0 0 0 26.953 2ZM9.093 4.233h17.86a1.86 1.86 0 0 1 1.861 1.86v23.814a1.86 1.86 0 0 1-1.86 1.86H9.092a1.86 1.86 0 0 1-1.86-1.86V6.093a1.86 1.86 0 0 1 1.86-1.86Z" stroke="#2C2C34" stroke-width=".5" fill-rule="nonzero"/><rect x="11" y="9" width="14" height="2.5" rx="1.25"/><rect x="11" y="15" width="10" height="2.5" rx="1.25"/></g></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_user_2.svg b/static/svgs/icon_user_2.svg
new file mode 100644
index 0000000..82a32c0
--- /dev/null
+++ b/static/svgs/icon_user_2.svg
@@ -0,0 +1 @@
+<svg width="36" height="36" xmlns="http://www.w3.org/2000/svg"><path d="M32.611 15.369C32.462 7.322 26.224.82 18.563.82h-1.125c-7.66 0-13.899 6.5-14.05 14.547-1.345.78-2.263 2.218-2.263 3.882v2.25c0 2.482 2.018 4.5 4.5 4.5s4.5-2.018 4.5-4.5v-2.25a4.502 4.502 0 0 0-4.457-4.495c.44-6.52 5.544-11.684 11.77-11.684h1.125c6.226 0 11.33 5.164 11.77 11.684a4.502 4.502 0 0 0-4.458 4.495v2.25c0 2.032 1.361 3.733 3.213 4.29a11.865 11.865 0 0 1-6.748 4.376 2.802 2.802 0 0 0-2.652-1.916 2.812 2.812 0 1 0 0 5.625 2.801 2.801 0 0 0 2.386-1.34 14.148 14.148 0 0 0 9.781-6.806c1.753-.614 3.02-2.268 3.02-4.229v-2.25c0-1.664-.918-3.103-2.264-3.881ZM7.875 19.25v2.25c0 1.24-1.01 2.25-2.25 2.25s-2.25-1.01-2.25-2.25v-2.25c0-1.24 1.01-2.25 2.25-2.25s2.25 1.01 2.25 2.25Zm24.75 2.25a2.248 2.248 0 0 1-2.149 2.24l-.087-.042c-.008.018-.02.033-.029.05a2.25 2.25 0 0 1-2.235-2.248v-2.25c0-1.24 1.01-2.25 2.25-2.25s2.25 1.01 2.25 2.25v2.25Z" stroke="#2C2C34" stroke-width=".5" fill="#2C2C34" fill-rule="nonzero"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_user_3.svg b/static/svgs/icon_user_3.svg
new file mode 100644
index 0000000..6ebd98c
--- /dev/null
+++ b/static/svgs/icon_user_3.svg
@@ -0,0 +1 @@
+<svg width="36" height="36" xmlns="http://www.w3.org/2000/svg"><path d="M22.346 21.239a8.984 8.984 0 0 0 3.664-7.243C26.01 9.036 21.974 5 17.013 5c-4.96 0-8.996 4.036-8.996 8.996a8.994 8.994 0 0 0 3.663 7.243C6.59 23.34 3 28.358 3 34.197a1.406 1.406 0 1 0 2.813 0c0-6.18 5.027-11.204 11.204-11.204 6.177 0 11.204 5.027 11.204 11.204a1.406 1.406 0 1 0 2.813 0c-.004-5.84-3.597-10.856-8.688-12.958Zm-11.52-7.243a6.194 6.194 0 0 1 6.187-6.187 6.197 6.197 0 0 1 6.188 6.187 6.197 6.197 0 0 1-6.188 6.188 6.197 6.197 0 0 1-6.187-6.188Z" fill="#2C2C34" fill-rule="nonzero"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_user_4.svg b/static/svgs/icon_user_4.svg
new file mode 100644
index 0000000..708e9e6
--- /dev/null
+++ b/static/svgs/icon_user_4.svg
@@ -0,0 +1 @@
+<svg width="36" height="36" xmlns="http://www.w3.org/2000/svg"><path d="M16.914 1.192c.71-.2 1.462-.2 2.172 0l10.8 3.036a4.012 4.012 0 0 1 2.927 3.863v11.648c0 2.826-1.16 5.528-3.208 7.475l-.294.279-.58.542-.569.521-.554.5-.544.478-.53.458-.52.436a40.567 40.567 0 0 1-1.956 1.532l-.46.33c-2.272 1.596-4.117 2.395-5.598 2.395-1.48 0-3.325-.8-5.598-2.395l-.46-.33a40.567 40.567 0 0 1-1.957-1.532l-.519-.436-.53-.458-.543-.478-.556-.5-.567-.521-.289-.268-.587-.553a10.313 10.313 0 0 1-3.206-7.475V8.091a4.012 4.012 0 0 1 2.926-3.863l10.8-3.035zm1.462 2.527a1.387 1.387 0 0 0-.752 0L6.825 6.755a1.388 1.388 0 0 0-1.012 1.336v11.648a7.69 7.69 0 0 0 2.391 5.573l.272.256.535.5.522.48.51.459.497.44.484.42.238.201.466.39.453.369.44.35c.145.112.287.222.428.329l.412.309.203.147.393.28.38.259.185.122.36.23c1.293.804 2.309 1.207 3.019 1.207s1.725-.403 3.018-1.207l.36-.23.186-.122.38-.26.194-.137.4-.29.206-.151.42-.32.216-.166.44-.35.453-.37.23-.192.473-.4c.08-.067.16-.137.24-.206l.492-.43.503-.45.517-.469.528-.49.54-.509a7.687 7.687 0 0 0 2.391-5.572V8.091c0-.622-.414-1.167-1.012-1.335l-10.8-3.037zM18 11.55a2.7 2.7 0 0 1 1.232 5.104v4.89a1.2 1.2 0 0 1-2.395.11l-.006-.11v-4.858A2.7 2.7 0 0 1 18 11.55z" fill="#2C2C34"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_user_5.svg b/static/svgs/icon_user_5.svg
new file mode 100644
index 0000000..c1550a5
--- /dev/null
+++ b/static/svgs/icon_user_5.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><svg width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M42 38V42L6 42L6 38" stroke="#2C2C34" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/><path d="M30 6L40 16L30 26" stroke="#2C2C34" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/><path d="M40 16C20 16 6 19 6 32" stroke="#2C2C34" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_user_6.svg b/static/svgs/icon_user_6.svg
new file mode 100644
index 0000000..855715d
--- /dev/null
+++ b/static/svgs/icon_user_6.svg
@@ -0,0 +1 @@
+<svg width="36" height="36" xmlns="http://www.w3.org/2000/svg"><path d="M18.394 11.753c-3.685 0-6.684 2.965-6.684 6.61 0 3.644 2.999 6.609 6.684 6.609.359 0 .738-.037 1.196-.117a1.246 1.246 0 0 0 1.014-1.446 1.251 1.251 0 0 0-1.462-1 4.288 4.288 0 0 1-.745.077c-2.3 0-4.17-1.85-4.17-4.124 0-2.274 1.868-4.124 4.164-4.124 2.298 0 4.168 1.85 4.168 4.124 0 .222-.025.455-.079.735a1.246 1.246 0 0 0 1.242 1.467c.61 0 1.13-.43 1.235-1.02.08-.43.118-.806.118-1.182a6.52 6.52 0 0 0-1.957-4.67 6.675 6.675 0 0 0-4.724-1.939zm16.099 3.572a1.11 1.11 0 0 0-.849-.87 5.683 5.683 0 0 1-3.692-2.69 5.58 5.58 0 0 1-.515-4.501c.133-.418 0-.874-.337-1.16a16.388 16.388 0 0 0-5.328-3.042 1.123 1.123 0 0 0-1.184.291 5.705 5.705 0 0 1-4.194 1.81 5.711 5.711 0 0 1-4.197-1.813 1.146 1.146 0 0 0-1.187-.29 16.38 16.38 0 0 0-5.326 3.045 1.098 1.098 0 0 0-.336 1.153 5.57 5.57 0 0 1-.512 4.505c-.8 1.376-2.111 2.331-3.691 2.69a1.118 1.118 0 0 0-.849.872A16.123 16.123 0 0 0 2 18.362c0 .994.1 2.016.296 3.037.082.43.415.77.848.87a5.683 5.683 0 0 1 3.693 2.69 5.57 5.57 0 0 1 .51 4.505c-.126.412.005.865.338 1.156a16.41 16.41 0 0 0 5.327 3.043c.431.146.893.02 1.183-.29a5.712 5.712 0 0 1 4.196-1.812 5.71 5.71 0 0 1 4.195 1.812c.21.224.508.352.82.352.123 0 .245-.02.369-.06 1.96-.675 3.752-1.699 5.327-3.042.33-.285.462-.738.336-1.157a5.558 5.558 0 0 1 .514-4.504c.802-1.377 2.113-2.333 3.692-2.69.429-.098.761-.438.848-.87.197-1.022.296-2.043.296-3.037 0-.995-.1-2.018-.295-3.04zm-7.894 13.428a13.275 13.275 0 0 1-3.214 1.836 7.553 7.553 0 0 0-4.994-1.872c-1.84 0-3.604.663-4.992 1.872a13.281 13.281 0 0 1-3.215-1.836 7.326 7.326 0 0 0-.856-5.212A7.5 7.5 0 0 0 5.184 20.2a12.78 12.78 0 0 1-.135-1.838c0-.603.046-1.22.135-1.837a7.502 7.502 0 0 0 4.144-3.341 7.363 7.363 0 0 0 .855-5.213 13.286 13.286 0 0 1 3.215-1.835 7.564 7.564 0 0 0 4.993 1.875c1.85 0 3.614-.664 4.994-1.872a13.284 13.284 0 0 1 3.214 1.835 7.357 7.357 0 0 0 .852 5.213 7.5 7.5 0 0 0 4.144 3.341 12.823 12.823 0 0 1 .003 3.672 7.5 7.5 0 0 0-4.144 3.34 7.377 7.377 0 0 0-.855 5.213z" fill="#2C2C34" fill-rule="nonzero"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_user_agreement.svg b/static/svgs/icon_user_agreement.svg
new file mode 100644
index 0000000..0b2fd7c
--- /dev/null
+++ b/static/svgs/icon_user_agreement.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="57px" height="67px" viewBox="0 0 57 67" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>zhengce</title>
+    <g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="个人中心" transform="translate(-564.000000, -604.000000)" fill-rule="nonzero">
+            <g id="编组-2" transform="translate(492.000000, 565.000000)">
+                <g id="zhengce" transform="translate(72.000000, 39.000000)">
+                    <path d="M16.6143313,14.579452 C18.6049123,14.579452 20.2155485,12.9590524 20.2155485,10.9656708 L20.2155485,3.61378116 C20.2155485,1.61625533 18.6007825,0 16.6143313,0 C14.6237502,0 13.0131061,1.62039958 13.0131061,3.61378116 L13.0131061,10.9615266 C13.0089842,12.9590524 14.6237502,14.579452 16.6143313,14.579452 Z" id="路径" fill="#FFC65E"></path>
+                    <path d="M40.7367048,14.579452 C42.7272859,14.579452 44.337922,12.9590524 44.337922,10.9656708 L44.337922,3.61378116 C44.337922,1.61625533 42.7231561,0 40.7367048,0 C38.7461238,0 37.1354797,1.62039958 37.1354797,3.61378116 L37.1354797,10.9615266 C37.1313578,12.9590524 38.7461238,14.579452 40.7367048,14.579452 Z" id="路径" fill="#FCB138"></path>
+                    <path d="M47.2948848,6.52718501 L47.2948848,10.849632 C47.2948848,14.1070081 44.3668309,16.7468918 40.7532242,16.7468918 C37.1396174,16.7468918 34.2115635,14.1070081 34.2115635,10.849632 L34.2115635,6.51060803 L23.1559919,6.51060803 L23.1559919,10.849632 C23.1559919,14.1070081 20.227938,16.7468918 16.6143313,16.7468918 C13.0007245,16.7468918 10.0685408,14.1070081 10.0685408,10.849632 L10.0685408,6.51475227 C4.48913201,6.63493536 0,11.2101812 0,16.8422094 L0,56.6683986 C0,62.3750232 4.60889726,67 10.2956818,67 L46.7043182,67 C52.3911027,67 57,62.3750232 57,56.6683986 L57,16.8422094 C57,11.3345086 52.7049703,6.8338591 47.2948848,6.52718501 Z M12.9263875,24.7452836 L34.0959281,24.7452836 C35.8263295,24.7452836 37.2304738,26.1543267 37.2304738,27.8907651 C37.2304738,29.6272036 35.8263295,31.0362467 34.0959281,31.0362467 L12.9263875,31.0362467 C11.1959861,31.0362467 9.79184176,29.6272036 9.79184176,27.8907651 C9.79184176,26.1543267 11.1959861,24.7452836 12.9263875,24.7452836 Z M44.9367483,56.7347065 L12.9263875,56.7347065 C11.1959861,56.7347065 9.79184176,55.3256634 9.79184176,53.589225 C9.79184176,51.8527865 11.1959861,50.4437434 12.9263875,50.4437434 L44.9367483,50.4437434 C46.6671497,50.4437434 48.071294,51.8527865 48.071294,53.589225 C48.071294,55.3298076 46.6671497,56.7347065 44.9367483,56.7347065 Z M44.9367483,43.8875487 L12.9263875,43.8875487 C11.1959861,43.8875487 9.79184176,42.4785056 9.79184176,40.7420672 C9.79184176,39.0056287 11.1959861,37.5965856 12.9263875,37.5965856 L44.9367483,37.5965856 C46.6671497,37.5965856 48.071294,39.0056287 48.071294,40.7420672 C48.071294,42.4785056 46.6671497,43.8875487 44.9367483,43.8875487 Z" id="形状" fill="#FF8E12"></path>
+                    <path d="M57,16.8422094 C57,11.3345086 52.7049703,6.83800334 47.2948848,6.52718501 L47.2948848,10.849632 C47.2948848,14.1070081 44.3668309,16.7468918 40.7532242,16.7468918 C37.1396174,16.7468918 34.2115635,14.1070081 34.2115635,10.849632 L34.2115635,6.51060803 L23.1559919,6.51060803 L23.1559919,10.849632 C23.1559919,14.1070081 20.227938,16.7468918 16.6143313,16.7468918 C13.0007245,16.7468918 10.0726706,14.1070081 10.0726706,10.849632 L10.0726706,6.51475227 C4.49326185,6.63493536 0.00412983626,11.2101812 0.00412983626,16.8422094 L0.00412983626,56.6683986 C0.00412983626,61.2602214 2.99000145,65.1475227 7.1198377,66.4944022 C8.57354007,66.6187295 10.0437618,66.6850374 11.5305028,66.6850374 C22.8958122,66.6850374 33.4021156,62.9925156 41.9260977,56.7388507 L12.9263875,56.7388507 C11.1959861,56.7388507 9.79184176,55.3298076 9.79184176,53.5933692 C9.79184176,51.8569308 11.1959861,50.4478877 12.9263875,50.4478877 L44.9367483,50.4478877 C46.0559339,50.4478877 47.0305753,51.0405146 47.5839733,51.9273829 C51.338711,48.2400998 54.5135902,44.0019404 57,39.3578895 L57,16.8422094 Z M12.9263875,24.7452836 L34.0959281,24.7452836 C35.8263295,24.7452836 37.2304738,26.1543267 37.2304738,27.8907651 C37.2304738,29.6272036 35.8263295,31.0362467 34.0959281,31.0362467 L12.9263875,31.0362467 C11.1959861,31.0362467 9.79184176,29.6272036 9.79184176,27.8907651 C9.79184176,26.1543267 11.1959861,24.7452836 12.9263875,24.7452836 Z M44.9367483,43.8875487 L12.9263875,43.8875487 C11.1959861,43.8875487 9.79184176,42.4785056 9.79184176,40.7420672 C9.79184176,39.0056287 11.1959861,37.5965856 12.9263875,37.5965856 L44.9367483,37.5965856 C46.6671497,37.5965856 48.071294,39.0056287 48.071294,40.7420672 C48.071294,42.4785056 46.6671497,43.8875487 44.9367483,43.8875487 Z" id="形状" fill="#FCA315"></path>
+                    <path d="M47.2948848,9.74726294 C47.567454,8.71120183 47.8028547,7.66270799 48.0134763,6.60592565 C47.7739458,6.57691594 47.5385451,6.54376198 47.2948848,6.53132925 L47.2948848,9.74726294 Z" id="路径" fill="#FFB32B"></path>
+                    <path d="M18.2993044,43.8875487 L12.9263875,43.8875487 C11.1959861,43.8875487 9.79184176,42.4785056 9.79184176,40.7420672 C9.79184176,39.0056287 11.1959861,37.5965856 12.9263875,37.5965856 L28.8345167,37.5965856 C36.4210259,31.7407682 42.3349515,23.8128286 45.7420664,14.6581926 C44.540284,15.9346199 42.7520649,16.7468918 40.7532242,16.7468918 C37.1396174,16.7468918 34.2115635,14.1070081 34.2115635,10.849632 L34.2115635,6.51060803 L23.1559919,6.51060803 L23.1559919,10.849632 C23.1559919,14.1070081 20.227938,16.7468918 16.6143313,16.7468918 C13.0007245,16.7468918 10.0726706,14.1070081 10.0726706,10.849632 L10.0726706,6.51475227 C4.49326185,6.63493536 0.00412983626,11.2101812 0.00412983626,16.8422094 L0.00412983626,48.2431496 C6.31761072,47.9330625 12.5198599,46.4564698 18.2993044,43.8875487 L18.2993044,43.8875487 Z M12.9263875,24.7452836 L34.0959281,24.7452836 C35.8263295,24.7452836 37.2304738,26.1543267 37.2304738,27.8907651 C37.2304738,29.6272036 35.8263295,31.0362467 34.0959281,31.0362467 L12.9263875,31.0362467 C11.1959861,31.0362467 9.79184176,29.6272036 9.79184176,27.8907651 C9.79184176,26.1543267 11.1959861,24.7452836 12.9263875,24.7452836 Z" id="形状" fill="#FCB138"></path>
+                    <path d="M27.6533836,6.51060803 L23.1559919,6.51060803 L23.1559919,10.849632 C23.1559919,11.5748747 23.0031879,12.2669636 22.7347486,12.9093215 C24.5353572,10.9117956 26.179032,8.7733655 27.6533836,6.51060803 L27.6533836,6.51060803 Z M19.6291117,16.0796685 C18.6834526,16.5206791 17.6529906,16.7484263 16.6102014,16.7468918 C12.9965947,16.7468918 10.0685408,14.1070081 10.0685408,10.849632 L10.0685408,6.51475227 C4.48913201,6.63493536 0,11.2101812 0,16.8422094 L0,27.600668 C7.40892624,25.2508814 14.0910013,21.2724068 19.6291117,16.0796685 L19.6291117,16.0796685 Z" id="形状" fill="#FFC65E"></path>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/static/svgs/icon_warning_1.svg b/static/svgs/icon_warning_1.svg
new file mode 100644
index 0000000..8777c3a
--- /dev/null
+++ b/static/svgs/icon_warning_1.svg
@@ -0,0 +1 @@
+<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg"><path d="M12 0C5.373 0 0 5.37 0 12s5.373 12 12 12 12-5.37 12-12S18.627 0 12 0Zm0 18.734a1.265 1.265 0 1 1 .001-2.53 1.265 1.265 0 0 1-.001 2.53Zm2.137-12.12-1.074 6.677c-.144.868-.621 1.578-1.063 1.578-.442 0-.919-.71-1.063-1.578L9.863 6.613c-.145-.867.458-1.813 1.336-1.813h1.6c.88 0 1.483.943 1.338 1.813Z" fill="#FF7038" fill-rule="nonzero"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_warning_2.svg b/static/svgs/icon_warning_2.svg
new file mode 100644
index 0000000..fa557a9
--- /dev/null
+++ b/static/svgs/icon_warning_2.svg
@@ -0,0 +1 @@
+<svg width="28" height="28" xmlns="http://www.w3.org/2000/svg"><path d="M14 0C6.269 0 0 6.266 0 14s6.269 14 14 14 14-6.266 14-14S21.731 0 14 0Zm0 21.856a1.476 1.476 0 1 1 .001-2.951A1.476 1.476 0 0 1 14 21.856Zm2.494-14.14-1.253 7.79c-.17 1.013-.725 1.84-1.241 1.84-.516 0-1.072-.827-1.24-1.84l-1.254-7.79c-.168-1.013.535-2.116 1.56-2.116h1.865c1.028 0 1.732 1.1 1.563 2.116Z" fill="#EE2319" fill-rule="nonzero"/></svg>
\ No newline at end of file
diff --git a/static/svgs/icon_wechat.svg b/static/svgs/icon_wechat.svg
new file mode 100644
index 0000000..acaeedc
--- /dev/null
+++ b/static/svgs/icon_wechat.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M693.12 347.264c11.776 0 23.36.896 35.008 2.176-31.36-146.048-187.456-254.528-365.696-254.528C163.2 94.912 0 230.656 0 403.136c0 99.52 54.272 181.248 145.024 244.736L108.8 756.864l126.72-63.488c45.312 8.896 81.664 18.112 126.912 18.112 11.392 0 22.656-.512 33.792-1.344-7.04-24.256-11.2-49.6-11.2-76.032.064-158.336 136-286.848 308.096-286.848zm-194.816-98.24c27.392 0 45.376 17.984 45.376 45.248 0 27.136-17.984 45.312-45.376 45.312-27.072 0-54.336-18.176-54.336-45.312 0-27.328 27.2-45.248 54.336-45.248zm-253.632 90.56c-27.2 0-54.592-18.176-54.592-45.312 0-27.264 27.392-45.248 54.592-45.248s45.248 17.92 45.248 45.248c0 27.136-18.048 45.312-45.248 45.312zM1024 629.76c0-144.896-145.024-262.976-307.904-262.976-172.48 0-308.224 118.144-308.224 262.976 0 145.28 135.808 262.976 308.224 262.976 36.096 0 72.512-9.024 108.736-18.112l99.392 54.528-27.264-90.624C969.728 783.872 1024 711.488 1024 629.76zm-407.872-45.376c-17.984 0-36.224-17.92-36.224-36.224 0-18.048 18.24-36.224 36.224-36.224 27.52 0 45.376 18.176 45.376 36.224 0 18.304-17.856 36.224-45.376 36.224zm199.36 0c-17.856 0-36.032-17.92-36.032-36.224 0-18.048 18.112-36.224 36.032-36.224 27.264 0 45.376 18.176 45.376 36.224 0 18.304-18.112 36.224-45.376 36.224z" fill="#fff"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_doubt_1.svg b/static/svgs/pic_ckpc_doubt_1.svg
new file mode 100644
index 0000000..9f866a3
--- /dev/null
+++ b/static/svgs/pic_ckpc_doubt_1.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="m680.666 350.306 2.698-19.34c3.599 0 2.699-3.599 2.699-7.197V214.024c0-1.8-1.8-3.598-3.148-3.148h-3.149V181.19c0-8.096-4.947-21.589-11.694-33.283 0-11.244-13.493-31.934-20.24-38.68-6.747-8.546-13.493-16.642-21.59-23.389-1.348-4.947-8.095-8.096-13.492-8.096-10.345-8.096-21.59-15.292-30.135-14.842L433.289 62c-8.096 0-19.79 6.747-30.135 14.843-4.947 0-11.694 3.598-13.493 8.096-8.546 6.746-14.842 14.842-21.589 23.388-6.747 6.746-20.24 26.537-20.24 38.68-6.747 11.695-11.694 25.188-11.694 33.284v29.685h-3.148c-1.8 0-3.599 1.8-3.149 3.148l-.45 116.942c0 1.8 1.35 3.598 3.149 3.148h4.947v18.441c-20.24 4.948-39.58 6.747-33.283 25.188 11.694-3.599 21.59-4.948 33.283-8.546l8.546 365.217h-4.948c-1.799 0-3.598 1.35-3.148 3.149v116.941c0 1.8 1.8 3.598 3.148 3.149h6.297v19.79c0 21.589 13.494 38.23 35.083 51.724 68.366 43.628 233.883 37.781 275.712-18.89-3.598-19.79-8.096-42.28-9.895-65.218-3.598-25.187-4.948-47.226-4.948-66.567 3.599 20.24 6.747 41.83 10.345 66.567 3.598 24.288 4.948 45.877 4.948 65.217 5.847-8.096 9.445-17.54 9.445-27.436v-24.738h8.096c1.799 0 3.598-1.349 3.148-3.148V737.112c0-1.799-1.799-3.598-3.148-3.148h-4.948l8.096-367.016c13.494 3.148 25.188 6.746 36.432 9.895 8.546-19.79-13.493-19.79-35.082-26.537zm-102.55-158.321c3.15-30.135 6.298-58.47 9.896-81.86.45 23.39-1.35 51.725-4.948 81.86-3.148 29.685-6.296 58.47-9.895 81.86-.45-25.188 1.8-51.725 4.948-81.86zm-136.73 0c3.148 29.685 4.947 58.021 4.947 81.86-3.149-24.739-6.747-51.725-9.895-81.86-3.149-30.135-4.948-58.021-4.948-81.86 3.149 23.839 6.747 52.175 9.895 81.86zm-70.615 118.74c88.156-28.335 176.761-29.685 265.367 0 3.598 1.8 4.947 4.948 4.947 8.097-4.947 38.23-11.694 67.016-18.44 107.046 0 1.8-1.8 1.8-1.8 3.598h-1.799c-73.313-13.493-148.875-13.493-221.739 0-1.349 0-3.148 0-4.947-1.799-1.8-1.799-3.149-3.148-3.149-4.947-6.746-40.48-11.244-68.816-18.44-107.047v-4.947zM355.928 363.8s1.8.45 1.8-1.35-1.8-4.947-1.8-6.746c11.694 14.843 23.388 60.27 26.537 128.636l-.45 81.859c-6.747-1.8-23.388-3.598-23.388-11.694.45-65.218-.9-125.488-2.699-190.705zm5.397 208.696c1.8-3.149 16.642 3.598 23.389 4.947v128.636c-6.747 3.598-16.642 8.096-21.59 4.947-1.799-46.326-4.048-88.155-1.799-138.53zM638.387 782.99c-11.694 17.091-25.188 20.24-43.628 25.187-23.838 6.747-58.92 6.747-83.659 6.747-24.737 0-56.671 0-81.859-6.747-18.44-4.948-35.082-10.345-46.776-25.187-1.35-1.8-3.149-3.149-3.149-4.948-.45 20.24-1.799 41.83-4.947 66.567-3.598 25.187-6.747 46.776-10.345 66.566.45-20.24 1.8-41.829 4.948-66.566 3.598-25.188 6.746-46.777 10.344-66.567-3.148-8.096-3.148-21.59 1.35-28.786 1.349-8.096 4.947-16.641 9.895-23.388 1.799-1.35 3.148-4.947 4.947-6.747l6.747-6.746 3.148 8.096c13.494 9.895 83.209 16.641 107.047 16.641 21.589 0 94.003-9.895 107.046-16.641l3.149-8.096 6.746 8.546c1.8 1.799 3.149 3.148 4.948 6.746 4.947 6.747 8.096 14.843 9.895 23.388.9 6.747-.9 26.987-5.847 31.935zm19.79-71.965c-4.948 3.149-14.843-1.799-20.24-4.947V577.442c5.397-3.598 22.039-9.895 23.388-4.947-1.799 48.575-1.349 90.405-3.148 138.53zm1.35-156.521c.449 6.746-16.642 10.345-21.59 12.144v-82.31c1.8-70.164 14.843-116.94 26.537-128.635-1.35 66.567-3.149 130.435-4.948 198.8z" fill="#ef8d3c"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_doubt_2.svg b/static/svgs/pic_ckpc_doubt_2.svg
new file mode 100644
index 0000000..68d8d42
--- /dev/null
+++ b/static/svgs/pic_ckpc_doubt_2.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M899.598 488.445H731.55c-3.78 0-7.383-1.494-10.02-4.218l-151.523-154.6c-2.637-2.725-6.24-4.219-10.02-4.219H270.301a13.96 13.96 0 0 0-10.196 4.395L113.504 484.314c-2.461 2.637-3.867 6.065-3.867 9.668v220.079c0 7.734 6.24 14.062 14.062 14.062h52.383c0 51.152 41.66 92.813 92.813 92.813s92.812-41.66 92.812-92.813H653.68c0 51.152 41.66 92.813 92.812 92.813s92.813-41.66 92.813-92.813h60.293c7.734 0 14.062-6.24 14.062-14.062V502.42c-.088-7.734-6.328-13.975-14.062-13.975zm-630.703 287.49c-26.368 0-47.813-21.445-47.813-47.812s21.445-47.812 47.813-47.812 47.812 21.445 47.812 47.812-21.445 47.813-47.812 47.813zm117.51-287.49h-171.3c-12.304 0-18.632-14.765-10.195-23.642l91.494-96.416a13.96 13.96 0 0 1 10.196-4.395h79.892v124.453zm233.085 0H431.404v-124.54h93.516c3.78 0 7.383 1.493 10.02 4.218l94.482 96.416c8.701 8.877 2.46 23.906-9.932 23.906zm127.002 287.49c-26.367 0-47.812-21.445-47.812-47.812s21.445-47.812 47.812-47.812 47.813 21.445 47.813 47.812-21.446 47.813-47.813 47.813z" fill="#ef8d3c"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_doubt_3.svg b/static/svgs/pic_ckpc_doubt_3.svg
new file mode 100644
index 0000000..ceebc05
--- /dev/null
+++ b/static/svgs/pic_ckpc_doubt_3.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1821 1024" xmlns="http://www.w3.org/2000/svg" width="355.664" height="200"><path d="M670.166 49.785h138.485c13.824 0 25.135 11.31 25.135 25.135v42.978c0 13.824 11.31 25.135 25.134 25.135h83.695c13.824 0 25.134-11.31 25.134-25.135V74.92c0-13.824 11.31-25.135 25.135-25.135h138.234c13.824 0 25.132-11.31 25.134-25.134v-57.304c0-13.824-11.31-25.134-25.134-25.134H670.169c-13.824 0-25.134 11.31-25.134 25.134v57.304c0 13.824 11.31 25.134 25.134 25.134zm0 0zm932.956 338.298h-57.304c-13.824 0-25.133 11.31-25.135 25.135v24.631c0 13.824-11.31 25.135-25.132 25.135h-55.295c-13.824 0-25.133-11.31-25.133-25.135v-57.304c0-13.824-11.31-25.134-25.134-25.134h-97.769c-13.824 0-32.422-8.545-41.722-18.85l-81.181-92.743c-9.3-10.305-27.898-18.85-41.973-18.85H658.353c-13.824 0-32.171 8.797-40.968 19.604l-114.61 142.256c-8.796 10.808-27.143 19.604-40.967 19.604h-25.384c-13.824 0-25.134 11.31-25.134 25.134v119.887c0 13.824-11.31 25.135-25.135 25.135H336.14c-13.824 0-25.135-11.31-25.135-25.135V413.22c0-13.824-11.31-25.134-25.134-25.134h-57.304c-13.824 0-25.134 11.31-25.134 25.134v460.697c0 13.824 11.31 25.133 25.134 25.135h57.304c13.824 0 25.134-11.31 25.134-25.135V735.682c0-13.824 11.31-25.134 25.135-25.134h50.015c13.824 0 25.135 11.31 25.135 25.134v119.636c0 14.075 11.31 25.384 25.134 25.384h72.888c13.824 0 32.925 8.042 42.476 18.347l125.918 134.214c9.55 10.053 28.4 18.347 42.224 18.347h497.393c13.824 0 32.674-8.545 41.973-18.85l138.989-154.572c9.299-10.305 28.149-18.85 41.973-18.85h55.294c13.824 0 25.133 9.048 25.133 19.856 0 11.058 11.31 19.855 25.134 19.855h57.304c13.824 0 25.133-11.31 25.133-25.134V413.218c0-13.824-11.31-25.135-25.133-25.135zM1092.158 688.43 861.935 895.025c-21.867 19.605-28.652 14.327-15.33-12.064l32.422-63.085c13.321-26.139 3.268-59.315-22.62-73.39l-47.503-26.39c-25.635-14.076-44.738-49.765-42.727-78.92l14.075-187.495c2.263-29.155 28.15-53.032 57.304-53.032h183.475c29.406 0 41.973 20.86 27.898 46.748l-86.71 158.34c-14.327 25.887-1.76 47 27.647 47h88.72c29.407 0 35.438 16.084 13.573 35.689zm0 0z" fill="#ef8d3c"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_doubt_4.svg b/static/svgs/pic_ckpc_doubt_4.svg
new file mode 100644
index 0000000..be56cb4
--- /dev/null
+++ b/static/svgs/pic_ckpc_doubt_4.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M688.903 613.151a20.875 20.875 0 0 0-5.117-14.831 23.953 23.953 0 0 0-14.46-7.045q-4.672-.594-27.995-.63h-29.923v45.643h28.366a154.841 154.841 0 0 0 34.446-2.187 20.616 20.616 0 0 0 10.753-7.601 22.507 22.507 0 0 0 3.93-13.349z" fill="#ef8d3c"/><path d="M512 141.211A370.789 370.789 0 1 0 882.789 512 370.789 370.789 0 0 0 512 141.211zm16.315 558.482a6.6 6.6 0 0 1-6.6 6.6h-52.912a6.6 6.6 0 0 1-6.6-6.6V552.231h-88.21v147.425a6.6 6.6 0 0 1-6.6 6.6H314.48a6.6 6.6 0 0 1-6.6-6.6V315.964a6.6 6.6 0 0 1 6.6-6.6h52.911a6.6 6.6 0 0 1 6.6 6.6V485.49h88.174V315.964a6.6 6.6 0 0 1 6.6-6.6h52.912a6.6 6.6 0 0 1 6.6 6.6v169.747h60.994c23.1 1.038 27.068-3.708 26.845-27.994.371-10.383 0-142.828 0-142.828a5.636 5.636 0 0 1 5.266-5.933h55.989a5.636 5.636 0 0 1 5.265 5.933v208.717c-.52 19.318-6.415 28.217-26.845 28.662H528.24v147.425zm163.851 15.128-21.691-30.627a199.595 199.595 0 0 0-15.833-20.69 23.137 23.137 0 0 0-9.01-5.858 51.91 51.91 0 0 0-15.09-1.595h-6.082v58.77h-30.034v-140.9h63.034a113.758 113.758 0 0 1 34.632 3.709 33.816 33.816 0 0 1 17.279 13.496 38.97 38.97 0 0 1 6.489 22.248 36.411 36.411 0 0 1-9.826 26.177 48.203 48.203 0 0 1-29.404 13.015 69.708 69.708 0 0 1 16.055 11.791 161.145 161.145 0 0 1 17.094 22.84l18.131 27.476h-35.892z" fill="#ef8d3c"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_doubt_6.svg b/static/svgs/pic_ckpc_doubt_6.svg
new file mode 100644
index 0000000..6d2dad8
--- /dev/null
+++ b/static/svgs/pic_ckpc_doubt_6.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M512.045 882.788a264.912 264.912 0 0 0 265.16-265.406c0-105.273-141.106-311.865-234.023-451.24-20.51-33.856-42.01-32.62-62.274 0-93.164 139.375-234.269 347.45-234.269 451.24a264.912 264.912 0 0 0 265.406 265.406zm80.561-125.537a158.404 158.404 0 0 0 56.838-54.86 153.461 153.461 0 0 0 24.712-76.607 31.878 31.878 0 1 1 63.51 3.707 234.763 234.763 0 0 1-33.609 106.261 226.114 226.114 0 0 1-80.067 77.843 32.126 32.126 0 0 1-31.384-56.344z" fill="#ef8d3c"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_doubt_7.svg b/static/svgs/pic_ckpc_doubt_7.svg
new file mode 100644
index 0000000..5bfaa14
--- /dev/null
+++ b/static/svgs/pic_ckpc_doubt_7.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M433.857 152.881c6.497.94 13.026 1.705 19.488 2.85 48.325 8.553 88.2 31.913 119.63 69.413 27.246 32.512 42.44 70.18 46.727 112.415 9.24 91.043-44.5 178.744-129.61 211.086-92.517 35.156-197.02-3.406-245.312-90.543-20.956-37.812-29.054-78.322-25.24-121.29 7.308-82.325 65.835-153.549 145.4-176.222 12.246-3.49 25.13-4.738 37.716-7.032 1.05-.19 2.088-.45 3.131-.677h28.07zM839.06 349.365c-.958 6.37-1.54 12.823-2.936 19.095-9.296 41.72-47.88 71.162-90.47 69.226-41.04-1.866-75.524-32.343-83.377-73.686-8.763-46.14 19.353-91.544 64.436-104.056 49.13-13.634 101.052 18.93 110.11 69.14 1.037 5.749 1.505 11.599 2.237 17.402v2.88zM667.97 788.592c-12.38 7.957-25.51 12.058-39.556 13.416-33.916 3.278-63.024-8.52-89.607-28.453-18.68-14.008-35.065-30.55-52.084-46.41-6.566-6.118-13.324-12.136-20.584-17.385-11.973-8.658-20.47-7.633-30.852 2.976-9.411 9.614-16.038 21.204-22.419 32.885-12.808 23.447-25.076 47.194-38.218 70.45-6.164 10.909-13.27 21.407-20.98 31.287-8.242 10.562-18.917 18.405-32.34 21.524-13.9 3.23-26.576-.25-38.413-7.644-8.644-5.4-15.946-12.306-22.166-20.32-5.558-7.163-6.507-15.567-5.68-24.254 1.65-17.329 7.68-33.421 15.348-48.758 12.907-25.815 26.585-51.245 39.972-76.82 9.61-18.36 18.946-36.873 29.01-54.981 9.304-16.743 20.498-32.162 35.703-44.236 19.592-15.556 42.115-20.618 66.556-18.098 24.652 2.54 45.989 13.512 66.187 27.056 14.687 9.848 28.178 21.168 40.643 33.711.66.663 1.395 1.25 2.274 2.031l2.875-5.848c38.18 52.717 76.14 105.134 114.331 157.871zm-92.916-185.054 192.106-113.592c1.957 4.353 4.165 8.312 5.56 12.54 4.822 14.606 6.313 29.762 6.242 45.037-.135 29.134-5.257 57.423-15.058 84.876-5.154 14.434-12.93 27.125-23.484 38.314-9.536 10.11-18.796 20.527-27.553 31.316-9.032 11.128-14.463 23.818-14.47 38.604-.003 8.23-2.706 15.95-7.14 23.36-38.804-53.581-77.395-106.87-116.203-160.455zM741.01 466.526 586.987 557.59c-.18-.456-.386-.721-.32-.852a64162.919 64162.919 0 0 1 42.522-85.524c.745-1.494 1.78-2.842 2.624-4.291 7.89-13.564 20.196-20.296 35.334-21.628 26.928-2.369 50.946 6.39 73.374 20.493.173.109.251.37.488.74z" fill="#ef8d3c"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_doubt_8.svg b/static/svgs/pic_ckpc_doubt_8.svg
new file mode 100644
index 0000000..736b886
--- /dev/null
+++ b/static/svgs/pic_ckpc_doubt_8.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M814.12 480.152c50.827-51.615 66.198-128.442 38.61-195.418l-94.553 94.554c-27.577 26.01-70.526 24.432-96.526-3.146-24.817-26.394-24.817-66.976 0-93.38l94.554-94.564c-66.976-27.183-143.803-12.206-195.812 38.216-51.221 51.221-66.188 128.442-38.216 195.024l-65.4 65.399-165.483-165.465 11.427-23.633-89.437-61.07-56.338 56.731 59.1 88.254 26.788-13.4L409.49 533.74 216.045 727.185c-12.216 12.206-12.61 31.915-.394 44.131l.394.395 59.099 59.493c12.216 12.216 32.31 12.216 44.516 0l193.446-193.052 27.578 27.578-7.484 7.483c-10.638 7.484-13.4 22.066-5.906 33.099.789 1.183 1.578 2.366 2.76 3.155l131.203 130.807c11.033 11.428 29.155 12.61 41.765 2.367l61.07-61.07c11.034-12.602 11.034-31.128 0-43.334L632.892 607.429c-10.639-11.033-26.79-6.3-38.216 5.127l-5.512 5.512-27.577-27.183 68.554-68.949c64.215 22.047 135.52 5.887 183.98-41.784zm0 0" fill="#ef8d3c"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_error_1.svg b/static/svgs/pic_ckpc_error_1.svg
new file mode 100644
index 0000000..e969bf6
--- /dev/null
+++ b/static/svgs/pic_ckpc_error_1.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="m680.666 350.306 2.698-19.34c3.599 0 2.699-3.599 2.699-7.197V214.024c0-1.8-1.8-3.598-3.148-3.148h-3.149V181.19c0-8.096-4.947-21.589-11.694-33.283 0-11.244-13.493-31.934-20.24-38.68-6.747-8.546-13.493-16.642-21.59-23.389-1.348-4.947-8.095-8.096-13.492-8.096-10.345-8.096-21.59-15.292-30.135-14.842L433.289 62c-8.096 0-19.79 6.747-30.135 14.843-4.947 0-11.694 3.598-13.493 8.096-8.546 6.746-14.842 14.842-21.589 23.388-6.747 6.746-20.24 26.537-20.24 38.68-6.747 11.695-11.694 25.188-11.694 33.284v29.685h-3.148c-1.8 0-3.599 1.8-3.149 3.148l-.45 116.942c0 1.8 1.35 3.598 3.149 3.148h4.947v18.441c-20.24 4.948-39.58 6.747-33.283 25.188 11.694-3.599 21.59-4.948 33.283-8.546l8.546 365.217h-4.948c-1.799 0-3.598 1.35-3.148 3.149v116.941c0 1.8 1.8 3.598 3.148 3.149h6.297v19.79c0 21.589 13.494 38.23 35.083 51.724 68.366 43.628 233.883 37.781 275.712-18.89-3.598-19.79-8.096-42.28-9.895-65.218-3.598-25.187-4.948-47.226-4.948-66.567 3.599 20.24 6.747 41.83 10.345 66.567 3.598 24.288 4.948 45.877 4.948 65.217 5.847-8.096 9.445-17.54 9.445-27.436v-24.738h8.096c1.799 0 3.598-1.349 3.148-3.148V737.112c0-1.799-1.799-3.598-3.148-3.148h-4.948l8.096-367.016c13.494 3.148 25.188 6.746 36.432 9.895 8.546-19.79-13.493-19.79-35.082-26.537zm-102.55-158.321c3.15-30.135 6.298-58.47 9.896-81.86.45 23.39-1.35 51.725-4.948 81.86-3.148 29.685-6.296 58.47-9.895 81.86-.45-25.188 1.8-51.725 4.948-81.86zm-136.73 0c3.148 29.685 4.947 58.021 4.947 81.86-3.149-24.739-6.747-51.725-9.895-81.86-3.149-30.135-4.948-58.021-4.948-81.86 3.149 23.839 6.747 52.175 9.895 81.86zm-70.615 118.74c88.156-28.335 176.761-29.685 265.367 0 3.598 1.8 4.947 4.948 4.947 8.097-4.947 38.23-11.694 67.016-18.44 107.046 0 1.8-1.8 1.8-1.8 3.598h-1.799c-73.313-13.493-148.875-13.493-221.739 0-1.349 0-3.148 0-4.947-1.799-1.8-1.799-3.149-3.148-3.149-4.947-6.746-40.48-11.244-68.816-18.44-107.047v-4.947zM355.928 363.8s1.8.45 1.8-1.35-1.8-4.947-1.8-6.746c11.694 14.843 23.388 60.27 26.537 128.636l-.45 81.859c-6.747-1.8-23.388-3.598-23.388-11.694.45-65.218-.9-125.488-2.699-190.705zm5.397 208.696c1.8-3.149 16.642 3.598 23.389 4.947v128.636c-6.747 3.598-16.642 8.096-21.59 4.947-1.799-46.326-4.048-88.155-1.799-138.53zM638.387 782.99c-11.694 17.091-25.188 20.24-43.628 25.187-23.838 6.747-58.92 6.747-83.659 6.747-24.737 0-56.671 0-81.859-6.747-18.44-4.948-35.082-10.345-46.776-25.187-1.35-1.8-3.149-3.149-3.149-4.948-.45 20.24-1.799 41.83-4.947 66.567-3.598 25.187-6.747 46.776-10.345 66.566.45-20.24 1.8-41.829 4.948-66.566 3.598-25.188 6.746-46.777 10.344-66.567-3.148-8.096-3.148-21.59 1.35-28.786 1.349-8.096 4.947-16.641 9.895-23.388 1.799-1.35 3.148-4.947 4.947-6.747l6.747-6.746 3.148 8.096c13.494 9.895 83.209 16.641 107.047 16.641 21.589 0 94.003-9.895 107.046-16.641l3.149-8.096 6.746 8.546c1.8 1.799 3.149 3.148 4.948 6.746 4.947 6.747 8.096 14.843 9.895 23.388.9 6.747-.9 26.987-5.847 31.935zm19.79-71.965c-4.948 3.149-14.843-1.799-20.24-4.947V577.442c5.397-3.598 22.039-9.895 23.388-4.947-1.799 48.575-1.349 90.405-3.148 138.53zm1.35-156.521c.449 6.746-16.642 10.345-21.59 12.144v-82.31c1.8-70.164 14.843-116.94 26.537-128.635-1.35 66.567-3.149 130.435-4.948 198.8z" fill="#ca3f37"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_error_2.svg b/static/svgs/pic_ckpc_error_2.svg
new file mode 100644
index 0000000..a01a292
--- /dev/null
+++ b/static/svgs/pic_ckpc_error_2.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M899.598 488.445H731.55c-3.78 0-7.383-1.494-10.02-4.218l-151.523-154.6c-2.637-2.725-6.24-4.219-10.02-4.219H270.301a13.96 13.96 0 0 0-10.196 4.395L113.504 484.314c-2.461 2.637-3.867 6.065-3.867 9.668v220.079c0 7.734 6.24 14.062 14.062 14.062h52.383c0 51.152 41.66 92.813 92.813 92.813s92.812-41.66 92.812-92.813H653.68c0 51.152 41.66 92.813 92.812 92.813s92.813-41.66 92.813-92.813h60.293c7.734 0 14.062-6.24 14.062-14.062V502.42c-.088-7.734-6.328-13.975-14.062-13.975zm-630.703 287.49c-26.368 0-47.813-21.445-47.813-47.812s21.445-47.812 47.813-47.812 47.812 21.445 47.812 47.812-21.445 47.813-47.812 47.813zm117.51-287.49h-171.3c-12.304 0-18.632-14.765-10.195-23.642l91.494-96.416a13.96 13.96 0 0 1 10.196-4.395h79.892v124.453zm233.085 0H431.404v-124.54h93.516c3.78 0 7.383 1.493 10.02 4.218l94.482 96.416c8.701 8.877 2.46 23.906-9.932 23.906zm127.002 287.49c-26.367 0-47.812-21.445-47.812-47.812s21.445-47.812 47.812-47.812 47.813 21.445 47.813 47.812-21.446 47.813-47.813 47.813z" fill="#ca3f37"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_error_3.svg b/static/svgs/pic_ckpc_error_3.svg
new file mode 100644
index 0000000..77d8e1a
--- /dev/null
+++ b/static/svgs/pic_ckpc_error_3.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1821 1024" xmlns="http://www.w3.org/2000/svg" width="355.664" height="200"><path d="M670.166 49.785h138.485c13.824 0 25.135 11.31 25.135 25.135v42.978c0 13.824 11.31 25.135 25.134 25.135h83.695c13.824 0 25.134-11.31 25.134-25.135V74.92c0-13.824 11.31-25.135 25.135-25.135h138.234c13.824 0 25.132-11.31 25.134-25.134v-57.304c0-13.824-11.31-25.134-25.134-25.134H670.169c-13.824 0-25.134 11.31-25.134 25.134v57.304c0 13.824 11.31 25.134 25.134 25.134zm0 0zm932.956 338.298h-57.304c-13.824 0-25.133 11.31-25.135 25.135v24.631c0 13.824-11.31 25.135-25.132 25.135h-55.295c-13.824 0-25.133-11.31-25.133-25.135v-57.304c0-13.824-11.31-25.134-25.134-25.134h-97.769c-13.824 0-32.422-8.545-41.722-18.85l-81.181-92.743c-9.3-10.305-27.898-18.85-41.973-18.85H658.353c-13.824 0-32.171 8.797-40.968 19.604l-114.61 142.256c-8.796 10.808-27.143 19.604-40.967 19.604h-25.384c-13.824 0-25.134 11.31-25.134 25.134v119.887c0 13.824-11.31 25.135-25.135 25.135H336.14c-13.824 0-25.135-11.31-25.135-25.135V413.22c0-13.824-11.31-25.134-25.134-25.134h-57.304c-13.824 0-25.134 11.31-25.134 25.134v460.697c0 13.824 11.31 25.133 25.134 25.135h57.304c13.824 0 25.134-11.31 25.134-25.135V735.682c0-13.824 11.31-25.134 25.135-25.134h50.015c13.824 0 25.135 11.31 25.135 25.134v119.636c0 14.075 11.31 25.384 25.134 25.384h72.888c13.824 0 32.925 8.042 42.476 18.347l125.918 134.214c9.55 10.053 28.4 18.347 42.224 18.347h497.393c13.824 0 32.674-8.545 41.973-18.85l138.989-154.572c9.299-10.305 28.149-18.85 41.973-18.85h55.294c13.824 0 25.133 9.048 25.133 19.856 0 11.058 11.31 19.855 25.134 19.855h57.304c13.824 0 25.133-11.31 25.133-25.134V413.218c0-13.824-11.31-25.135-25.133-25.135zM1092.158 688.43 861.935 895.025c-21.867 19.605-28.652 14.327-15.33-12.064l32.422-63.085c13.321-26.139 3.268-59.315-22.62-73.39l-47.503-26.39c-25.635-14.076-44.738-49.765-42.727-78.92l14.075-187.495c2.263-29.155 28.15-53.032 57.304-53.032h183.475c29.406 0 41.973 20.86 27.898 46.748l-86.71 158.34c-14.327 25.887-1.76 47 27.647 47h88.72c29.407 0 35.438 16.084 13.573 35.689zm0 0z" fill="#ca3f37"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_error_4.svg b/static/svgs/pic_ckpc_error_4.svg
new file mode 100644
index 0000000..41a932c
--- /dev/null
+++ b/static/svgs/pic_ckpc_error_4.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M688.903 613.151a20.875 20.875 0 0 0-5.117-14.831 23.953 23.953 0 0 0-14.46-7.045q-4.672-.594-27.995-.63h-29.923v45.643h28.366a154.841 154.841 0 0 0 34.446-2.187 20.616 20.616 0 0 0 10.753-7.601 22.507 22.507 0 0 0 3.93-13.349z" fill="#ca3f37"/><path d="M512 141.211A370.789 370.789 0 1 0 882.789 512 370.789 370.789 0 0 0 512 141.211zm16.315 558.482a6.6 6.6 0 0 1-6.6 6.6h-52.912a6.6 6.6 0 0 1-6.6-6.6V552.231h-88.21v147.425a6.6 6.6 0 0 1-6.6 6.6H314.48a6.6 6.6 0 0 1-6.6-6.6V315.964a6.6 6.6 0 0 1 6.6-6.6h52.911a6.6 6.6 0 0 1 6.6 6.6V485.49h88.174V315.964a6.6 6.6 0 0 1 6.6-6.6h52.912a6.6 6.6 0 0 1 6.6 6.6v169.747h60.994c23.1 1.038 27.068-3.708 26.845-27.994.371-10.383 0-142.828 0-142.828a5.636 5.636 0 0 1 5.266-5.933h55.989a5.636 5.636 0 0 1 5.265 5.933v208.717c-.52 19.318-6.415 28.217-26.845 28.662H528.24v147.425zm163.851 15.128-21.691-30.627a199.595 199.595 0 0 0-15.833-20.69 23.137 23.137 0 0 0-9.01-5.858 51.91 51.91 0 0 0-15.09-1.595h-6.082v58.77h-30.034v-140.9h63.034a113.758 113.758 0 0 1 34.632 3.709 33.816 33.816 0 0 1 17.279 13.496 38.97 38.97 0 0 1 6.489 22.248 36.411 36.411 0 0 1-9.826 26.177 48.203 48.203 0 0 1-29.404 13.015 69.708 69.708 0 0 1 16.055 11.791 161.145 161.145 0 0 1 17.094 22.84l18.131 27.476h-35.892z" fill="#ca3f37"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_error_5.svg b/static/svgs/pic_ckpc_error_5.svg
new file mode 100644
index 0000000..ac03166
--- /dev/null
+++ b/static/svgs/pic_ckpc_error_5.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="m697.99 399.5-56.137 56.25s0-225-187.2-300.01c0 0-18.703 206.241-112.303 281.25S61.55 737 435.95 905.75c0 0-187.2-206.269 56.138-356.26 0 0-18.704 75.01 74.868 149.991 93.6 75.01 0 206.269 0 206.269s449.269-112.5 131.063-506.25z" fill="#ca3f37"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_error_6.svg b/static/svgs/pic_ckpc_error_6.svg
new file mode 100644
index 0000000..a9d1c4d
--- /dev/null
+++ b/static/svgs/pic_ckpc_error_6.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M512.045 882.788a264.912 264.912 0 0 0 265.16-265.406c0-105.273-141.106-311.865-234.023-451.24-20.51-33.856-42.01-32.62-62.274 0-93.164 139.375-234.269 347.45-234.269 451.24a264.912 264.912 0 0 0 265.406 265.406zm80.561-125.537a158.404 158.404 0 0 0 56.838-54.86 153.461 153.461 0 0 0 24.712-76.607 31.878 31.878 0 1 1 63.51 3.707 234.763 234.763 0 0 1-33.609 106.261 226.114 226.114 0 0 1-80.067 77.843 32.126 32.126 0 0 1-31.384-56.344z" fill="#ca3f37"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_error_7.svg b/static/svgs/pic_ckpc_error_7.svg
new file mode 100644
index 0000000..29516b7
--- /dev/null
+++ b/static/svgs/pic_ckpc_error_7.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M433.857 152.881c6.497.94 13.026 1.705 19.488 2.85 48.325 8.553 88.2 31.913 119.63 69.413 27.246 32.512 42.44 70.18 46.727 112.415 9.24 91.043-44.5 178.744-129.61 211.086-92.517 35.156-197.02-3.406-245.312-90.543-20.956-37.812-29.054-78.322-25.24-121.29 7.308-82.325 65.835-153.549 145.4-176.222 12.246-3.49 25.13-4.738 37.716-7.032 1.05-.19 2.088-.45 3.131-.677h28.07zM839.06 349.365c-.958 6.37-1.54 12.823-2.936 19.095-9.296 41.72-47.88 71.162-90.47 69.226-41.04-1.866-75.524-32.343-83.377-73.686-8.763-46.14 19.353-91.544 64.436-104.056 49.13-13.634 101.052 18.93 110.11 69.14 1.037 5.749 1.505 11.599 2.237 17.402v2.88zM667.97 788.592c-12.38 7.957-25.51 12.058-39.556 13.416-33.916 3.278-63.024-8.52-89.607-28.453-18.68-14.008-35.065-30.55-52.084-46.41-6.566-6.118-13.324-12.136-20.584-17.385-11.973-8.658-20.47-7.633-30.852 2.976-9.411 9.614-16.038 21.204-22.419 32.885-12.808 23.447-25.076 47.194-38.218 70.45-6.164 10.909-13.27 21.407-20.98 31.287-8.242 10.562-18.917 18.405-32.34 21.524-13.9 3.23-26.576-.25-38.413-7.644-8.644-5.4-15.946-12.306-22.166-20.32-5.558-7.163-6.507-15.567-5.68-24.254 1.65-17.329 7.68-33.421 15.348-48.758 12.907-25.815 26.585-51.245 39.972-76.82 9.61-18.36 18.946-36.873 29.01-54.981 9.304-16.743 20.498-32.162 35.703-44.236 19.592-15.556 42.115-20.618 66.556-18.098 24.652 2.54 45.989 13.512 66.187 27.056 14.687 9.848 28.178 21.168 40.643 33.711.66.663 1.395 1.25 2.274 2.031l2.875-5.848c38.18 52.717 76.14 105.134 114.331 157.871zm-92.916-185.054 192.106-113.592c1.957 4.353 4.165 8.312 5.56 12.54 4.822 14.606 6.313 29.762 6.242 45.037-.135 29.134-5.257 57.423-15.058 84.876-5.154 14.434-12.93 27.125-23.484 38.314-9.536 10.11-18.796 20.527-27.553 31.316-9.032 11.128-14.463 23.818-14.47 38.604-.003 8.23-2.706 15.95-7.14 23.36-38.804-53.581-77.395-106.87-116.203-160.455zM741.01 466.526 586.987 557.59c-.18-.456-.386-.721-.32-.852a64162.919 64162.919 0 0 1 42.522-85.524c.745-1.494 1.78-2.842 2.624-4.291 7.89-13.564 20.196-20.296 35.334-21.628 26.928-2.369 50.946 6.39 73.374 20.493.173.109.251.37.488.74z" fill="#ca3f37"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_error_8.svg b/static/svgs/pic_ckpc_error_8.svg
new file mode 100644
index 0000000..822d009
--- /dev/null
+++ b/static/svgs/pic_ckpc_error_8.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M814.12 480.152c50.827-51.615 66.198-128.442 38.61-195.418l-94.553 94.554c-27.577 26.01-70.526 24.432-96.526-3.146-24.817-26.394-24.817-66.976 0-93.38l94.554-94.564c-66.976-27.183-143.803-12.206-195.812 38.216-51.221 51.221-66.188 128.442-38.216 195.024l-65.4 65.399-165.483-165.465 11.427-23.633-89.437-61.07-56.338 56.731 59.1 88.254 26.788-13.4L409.49 533.74 216.045 727.185c-12.216 12.206-12.61 31.915-.394 44.131l.394.395 59.099 59.493c12.216 12.216 32.31 12.216 44.516 0l193.446-193.052 27.578 27.578-7.484 7.483c-10.638 7.484-13.4 22.066-5.906 33.099.789 1.183 1.578 2.366 2.76 3.155l131.203 130.807c11.033 11.428 29.155 12.61 41.765 2.367l61.07-61.07c11.034-12.602 11.034-31.128 0-43.334L632.892 607.429c-10.639-11.033-26.79-6.3-38.216 5.127l-5.512 5.512-27.577-27.183 68.554-68.949c64.215 22.047 135.52 5.887 183.98-41.784zm0 0" fill="#ca3f37"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_normal_1.svg b/static/svgs/pic_ckpc_normal_1.svg
new file mode 100644
index 0000000..51209ea
--- /dev/null
+++ b/static/svgs/pic_ckpc_normal_1.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="m680.666 350.306 2.698-19.34c3.599 0 2.699-3.599 2.699-7.197V214.024c0-1.8-1.8-3.598-3.148-3.148h-3.149V181.19c0-8.096-4.947-21.589-11.694-33.283 0-11.244-13.493-31.934-20.24-38.68-6.747-8.546-13.493-16.642-21.59-23.389-1.348-4.947-8.095-8.096-13.492-8.096-10.345-8.096-21.59-15.292-30.135-14.842L433.289 62c-8.096 0-19.79 6.747-30.135 14.843-4.947 0-11.694 3.598-13.493 8.096-8.546 6.746-14.842 14.842-21.589 23.388-6.747 6.746-20.24 26.537-20.24 38.68-6.747 11.695-11.694 25.188-11.694 33.284v29.685h-3.148c-1.8 0-3.599 1.8-3.149 3.148l-.45 116.942c0 1.8 1.35 3.598 3.149 3.148h4.947v18.441c-20.24 4.948-39.58 6.747-33.283 25.188 11.694-3.599 21.59-4.948 33.283-8.546l8.546 365.217h-4.948c-1.799 0-3.598 1.35-3.148 3.149v116.941c0 1.8 1.8 3.598 3.148 3.149h6.297v19.79c0 21.589 13.494 38.23 35.083 51.724 68.366 43.628 233.883 37.781 275.712-18.89-3.598-19.79-8.096-42.28-9.895-65.218-3.598-25.187-4.948-47.226-4.948-66.567 3.599 20.24 6.747 41.83 10.345 66.567 3.598 24.288 4.948 45.877 4.948 65.217 5.847-8.096 9.445-17.54 9.445-27.436v-24.738h8.096c1.799 0 3.598-1.349 3.148-3.148V737.112c0-1.799-1.799-3.598-3.148-3.148h-4.948l8.096-367.016c13.494 3.148 25.188 6.746 36.432 9.895 8.546-19.79-13.493-19.79-35.082-26.537zm-102.55-158.321c3.15-30.135 6.298-58.47 9.896-81.86.45 23.39-1.35 51.725-4.948 81.86-3.148 29.685-6.296 58.47-9.895 81.86-.45-25.188 1.8-51.725 4.948-81.86zm-136.73 0c3.148 29.685 4.947 58.021 4.947 81.86-3.149-24.739-6.747-51.725-9.895-81.86-3.149-30.135-4.948-58.021-4.948-81.86 3.149 23.839 6.747 52.175 9.895 81.86zm-70.615 118.74c88.156-28.335 176.761-29.685 265.367 0 3.598 1.8 4.947 4.948 4.947 8.097-4.947 38.23-11.694 67.016-18.44 107.046 0 1.8-1.8 1.8-1.8 3.598h-1.799c-73.313-13.493-148.875-13.493-221.739 0-1.349 0-3.148 0-4.947-1.799-1.8-1.799-3.149-3.148-3.149-4.947-6.746-40.48-11.244-68.816-18.44-107.047v-4.947zM355.928 363.8s1.8.45 1.8-1.35-1.8-4.947-1.8-6.746c11.694 14.843 23.388 60.27 26.537 128.636l-.45 81.859c-6.747-1.8-23.388-3.598-23.388-11.694.45-65.218-.9-125.488-2.699-190.705zm5.397 208.696c1.8-3.149 16.642 3.598 23.389 4.947v128.636c-6.747 3.598-16.642 8.096-21.59 4.947-1.799-46.326-4.048-88.155-1.799-138.53zM638.387 782.99c-11.694 17.091-25.188 20.24-43.628 25.187-23.838 6.747-58.92 6.747-83.659 6.747-24.737 0-56.671 0-81.859-6.747-18.44-4.948-35.082-10.345-46.776-25.187-1.35-1.8-3.149-3.149-3.149-4.948-.45 20.24-1.799 41.83-4.947 66.567-3.598 25.187-6.747 46.776-10.345 66.566.45-20.24 1.8-41.829 4.948-66.566 3.598-25.188 6.746-46.777 10.344-66.567-3.148-8.096-3.148-21.59 1.35-28.786 1.349-8.096 4.947-16.641 9.895-23.388 1.799-1.35 3.148-4.947 4.947-6.747l6.747-6.746 3.148 8.096c13.494 9.895 83.209 16.641 107.047 16.641 21.589 0 94.003-9.895 107.046-16.641l3.149-8.096 6.746 8.546c1.8 1.799 3.149 3.148 4.948 6.746 4.947 6.747 8.096 14.843 9.895 23.388.9 6.747-.9 26.987-5.847 31.935zm19.79-71.965c-4.948 3.149-14.843-1.799-20.24-4.947V577.442c5.397-3.598 22.039-9.895 23.388-4.947-1.799 48.575-1.349 90.405-3.148 138.53zm1.35-156.521c.449 6.746-16.642 10.345-21.59 12.144v-82.31c1.8-70.164 14.843-116.94 26.537-128.635-1.35 66.567-3.149 130.435-4.948 198.8z" fill="#196AD7"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_normal_2.svg b/static/svgs/pic_ckpc_normal_2.svg
new file mode 100644
index 0000000..70d3e17
--- /dev/null
+++ b/static/svgs/pic_ckpc_normal_2.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M899.598 488.445H731.55c-3.78 0-7.383-1.494-10.02-4.218l-151.523-154.6c-2.637-2.725-6.24-4.219-10.02-4.219H270.301a13.96 13.96 0 0 0-10.196 4.395L113.504 484.314c-2.461 2.637-3.867 6.065-3.867 9.668v220.079c0 7.734 6.24 14.062 14.062 14.062h52.383c0 51.152 41.66 92.813 92.813 92.813s92.812-41.66 92.812-92.813H653.68c0 51.152 41.66 92.813 92.812 92.813s92.813-41.66 92.813-92.813h60.293c7.734 0 14.062-6.24 14.062-14.062V502.42c-.088-7.734-6.328-13.975-14.062-13.975zm-630.703 287.49c-26.368 0-47.813-21.445-47.813-47.812s21.445-47.812 47.813-47.812 47.812 21.445 47.812 47.812-21.445 47.813-47.812 47.813zm117.51-287.49h-171.3c-12.304 0-18.632-14.765-10.195-23.642l91.494-96.416a13.96 13.96 0 0 1 10.196-4.395h79.892v124.453zm233.085 0H431.404v-124.54h93.516c3.78 0 7.383 1.493 10.02 4.218l94.482 96.416c8.701 8.877 2.46 23.906-9.932 23.906zm127.002 287.49c-26.367 0-47.812-21.445-47.812-47.812s21.445-47.812 47.812-47.812 47.813 21.445 47.813 47.812-21.446 47.813-47.813 47.813z" fill="#196AD7"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_normal_3.svg b/static/svgs/pic_ckpc_normal_3.svg
new file mode 100644
index 0000000..8afbd85
--- /dev/null
+++ b/static/svgs/pic_ckpc_normal_3.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1821 1024" xmlns="http://www.w3.org/2000/svg" width="355.664" height="200"><path d="M670.166 49.785h138.485c13.824 0 25.135 11.31 25.135 25.135v42.978c0 13.824 11.31 25.135 25.134 25.135h83.695c13.824 0 25.134-11.31 25.134-25.135V74.92c0-13.824 11.31-25.135 25.135-25.135h138.234c13.824 0 25.132-11.31 25.134-25.134v-57.304c0-13.824-11.31-25.134-25.134-25.134H670.169c-13.824 0-25.134 11.31-25.134 25.134v57.304c0 13.824 11.31 25.134 25.134 25.134zm0 0zm932.956 338.298h-57.304c-13.824 0-25.133 11.31-25.135 25.135v24.631c0 13.824-11.31 25.135-25.132 25.135h-55.295c-13.824 0-25.133-11.31-25.133-25.135v-57.304c0-13.824-11.31-25.134-25.134-25.134h-97.769c-13.824 0-32.422-8.545-41.722-18.85l-81.181-92.743c-9.3-10.305-27.898-18.85-41.973-18.85H658.353c-13.824 0-32.171 8.797-40.968 19.604l-114.61 142.256c-8.796 10.808-27.143 19.604-40.967 19.604h-25.384c-13.824 0-25.134 11.31-25.134 25.134v119.887c0 13.824-11.31 25.135-25.135 25.135H336.14c-13.824 0-25.135-11.31-25.135-25.135V413.22c0-13.824-11.31-25.134-25.134-25.134h-57.304c-13.824 0-25.134 11.31-25.134 25.134v460.697c0 13.824 11.31 25.133 25.134 25.135h57.304c13.824 0 25.134-11.31 25.134-25.135V735.682c0-13.824 11.31-25.134 25.135-25.134h50.015c13.824 0 25.135 11.31 25.135 25.134v119.636c0 14.075 11.31 25.384 25.134 25.384h72.888c13.824 0 32.925 8.042 42.476 18.347l125.918 134.214c9.55 10.053 28.4 18.347 42.224 18.347h497.393c13.824 0 32.674-8.545 41.973-18.85l138.989-154.572c9.299-10.305 28.149-18.85 41.973-18.85h55.294c13.824 0 25.133 9.048 25.133 19.856 0 11.058 11.31 19.855 25.134 19.855h57.304c13.824 0 25.133-11.31 25.133-25.134V413.218c0-13.824-11.31-25.135-25.133-25.135zM1092.158 688.43 861.935 895.025c-21.867 19.605-28.652 14.327-15.33-12.064l32.422-63.085c13.321-26.139 3.268-59.315-22.62-73.39l-47.503-26.39c-25.635-14.076-44.738-49.765-42.727-78.92l14.075-187.495c2.263-29.155 28.15-53.032 57.304-53.032h183.475c29.406 0 41.973 20.86 27.898 46.748l-86.71 158.34c-14.327 25.887-1.76 47 27.647 47h88.72c29.407 0 35.438 16.084 13.573 35.689zm0 0z" fill="#196AD7"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_normal_4.svg b/static/svgs/pic_ckpc_normal_4.svg
new file mode 100644
index 0000000..447215b
--- /dev/null
+++ b/static/svgs/pic_ckpc_normal_4.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M688.903 613.151a20.875 20.875 0 0 0-5.117-14.831 23.953 23.953 0 0 0-14.46-7.045q-4.672-.594-27.995-.63h-29.923v45.643h28.366a154.841 154.841 0 0 0 34.446-2.187 20.616 20.616 0 0 0 10.753-7.601 22.507 22.507 0 0 0 3.93-13.349z" fill="#196AD7"/><path d="M512 141.211A370.789 370.789 0 1 0 882.789 512 370.789 370.789 0 0 0 512 141.211zm16.315 558.482a6.6 6.6 0 0 1-6.6 6.6h-52.912a6.6 6.6 0 0 1-6.6-6.6V552.231h-88.21v147.425a6.6 6.6 0 0 1-6.6 6.6H314.48a6.6 6.6 0 0 1-6.6-6.6V315.964a6.6 6.6 0 0 1 6.6-6.6h52.911a6.6 6.6 0 0 1 6.6 6.6V485.49h88.174V315.964a6.6 6.6 0 0 1 6.6-6.6h52.912a6.6 6.6 0 0 1 6.6 6.6v169.747h60.994c23.1 1.038 27.068-3.708 26.845-27.994.371-10.383 0-142.828 0-142.828a5.636 5.636 0 0 1 5.266-5.933h55.989a5.636 5.636 0 0 1 5.265 5.933v208.717c-.52 19.318-6.415 28.217-26.845 28.662H528.24v147.425zm163.851 15.128-21.691-30.627a199.595 199.595 0 0 0-15.833-20.69 23.137 23.137 0 0 0-9.01-5.858 51.91 51.91 0 0 0-15.09-1.595h-6.082v58.77h-30.034v-140.9h63.034a113.758 113.758 0 0 1 34.632 3.709 33.816 33.816 0 0 1 17.279 13.496 38.97 38.97 0 0 1 6.489 22.248 36.411 36.411 0 0 1-9.826 26.177 48.203 48.203 0 0 1-29.404 13.015 69.708 69.708 0 0 1 16.055 11.791 161.145 161.145 0 0 1 17.094 22.84l18.131 27.476h-35.892z" fill="#196AD7"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_normal_5.svg b/static/svgs/pic_ckpc_normal_5.svg
new file mode 100644
index 0000000..a95f709
--- /dev/null
+++ b/static/svgs/pic_ckpc_normal_5.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="m697.99 399.5-56.137 56.25s0-225-187.2-300.01c0 0-18.703 206.241-112.303 281.25S61.55 737 435.95 905.75c0 0-187.2-206.269 56.138-356.26 0 0-18.704 75.01 74.868 149.991 93.6 75.01 0 206.269 0 206.269s449.269-112.5 131.063-506.25z" fill="#196AD7"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_normal_6.svg b/static/svgs/pic_ckpc_normal_6.svg
new file mode 100644
index 0000000..77903ea
--- /dev/null
+++ b/static/svgs/pic_ckpc_normal_6.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M512.045 882.788a264.912 264.912 0 0 0 265.16-265.406c0-105.273-141.106-311.865-234.023-451.24-20.51-33.856-42.01-32.62-62.274 0-93.164 139.375-234.269 347.45-234.269 451.24a264.912 264.912 0 0 0 265.406 265.406zm80.561-125.537a158.404 158.404 0 0 0 56.838-54.86 153.461 153.461 0 0 0 24.712-76.607 31.878 31.878 0 1 1 63.51 3.707 234.763 234.763 0 0 1-33.609 106.261 226.114 226.114 0 0 1-80.067 77.843 32.126 32.126 0 0 1-31.384-56.344z" fill="#196AD7"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_normal_7.svg b/static/svgs/pic_ckpc_normal_7.svg
new file mode 100644
index 0000000..d240d33
--- /dev/null
+++ b/static/svgs/pic_ckpc_normal_7.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M433.857 152.881c6.497.94 13.026 1.705 19.488 2.85 48.325 8.553 88.2 31.913 119.63 69.413 27.246 32.512 42.44 70.18 46.727 112.415 9.24 91.043-44.5 178.744-129.61 211.086-92.517 35.156-197.02-3.406-245.312-90.543-20.956-37.812-29.054-78.322-25.24-121.29 7.308-82.325 65.835-153.549 145.4-176.222 12.246-3.49 25.13-4.738 37.716-7.032 1.05-.19 2.088-.45 3.131-.677h28.07zM839.06 349.365c-.958 6.37-1.54 12.823-2.936 19.095-9.296 41.72-47.88 71.162-90.47 69.226-41.04-1.866-75.524-32.343-83.377-73.686-8.763-46.14 19.353-91.544 64.436-104.056 49.13-13.634 101.052 18.93 110.11 69.14 1.037 5.749 1.505 11.599 2.237 17.402v2.88zM667.97 788.592c-12.38 7.957-25.51 12.058-39.556 13.416-33.916 3.278-63.024-8.52-89.607-28.453-18.68-14.008-35.065-30.55-52.084-46.41-6.566-6.118-13.324-12.136-20.584-17.385-11.973-8.658-20.47-7.633-30.852 2.976-9.411 9.614-16.038 21.204-22.419 32.885-12.808 23.447-25.076 47.194-38.218 70.45-6.164 10.909-13.27 21.407-20.98 31.287-8.242 10.562-18.917 18.405-32.34 21.524-13.9 3.23-26.576-.25-38.413-7.644-8.644-5.4-15.946-12.306-22.166-20.32-5.558-7.163-6.507-15.567-5.68-24.254 1.65-17.329 7.68-33.421 15.348-48.758 12.907-25.815 26.585-51.245 39.972-76.82 9.61-18.36 18.946-36.873 29.01-54.981 9.304-16.743 20.498-32.162 35.703-44.236 19.592-15.556 42.115-20.618 66.556-18.098 24.652 2.54 45.989 13.512 66.187 27.056 14.687 9.848 28.178 21.168 40.643 33.711.66.663 1.395 1.25 2.274 2.031l2.875-5.848c38.18 52.717 76.14 105.134 114.331 157.871zm-92.916-185.054 192.106-113.592c1.957 4.353 4.165 8.312 5.56 12.54 4.822 14.606 6.313 29.762 6.242 45.037-.135 29.134-5.257 57.423-15.058 84.876-5.154 14.434-12.93 27.125-23.484 38.314-9.536 10.11-18.796 20.527-27.553 31.316-9.032 11.128-14.463 23.818-14.47 38.604-.003 8.23-2.706 15.95-7.14 23.36-38.804-53.581-77.395-106.87-116.203-160.455zM741.01 466.526 586.987 557.59c-.18-.456-.386-.721-.32-.852a64162.919 64162.919 0 0 1 42.522-85.524c.745-1.494 1.78-2.842 2.624-4.291 7.89-13.564 20.196-20.296 35.334-21.628 26.928-2.369 50.946 6.39 73.374 20.493.173.109.251.37.488.74z" fill="#196AD7"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_normal_8.svg b/static/svgs/pic_ckpc_normal_8.svg
new file mode 100644
index 0000000..c780b4b
--- /dev/null
+++ b/static/svgs/pic_ckpc_normal_8.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M814.12 480.152c50.827-51.615 66.198-128.442 38.61-195.418l-94.553 94.554c-27.577 26.01-70.526 24.432-96.526-3.146-24.817-26.394-24.817-66.976 0-93.38l94.554-94.564c-66.976-27.183-143.803-12.206-195.812 38.216-51.221 51.221-66.188 128.442-38.216 195.024l-65.4 65.399-165.483-165.465 11.427-23.633-89.437-61.07-56.338 56.731 59.1 88.254 26.788-13.4L409.49 533.74 216.045 727.185c-12.216 12.206-12.61 31.915-.394 44.131l.394.395 59.099 59.493c12.216 12.216 32.31 12.216 44.516 0l193.446-193.052 27.578 27.578-7.484 7.483c-10.638 7.484-13.4 22.066-5.906 33.099.789 1.183 1.578 2.366 2.76 3.155l131.203 130.807c11.033 11.428 29.155 12.61 41.765 2.367l61.07-61.07c11.034-12.602 11.034-31.128 0-43.334L632.892 607.429c-10.639-11.033-26.79-6.3-38.216 5.127l-5.512 5.512-27.577-27.183 68.554-68.949c64.215 22.047 135.52 5.887 183.98-41.784zm0 0" fill="#196AD7"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_unidentified_1.svg b/static/svgs/pic_ckpc_unidentified_1.svg
new file mode 100644
index 0000000..1d673c6
--- /dev/null
+++ b/static/svgs/pic_ckpc_unidentified_1.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="m680.666 350.306 2.698-19.34c3.599 0 2.699-3.599 2.699-7.197V214.024c0-1.8-1.8-3.598-3.148-3.148h-3.149V181.19c0-8.096-4.947-21.589-11.694-33.283 0-11.244-13.493-31.934-20.24-38.68-6.747-8.546-13.493-16.642-21.59-23.389-1.348-4.947-8.095-8.096-13.492-8.096-10.345-8.096-21.59-15.292-30.135-14.842L433.289 62c-8.096 0-19.79 6.747-30.135 14.843-4.947 0-11.694 3.598-13.493 8.096-8.546 6.746-14.842 14.842-21.589 23.388-6.747 6.746-20.24 26.537-20.24 38.68-6.747 11.695-11.694 25.188-11.694 33.284v29.685h-3.148c-1.8 0-3.599 1.8-3.149 3.148l-.45 116.942c0 1.8 1.35 3.598 3.149 3.148h4.947v18.441c-20.24 4.948-39.58 6.747-33.283 25.188 11.694-3.599 21.59-4.948 33.283-8.546l8.546 365.217h-4.948c-1.799 0-3.598 1.35-3.148 3.149v116.941c0 1.8 1.8 3.598 3.148 3.149h6.297v19.79c0 21.589 13.494 38.23 35.083 51.724 68.366 43.628 233.883 37.781 275.712-18.89-3.598-19.79-8.096-42.28-9.895-65.218-3.598-25.187-4.948-47.226-4.948-66.567 3.599 20.24 6.747 41.83 10.345 66.567 3.598 24.288 4.948 45.877 4.948 65.217 5.847-8.096 9.445-17.54 9.445-27.436v-24.738h8.096c1.799 0 3.598-1.349 3.148-3.148V737.112c0-1.799-1.799-3.598-3.148-3.148h-4.948l8.096-367.016c13.494 3.148 25.188 6.746 36.432 9.895 8.546-19.79-13.493-19.79-35.082-26.537zm-102.55-158.321c3.15-30.135 6.298-58.47 9.896-81.86.45 23.39-1.35 51.725-4.948 81.86-3.148 29.685-6.296 58.47-9.895 81.86-.45-25.188 1.8-51.725 4.948-81.86zm-136.73 0c3.148 29.685 4.947 58.021 4.947 81.86-3.149-24.739-6.747-51.725-9.895-81.86-3.149-30.135-4.948-58.021-4.948-81.86 3.149 23.839 6.747 52.175 9.895 81.86zm-70.615 118.74c88.156-28.335 176.761-29.685 265.367 0 3.598 1.8 4.947 4.948 4.947 8.097-4.947 38.23-11.694 67.016-18.44 107.046 0 1.8-1.8 1.8-1.8 3.598h-1.799c-73.313-13.493-148.875-13.493-221.739 0-1.349 0-3.148 0-4.947-1.799-1.8-1.799-3.149-3.148-3.149-4.947-6.746-40.48-11.244-68.816-18.44-107.047v-4.947zM355.928 363.8s1.8.45 1.8-1.35-1.8-4.947-1.8-6.746c11.694 14.843 23.388 60.27 26.537 128.636l-.45 81.859c-6.747-1.8-23.388-3.598-23.388-11.694.45-65.218-.9-125.488-2.699-190.705zm5.397 208.696c1.8-3.149 16.642 3.598 23.389 4.947v128.636c-6.747 3.598-16.642 8.096-21.59 4.947-1.799-46.326-4.048-88.155-1.799-138.53zM638.387 782.99c-11.694 17.091-25.188 20.24-43.628 25.187-23.838 6.747-58.92 6.747-83.659 6.747-24.737 0-56.671 0-81.859-6.747-18.44-4.948-35.082-10.345-46.776-25.187-1.35-1.8-3.149-3.149-3.149-4.948-.45 20.24-1.799 41.83-4.947 66.567-3.598 25.187-6.747 46.776-10.345 66.566.45-20.24 1.8-41.829 4.948-66.566 3.598-25.188 6.746-46.777 10.344-66.567-3.148-8.096-3.148-21.59 1.35-28.786 1.349-8.096 4.947-16.641 9.895-23.388 1.799-1.35 3.148-4.947 4.947-6.747l6.747-6.746 3.148 8.096c13.494 9.895 83.209 16.641 107.047 16.641 21.589 0 94.003-9.895 107.046-16.641l3.149-8.096 6.746 8.546c1.8 1.799 3.149 3.148 4.948 6.746 4.947 6.747 8.096 14.843 9.895 23.388.9 6.747-.9 26.987-5.847 31.935zm19.79-71.965c-4.948 3.149-14.843-1.799-20.24-4.947V577.442c5.397-3.598 22.039-9.895 23.388-4.947-1.799 48.575-1.349 90.405-3.148 138.53zm1.35-156.521c.449 6.746-16.642 10.345-21.59 12.144v-82.31c1.8-70.164 14.843-116.94 26.537-128.635-1.35 66.567-3.149 130.435-4.948 198.8z" fill="#4f5a7e"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_unidentified_2.svg b/static/svgs/pic_ckpc_unidentified_2.svg
new file mode 100644
index 0000000..34665e5
--- /dev/null
+++ b/static/svgs/pic_ckpc_unidentified_2.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M899.598 488.445H731.55c-3.78 0-7.383-1.494-10.02-4.218l-151.523-154.6c-2.637-2.725-6.24-4.219-10.02-4.219H270.301a13.96 13.96 0 0 0-10.196 4.395L113.504 484.314c-2.461 2.637-3.867 6.065-3.867 9.668v220.079c0 7.734 6.24 14.062 14.062 14.062h52.383c0 51.152 41.66 92.813 92.813 92.813s92.812-41.66 92.812-92.813H653.68c0 51.152 41.66 92.813 92.812 92.813s92.813-41.66 92.813-92.813h60.293c7.734 0 14.062-6.24 14.062-14.062V502.42c-.088-7.734-6.328-13.975-14.062-13.975zm-630.703 287.49c-26.368 0-47.813-21.445-47.813-47.812s21.445-47.812 47.813-47.812 47.812 21.445 47.812 47.812-21.445 47.813-47.812 47.813zm117.51-287.49h-171.3c-12.304 0-18.632-14.765-10.195-23.642l91.494-96.416a13.96 13.96 0 0 1 10.196-4.395h79.892v124.453zm233.085 0H431.404v-124.54h93.516c3.78 0 7.383 1.493 10.02 4.218l94.482 96.416c8.701 8.877 2.46 23.906-9.932 23.906zm127.002 287.49c-26.367 0-47.812-21.445-47.812-47.812s21.445-47.812 47.812-47.812 47.813 21.445 47.813 47.812-21.446 47.813-47.813 47.813z" fill="#4f5a7e"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_unidentified_3.svg b/static/svgs/pic_ckpc_unidentified_3.svg
new file mode 100644
index 0000000..b4f49c3
--- /dev/null
+++ b/static/svgs/pic_ckpc_unidentified_3.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1821 1024" xmlns="http://www.w3.org/2000/svg" width="355.664" height="200"><path d="M670.166 49.785h138.485c13.824 0 25.135 11.31 25.135 25.135v42.978c0 13.824 11.31 25.135 25.134 25.135h83.695c13.824 0 25.134-11.31 25.134-25.135V74.92c0-13.824 11.31-25.135 25.135-25.135h138.234c13.824 0 25.132-11.31 25.134-25.134v-57.304c0-13.824-11.31-25.134-25.134-25.134H670.169c-13.824 0-25.134 11.31-25.134 25.134v57.304c0 13.824 11.31 25.134 25.134 25.134zm0 0zm932.956 338.298h-57.304c-13.824 0-25.133 11.31-25.135 25.135v24.631c0 13.824-11.31 25.135-25.132 25.135h-55.295c-13.824 0-25.133-11.31-25.133-25.135v-57.304c0-13.824-11.31-25.134-25.134-25.134h-97.769c-13.824 0-32.422-8.545-41.722-18.85l-81.181-92.743c-9.3-10.305-27.898-18.85-41.973-18.85H658.353c-13.824 0-32.171 8.797-40.968 19.604l-114.61 142.256c-8.796 10.808-27.143 19.604-40.967 19.604h-25.384c-13.824 0-25.134 11.31-25.134 25.134v119.887c0 13.824-11.31 25.135-25.135 25.135H336.14c-13.824 0-25.135-11.31-25.135-25.135V413.22c0-13.824-11.31-25.134-25.134-25.134h-57.304c-13.824 0-25.134 11.31-25.134 25.134v460.697c0 13.824 11.31 25.133 25.134 25.135h57.304c13.824 0 25.134-11.31 25.134-25.135V735.682c0-13.824 11.31-25.134 25.135-25.134h50.015c13.824 0 25.135 11.31 25.135 25.134v119.636c0 14.075 11.31 25.384 25.134 25.384h72.888c13.824 0 32.925 8.042 42.476 18.347l125.918 134.214c9.55 10.053 28.4 18.347 42.224 18.347h497.393c13.824 0 32.674-8.545 41.973-18.85l138.989-154.572c9.299-10.305 28.149-18.85 41.973-18.85h55.294c13.824 0 25.133 9.048 25.133 19.856 0 11.058 11.31 19.855 25.134 19.855h57.304c13.824 0 25.133-11.31 25.133-25.134V413.218c0-13.824-11.31-25.135-25.133-25.135zM1092.158 688.43 861.935 895.025c-21.867 19.605-28.652 14.327-15.33-12.064l32.422-63.085c13.321-26.139 3.268-59.315-22.62-73.39l-47.503-26.39c-25.635-14.076-44.738-49.765-42.727-78.92l14.075-187.495c2.263-29.155 28.15-53.032 57.304-53.032h183.475c29.406 0 41.973 20.86 27.898 46.748l-86.71 158.34c-14.327 25.887-1.76 47 27.647 47h88.72c29.407 0 35.438 16.084 13.573 35.689zm0 0z" fill="#4f5a7e"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_unidentified_4.svg b/static/svgs/pic_ckpc_unidentified_4.svg
new file mode 100644
index 0000000..8124c94
--- /dev/null
+++ b/static/svgs/pic_ckpc_unidentified_4.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M688.903 613.151a20.875 20.875 0 0 0-5.117-14.831 23.953 23.953 0 0 0-14.46-7.045q-4.672-.594-27.995-.63h-29.923v45.643h28.366a154.841 154.841 0 0 0 34.446-2.187 20.616 20.616 0 0 0 10.753-7.601 22.507 22.507 0 0 0 3.93-13.349z" fill="#4f5a7e"/><path d="M512 141.211A370.789 370.789 0 1 0 882.789 512 370.789 370.789 0 0 0 512 141.211zm16.315 558.482a6.6 6.6 0 0 1-6.6 6.6h-52.912a6.6 6.6 0 0 1-6.6-6.6V552.231h-88.21v147.425a6.6 6.6 0 0 1-6.6 6.6H314.48a6.6 6.6 0 0 1-6.6-6.6V315.964a6.6 6.6 0 0 1 6.6-6.6h52.911a6.6 6.6 0 0 1 6.6 6.6V485.49h88.174V315.964a6.6 6.6 0 0 1 6.6-6.6h52.912a6.6 6.6 0 0 1 6.6 6.6v169.747h60.994c23.1 1.038 27.068-3.708 26.845-27.994.371-10.383 0-142.828 0-142.828a5.636 5.636 0 0 1 5.266-5.933h55.989a5.636 5.636 0 0 1 5.265 5.933v208.717c-.52 19.318-6.415 28.217-26.845 28.662H528.24v147.425zm163.851 15.128-21.691-30.627a199.595 199.595 0 0 0-15.833-20.69 23.137 23.137 0 0 0-9.01-5.858 51.91 51.91 0 0 0-15.09-1.595h-6.082v58.77h-30.034v-140.9h63.034a113.758 113.758 0 0 1 34.632 3.709 33.816 33.816 0 0 1 17.279 13.496 38.97 38.97 0 0 1 6.489 22.248 36.411 36.411 0 0 1-9.826 26.177 48.203 48.203 0 0 1-29.404 13.015 69.708 69.708 0 0 1 16.055 11.791 161.145 161.145 0 0 1 17.094 22.84l18.131 27.476h-35.892z" fill="#4f5a7e"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_unidentified_5.svg b/static/svgs/pic_ckpc_unidentified_5.svg
new file mode 100644
index 0000000..bcbf6d4
--- /dev/null
+++ b/static/svgs/pic_ckpc_unidentified_5.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="m697.99 399.5-56.137 56.25s0-225-187.2-300.01c0 0-18.703 206.241-112.303 281.25S61.55 737 435.95 905.75c0 0-187.2-206.269 56.138-356.26 0 0-18.704 75.01 74.868 149.991 93.6 75.01 0 206.269 0 206.269s449.269-112.5 131.063-506.25z" fill="#4f5a7e"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_unidentified_6.svg b/static/svgs/pic_ckpc_unidentified_6.svg
new file mode 100644
index 0000000..7df0531
--- /dev/null
+++ b/static/svgs/pic_ckpc_unidentified_6.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M512.045 882.788a264.912 264.912 0 0 0 265.16-265.406c0-105.273-141.106-311.865-234.023-451.24-20.51-33.856-42.01-32.62-62.274 0-93.164 139.375-234.269 347.45-234.269 451.24a264.912 264.912 0 0 0 265.406 265.406zm80.561-125.537a158.404 158.404 0 0 0 56.838-54.86 153.461 153.461 0 0 0 24.712-76.607 31.878 31.878 0 1 1 63.51 3.707 234.763 234.763 0 0 1-33.609 106.261 226.114 226.114 0 0 1-80.067 77.843 32.126 32.126 0 0 1-31.384-56.344z" fill="#4f5a7e"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_unidentified_7.svg b/static/svgs/pic_ckpc_unidentified_7.svg
new file mode 100644
index 0000000..112723e
--- /dev/null
+++ b/static/svgs/pic_ckpc_unidentified_7.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M433.857 152.881c6.497.94 13.026 1.705 19.488 2.85 48.325 8.553 88.2 31.913 119.63 69.413 27.246 32.512 42.44 70.18 46.727 112.415 9.24 91.043-44.5 178.744-129.61 211.086-92.517 35.156-197.02-3.406-245.312-90.543-20.956-37.812-29.054-78.322-25.24-121.29 7.308-82.325 65.835-153.549 145.4-176.222 12.246-3.49 25.13-4.738 37.716-7.032 1.05-.19 2.088-.45 3.131-.677h28.07zM839.06 349.365c-.958 6.37-1.54 12.823-2.936 19.095-9.296 41.72-47.88 71.162-90.47 69.226-41.04-1.866-75.524-32.343-83.377-73.686-8.763-46.14 19.353-91.544 64.436-104.056 49.13-13.634 101.052 18.93 110.11 69.14 1.037 5.749 1.505 11.599 2.237 17.402v2.88zM667.97 788.592c-12.38 7.957-25.51 12.058-39.556 13.416-33.916 3.278-63.024-8.52-89.607-28.453-18.68-14.008-35.065-30.55-52.084-46.41-6.566-6.118-13.324-12.136-20.584-17.385-11.973-8.658-20.47-7.633-30.852 2.976-9.411 9.614-16.038 21.204-22.419 32.885-12.808 23.447-25.076 47.194-38.218 70.45-6.164 10.909-13.27 21.407-20.98 31.287-8.242 10.562-18.917 18.405-32.34 21.524-13.9 3.23-26.576-.25-38.413-7.644-8.644-5.4-15.946-12.306-22.166-20.32-5.558-7.163-6.507-15.567-5.68-24.254 1.65-17.329 7.68-33.421 15.348-48.758 12.907-25.815 26.585-51.245 39.972-76.82 9.61-18.36 18.946-36.873 29.01-54.981 9.304-16.743 20.498-32.162 35.703-44.236 19.592-15.556 42.115-20.618 66.556-18.098 24.652 2.54 45.989 13.512 66.187 27.056 14.687 9.848 28.178 21.168 40.643 33.711.66.663 1.395 1.25 2.274 2.031l2.875-5.848c38.18 52.717 76.14 105.134 114.331 157.871zm-92.916-185.054 192.106-113.592c1.957 4.353 4.165 8.312 5.56 12.54 4.822 14.606 6.313 29.762 6.242 45.037-.135 29.134-5.257 57.423-15.058 84.876-5.154 14.434-12.93 27.125-23.484 38.314-9.536 10.11-18.796 20.527-27.553 31.316-9.032 11.128-14.463 23.818-14.47 38.604-.003 8.23-2.706 15.95-7.14 23.36-38.804-53.581-77.395-106.87-116.203-160.455zM741.01 466.526 586.987 557.59c-.18-.456-.386-.721-.32-.852a64162.919 64162.919 0 0 1 42.522-85.524c.745-1.494 1.78-2.842 2.624-4.291 7.89-13.564 20.196-20.296 35.334-21.628 26.928-2.369 50.946 6.39 73.374 20.493.173.109.251.37.488.74z" fill="#4f5a7e"/></svg>
\ No newline at end of file
diff --git a/static/svgs/pic_ckpc_unidentified_8.svg b/static/svgs/pic_ckpc_unidentified_8.svg
new file mode 100644
index 0000000..740f29d
--- /dev/null
+++ b/static/svgs/pic_ckpc_unidentified_8.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M814.12 480.152c50.827-51.615 66.198-128.442 38.61-195.418l-94.553 94.554c-27.577 26.01-70.526 24.432-96.526-3.146-24.817-26.394-24.817-66.976 0-93.38l94.554-94.564c-66.976-27.183-143.803-12.206-195.812 38.216-51.221 51.221-66.188 128.442-38.216 195.024l-65.4 65.399-165.483-165.465 11.427-23.633-89.437-61.07-56.338 56.731 59.1 88.254 26.788-13.4L409.49 533.74 216.045 727.185c-12.216 12.206-12.61 31.915-.394 44.131l.394.395 59.099 59.493c12.216 12.216 32.31 12.216 44.516 0l193.446-193.052 27.578 27.578-7.484 7.483c-10.638 7.484-13.4 22.066-5.906 33.099.789 1.183 1.578 2.366 2.76 3.155l131.203 130.807c11.033 11.428 29.155 12.61 41.765 2.367l61.07-61.07c11.034-12.602 11.034-31.128 0-43.334L632.892 607.429c-10.639-11.033-26.79-6.3-38.216 5.127l-5.512 5.512-27.577-27.183 68.554-68.949c64.215 22.047 135.52 5.887 183.98-41.784zm0 0" fill="#4f5a7e"/></svg>
\ No newline at end of file
diff --git a/store/app/index.js b/store/app/index.js
new file mode 100644
index 0000000..3f0c013
--- /dev/null
+++ b/store/app/index.js
@@ -0,0 +1,202 @@
+var n = require("../../common/vendor.js"),
+  t = require("../../enums/index.js"),
+  o = require("../../data/index.js"),
+  u = n.defineStore("app", {
+    state: function () {
+      return {
+        token: "",
+        openId: "",
+        userId: "",
+        userInfo: null,
+        config: null,
+        channelName: "",
+        smsCountDown: 60,
+        totalOrderNum: 0,
+        showAgreementPopup: !1,
+      };
+    },
+    getters: {
+      nickName: function (n) {
+        return n.userInfo ? n.userInfo.nickName : "";
+      },
+      avatar: function (n) {
+        return n.userInfo
+          ? n.userInfo.avatar
+          : "/static/images/icon_avatar.png";
+      },
+      vip: function (n) {
+        return n.userInfo ? n.userInfo.vip : t.RoleEnum.NORMAL;
+      },
+      vipLimitTime: function (n) {
+        return n.userInfo ? n.userInfo.vipLimitTime : "";
+      },
+      mobile: function (n) {
+        return n.userInfo ? n.userInfo.mobile : "";
+      },
+      actionList: function (u) {
+        if (!u.config) return [];
+        var r = n._.concat(
+          n._.map(u.config.product, function (n) {
+            return n.product_id;
+          }),
+          t.ProductTypeEnum.OVERALL,
+          t.ProductTypeEnum.VEHICLE_INFO
+        );
+        return n._.filter(o.theActionList1, function (t) {
+          return (
+            n._.findIndex(r, function (n) {
+              return n === t.params.productType;
+            }) > -1
+          );
+        });
+      },
+      insuranceMaintainProduct: function (o) {
+        return o.config
+          ? n._.assign(
+              n._.find(o.config.product, function (n) {
+                return n.product_id == t.ProductTypeEnum.INSURANCE_MAINTAIN;
+              }),
+              {
+                product_name: "维保查询",
+                product_desc: "了解车辆维修保养记录,掌握细节不吃亏",
+              }
+            )
+          : null;
+      },
+      accidentProduct: function (o) {
+        return o.config
+          ? n._.assign(
+              n._.find(o.config.product, function (n) {
+                return n.product_id == t.ProductTypeEnum.ACCIDENT;
+              }),
+              {
+                product_name: "出险查询",
+                product_desc: "查询历史车况,杜绝事故车",
+              }
+            )
+          : null;
+      },
+      vehicleFiveProduct: function (o) {
+        return o.config
+          ? n._.assign(
+              n._.find(o.config.product, function (n) {
+                return n.product_id == t.ProductTypeEnum.VEHICLE_FIVE;
+              }),
+              { product_name: "查车五项", product_desc: "精准查询车辆重要信息" }
+            )
+          : null;
+      },
+      saliProduct: function (o) {
+        return o.config
+          ? n._.assign(
+              n._.find(o.config.product, function (n) {
+                return n.product_id == t.ProductTypeEnum.SALI;
+              }),
+              {
+                product_name: "交强险信息",
+                product_desc: "根据车辆车架号,查车辆的保单号、保险公司等",
+              }
+            )
+          : null;
+      },
+      saliCheckProduct: function (o) {
+        return o.config
+          ? n._.assign(
+              n._.find(o.config.product, function (n) {
+                return n.product_id == t.ProductTypeEnum.SALI_CHECK;
+              }),
+              {
+                product_name: "交强险投保日期",
+                product_desc: "查交强险保期、最近投保期始末",
+              }
+            )
+          : null;
+      },
+      commercialInsuranceProduct: function (o) {
+        return o.config
+          ? n._.assign(
+              n._.find(o.config.product, function (n) {
+                return n.product_id == t.ProductTypeEnum.COMMERICAL_INSURANCE;
+              }),
+              {
+                product_name: "商业险查询",
+                product_desc: "根据车辆车架号,查车辆的保单号、保险公司等",
+              }
+            )
+          : null;
+      },
+      violationProduct: function (o) {
+        return o.config
+          ? n._.assign(
+              n._.find(o.config.product, function (n) {
+                return n.product_id == t.ProductTypeEnum.VIOLATION;
+              }),
+              {
+                product_name: "违章查询",
+                product_desc: "车辆违章扣分、罚款查询",
+              }
+            )
+          : null;
+      },
+      vehicleStatusProduct: function (o) {
+        return o.config
+          ? n._.assign(
+              n._.find(o.config.product, function (n) {
+                return n.product_id == t.ProductTypeEnum.VEHICLE_STATUS;
+              }),
+              {
+                product_name: "查车辆状态",
+                product_desc: "查询车辆是否查封、锁定、抵押等信息",
+              }
+            )
+          : null;
+      },
+      payMethodList: function (n) {
+        return n.config ? JSON.parse(n.config.pay_method) : [];
+      },
+    },
+    actions: {
+      setUserData: function (t) {
+        var o = t.token,
+          u = t.openId,
+          r = t.userId,
+          e = t.userInfo;
+        n.index.setStorageSync("token", o),
+          n.index.setStorageSync("openId", u),
+          this.$patch({ token: o, openId: u, userId: r, userInfo: e });
+      },
+      setConfig: function (n) {
+        var t = n.config;
+        this.config = t;
+      },
+      setChannelName: function (n) {
+        var t = n.channelName;
+        this.channelName = t;
+      },
+      reduceSmsCountDown: function () {
+        this.smsCountDown > 0 && this.smsCountDown--;
+      },
+      resetSmsCountDown: function () {
+        this.smsCountDown = 60;
+      },
+      userLogout: function () {
+        n.index.setStorageSync("token", ""),
+          n.index.setStorageSync("openId", ""),
+          this.$patch({
+            token: "",
+            openId: "",
+            userId: "",
+            userInfo: null,
+            totalOrderNum: 0,
+          });
+      },
+      setTotalOrderNum: function (n) {
+        var t = n.totalOrderNum;
+        this.totalOrderNum = t;
+      },
+      setAgreementPopupShow: function (n) {
+        this.showAgreementPopup = n;
+      },
+    },
+  });
+exports.useAppStore = u;
diff --git a/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.js b/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.js
new file mode 100644
index 0000000..fe427f0
--- /dev/null
+++ b/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.js
@@ -0,0 +1,156 @@
+var e = require("../../../../common/vendor.js"),
+  t = {
+    name: "uniCollapseItem",
+    props: {
+      title: { type: String, default: "" },
+      name: { type: [Number, String], default: "" },
+      disabled: { type: Boolean, default: !1 },
+      showAnimation: { type: Boolean, default: !0 },
+      open: { type: Boolean, default: !1 },
+      thumb: { type: String, default: "" },
+      titleBorder: { type: String, default: "auto" },
+      border: { type: Boolean, default: !0 },
+      showArrow: { type: Boolean, default: !0 },
+    },
+    data: function () {
+      return {
+        isOpen: !1,
+        isheight: null,
+        height: 0,
+        elId: "Uni_".concat(Math.ceil(1e6 * Math.random()).toString(36)),
+        nameSync: 0,
+      };
+    },
+    watch: {
+      open: function (e) {
+        (this.isOpen = e), this.onClick(e, "init");
+      },
+    },
+    updated: function (e) {
+      var t = this;
+      this.$nextTick(function () {
+        t.init(!0);
+      });
+    },
+    created: function () {
+      (this.collapse = this.getCollapse()),
+        (this.oldHeight = 0),
+        this.onClick(this.open, "init");
+    },
+    unmounted: function () {
+      (this.__isUnmounted = !0), this.uninstall();
+    },
+    mounted: function () {
+      this.collapse &&
+        ("" !== this.name
+          ? (this.nameSync = this.name)
+          : (this.nameSync = this.collapse.childrens.length + ""),
+        -1 === this.collapse.names.indexOf(this.nameSync)
+          ? this.collapse.names.push(this.nameSync)
+          : console.warn("name 值 ".concat(this.nameSync, " 重复")),
+        -1 === this.collapse.childrens.indexOf(this) &&
+          this.collapse.childrens.push(this),
+        this.init());
+    },
+    methods: {
+      init: function (e) {
+        this.getCollapseHeight(e);
+      },
+      uninstall: function () {
+        var e = this;
+        this.collapse &&
+          (this.collapse.childrens.forEach(function (t, i) {
+            t === e && e.collapse.childrens.splice(i, 1);
+          }),
+          this.collapse.names.forEach(function (t, i) {
+            t === e.nameSync && e.collapse.names.splice(i, 1);
+          }));
+      },
+      onClick: function (e, t) {
+        this.disabled ||
+          ((this.isOpen = e),
+          this.isOpen && this.collapse && this.collapse.setAccordion(this),
+          "init" !== t && this.collapse.onChange(e, this));
+      },
+      getCollapseHeight: function (t) {
+        var i = this,
+          n =
+            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;
+        e.index
+          .createSelectorQuery()
+          .in(this)
+          .select("#".concat(this.elId))
+          .fields({ size: !0 }, function (e) {
+            if (!(n >= 10)) {
+              if (!e) return n++, void i.getCollapseHeight(!1, n);
+              (i.height = e.height),
+                (i.isheight = !0),
+                t || i.onClick(i.isOpen, "init");
+            }
+          })
+          .exec();
+      },
+      getNvueHwight: function (e) {
+        var t = this;
+        dom.getComponentRect(this.$refs["collapse--hook"], function (i) {
+          if (i && i.result && i.size) {
+            if (((t.height = i.size.height), (t.isheight = !0), e)) return;
+            t.onClick(t.open, "init");
+          }
+        });
+      },
+      getCollapse: function () {
+        for (
+          var e =
+              arguments.length > 0 && void 0 !== arguments[0]
+                ? arguments[0]
+                : "uniCollapse",
+            t = this.$parent,
+            i = t.$options.name;
+          i !== e;
+
+        ) {
+          if (!(t = t.$parent)) return !1;
+          i = t.$options.name;
+        }
+        return t;
+      },
+    },
+  };
+Array || e.resolveComponent("uni-icons")(), Math;
+var i = e._export_sfc(t, [
+  [
+    "render",
+    function (t, i, n, o, s, l) {
+      return e.e(
+        { a: n.thumb },
+        n.thumb ? { b: n.thumb } : {},
+        { c: e.t(n.title), d: n.disabled ? 1 : "", e: n.showArrow },
+        n.showArrow
+          ? {
+              f: e.p({
+                color: n.disabled ? "#ddd" : "#bbb",
+                size: "14",
+                type: "bottom",
+              }),
+              g: s.isOpen ? 1 : "",
+              h: !0 === n.showAnimation ? 1 : "",
+            }
+          : {},
+        {
+          i: e.o(function (e) {
+            return l.onClick(!s.isOpen);
+          }),
+          j: s.isOpen && "auto" === n.titleBorder ? 1 : "",
+          k: "none" !== n.titleBorder ? 1 : "",
+          l: s.elId,
+          m: s.isheight ? 1 : "",
+          n: n.border && s.isOpen ? 1 : "",
+          o: n.showAnimation ? 1 : "",
+          p: (s.isOpen ? s.height : 0) + "px",
+        }
+      );
+    },
+  ],
+]);
+wx.createComponent(i);
diff --git a/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.json b/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.json
new file mode 100644
index 0000000..e04ee64
--- /dev/null
+++ b/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.json
@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uni-icons": "../../../uni-icons/components/uni-icons/uni-icons"
+  }
+}
diff --git a/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.wxml b/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.wxml
new file mode 100644
index 0000000..41797f8
--- /dev/null
+++ b/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.wxml
@@ -0,0 +1,44 @@
+<view class="uni-collapse-item">
+  <view
+    bindtap="{{i}}"
+    class="{{['uni-collapse-item__title',j&&'is-open',k&&'uni-collapse-item-border']}}"
+  >
+    <view class="uni-collapse-item__title-wrap">
+      <slot name="title" wx:if="{{$slots.title}}"></slot>
+      <view
+        class="{{['uni-collapse-item__title-box',d&&'is-disabled']}}"
+        wx:else
+      >
+        <image
+          class="uni-collapse-item__title-img"
+          src="{{b}}"
+          wx:if="{{a}}"
+        ></image>
+        <text class="uni-collapse-item__title-text">{{c}}</text>
+      </view>
+    </view>
+    <view
+      class="{{[g&&'uni-collapse-item__title-arrow-active',h&&'uni-collapse-item--animation','uni-collapse-item__title-arrow']}}"
+      wx:if="{{e}}"
+    >
+      <uni-icons
+        bind:__l="__l"
+        uI="600bad8f-0"
+        uP="{{f}}"
+        wx:if="{{f}}"
+      ></uni-icons>
+    </view>
+  </view>
+  <view
+    class="{{['uni-collapse-item__wrap',o&&'is--transition']}}"
+    style="{{'height:'+p}}"
+  >
+    <view
+      class="{{['uni-collapse-item__wrap-content',m&&'open',n&&'uni-collapse-item--border']}}"
+      id="{{l}}"
+      ref="collapse--hook"
+    >
+      <slot></slot>
+    </view>
+  </view>
+</view>
diff --git a/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.wxss b/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.wxss
new file mode 100644
index 0000000..ea39095
--- /dev/null
+++ b/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.wxss
@@ -0,0 +1,101 @@
+.uni-collapse-item {
+  box-sizing: border-box;
+}
+.uni-collapse-item__title {
+  align-items: center;
+  box-sizing: border-box;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: row;
+  transition: border-bottom-color 0.3s;
+  width: 100%;
+}
+.uni-collapse-item__title-wrap {
+  flex: 1;
+  width: 100%;
+}
+.uni-collapse-item__title-box {
+  align-items: center;
+  background-color: #fff;
+  box-sizing: border-box;
+  color: #303133;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: row;
+  font-size: 13px;
+  font-weight: 500;
+  height: 48px;
+  justify-content: space-between;
+  line-height: 48px;
+  padding: 0 15px;
+  width: 100%;
+}
+.uni-collapse-item__title-box.is-disabled .uni-collapse-item__title-text {
+  color: #999;
+}
+.uni-collapse-item__title.uni-collapse-item-border {
+  border-bottom: 1px solid #ebeef5;
+}
+.uni-collapse-item__title.is-open {
+  border-bottom-color: transparent;
+}
+.uni-collapse-item__title-img {
+  height: 22px;
+  margin-right: 10px;
+  width: 22px;
+}
+.uni-collapse-item__title-text {
+  color: inherit;
+  flex: 1;
+  font-size: 14px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.uni-collapse-item__title-arrow {
+  align-items: center;
+  box-sizing: border-box;
+  display: -webkit-flex;
+  display: flex;
+  height: 20px;
+  justify-content: center;
+  margin-right: 10px;
+  transform: rotate(0);
+  width: 20px;
+}
+.uni-collapse-item__title-arrow-active {
+  transform: rotate(-180deg);
+}
+.uni-collapse-item__wrap {
+  background-color: #fff;
+  box-sizing: border-box;
+  height: 0;
+  overflow: hidden;
+  position: relative;
+  will-change: height;
+}
+.uni-collapse-item__wrap.is--transition {
+  transition-duration: 0.3s;
+  transition-property: height, border-bottom-width;
+  will-change: height;
+}
+.uni-collapse-item__wrap-content {
+  border-bottom: 0 solid transparent;
+  color: #303133;
+  font-size: 13px;
+  position: absolute;
+}
+.uni-collapse-item__wrap-content.uni-collapse-item--border {
+  border-bottom-color: #ebeef5;
+  border-bottom-width: 1px;
+}
+.uni-collapse-item__wrap-content.open {
+  position: relative;
+}
+.uni-collapse-item--animation {
+  transition-duration: 0.3s;
+  transition-property: -webkit-transform;
+  transition-property: transform;
+  transition-property: transform, -webkit-transform;
+  transition-timing-function: ease;
+}
diff --git a/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.js b/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.js
new file mode 100644
index 0000000..5e89c82
--- /dev/null
+++ b/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.js
@@ -0,0 +1,99 @@
+var e = require("../../../../common/vendor.js"),
+  t = {
+    name: "uniCollapse",
+    emits: ["change", "activeItem", "input", "update:modelValue"],
+    props: {
+      value: { type: [String, Array], default: "" },
+      modelValue: { type: [String, Array], default: "" },
+      accordion: { type: [Boolean, String], default: !1 },
+    },
+    data: function () {
+      return {};
+    },
+    computed: {
+      dataValue: function () {
+        var e =
+          ("string" == typeof this.value && "" === this.value) ||
+          (Array.isArray(this.value) && 0 === this.value.length);
+        return (
+          ("string" == typeof this.modelValue && "" === this.modelValue) ||
+            (Array.isArray(this.modelValue) && this.modelValue.length),
+          e ? this.modelValue : this.value
+        );
+      },
+    },
+    watch: {
+      dataValue: function (e) {
+        this.setOpen(e);
+      },
+    },
+    created: function () {
+      (this.childrens = []), (this.names = []);
+    },
+    mounted: function () {
+      var e = this;
+      this.$nextTick(function () {
+        e.setOpen(e.dataValue);
+      });
+    },
+    methods: {
+      setOpen: function (e) {
+        var t = this,
+          n = "string" == typeof e,
+          i = Array.isArray(e);
+        this.childrens.forEach(function (a, o) {
+          if (n && e === a.nameSync) {
+            if (!t.accordion)
+              return void console.warn(
+                "accordion 属性为 false ,v-model 类型应该为 array"
+              );
+            a.isOpen = !0;
+          }
+          i &&
+            e.forEach(function (e) {
+              if (e === a.nameSync) {
+                if (t.accordion)
+                  return void console.warn(
+                    "accordion 属性为 true ,v-model 类型应该为 string"
+                  );
+                a.isOpen = !0;
+              }
+            });
+        }),
+          this.emit(e);
+      },
+      setAccordion: function (e) {
+        this.accordion &&
+          this.childrens.forEach(function (t, n) {
+            e !== t && (t.isOpen = !1);
+          });
+      },
+      resize: function () {
+        this.childrens.forEach(function (e, t) {
+          e.getCollapseHeight();
+        });
+      },
+      onChange: function (e, t) {
+        var n = [];
+        this.accordion
+          ? (n = e ? t.nameSync : "")
+          : this.childrens.forEach(function (e, t) {
+              e.isOpen && n.push(e.nameSync);
+            }),
+          this.$emit("change", n),
+          this.emit(n);
+      },
+      emit: function (e) {
+        this.$emit("input", e), this.$emit("update:modelValue", e);
+      },
+    },
+  },
+  n = e._export_sfc(t, [
+    [
+      "render",
+      function (e, t, n, i, a, o) {
+        return {};
+      },
+    ],
+  ]);
+wx.createComponent(n);
diff --git a/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.json b/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.json
new file mode 100644
index 0000000..1a3499c
--- /dev/null
+++ b/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.json
@@ -0,0 +1 @@
+{ "component": true, "usingComponents": {} }
diff --git a/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.wxml b/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.wxml
new file mode 100644
index 0000000..30a145b
--- /dev/null
+++ b/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.wxml
@@ -0,0 +1,3 @@
+<view class="uni-collapse">
+  <slot></slot>
+</view>
diff --git a/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.wxss b/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.wxss
new file mode 100644
index 0000000..f98d4d9
--- /dev/null
+++ b/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.wxss
@@ -0,0 +1,7 @@
+.uni-collapse {
+  background-color: #fff;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: column;
+  width: 100%;
+}
diff --git a/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js b/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js
new file mode 100644
index 0000000..c44c67f
--- /dev/null
+++ b/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js
@@ -0,0 +1,20 @@
+exports.messages = {
+  en: {
+    "uni-countdown.day": "day",
+    "uni-countdown.h": "h",
+    "uni-countdown.m": "m",
+    "uni-countdown.s": "s",
+  },
+  "zh-Hans": {
+    "uni-countdown.day": "天",
+    "uni-countdown.h": "时",
+    "uni-countdown.m": "分",
+    "uni-countdown.s": "秒",
+  },
+  "zh-Hant": {
+    "uni-countdown.day": "天",
+    "uni-countdown.h": "時",
+    "uni-countdown.m": "分",
+    "uni-countdown.s": "秒",
+  },
+};
diff --git a/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.js b/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.js
new file mode 100644
index 0000000..03bbcdf
--- /dev/null
+++ b/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.js
@@ -0,0 +1,203 @@
+var t = require("../../../../common/vendor.js"),
+  i = require("./i18n/index.js"),
+  e = t.initVueI18n(i.messages).t,
+  n = {
+    name: "UniCountdown",
+    emits: ["timeup"],
+    props: {
+      showDay: { type: Boolean, default: !0 },
+      showColon: { type: Boolean, default: !0 },
+      start: { type: Boolean, default: !0 },
+      backgroundColor: { type: String, default: "" },
+      color: { type: String, default: "#333" },
+      fontSize: { type: Number, default: 14 },
+      splitorColor: { type: String, default: "#333" },
+      day: { type: Number, default: 0 },
+      hour: { type: Number, default: 0 },
+      minute: { type: Number, default: 0 },
+      second: { type: Number, default: 0 },
+      milliSecond: { type: Number, default: 0 },
+      timestamp: { type: Number, default: 0 },
+    },
+    data: function () {
+      return {
+        timer: null,
+        syncFlag: !1,
+        d: "00",
+        h: "00",
+        i: "00",
+        s: "00",
+        ms: "00",
+        milliSeconds: 0,
+      };
+    },
+    computed: {
+      dayText: function () {
+        return e("uni-countdown.day");
+      },
+      hourText: function (t) {
+        return e("uni-countdown.h");
+      },
+      minuteText: function (t) {
+        return e("uni-countdown.m");
+      },
+      secondText: function (t) {
+        return e("uni-countdown.s");
+      },
+      timeStyle: function () {
+        var t = this.color,
+          i = this.backgroundColor,
+          e = this.fontSize;
+        return {
+          color: t,
+          backgroundColor: i,
+          fontSize: "".concat(e, "rpx"),
+          width: (22 * e) / 14 + "rpx",
+          lineHeight: (20 * e) / 14 + "rpx",
+          borderRadius: (3 * e) / 14 + "rpx",
+        };
+      },
+      splitorStyle: function () {
+        var t = this.splitorColor,
+          i = this.fontSize;
+        this.backgroundColor;
+        return { color: t, fontSize: "".concat(i, "rpx") };
+      },
+    },
+    watch: {
+      day: function (t) {
+        this.changeFlag();
+      },
+      hour: function (t) {
+        this.changeFlag();
+      },
+      minute: function (t) {
+        this.changeFlag();
+      },
+      second: function (t) {
+        this.changeFlag();
+      },
+      milliSecond: function (t) {
+        this.changeFlag();
+      },
+      start: {
+        immediate: !0,
+        handler: function (t, i) {
+          if (t) this.startData();
+          else {
+            if (!i) return;
+            clearInterval(this.timer);
+          }
+        },
+      },
+    },
+    created: function (t) {
+      (this.milliSeconds = this.toMilliSeconds(
+        this.day,
+        this.hour,
+        this.minute,
+        this.second,
+        this.milliSecond
+      )),
+        this.countDown();
+    },
+    unmounted: function () {
+      clearInterval(this.timer);
+    },
+    methods: {
+      toMilliSeconds: function (t, i, e, n, o) {
+        return (
+          24 * t * 60 * 60 * 1e3 +
+          60 * i * 60 * 1e3 +
+          60 * e * 1e3 +
+          1e3 * n +
+          o
+        );
+      },
+      timeUp: function () {
+        clearInterval(this.timer), this.$emit("timeup");
+      },
+      countDown: function () {
+        var t = this.milliSeconds,
+          i = 0,
+          e = 0,
+          n = 0,
+          o = 0,
+          s = 0;
+        t > 0
+          ? ((i = Math.floor(t / 864e5)),
+            (e = Math.floor(t / 36e5) - 24 * i),
+            (n = Math.floor(t / 6e4) - 24 * i * 60 - 60 * e),
+            (o = Math.floor(t / 1e3) - 24 * i * 60 * 60 - 60 * e * 60 - 60 * n),
+            (s = Math.floor(t) - 24 * i * 60 * 60 - 60 * e * 60 - 60 * n - o))
+          : this.timeUp(),
+          i < 10 && (i = "0" + i),
+          e < 10 && (e = "0" + e),
+          n < 10 && (n = "0" + n),
+          o < 10 && (o = "0" + o),
+          (s = s < 10 ? "0" + s : ((s % 1e3) / 10).toFixed(0)),
+          (this.d = i),
+          (this.h = e),
+          (this.i = n),
+          (this.s = o),
+          (this.ms = s);
+      },
+      startData: function () {
+        var t = this;
+        if (
+          ((this.milliSeconds = this.toMilliSeconds(
+            this.day,
+            this.hour,
+            this.minute,
+            this.second,
+            this.milliSecond
+          )),
+          this.milliSeconds <= 0)
+        )
+          return (
+            (this.milliSeconds = this.toMilliSeconds(0, 0, 0, 0, 0)),
+            void this.countDown()
+          );
+        clearInterval(this.timer),
+          this.countDown(),
+          (this.timer = setInterval(function () {
+            (t.milliSeconds = t.milliSeconds - 10),
+              t.milliSeconds < 0 ? t.timeUp() : t.countDown();
+          }, 10));
+      },
+      update: function () {
+        this.startData();
+      },
+      changeFlag: function () {
+        this.syncFlag ||
+          ((this.milliSeconds = this.toSeconds(
+            this.day,
+            this.hour,
+            this.minute,
+            this.second,
+            this.milliSecond
+          )),
+          this.startData(),
+          (this.syncFlag = !0));
+      },
+    },
+  },
+  o = t._export_sfc(n, [
+    [
+      "render",
+      function (i, e, n, o, s, r) {
+        return {
+          a: t.t(s.i),
+          b: t.s(r.timeStyle),
+          c: t.s(r.splitorStyle),
+          d: t.t(s.s),
+          e: t.s(r.timeStyle),
+          f: t.s(r.splitorStyle),
+          g: t.t(s.ms),
+          h: t.s(r.timeStyle),
+        };
+      },
+    ],
+    ["__scopeId", "data-v-edf646b4"],
+  ]);
+wx.createComponent(o);
diff --git a/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.json b/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.json
new file mode 100644
index 0000000..1a3499c
--- /dev/null
+++ b/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.json
@@ -0,0 +1 @@
+{ "component": true, "usingComponents": {} }
diff --git a/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.wxml b/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.wxml
new file mode 100644
index 0000000..01cca43
--- /dev/null
+++ b/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.wxml
@@ -0,0 +1,7 @@
+<view class="uni-countdown data-v-edf646b4">
+  <text class="uni-countdown__number data-v-edf646b4" style="{{b}}">{{a}}</text>
+  <text class="uni-countdown__splitor data-v-edf646b4" style="{{c}}">分</text>
+  <text class="uni-countdown__number data-v-edf646b4" style="{{e}}">{{d}}</text>
+  <text class="uni-countdown__splitor data-v-edf646b4" style="{{f}}">秒</text>
+  <text class="uni-countdown__number data-v-edf646b4" style="{{h}}">{{g}}</text>
+</view>
diff --git a/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.wxss b/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.wxss
new file mode 100644
index 0000000..358260f
--- /dev/null
+++ b/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.wxss
@@ -0,0 +1,17 @@
+.uni-countdown.data-v-edf646b4 {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-start;
+}
+.uni-countdown__splitor.data-v-edf646b4 {
+  color: #333;
+  font-size: 14px;
+  margin: 0 2px;
+}
+.uni-countdown__number.data-v-edf646b4 {
+  border-radius: 3px;
+  font-size: 14px;
+  text-align: center;
+}
diff --git a/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js b/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js
new file mode 100644
index 0000000..fdd4b23
--- /dev/null
+++ b/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js
@@ -0,0 +1,253 @@
+var e = require("../../../../common/vendor.js"),
+  t = {
+    name: "uni-data-select",
+    mixins: [e.Ws.mixinDatacom || {}],
+    props: {
+      localdata: {
+        type: Array,
+        default: function () {
+          return [];
+        },
+      },
+      value: { type: [String, Number], default: "" },
+      modelValue: { type: [String, Number], default: "" },
+      label: { type: String, default: "" },
+      placeholder: { type: String, default: "请选择" },
+      emptyTips: { type: String, default: "无选项" },
+      clear: { type: Boolean, default: !0 },
+      defItem: { type: Number, default: 0 },
+      disabled: { type: Boolean, default: !1 },
+      format: { type: String, default: "" },
+    },
+    data: function () {
+      return {
+        showSelector: !1,
+        current: "",
+        mixinDatacomResData: [],
+        apps: [],
+        channels: [],
+        cacheKey: "uni-data-select-lastSelectedValue",
+      };
+    },
+    created: function () {
+      var e = this;
+      (this.debounceGet = this.debounce(function () {
+        e.query();
+      }, 300)),
+        this.collection && !this.localdata.length && this.debounceGet();
+    },
+    computed: {
+      typePlaceholder: function () {
+        var e = this.placeholder,
+          t = {
+            "opendb-stat-app-versions": "版本",
+            "opendb-app-channels": "渠道",
+            "opendb-app-list": "应用",
+          }[this.collection];
+        return t ? e + t : e;
+      },
+      valueCom: function () {
+        return this.modelValue;
+      },
+    },
+    watch: {
+      localdata: {
+        immediate: !0,
+        handler: function (e, t) {
+          Array.isArray(e) && t !== e && (this.mixinDatacomResData = e);
+        },
+      },
+      valueCom: function (e, t) {
+        this.initDefVal();
+      },
+      mixinDatacomResData: {
+        immediate: !0,
+        handler: function (e) {
+          e.length && this.initDefVal();
+        },
+      },
+    },
+    methods: {
+      debounce: function (e) {
+        var t =
+            arguments.length > 1 && void 0 !== arguments[1]
+              ? arguments[1]
+              : 100,
+          a = null;
+        return function () {
+          for (
+            var i = this, n = arguments.length, o = new Array(n), c = 0;
+            c < n;
+            c++
+          )
+            o[c] = arguments[c];
+          a && clearTimeout(a),
+            (a = setTimeout(function () {
+              e.apply(i, o);
+            }, t));
+        };
+      },
+      query: function () {
+        this.mixinDatacomEasyGet();
+      },
+      onMixinDatacomPropsChange: function () {
+        this.collection && this.debounceGet();
+      },
+      initDefVal: function () {
+        var e = "";
+        if (
+          (!this.valueCom && 0 !== this.valueCom) ||
+          this.isDisabled(this.valueCom)
+        ) {
+          var t;
+          if ((this.collection && (t = this.getCache()), t || 0 === t)) e = t;
+          else {
+            var a = "";
+            this.defItem > 0 &&
+              this.defItem <= this.mixinDatacomResData.length &&
+              (a = this.mixinDatacomResData[this.defItem - 1].value),
+              (e = a);
+          }
+          (e || 0 === e) && this.emit(e);
+        } else e = this.valueCom;
+        var i = this.mixinDatacomResData.find(function (t) {
+          return t.value === e;
+        });
+        this.current = i ? this.formatItemName(i) : "";
+      },
+      isDisabled: function (e) {
+        var t = !1;
+        return (
+          this.mixinDatacomResData.forEach(function (a) {
+            a.value === e && (t = a.disable);
+          }),
+          t
+        );
+      },
+      clearVal: function () {
+        this.emit(""), this.collection && this.removeCache();
+      },
+      change: function (e) {
+        e.disable ||
+          ((this.showSelector = !1),
+          (this.current = this.formatItemName(e)),
+          this.emit(e.value));
+      },
+      emit: function (e) {
+        this.$emit("input", e),
+          this.$emit("update:modelValue", e),
+          this.$emit("change", e),
+          this.collection && this.setCache(e);
+      },
+      toggleSelector: function () {
+        this.disabled || (this.showSelector = !this.showSelector);
+      },
+      formatItemName: function (e) {
+        var t = e.text,
+          a = e.value,
+          i = e.channel_code;
+        if (((i = i ? "(".concat(i, ")") : ""), this.format)) {
+          var n = "";
+          for (var o in ((n = this.format), e))
+            n = n.replace(new RegExp("{".concat(o, "}"), "g"), e[o]);
+          return n;
+        }
+        return this.collection.indexOf("app-list") > 0
+          ? "".concat(t, "(").concat(a, ")")
+          : t || "未命名".concat(i);
+      },
+      getLoadData: function () {
+        return this.mixinDatacomResData;
+      },
+      getCurrentCacheKey: function () {
+        return this.collection;
+      },
+      getCache: function () {
+        var t =
+          arguments.length > 0 && void 0 !== arguments[0]
+            ? arguments[0]
+            : this.getCurrentCacheKey();
+        return (e.index.getStorageSync(this.cacheKey) || {})[t];
+      },
+      setCache: function (t) {
+        var a =
+            arguments.length > 1 && void 0 !== arguments[1]
+              ? arguments[1]
+              : this.getCurrentCacheKey(),
+          i = e.index.getStorageSync(this.cacheKey) || {};
+        (i[a] = t), e.index.setStorageSync(this.cacheKey, i);
+      },
+      removeCache: function () {
+        var t =
+            arguments.length > 0 && void 0 !== arguments[0]
+              ? arguments[0]
+              : this.getCurrentCacheKey(),
+          a = e.index.getStorageSync(this.cacheKey) || {};
+        delete a[t], e.index.setStorageSync(this.cacheKey, a);
+      },
+    },
+  };
+Array || e.resolveComponent("uni-icons")(), Math;
+var a = e._export_sfc(t, [
+  [
+    "render",
+    function (t, a, i, n, o, c) {
+      return e.e(
+        { a: i.label },
+        i.label ? { b: e.t(i.label + ":") } : {},
+        { c: o.current },
+        o.current ? { d: e.t(o.current) } : { e: e.t(c.typePlaceholder) },
+        { f: o.current && i.clear && !i.disabled },
+        o.current && i.clear && !i.disabled
+          ? {
+              g: e.p({ type: "clear", color: "#c0c4cc", size: "20" }),
+              h: e.o(function () {
+                return c.clearVal && c.clearVal.apply(c, arguments);
+              }),
+            }
+          : {
+              i: e.p({
+                type: o.showSelector ? "top" : "bottom",
+                size: "14",
+                color: "#999",
+              }),
+            },
+        {
+          j: e.o(function () {
+            return c.toggleSelector && c.toggleSelector.apply(c, arguments);
+          }),
+          k: o.showSelector,
+        },
+        o.showSelector
+          ? {
+              l: e.o(function () {
+                return c.toggleSelector && c.toggleSelector.apply(c, arguments);
+              }),
+            }
+          : {},
+        { m: o.showSelector },
+        o.showSelector
+          ? e.e(
+              { n: 0 === o.mixinDatacomResData.length },
+              0 === o.mixinDatacomResData.length
+                ? { o: e.t(i.emptyTips) }
+                : {
+                    p: e.f(o.mixinDatacomResData, function (t, a, i) {
+                      return {
+                        a: e.t(c.formatItemName(t)),
+                        b: t.disable ? 1 : "",
+                        c: a,
+                        d: e.o(function (e) {
+                          return c.change(t);
+                        }, a),
+                      };
+                    }),
+                  }
+            )
+          : {},
+        { q: i.disabled ? 1 : "", r: o.current ? 1 : "" }
+      );
+    },
+  ],
+]);
+wx.createComponent(a);
diff --git a/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.json b/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.json
new file mode 100644
index 0000000..e04ee64
--- /dev/null
+++ b/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.json
@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uni-icons": "../../../uni-icons/components/uni-icons/uni-icons"
+  }
+}
diff --git a/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxml b/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxml
new file mode 100644
index 0000000..b451187
--- /dev/null
+++ b/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxml
@@ -0,0 +1,52 @@
+<view class="uni-stat__select">
+  <label class="uni-label-text hide-on-phone" wx:if="{{a}}">{{b}}</label>
+  <view class="{{['uni-stat-box',r&&'uni-stat__actived']}}">
+    <view class="{{['uni-select',q&&'uni-select--disabled']}}">
+      <view bindtap="{{j}}" class="uni-select__input-box">
+        <view class="uni-select__input-text" wx:if="{{c}}">{{d}}</view>
+        <view
+          class="uni-select__input-text uni-select__input-placeholder"
+          wx:else
+          >{{e}}</view
+        >
+        <view catchtap="{{h}}" wx:if="{{f}}">
+          <uni-icons
+            bind:__l="__l"
+            uI="2211b7d3-0"
+            uP="{{g}}"
+            wx:if="{{g}}"
+          ></uni-icons>
+        </view>
+        <view wx:else>
+          <uni-icons
+            bind:__l="__l"
+            uI="2211b7d3-1"
+            uP="{{i}}"
+            wx:if="{{i}}"
+          ></uni-icons>
+        </view>
+      </view>
+      <view bindtap="{{l}}" class="uni-select--mask" wx:if="{{k}}"></view>
+      <view class="uni-select__selector" wx:if="{{m}}">
+        <view class="uni-popper__arrow"></view>
+        <scroll-view class="uni-select__selector-scroll" scrollY="true">
+          <view class="uni-select__selector-empty" wx:if="{{n}}">
+            <text>{{o}}</text>
+          </view>
+          <block wx:else>
+            <view
+              bindtap="{{item.d}}"
+              class="uni-select__selector-item"
+              wx:for="{{p}}"
+              wx:key="c"
+            >
+              <text class="{{[item.b&&'uni-select__selector__disabled']}}"
+                >{{item.a}}</text
+              >
+            </view>
+          </block>
+        </scroll-view>
+      </view>
+    </view>
+  </view>
+</view>
diff --git a/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxss b/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxss
new file mode 100644
index 0000000..ccf402e
--- /dev/null
+++ b/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxss
@@ -0,0 +1,146 @@
+@media screen and (max-width: 500px) {
+  .hide-on-phone {
+    display: none;
+  }
+}
+.uni-stat__select {
+  align-items: center;
+  box-sizing: border-box;
+  display: -webkit-flex;
+  display: flex;
+}
+.uni-stat-box,
+.uni-stat__actived,
+.uni-stat__select {
+  flex: 1;
+  width: 100%;
+}
+.uni-label-text {
+  color: #6a6a6a;
+  font-size: 14px;
+  font-weight: 700;
+  margin: auto 5px auto 0;
+}
+.uni-select {
+  align-items: center;
+  border: 1px solid #1f68e9;
+  border-radius: 8rpx;
+  box-sizing: border-box;
+  display: -webkit-flex;
+  display: flex;
+  flex: 1;
+  flex-direction: row;
+  font-size: 30rpx;
+  padding: 20rpx 30rpx;
+  position: relative;
+  user-select: none;
+  width: 100%;
+}
+.uni-select--disabled {
+  background-color: #f5f7fa;
+  cursor: not-allowed;
+}
+.uni-select__label {
+  color: #909399;
+  font-size: 16px;
+  padding-right: 10px;
+}
+.uni-select__input-box {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex: 1;
+  flex-direction: row;
+  font-size: 30rpx;
+  position: relative;
+}
+.uni-select__input {
+  flex: 1;
+  font-size: 14px;
+  height: 22px;
+  line-height: 22px;
+}
+.uni-select__input-plac {
+  color: #909399;
+  font-size: 14px;
+}
+.uni-select__selector {
+  background-color: #fff;
+  border: 1px solid #ebeef5;
+  border-radius: 6px;
+  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
+  box-sizing: border-box;
+  left: 0;
+  padding: 4px 0;
+  position: absolute;
+  top: calc(100% + 12px);
+  width: 100%;
+  z-index: 3;
+}
+.uni-select__selector-scroll {
+  box-sizing: border-box;
+  max-height: 200px;
+}
+.uni-select__selector-empty,
+.uni-select__selector-item {
+  cursor: pointer;
+  display: -webkit-flex;
+  display: flex;
+  font-size: 30rpx;
+  padding: 20rpx 30rpx;
+  text-align: center;
+}
+.uni-select__selector-item:hover {
+  background-color: #f9f9f9;
+}
+.uni-select__selector-empty:last-child,
+.uni-select__selector-item:last-child {
+  border-bottom: none;
+}
+.uni-select__selector__disabled {
+  cursor: default;
+  opacity: 0.4;
+}
+.uni-popper__arrow,
+.uni-popper__arrow:after {
+  border: 6px solid transparent;
+  display: block;
+  height: 0;
+  position: absolute;
+  width: 0;
+}
+.uni-popper__arrow {
+  border-bottom-color: #ebeef5;
+  border-top-width: 0;
+  filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03));
+  left: 10%;
+  margin-right: 3px;
+  top: -6px;
+}
+.uni-popper__arrow:after {
+  border-bottom-color: #fff;
+  border-top-width: 0;
+  content: " ";
+  margin-left: -6px;
+  top: 1px;
+}
+.uni-select__input-text {
+  color: #333;
+  font-size: 30rpx;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  width: 100%;
+}
+.uni-select__input-placeholder {
+  color: #6a6a6a;
+  font-size: 30rpx;
+}
+.uni-select--mask {
+  bottom: 0;
+  left: 0;
+  position: fixed;
+  right: 0;
+  top: 0;
+  z-index: 2;
+}
diff --git a/uni_modules/uni-icons/components/uni-icons/icons.js b/uni_modules/uni-icons/components/uni-icons/icons.js
new file mode 100644
index 0000000..920fc92
--- /dev/null
+++ b/uni_modules/uni-icons/components/uni-icons/icons.js
@@ -0,0 +1,1171 @@
+exports.icons = {
+  id: "2852637",
+  name: "uniui图标库",
+  font_family: "uniicons",
+  css_prefix_text: "uniui-",
+  description: "",
+  glyphs: [
+    {
+      icon_id: "25027049",
+      name: "yanse",
+      font_class: "color",
+      unicode: "e6cf",
+      unicode_decimal: 59087,
+    },
+    {
+      icon_id: "25027048",
+      name: "wallet",
+      font_class: "wallet",
+      unicode: "e6b1",
+      unicode_decimal: 59057,
+    },
+    {
+      icon_id: "25015720",
+      name: "settings-filled",
+      font_class: "settings-filled",
+      unicode: "e6ce",
+      unicode_decimal: 59086,
+    },
+    {
+      icon_id: "25015434",
+      name: "shimingrenzheng-filled",
+      font_class: "auth-filled",
+      unicode: "e6cc",
+      unicode_decimal: 59084,
+    },
+    {
+      icon_id: "24934246",
+      name: "shop-filled",
+      font_class: "shop-filled",
+      unicode: "e6cd",
+      unicode_decimal: 59085,
+    },
+    {
+      icon_id: "24934159",
+      name: "staff-filled-01",
+      font_class: "staff-filled",
+      unicode: "e6cb",
+      unicode_decimal: 59083,
+    },
+    {
+      icon_id: "24932461",
+      name: "VIP-filled",
+      font_class: "vip-filled",
+      unicode: "e6c6",
+      unicode_decimal: 59078,
+    },
+    {
+      icon_id: "24932462",
+      name: "plus_circle_fill",
+      font_class: "plus-filled",
+      unicode: "e6c7",
+      unicode_decimal: 59079,
+    },
+    {
+      icon_id: "24932463",
+      name: "folder_add-filled",
+      font_class: "folder-add-filled",
+      unicode: "e6c8",
+      unicode_decimal: 59080,
+    },
+    {
+      icon_id: "24932464",
+      name: "yanse-filled",
+      font_class: "color-filled",
+      unicode: "e6c9",
+      unicode_decimal: 59081,
+    },
+    {
+      icon_id: "24932465",
+      name: "tune-filled",
+      font_class: "tune-filled",
+      unicode: "e6ca",
+      unicode_decimal: 59082,
+    },
+    {
+      icon_id: "24932455",
+      name: "a-rilidaka-filled",
+      font_class: "calendar-filled",
+      unicode: "e6c0",
+      unicode_decimal: 59072,
+    },
+    {
+      icon_id: "24932456",
+      name: "notification-filled",
+      font_class: "notification-filled",
+      unicode: "e6c1",
+      unicode_decimal: 59073,
+    },
+    {
+      icon_id: "24932457",
+      name: "wallet-filled",
+      font_class: "wallet-filled",
+      unicode: "e6c2",
+      unicode_decimal: 59074,
+    },
+    {
+      icon_id: "24932458",
+      name: "paihangbang-filled",
+      font_class: "medal-filled",
+      unicode: "e6c3",
+      unicode_decimal: 59075,
+    },
+    {
+      icon_id: "24932459",
+      name: "gift-filled",
+      font_class: "gift-filled",
+      unicode: "e6c4",
+      unicode_decimal: 59076,
+    },
+    {
+      icon_id: "24932460",
+      name: "fire-filled",
+      font_class: "fire-filled",
+      unicode: "e6c5",
+      unicode_decimal: 59077,
+    },
+    {
+      icon_id: "24928001",
+      name: "refreshempty",
+      font_class: "refreshempty",
+      unicode: "e6bf",
+      unicode_decimal: 59071,
+    },
+    {
+      icon_id: "24926853",
+      name: "location-ellipse",
+      font_class: "location-filled",
+      unicode: "e6af",
+      unicode_decimal: 59055,
+    },
+    {
+      icon_id: "24926735",
+      name: "person-filled",
+      font_class: "person-filled",
+      unicode: "e69d",
+      unicode_decimal: 59037,
+    },
+    {
+      icon_id: "24926703",
+      name: "personadd-filled",
+      font_class: "personadd-filled",
+      unicode: "e698",
+      unicode_decimal: 59032,
+    },
+    {
+      icon_id: "24923351",
+      name: "back",
+      font_class: "back",
+      unicode: "e6b9",
+      unicode_decimal: 59065,
+    },
+    {
+      icon_id: "24923352",
+      name: "forward",
+      font_class: "forward",
+      unicode: "e6ba",
+      unicode_decimal: 59066,
+    },
+    {
+      icon_id: "24923353",
+      name: "arrowthinright",
+      font_class: "arrow-right",
+      unicode: "e6bb",
+      unicode_decimal: 59067,
+    },
+    {
+      icon_id: "24923353",
+      name: "arrowthinright",
+      font_class: "arrowthinright",
+      unicode: "e6bb",
+      unicode_decimal: 59067,
+    },
+    {
+      icon_id: "24923354",
+      name: "arrowthinleft",
+      font_class: "arrow-left",
+      unicode: "e6bc",
+      unicode_decimal: 59068,
+    },
+    {
+      icon_id: "24923354",
+      name: "arrowthinleft",
+      font_class: "arrowthinleft",
+      unicode: "e6bc",
+      unicode_decimal: 59068,
+    },
+    {
+      icon_id: "24923355",
+      name: "arrowthinup",
+      font_class: "arrow-up",
+      unicode: "e6bd",
+      unicode_decimal: 59069,
+    },
+    {
+      icon_id: "24923355",
+      name: "arrowthinup",
+      font_class: "arrowthinup",
+      unicode: "e6bd",
+      unicode_decimal: 59069,
+    },
+    {
+      icon_id: "24923356",
+      name: "arrowthindown",
+      font_class: "arrow-down",
+      unicode: "e6be",
+      unicode_decimal: 59070,
+    },
+    {
+      icon_id: "24923356",
+      name: "arrowthindown",
+      font_class: "arrowthindown",
+      unicode: "e6be",
+      unicode_decimal: 59070,
+    },
+    {
+      icon_id: "24923349",
+      name: "arrowdown",
+      font_class: "bottom",
+      unicode: "e6b8",
+      unicode_decimal: 59064,
+    },
+    {
+      icon_id: "24923349",
+      name: "arrowdown",
+      font_class: "arrowdown",
+      unicode: "e6b8",
+      unicode_decimal: 59064,
+    },
+    {
+      icon_id: "24923346",
+      name: "arrowright",
+      font_class: "right",
+      unicode: "e6b5",
+      unicode_decimal: 59061,
+    },
+    {
+      icon_id: "24923346",
+      name: "arrowright",
+      font_class: "arrowright",
+      unicode: "e6b5",
+      unicode_decimal: 59061,
+    },
+    {
+      icon_id: "24923347",
+      name: "arrowup",
+      font_class: "top",
+      unicode: "e6b6",
+      unicode_decimal: 59062,
+    },
+    {
+      icon_id: "24923347",
+      name: "arrowup",
+      font_class: "arrowup",
+      unicode: "e6b6",
+      unicode_decimal: 59062,
+    },
+    {
+      icon_id: "24923348",
+      name: "arrowleft",
+      font_class: "left",
+      unicode: "e6b7",
+      unicode_decimal: 59063,
+    },
+    {
+      icon_id: "24923348",
+      name: "arrowleft",
+      font_class: "arrowleft",
+      unicode: "e6b7",
+      unicode_decimal: 59063,
+    },
+    {
+      icon_id: "24923334",
+      name: "eye",
+      font_class: "eye",
+      unicode: "e651",
+      unicode_decimal: 58961,
+    },
+    {
+      icon_id: "24923335",
+      name: "eye-filled",
+      font_class: "eye-filled",
+      unicode: "e66a",
+      unicode_decimal: 58986,
+    },
+    {
+      icon_id: "24923336",
+      name: "eye-slash",
+      font_class: "eye-slash",
+      unicode: "e6b3",
+      unicode_decimal: 59059,
+    },
+    {
+      icon_id: "24923337",
+      name: "eye-slash-filled",
+      font_class: "eye-slash-filled",
+      unicode: "e6b4",
+      unicode_decimal: 59060,
+    },
+    {
+      icon_id: "24923305",
+      name: "info-filled",
+      font_class: "info-filled",
+      unicode: "e649",
+      unicode_decimal: 58953,
+    },
+    {
+      icon_id: "24923299",
+      name: "reload-01",
+      font_class: "reload",
+      unicode: "e6b2",
+      unicode_decimal: 59058,
+    },
+    {
+      icon_id: "24923195",
+      name: "mic_slash_fill",
+      font_class: "micoff-filled",
+      unicode: "e6b0",
+      unicode_decimal: 59056,
+    },
+    {
+      icon_id: "24923165",
+      name: "map-pin-ellipse",
+      font_class: "map-pin-ellipse",
+      unicode: "e6ac",
+      unicode_decimal: 59052,
+    },
+    {
+      icon_id: "24923166",
+      name: "map-pin",
+      font_class: "map-pin",
+      unicode: "e6ad",
+      unicode_decimal: 59053,
+    },
+    {
+      icon_id: "24923167",
+      name: "location",
+      font_class: "location",
+      unicode: "e6ae",
+      unicode_decimal: 59054,
+    },
+    {
+      icon_id: "24923064",
+      name: "starhalf",
+      font_class: "starhalf",
+      unicode: "e683",
+      unicode_decimal: 59011,
+    },
+    {
+      icon_id: "24923065",
+      name: "star",
+      font_class: "star",
+      unicode: "e688",
+      unicode_decimal: 59016,
+    },
+    {
+      icon_id: "24923066",
+      name: "star-filled",
+      font_class: "star-filled",
+      unicode: "e68f",
+      unicode_decimal: 59023,
+    },
+    {
+      icon_id: "24899646",
+      name: "a-rilidaka",
+      font_class: "calendar",
+      unicode: "e6a0",
+      unicode_decimal: 59040,
+    },
+    {
+      icon_id: "24899647",
+      name: "fire",
+      font_class: "fire",
+      unicode: "e6a1",
+      unicode_decimal: 59041,
+    },
+    {
+      icon_id: "24899648",
+      name: "paihangbang",
+      font_class: "medal",
+      unicode: "e6a2",
+      unicode_decimal: 59042,
+    },
+    {
+      icon_id: "24899649",
+      name: "font",
+      font_class: "font",
+      unicode: "e6a3",
+      unicode_decimal: 59043,
+    },
+    {
+      icon_id: "24899650",
+      name: "gift",
+      font_class: "gift",
+      unicode: "e6a4",
+      unicode_decimal: 59044,
+    },
+    {
+      icon_id: "24899651",
+      name: "link",
+      font_class: "link",
+      unicode: "e6a5",
+      unicode_decimal: 59045,
+    },
+    {
+      icon_id: "24899652",
+      name: "notification",
+      font_class: "notification",
+      unicode: "e6a6",
+      unicode_decimal: 59046,
+    },
+    {
+      icon_id: "24899653",
+      name: "staff",
+      font_class: "staff",
+      unicode: "e6a7",
+      unicode_decimal: 59047,
+    },
+    {
+      icon_id: "24899654",
+      name: "VIP",
+      font_class: "vip",
+      unicode: "e6a8",
+      unicode_decimal: 59048,
+    },
+    {
+      icon_id: "24899655",
+      name: "folder_add",
+      font_class: "folder-add",
+      unicode: "e6a9",
+      unicode_decimal: 59049,
+    },
+    {
+      icon_id: "24899656",
+      name: "tune",
+      font_class: "tune",
+      unicode: "e6aa",
+      unicode_decimal: 59050,
+    },
+    {
+      icon_id: "24899657",
+      name: "shimingrenzheng",
+      font_class: "auth",
+      unicode: "e6ab",
+      unicode_decimal: 59051,
+    },
+    {
+      icon_id: "24899565",
+      name: "person",
+      font_class: "person",
+      unicode: "e699",
+      unicode_decimal: 59033,
+    },
+    {
+      icon_id: "24899566",
+      name: "email-filled",
+      font_class: "email-filled",
+      unicode: "e69a",
+      unicode_decimal: 59034,
+    },
+    {
+      icon_id: "24899567",
+      name: "phone-filled",
+      font_class: "phone-filled",
+      unicode: "e69b",
+      unicode_decimal: 59035,
+    },
+    {
+      icon_id: "24899568",
+      name: "phone",
+      font_class: "phone",
+      unicode: "e69c",
+      unicode_decimal: 59036,
+    },
+    {
+      icon_id: "24899570",
+      name: "email",
+      font_class: "email",
+      unicode: "e69e",
+      unicode_decimal: 59038,
+    },
+    {
+      icon_id: "24899571",
+      name: "personadd",
+      font_class: "personadd",
+      unicode: "e69f",
+      unicode_decimal: 59039,
+    },
+    {
+      icon_id: "24899558",
+      name: "chatboxes-filled",
+      font_class: "chatboxes-filled",
+      unicode: "e692",
+      unicode_decimal: 59026,
+    },
+    {
+      icon_id: "24899559",
+      name: "contact",
+      font_class: "contact",
+      unicode: "e693",
+      unicode_decimal: 59027,
+    },
+    {
+      icon_id: "24899560",
+      name: "chatbubble-filled",
+      font_class: "chatbubble-filled",
+      unicode: "e694",
+      unicode_decimal: 59028,
+    },
+    {
+      icon_id: "24899561",
+      name: "contact-filled",
+      font_class: "contact-filled",
+      unicode: "e695",
+      unicode_decimal: 59029,
+    },
+    {
+      icon_id: "24899562",
+      name: "chatboxes",
+      font_class: "chatboxes",
+      unicode: "e696",
+      unicode_decimal: 59030,
+    },
+    {
+      icon_id: "24899563",
+      name: "chatbubble",
+      font_class: "chatbubble",
+      unicode: "e697",
+      unicode_decimal: 59031,
+    },
+    {
+      icon_id: "24881290",
+      name: "upload-filled",
+      font_class: "upload-filled",
+      unicode: "e68e",
+      unicode_decimal: 59022,
+    },
+    {
+      icon_id: "24881292",
+      name: "upload",
+      font_class: "upload",
+      unicode: "e690",
+      unicode_decimal: 59024,
+    },
+    {
+      icon_id: "24881293",
+      name: "weixin",
+      font_class: "weixin",
+      unicode: "e691",
+      unicode_decimal: 59025,
+    },
+    {
+      icon_id: "24881274",
+      name: "compose",
+      font_class: "compose",
+      unicode: "e67f",
+      unicode_decimal: 59007,
+    },
+    {
+      icon_id: "24881275",
+      name: "qq",
+      font_class: "qq",
+      unicode: "e680",
+      unicode_decimal: 59008,
+    },
+    {
+      icon_id: "24881276",
+      name: "download-filled",
+      font_class: "download-filled",
+      unicode: "e681",
+      unicode_decimal: 59009,
+    },
+    {
+      icon_id: "24881277",
+      name: "pengyouquan",
+      font_class: "pyq",
+      unicode: "e682",
+      unicode_decimal: 59010,
+    },
+    {
+      icon_id: "24881279",
+      name: "sound",
+      font_class: "sound",
+      unicode: "e684",
+      unicode_decimal: 59012,
+    },
+    {
+      icon_id: "24881280",
+      name: "trash-filled",
+      font_class: "trash-filled",
+      unicode: "e685",
+      unicode_decimal: 59013,
+    },
+    {
+      icon_id: "24881281",
+      name: "sound-filled",
+      font_class: "sound-filled",
+      unicode: "e686",
+      unicode_decimal: 59014,
+    },
+    {
+      icon_id: "24881282",
+      name: "trash",
+      font_class: "trash",
+      unicode: "e687",
+      unicode_decimal: 59015,
+    },
+    {
+      icon_id: "24881284",
+      name: "videocam-filled",
+      font_class: "videocam-filled",
+      unicode: "e689",
+      unicode_decimal: 59017,
+    },
+    {
+      icon_id: "24881285",
+      name: "spinner-cycle",
+      font_class: "spinner-cycle",
+      unicode: "e68a",
+      unicode_decimal: 59018,
+    },
+    {
+      icon_id: "24881286",
+      name: "weibo",
+      font_class: "weibo",
+      unicode: "e68b",
+      unicode_decimal: 59019,
+    },
+    {
+      icon_id: "24881288",
+      name: "videocam",
+      font_class: "videocam",
+      unicode: "e68c",
+      unicode_decimal: 59020,
+    },
+    {
+      icon_id: "24881289",
+      name: "download",
+      font_class: "download",
+      unicode: "e68d",
+      unicode_decimal: 59021,
+    },
+    {
+      icon_id: "24879601",
+      name: "help",
+      font_class: "help",
+      unicode: "e679",
+      unicode_decimal: 59001,
+    },
+    {
+      icon_id: "24879602",
+      name: "navigate-filled",
+      font_class: "navigate-filled",
+      unicode: "e67a",
+      unicode_decimal: 59002,
+    },
+    {
+      icon_id: "24879603",
+      name: "plusempty",
+      font_class: "plusempty",
+      unicode: "e67b",
+      unicode_decimal: 59003,
+    },
+    {
+      icon_id: "24879604",
+      name: "smallcircle",
+      font_class: "smallcircle",
+      unicode: "e67c",
+      unicode_decimal: 59004,
+    },
+    {
+      icon_id: "24879605",
+      name: "minus-filled",
+      font_class: "minus-filled",
+      unicode: "e67d",
+      unicode_decimal: 59005,
+    },
+    {
+      icon_id: "24879606",
+      name: "micoff",
+      font_class: "micoff",
+      unicode: "e67e",
+      unicode_decimal: 59006,
+    },
+    {
+      icon_id: "24879588",
+      name: "closeempty",
+      font_class: "closeempty",
+      unicode: "e66c",
+      unicode_decimal: 58988,
+    },
+    {
+      icon_id: "24879589",
+      name: "clear",
+      font_class: "clear",
+      unicode: "e66d",
+      unicode_decimal: 58989,
+    },
+    {
+      icon_id: "24879590",
+      name: "navigate",
+      font_class: "navigate",
+      unicode: "e66e",
+      unicode_decimal: 58990,
+    },
+    {
+      icon_id: "24879591",
+      name: "minus",
+      font_class: "minus",
+      unicode: "e66f",
+      unicode_decimal: 58991,
+    },
+    {
+      icon_id: "24879592",
+      name: "image",
+      font_class: "image",
+      unicode: "e670",
+      unicode_decimal: 58992,
+    },
+    {
+      icon_id: "24879593",
+      name: "mic",
+      font_class: "mic",
+      unicode: "e671",
+      unicode_decimal: 58993,
+    },
+    {
+      icon_id: "24879594",
+      name: "paperplane",
+      font_class: "paperplane",
+      unicode: "e672",
+      unicode_decimal: 58994,
+    },
+    {
+      icon_id: "24879595",
+      name: "close",
+      font_class: "close",
+      unicode: "e673",
+      unicode_decimal: 58995,
+    },
+    {
+      icon_id: "24879596",
+      name: "help-filled",
+      font_class: "help-filled",
+      unicode: "e674",
+      unicode_decimal: 58996,
+    },
+    {
+      icon_id: "24879597",
+      name: "plus-filled",
+      font_class: "paperplane-filled",
+      unicode: "e675",
+      unicode_decimal: 58997,
+    },
+    {
+      icon_id: "24879598",
+      name: "plus",
+      font_class: "plus",
+      unicode: "e676",
+      unicode_decimal: 58998,
+    },
+    {
+      icon_id: "24879599",
+      name: "mic-filled",
+      font_class: "mic-filled",
+      unicode: "e677",
+      unicode_decimal: 58999,
+    },
+    {
+      icon_id: "24879600",
+      name: "image-filled",
+      font_class: "image-filled",
+      unicode: "e678",
+      unicode_decimal: 59e3,
+    },
+    {
+      icon_id: "24855900",
+      name: "locked-filled",
+      font_class: "locked-filled",
+      unicode: "e668",
+      unicode_decimal: 58984,
+    },
+    {
+      icon_id: "24855901",
+      name: "info",
+      font_class: "info",
+      unicode: "e669",
+      unicode_decimal: 58985,
+    },
+    {
+      icon_id: "24855903",
+      name: "locked",
+      font_class: "locked",
+      unicode: "e66b",
+      unicode_decimal: 58987,
+    },
+    {
+      icon_id: "24855884",
+      name: "camera-filled",
+      font_class: "camera-filled",
+      unicode: "e658",
+      unicode_decimal: 58968,
+    },
+    {
+      icon_id: "24855885",
+      name: "chat-filled",
+      font_class: "chat-filled",
+      unicode: "e659",
+      unicode_decimal: 58969,
+    },
+    {
+      icon_id: "24855886",
+      name: "camera",
+      font_class: "camera",
+      unicode: "e65a",
+      unicode_decimal: 58970,
+    },
+    {
+      icon_id: "24855887",
+      name: "circle",
+      font_class: "circle",
+      unicode: "e65b",
+      unicode_decimal: 58971,
+    },
+    {
+      icon_id: "24855888",
+      name: "checkmarkempty",
+      font_class: "checkmarkempty",
+      unicode: "e65c",
+      unicode_decimal: 58972,
+    },
+    {
+      icon_id: "24855889",
+      name: "chat",
+      font_class: "chat",
+      unicode: "e65d",
+      unicode_decimal: 58973,
+    },
+    {
+      icon_id: "24855890",
+      name: "circle-filled",
+      font_class: "circle-filled",
+      unicode: "e65e",
+      unicode_decimal: 58974,
+    },
+    {
+      icon_id: "24855891",
+      name: "flag",
+      font_class: "flag",
+      unicode: "e65f",
+      unicode_decimal: 58975,
+    },
+    {
+      icon_id: "24855892",
+      name: "flag-filled",
+      font_class: "flag-filled",
+      unicode: "e660",
+      unicode_decimal: 58976,
+    },
+    {
+      icon_id: "24855893",
+      name: "gear-filled",
+      font_class: "gear-filled",
+      unicode: "e661",
+      unicode_decimal: 58977,
+    },
+    {
+      icon_id: "24855894",
+      name: "home",
+      font_class: "home",
+      unicode: "e662",
+      unicode_decimal: 58978,
+    },
+    {
+      icon_id: "24855895",
+      name: "home-filled",
+      font_class: "home-filled",
+      unicode: "e663",
+      unicode_decimal: 58979,
+    },
+    {
+      icon_id: "24855896",
+      name: "gear",
+      font_class: "gear",
+      unicode: "e664",
+      unicode_decimal: 58980,
+    },
+    {
+      icon_id: "24855897",
+      name: "smallcircle-filled",
+      font_class: "smallcircle-filled",
+      unicode: "e665",
+      unicode_decimal: 58981,
+    },
+    {
+      icon_id: "24855898",
+      name: "map-filled",
+      font_class: "map-filled",
+      unicode: "e666",
+      unicode_decimal: 58982,
+    },
+    {
+      icon_id: "24855899",
+      name: "map",
+      font_class: "map",
+      unicode: "e667",
+      unicode_decimal: 58983,
+    },
+    {
+      icon_id: "24855825",
+      name: "refresh-filled",
+      font_class: "refresh-filled",
+      unicode: "e656",
+      unicode_decimal: 58966,
+    },
+    {
+      icon_id: "24855826",
+      name: "refresh",
+      font_class: "refresh",
+      unicode: "e657",
+      unicode_decimal: 58967,
+    },
+    {
+      icon_id: "24855808",
+      name: "cloud-upload",
+      font_class: "cloud-upload",
+      unicode: "e645",
+      unicode_decimal: 58949,
+    },
+    {
+      icon_id: "24855809",
+      name: "cloud-download-filled",
+      font_class: "cloud-download-filled",
+      unicode: "e646",
+      unicode_decimal: 58950,
+    },
+    {
+      icon_id: "24855810",
+      name: "cloud-download",
+      font_class: "cloud-download",
+      unicode: "e647",
+      unicode_decimal: 58951,
+    },
+    {
+      icon_id: "24855811",
+      name: "cloud-upload-filled",
+      font_class: "cloud-upload-filled",
+      unicode: "e648",
+      unicode_decimal: 58952,
+    },
+    {
+      icon_id: "24855813",
+      name: "redo",
+      font_class: "redo",
+      unicode: "e64a",
+      unicode_decimal: 58954,
+    },
+    {
+      icon_id: "24855814",
+      name: "images-filled",
+      font_class: "images-filled",
+      unicode: "e64b",
+      unicode_decimal: 58955,
+    },
+    {
+      icon_id: "24855815",
+      name: "undo-filled",
+      font_class: "undo-filled",
+      unicode: "e64c",
+      unicode_decimal: 58956,
+    },
+    {
+      icon_id: "24855816",
+      name: "more",
+      font_class: "more",
+      unicode: "e64d",
+      unicode_decimal: 58957,
+    },
+    {
+      icon_id: "24855817",
+      name: "more-filled",
+      font_class: "more-filled",
+      unicode: "e64e",
+      unicode_decimal: 58958,
+    },
+    {
+      icon_id: "24855818",
+      name: "undo",
+      font_class: "undo",
+      unicode: "e64f",
+      unicode_decimal: 58959,
+    },
+    {
+      icon_id: "24855819",
+      name: "images",
+      font_class: "images",
+      unicode: "e650",
+      unicode_decimal: 58960,
+    },
+    {
+      icon_id: "24855821",
+      name: "paperclip",
+      font_class: "paperclip",
+      unicode: "e652",
+      unicode_decimal: 58962,
+    },
+    {
+      icon_id: "24855822",
+      name: "settings",
+      font_class: "settings",
+      unicode: "e653",
+      unicode_decimal: 58963,
+    },
+    {
+      icon_id: "24855823",
+      name: "search",
+      font_class: "search",
+      unicode: "e654",
+      unicode_decimal: 58964,
+    },
+    {
+      icon_id: "24855824",
+      name: "redo-filled",
+      font_class: "redo-filled",
+      unicode: "e655",
+      unicode_decimal: 58965,
+    },
+    {
+      icon_id: "24841702",
+      name: "list",
+      font_class: "list",
+      unicode: "e644",
+      unicode_decimal: 58948,
+    },
+    {
+      icon_id: "24841489",
+      name: "mail-open-filled",
+      font_class: "mail-open-filled",
+      unicode: "e63a",
+      unicode_decimal: 58938,
+    },
+    {
+      icon_id: "24841491",
+      name: "hand-thumbsdown-filled",
+      font_class: "hand-down-filled",
+      unicode: "e63c",
+      unicode_decimal: 58940,
+    },
+    {
+      icon_id: "24841492",
+      name: "hand-thumbsdown",
+      font_class: "hand-down",
+      unicode: "e63d",
+      unicode_decimal: 58941,
+    },
+    {
+      icon_id: "24841493",
+      name: "hand-thumbsup-filled",
+      font_class: "hand-up-filled",
+      unicode: "e63e",
+      unicode_decimal: 58942,
+    },
+    {
+      icon_id: "24841494",
+      name: "hand-thumbsup",
+      font_class: "hand-up",
+      unicode: "e63f",
+      unicode_decimal: 58943,
+    },
+    {
+      icon_id: "24841496",
+      name: "heart-filled",
+      font_class: "heart-filled",
+      unicode: "e641",
+      unicode_decimal: 58945,
+    },
+    {
+      icon_id: "24841498",
+      name: "mail-open",
+      font_class: "mail-open",
+      unicode: "e643",
+      unicode_decimal: 58947,
+    },
+    {
+      icon_id: "24841488",
+      name: "heart",
+      font_class: "heart",
+      unicode: "e639",
+      unicode_decimal: 58937,
+    },
+    {
+      icon_id: "24839963",
+      name: "loop",
+      font_class: "loop",
+      unicode: "e633",
+      unicode_decimal: 58931,
+    },
+    {
+      icon_id: "24839866",
+      name: "pulldown",
+      font_class: "pulldown",
+      unicode: "e632",
+      unicode_decimal: 58930,
+    },
+    {
+      icon_id: "24813798",
+      name: "scan",
+      font_class: "scan",
+      unicode: "e62a",
+      unicode_decimal: 58922,
+    },
+    {
+      icon_id: "24813786",
+      name: "bars",
+      font_class: "bars",
+      unicode: "e627",
+      unicode_decimal: 58919,
+    },
+    {
+      icon_id: "24813788",
+      name: "cart-filled",
+      font_class: "cart-filled",
+      unicode: "e629",
+      unicode_decimal: 58921,
+    },
+    {
+      icon_id: "24813790",
+      name: "checkbox",
+      font_class: "checkbox",
+      unicode: "e62b",
+      unicode_decimal: 58923,
+    },
+    {
+      icon_id: "24813791",
+      name: "checkbox-filled",
+      font_class: "checkbox-filled",
+      unicode: "e62c",
+      unicode_decimal: 58924,
+    },
+    {
+      icon_id: "24813794",
+      name: "shop",
+      font_class: "shop",
+      unicode: "e62f",
+      unicode_decimal: 58927,
+    },
+    {
+      icon_id: "24813795",
+      name: "headphones",
+      font_class: "headphones",
+      unicode: "e630",
+      unicode_decimal: 58928,
+    },
+    {
+      icon_id: "24813796",
+      name: "cart",
+      font_class: "cart",
+      unicode: "e631",
+      unicode_decimal: 58929,
+    },
+  ],
+};
diff --git a/uni_modules/uni-icons/components/uni-icons/uni-icons.js b/uni_modules/uni-icons/components/uni-icons/uni-icons.js
new file mode 100644
index 0000000..d1cee9c
--- /dev/null
+++ b/uni_modules/uni-icons/components/uni-icons/uni-icons.js
@@ -0,0 +1,53 @@
+var n = require("./icons.js"),
+  e = require("../../../../common/vendor.js"),
+  t = {
+    name: "UniIcons",
+    emits: ["click"],
+    props: {
+      type: { type: String, default: "" },
+      color: { type: String, default: "#333333" },
+      size: { type: [Number, String], default: 16 },
+      customPrefix: { type: String, default: "" },
+    },
+    data: function () {
+      return { icons: n.icons.glyphs };
+    },
+    computed: {
+      unicode: function () {
+        var n = this,
+          e = this.icons.find(function (e) {
+            return e.font_class === n.type;
+          });
+        return e ? unescape("%u".concat(e.unicode)) : "";
+      },
+      iconSize: function () {
+        return "number" == typeof (n = this.size) || /^[0-9]*$/g.test(n)
+          ? n + "px"
+          : n;
+        var n;
+      },
+    },
+    methods: {
+      _onClick: function () {
+        this.$emit("click");
+      },
+    },
+  },
+  i = e._export_sfc(t, [
+    [
+      "render",
+      function (n, t, i, o, c, r) {
+        return {
+          a: i.color,
+          b: r.iconSize,
+          c: e.n("uniui-" + i.type),
+          d: e.n(i.customPrefix),
+          e: e.n(i.customPrefix ? i.type : ""),
+          f: e.o(function () {
+            return r._onClick && r._onClick.apply(r, arguments);
+          }),
+        };
+      },
+    ],
+  ]);
+wx.createComponent(i);
diff --git a/uni_modules/uni-icons/components/uni-icons/uni-icons.json b/uni_modules/uni-icons/components/uni-icons/uni-icons.json
new file mode 100644
index 0000000..1a3499c
--- /dev/null
+++ b/uni_modules/uni-icons/components/uni-icons/uni-icons.json
@@ -0,0 +1 @@
+{ "component": true, "usingComponents": {} }
diff --git a/uni_modules/uni-icons/components/uni-icons/uni-icons.wxml b/uni_modules/uni-icons/components/uni-icons/uni-icons.wxml
new file mode 100644
index 0000000..4163a8f
--- /dev/null
+++ b/uni_modules/uni-icons/components/uni-icons/uni-icons.wxml
@@ -0,0 +1,5 @@
+<text
+  bindtap="{{f}}"
+  class="{{['uni-icons',c,d,e]}}"
+  style="{{'color:'+a+';'+'font-size:'+b}}"
+></text>
diff --git a/uni_modules/uni-icons/components/uni-icons/uni-icons.wxss b/uni_modules/uni-icons/components/uni-icons/uni-icons.wxss
new file mode 100644
index 0000000..266e7ce
--- /dev/null
+++ b/uni_modules/uni-icons/components/uni-icons/uni-icons.wxss
@@ -0,0 +1,492 @@
+.uniui-color:before {
+  content: "";
+}
+.uniui-wallet:before {
+  content: "";
+}
+.uniui-settings-filled:before {
+  content: "";
+}
+.uniui-auth-filled:before {
+  content: "";
+}
+.uniui-shop-filled:before {
+  content: "";
+}
+.uniui-staff-filled:before {
+  content: "";
+}
+.uniui-vip-filled:before {
+  content: "";
+}
+.uniui-plus-filled:before {
+  content: "";
+}
+.uniui-folder-add-filled:before {
+  content: "";
+}
+.uniui-color-filled:before {
+  content: "";
+}
+.uniui-tune-filled:before {
+  content: "";
+}
+.uniui-calendar-filled:before {
+  content: "";
+}
+.uniui-notification-filled:before {
+  content: "";
+}
+.uniui-wallet-filled:before {
+  content: "";
+}
+.uniui-medal-filled:before {
+  content: "";
+}
+.uniui-gift-filled:before {
+  content: "";
+}
+.uniui-fire-filled:before {
+  content: "";
+}
+.uniui-refreshempty:before {
+  content: "";
+}
+.uniui-location-filled:before {
+  content: "";
+}
+.uniui-person-filled:before {
+  content: "";
+}
+.uniui-personadd-filled:before {
+  content: "";
+}
+.uniui-back:before {
+  content: "";
+}
+.uniui-forward:before {
+  content: "";
+}
+.uniui-arrow-right:before,
+.uniui-arrowthinright:before {
+  content: "";
+}
+.uniui-arrow-left:before,
+.uniui-arrowthinleft:before {
+  content: "";
+}
+.uniui-arrow-up:before,
+.uniui-arrowthinup:before {
+  content: "";
+}
+.uniui-arrow-down:before,
+.uniui-arrowthindown:before {
+  content: "";
+}
+.uniui-arrowdown:before,
+.uniui-bottom:before {
+  content: "";
+}
+.uniui-arrowright:before,
+.uniui-right:before {
+  content: "";
+}
+.uniui-arrowup:before,
+.uniui-top:before {
+  content: "";
+}
+.uniui-arrowleft:before,
+.uniui-left:before {
+  content: "";
+}
+.uniui-eye:before {
+  content: "";
+}
+.uniui-eye-filled:before {
+  content: "";
+}
+.uniui-eye-slash:before {
+  content: "";
+}
+.uniui-eye-slash-filled:before {
+  content: "";
+}
+.uniui-info-filled:before {
+  content: "";
+}
+.uniui-reload:before {
+  content: "";
+}
+.uniui-micoff-filled:before {
+  content: "";
+}
+.uniui-map-pin-ellipse:before {
+  content: "";
+}
+.uniui-map-pin:before {
+  content: "";
+}
+.uniui-location:before {
+  content: "";
+}
+.uniui-starhalf:before {
+  content: "";
+}
+.uniui-star:before {
+  content: "";
+}
+.uniui-star-filled:before {
+  content: "";
+}
+.uniui-calendar:before {
+  content: "";
+}
+.uniui-fire:before {
+  content: "";
+}
+.uniui-medal:before {
+  content: "";
+}
+.uniui-font:before {
+  content: "";
+}
+.uniui-gift:before {
+  content: "";
+}
+.uniui-link:before {
+  content: "";
+}
+.uniui-notification:before {
+  content: "";
+}
+.uniui-staff:before {
+  content: "";
+}
+.uniui-vip:before {
+  content: "";
+}
+.uniui-folder-add:before {
+  content: "";
+}
+.uniui-tune:before {
+  content: "";
+}
+.uniui-auth:before {
+  content: "";
+}
+.uniui-person:before {
+  content: "";
+}
+.uniui-email-filled:before {
+  content: "";
+}
+.uniui-phone-filled:before {
+  content: "";
+}
+.uniui-phone:before {
+  content: "";
+}
+.uniui-email:before {
+  content: "";
+}
+.uniui-personadd:before {
+  content: "";
+}
+.uniui-chatboxes-filled:before {
+  content: "";
+}
+.uniui-contact:before {
+  content: "";
+}
+.uniui-chatbubble-filled:before {
+  content: "";
+}
+.uniui-contact-filled:before {
+  content: "";
+}
+.uniui-chatboxes:before {
+  content: "";
+}
+.uniui-chatbubble:before {
+  content: "";
+}
+.uniui-upload-filled:before {
+  content: "";
+}
+.uniui-upload:before {
+  content: "";
+}
+.uniui-weixin:before {
+  content: "";
+}
+.uniui-compose:before {
+  content: "";
+}
+.uniui-qq:before {
+  content: "";
+}
+.uniui-download-filled:before {
+  content: "";
+}
+.uniui-pyq:before {
+  content: "";
+}
+.uniui-sound:before {
+  content: "";
+}
+.uniui-trash-filled:before {
+  content: "";
+}
+.uniui-sound-filled:before {
+  content: "";
+}
+.uniui-trash:before {
+  content: "";
+}
+.uniui-videocam-filled:before {
+  content: "";
+}
+.uniui-spinner-cycle:before {
+  content: "";
+}
+.uniui-weibo:before {
+  content: "";
+}
+.uniui-videocam:before {
+  content: "";
+}
+.uniui-download:before {
+  content: "";
+}
+.uniui-help:before {
+  content: "";
+}
+.uniui-navigate-filled:before {
+  content: "";
+}
+.uniui-plusempty:before {
+  content: "";
+}
+.uniui-smallcircle:before {
+  content: "";
+}
+.uniui-minus-filled:before {
+  content: "";
+}
+.uniui-micoff:before {
+  content: "";
+}
+.uniui-closeempty:before {
+  content: "";
+}
+.uniui-clear:before {
+  content: "";
+}
+.uniui-navigate:before {
+  content: "";
+}
+.uniui-minus:before {
+  content: "";
+}
+.uniui-image:before {
+  content: "";
+}
+.uniui-mic:before {
+  content: "";
+}
+.uniui-paperplane:before {
+  content: "";
+}
+.uniui-close:before {
+  content: "";
+}
+.uniui-help-filled:before {
+  content: "";
+}
+.uniui-paperplane-filled:before {
+  content: "";
+}
+.uniui-plus:before {
+  content: "";
+}
+.uniui-mic-filled:before {
+  content: "";
+}
+.uniui-image-filled:before {
+  content: "";
+}
+.uniui-locked-filled:before {
+  content: "";
+}
+.uniui-info:before {
+  content: "";
+}
+.uniui-locked:before {
+  content: "";
+}
+.uniui-camera-filled:before {
+  content: "";
+}
+.uniui-chat-filled:before {
+  content: "";
+}
+.uniui-camera:before {
+  content: "";
+}
+.uniui-circle:before {
+  content: "";
+}
+.uniui-checkmarkempty:before {
+  content: "";
+}
+.uniui-chat:before {
+  content: "";
+}
+.uniui-circle-filled:before {
+  content: "";
+}
+.uniui-flag:before {
+  content: "";
+}
+.uniui-flag-filled:before {
+  content: "";
+}
+.uniui-gear-filled:before {
+  content: "";
+}
+.uniui-home:before {
+  content: "";
+}
+.uniui-home-filled:before {
+  content: "";
+}
+.uniui-gear:before {
+  content: "";
+}
+.uniui-smallcircle-filled:before {
+  content: "";
+}
+.uniui-map-filled:before {
+  content: "";
+}
+.uniui-map:before {
+  content: "";
+}
+.uniui-refresh-filled:before {
+  content: "";
+}
+.uniui-refresh:before {
+  content: "";
+}
+.uniui-cloud-upload:before {
+  content: "";
+}
+.uniui-cloud-download-filled:before {
+  content: "";
+}
+.uniui-cloud-download:before {
+  content: "";
+}
+.uniui-cloud-upload-filled:before {
+  content: "";
+}
+.uniui-redo:before {
+  content: "";
+}
+.uniui-images-filled:before {
+  content: "";
+}
+.uniui-undo-filled:before {
+  content: "";
+}
+.uniui-more:before {
+  content: "";
+}
+.uniui-more-filled:before {
+  content: "";
+}
+.uniui-undo:before {
+  content: "";
+}
+.uniui-images:before {
+  content: "";
+}
+.uniui-paperclip:before {
+  content: "";
+}
+.uniui-settings:before {
+  content: "";
+}
+.uniui-search:before {
+  content: "";
+}
+.uniui-redo-filled:before {
+  content: "";
+}
+.uniui-list:before {
+  content: "";
+}
+.uniui-mail-open-filled:before {
+  content: "";
+}
+.uniui-hand-down-filled:before {
+  content: "";
+}
+.uniui-hand-down:before {
+  content: "";
+}
+.uniui-hand-up-filled:before {
+  content: "";
+}
+.uniui-hand-up:before {
+  content: "";
+}
+.uniui-heart-filled:before {
+  content: "";
+}
+.uniui-mail-open:before {
+  content: "";
+}
+.uniui-heart:before {
+  content: "";
+}
+.uniui-loop:before {
+  content: "";
+}
+.uniui-pulldown:before {
+  content: "";
+}
+.uniui-scan:before {
+  content: "";
+}
+.uniui-bars:before {
+  content: "";
+}
+.uniui-cart-filled:before {
+  content: "";
+}
+.uniui-checkbox:before {
+  content: "";
+}
+.uniui-checkbox-filled:before {
+  content: "";
+}
+.uniui-shop:before {
+  content: "";
+}
+.uniui-headphones:before {
+  content: "";
+}
+.uniui-cart:before {
+  content: "";
+}
+@font-face {
+  font-family: uniicons;
+  src: url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQiCLJXoAAAE4AAAAVE9TLzI8PEmfAAABjAAAAGBjbWFwI/huxgAABGgAAAo2Z2x5ZjdREQoAAA/gAABxyGhlYWQeRxNVAAAA4AAAADZoaGVhB94EIAAAALwAAAAkaG10eHwAAAAAAAHsAAACfGxvY2G+ANjyAAAOoAAAAUBtYXhwAbUAqgAAARgAAAAgbmFtZTe8RacAAIGoAAACZ3Bvc3S0buJjAACEEAAAB54AAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAJ8AAQAAAAEAAFISLZRfDzz1AAsEAAAAAADdk+etAAAAAN2T560AAP/gBAADHgAAAAgAAgAAAAAAAAABAAAAnwCeAAwAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAQEAAGQAAUAAAKJAswAAACPAokCzAAAAesAMgEIAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAwOYn5s8DgP+AAAAD3ACAAAAAAQAAAAAAAAAAAAAAAAACBAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAr4AAQAAAAABuAADAAEAAAAsAAMACgAAAr4ABAGMAAAAEAAQAAMAAOYn5izmM+Y65j/mQebP//8AAOYn5inmL+Y55jzmQeZD//8AAAAAAAAAAAAAAAAAAAABABAAEAAWAB4AIAAmACYAAACYAJkAlwCaAJsAnACdAJ4AlgCVAJQAjQCOAI8AkACRAJIAkwCMAH0AfgB/AIAAJACBAIIAgwCEAIUAhgCHACAAiACJAIoAiwB7AHwAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegBoAGkAIQBqAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAVQBWAFcAWABZAFoASABJAEoASwAqAEwATQBOAE8AKwBQAFEAUgBTAFQARQAsAEYARwA/AEAAQQBCAEMARAAVADkAOgA7ADwAFAA9AD4ALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAJwAoACkAEwAmAAIAJQAiACMAHQAeAB8AHAAWABcAGAAZABoAGwASAAwADQAOAA8AEAARAAcACAAJAAoACwAGAAQABQADAAEAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAB3gAAAAAAAAAngAA5icAAOYnAAAAmAAA5ikAAOYpAAAAmQAA5ioAAOYqAAAAlwAA5isAAOYrAAAAmgAA5iwAAOYsAAAAmwAA5i8AAOYvAAAAnAAA5jAAAOYwAAAAnQAA5jEAAOYxAAAAngAA5jIAAOYyAAAAlgAA5jMAAOYzAAAAlQAA5jkAAOY5AAAAlAAA5joAAOY6AAAAjQAA5jwAAOY8AAAAjgAA5j0AAOY9AAAAjwAA5j4AAOY+AAAAkAAA5j8AAOY/AAAAkQAA5kEAAOZBAAAAkgAA5kMAAOZDAAAAkwAA5kQAAOZEAAAAjAAA5kUAAOZFAAAAfQAA5kYAAOZGAAAAfgAA5kcAAOZHAAAAfwAA5kgAAOZIAAAAgAAA5kkAAOZJAAAAJAAA5koAAOZKAAAAgQAA5ksAAOZLAAAAggAA5kwAAOZMAAAAgwAA5k0AAOZNAAAAhAAA5k4AAOZOAAAAhQAA5k8AAOZPAAAAhgAA5lAAAOZQAAAAhwAA5lEAAOZRAAAAIAAA5lIAAOZSAAAAiAAA5lMAAOZTAAAAiQAA5lQAAOZUAAAAigAA5lUAAOZVAAAAiwAA5lYAAOZWAAAAewAA5lcAAOZXAAAAfAAA5lgAAOZYAAAAawAA5lkAAOZZAAAAbAAA5loAAOZaAAAAbQAA5lsAAOZbAAAAbgAA5lwAAOZcAAAAbwAA5l0AAOZdAAAAcAAA5l4AAOZeAAAAcQAA5l8AAOZfAAAAcgAA5mAAAOZgAAAAcwAA5mEAAOZhAAAAdAAA5mIAAOZiAAAAdQAA5mMAAOZjAAAAdgAA5mQAAOZkAAAAdwAA5mUAAOZlAAAAeAAA5mYAAOZmAAAAeQAA5mcAAOZnAAAAegAA5mgAAOZoAAAAaAAA5mkAAOZpAAAAaQAA5moAAOZqAAAAIQAA5msAAOZrAAAAagAA5mwAAOZsAAAAWwAA5m0AAOZtAAAAXAAA5m4AAOZuAAAAXQAA5m8AAOZvAAAAXgAA5nAAAOZwAAAAXwAA5nEAAOZxAAAAYAAA5nIAAOZyAAAAYQAA5nMAAOZzAAAAYgAA5nQAAOZ0AAAAYwAA5nUAAOZ1AAAAZAAA5nYAAOZ2AAAAZQAA5ncAAOZ3AAAAZgAA5ngAAOZ4AAAAZwAA5nkAAOZ5AAAAVQAA5noAAOZ6AAAAVgAA5nsAAOZ7AAAAVwAA5nwAAOZ8AAAAWAAA5n0AAOZ9AAAAWQAA5n4AAOZ+AAAAWgAA5n8AAOZ/AAAASAAA5oAAAOaAAAAASQAA5oEAAOaBAAAASgAA5oIAAOaCAAAASwAA5oMAAOaDAAAAKgAA5oQAAOaEAAAATAAA5oUAAOaFAAAATQAA5oYAAOaGAAAATgAA5ocAAOaHAAAATwAA5ogAAOaIAAAAKwAA5okAAOaJAAAAUAAA5ooAAOaKAAAAUQAA5osAAOaLAAAAUgAA5owAAOaMAAAAUwAA5o0AAOaNAAAAVAAA5o4AAOaOAAAARQAA5o8AAOaPAAAALAAA5pAAAOaQAAAARgAA5pEAAOaRAAAARwAA5pIAAOaSAAAAPwAA5pMAAOaTAAAAQAAA5pQAAOaUAAAAQQAA5pUAAOaVAAAAQgAA5pYAAOaWAAAAQwAA5pcAAOaXAAAARAAA5pgAAOaYAAAAFQAA5pkAAOaZAAAAOQAA5poAAOaaAAAAOgAA5psAAOabAAAAOwAA5pwAAOacAAAAPAAA5p0AAOadAAAAFAAA5p4AAOaeAAAAPQAA5p8AAOafAAAAPgAA5qAAAOagAAAALQAA5qEAAOahAAAALgAA5qIAAOaiAAAALwAA5qMAAOajAAAAMAAA5qQAAOakAAAAMQAA5qUAAOalAAAAMgAA5qYAAOamAAAAMwAA5qcAAOanAAAANAAA5qgAAOaoAAAANQAA5qkAAOapAAAANgAA5qoAAOaqAAAANwAA5qsAAOarAAAAOAAA5qwAAOasAAAAJwAA5q0AAOatAAAAKAAA5q4AAOauAAAAKQAA5q8AAOavAAAAEwAA5rAAAOawAAAAJgAA5rEAAOaxAAAAAgAA5rIAAOayAAAAJQAA5rMAAOazAAAAIgAA5rQAAOa0AAAAIwAA5rUAAOa1AAAAHQAA5rYAAOa2AAAAHgAA5rcAAOa3AAAAHwAA5rgAAOa4AAAAHAAA5rkAAOa5AAAAFgAA5roAAOa6AAAAFwAA5rsAAOa7AAAAGAAA5rwAAOa8AAAAGQAA5r0AAOa9AAAAGgAA5r4AAOa+AAAAGwAA5r8AAOa/AAAAEgAA5sAAAObAAAAADAAA5sEAAObBAAAADQAA5sIAAObCAAAADgAA5sMAAObDAAAADwAA5sQAAObEAAAAEAAA5sUAAObFAAAAEQAA5sYAAObGAAAABwAA5scAAObHAAAACAAA5sgAAObIAAAACQAA5skAAObJAAAACgAA5soAAObKAAAACwAA5ssAAObLAAAABgAA5swAAObMAAAABAAA5s0AAObNAAAABQAA5s4AAObOAAAAAwAA5s8AAObPAAAAAQAAAAAAAAC+ASYBlgH0AloCsAL8A0QDkAQSBGYEygUUBVgF3gZiBqoG7gc6B2gHygfeB/IIIghSCIIIsgjcCQYJMAlaCaIJ5ApuCsYLDAtiC9YMTAyCDOoNTA3IDgQOhA8ID6YP7hCGEOYRTBHGEj4SqBMiE5wT6BQwFHoU8hU+FZ4V7BZMFowW3BdWF74YChhsGPIZPBmgGewagBsKG34b6hxwHMgdvB50HuwfTh/YIBwgSiCCILghPiFsIb4iIiJ4IrgjJCN2I+QkVCSSJPglTiWMJd4mRCaiJwgnVifmKCooVii+KRQpgCnEKj4qeCrAK54rxCv+LFgsvC1ALawt5i5QLoou8i9QL4ov4DAOMHYw0DE0MdQyFjJQMnoyzDMaM5Yz4jReNIo08DVSNeA18jZCNn424jdGN444KjiCOOQABwAAAAADkwL/ACYATwBYAGEAawB0AH0AACUiJyMmJyYnMSYnJjc+ATc2FxYXFhcWHwEWBwYHBicmBw4BFxYHBicXFjc1NicmPgIfARY3Njc2JzEmJyYnJicmBwYHBgcGFxYfARYXFhcDFBYyNjQmIgY3FBYyNjQmIgY3FBYyNjQmIgYHFxQWMjY0JiIGFxQWMjY0JiIGAd8VHgVSTScZPAgHIyF9T1RWX1JELRYLARhAKEcnIx0RCAUDEAsilwVuHAMJCAofLRsDHR05HS4UCxQoPEhSS0tFNjUdIQUGNwIcIUBBtBsmGxsmGzUbJhsbJhuLGicbGycaAZobJhsbJhtNGyYbGyYbBgQNRSMjXGJYU01wGhwOD0I4UyomAoQ+JwUCBwMUChoJMBtKMwERPQENHBQxJhIDAQYCAh0saiQlSi87DgwYFzIwP0lNWFUCJRw3CgE3ExsbJhsbdxMbGyYbGjkTGxsmGxsTJhMbGyYbG44TGxsmGxsAAAAEAAAAAAOBAwEAEwAtADYAQgAAATIWFxUeARcTFAYHBSImJxE0NjcHERQWFwUyNjc1IyIuATQ+ATczNTQmJyEiJwUjIgYUFh8BNQMhIgYUFhchNTQmJwLGKj8DISsCATsr/dIrPgM7KioZEwIsExwCiSA3IB4zH5AZE/3UFhQCgokZIh4XkID+JxQdGRMCDxoTAwA7KzsKNSL+bys/AgE7KwIuKz4Dzf46Ex0BARoTUyA2PzUhAU8THAIJxCIvIgIBdwFYHSccAjETHAIAAAAAAwAAAAADgQLGABkAMQBMAAABMjY3MzI2NCYrAS4BIgYHISIGFBYzIR4BMwUiBhQWOwEeATI2NyEyNjQmIyEuASIGBwEyNjczMjY0JisBLgEiBgchIgYVMRQWMyEeAQKJHDAKhAwREQyECi87Lwr+bA0SEg0BlAowHP4VDBISDIgJMDowCgGPDRISDf5xCjA6LwoBZB0vCoQMEREMhAovOy8K/mwNEhINAZQKLwIOIRsTGRIbIiIbEhkTGyFvEhoRHCIiHBEaEhsiIhv+nCIbEhoSGyIiGxINDRIbIgAAAAAEAAAAAAOwArkADAAZACYAOgAAATI+ATQuASIOARQeARc0NyYnBycOAQchLgE3Ig4BFB4BMj4CLgEXDwEGIi8BJjQ/ATYyHwE3NjIWFAGgLEsrLEpZSiwsStALJShiYVp/EgJ4PEzHLUwsLExaTCwBLUwwWAsEDgRBBAQBBA0ENlkFDAkBcyxKWUosLEpZSixxISEZDnBvHp5oFGfnLUxZTC0tTFlMLYBoCwUFQwUNBAEEBThpBAoNAAAAAAMAAAAAA4gC1AAnADkARQAAATAxJzQvAS4BByEmBg8BFQYVFB4BFzMyNjceATY3NjceATMxFjc+AQcjBgcVITUmJxUUFjMhMjY9ASchIiY0NjMhMhYUBgN3AQJACS0b/joaLAlGCCdDKQUiPRUaTE8fCggWPCInIjAoSwEeGf33IR0bEwIoExuE/oQNExMNAXwOEhIB8AEEBKIaHwICHhmrAhgZKUcpAR0aIBsOGwkJGhwBEhtoqA4FsbMGD9cTFxcT1OkSGRISGRIAAAIAAAAAA4QCwgAhADsAAAE+ATU0LgEjIgYUFjMyFhQGIyIGFBYzMh4BFRQWMjY1NiYDMjY1NCYnPgE1NC4BIg4BFRQWFw4BFRQWMwMGExUlPyUMExMMHi4uHg0SEg0qSSsTFxMERJMMFWJQKC40WWpaNC4pUWEUDAFtFTYdKUQoFRkUMkIxEh8RL04uDBUVDEV0/vMUDFSLIB1ULzVYMzNYNS9UHSCLVAwUAAACAAAAAAOFAs8AIAAsAAABBg8BBi8BJgYHBhcTHgEzITI2NxM2JicmDwEGLwEuAQcTMhYUBgcjIiY0NjcB3AoHgwMDYxgzDAsFRwc3JAGrIzcHSAUeGhYUZwMCgA8zFooNERAL0g0REAsCvwcJugMBMwwQGBQW/pkjLS0jAWcbLAYECjQBA7oVCg3+LhEZEQESGBEBAAAAAAIAAP//A4EDAAAUADEAACEyNzY3NjQnJicmIgcGBwYUFxYXFjciJj0BIyImNDY3MzU0NjIWHQEzMhYUBisBFRQGAgBnWlczNTUzV1rOWlczNTUzV1pmDxF8ERUUEnwRHxJ8ERQUEXwSNDRXWs5aVzM1NTNXWs9ZVzQ0xBUQdhEfEQF8ERUVEXwSHxF1EhQAAAIAAAAAA4EC1QAYADUAAAEhJy4BKwEiDgEVERQeATMhMj4BNRE0LgEDIxUUBiImPQEjIiY0NjsBNTQ2MhYdATMyFhQGIwMN/s0rECsWah81Hx81HwIZHzUfHzW4VxEYEFcMEBAMVxAYEVcLEREMAogrEBIfNR/+NCA1Hx81IAF/HzUf/rBWDBERDFYRGBFWDBERDFYRGBEABgAAAAADkwL/ACYALwA4AEIASwBUAAAlIicjJicmJzEmJyY3PgE3NhcWFxYXFh8BFgcGBwYnJgcOARcWBwYBFBYyNjQmIgY3FBYyNjQmIgY3FBYyNjQmIgYHFxQWMjY0JiIGFxQWMjY0JiIGAd8VHgVSTScZPAgHIyF9T1RWX1JELRYLARhAKEcnIx0RCAUDEAsi/rUbJhsbJhs1GyYbGyYbixonGxsnGgGaGyYbGyYbTRsmGxsmGwYEDUUjI1xiWFNNcBocDg9COFMqJgKEPicFAgcDFAoaCTAbSgFpExsbJhsbdxMbGyYbGjkTGxsmGxsTJhMbGyYbG44TGxsmGxsAAAACAAD/+wOBAv8AGwA3AAABMhYXITIWFAYjIQ4CJy4BJyMiJjQ2OwE+AhMyFhczMhYUBisBDgInLgEnISImNDYzIT4CAao7WgwBFA4TEw7+7Ak6UysxRQpmDRQUDWYHLkTWO1oMZQ4TEw5lCTpTLDBGCf7rDRQUDQEVBy5EAUlKORMbFCtBHAkKRTAUGxMlPCIBtUo5ExsUK0EcCQlGMBQbEyU8IgAAAAAEAAD//wN9AwEAEwAlADIAPwAAASEiDgEVERQeATMhMj4BNRE2LgEDDwEOAS8BLgE+AR8BNzYyHgEBMhYXFRQGIiYnNTQ2ITIWFxUUBiImJzUmNgLI/nIxUzExUzEBjjFTMAExU3MCfwgXClwKAhAZCkZqCRoSAv7iDRIBExkSARIBKgwTARMZEgEBEwLTMVMx/pcxUzExUzEBaTFTMf65A4IIAwdPCRoTAwc8bgkRGQFrEQxmDRMRDGYNExEMZg0TEQxmDRMAAAIAAAAAA4ADAAApAC8AAAEyFxYXFhcVFB8BFhQHBgcjFA4BIi4BLwEjIiY1ND8BNjc9ATQ3Njc2MxMjFBYyNgIBUUdEKSoDEisQEA4TtilGUkUqAgGwFiANKxUCKSlFR1NgwDhQOAMAKCdDRVGFHBUsDy0QDgIqRionQygIHxcTECoUHAd5U0hFKSr9mig4OAAAAAADAAAAAAOBAwAAEwAbACcAAAEyFhcVHgEXExQGBwUiJicRNDY3ASMiBhQWHwEDISIGFBYXITU0JicCxio/AyErAgE7K/3SKz4DOyoCX4kZIh4XkID+JxQdGRMCDxoTAwA7KzsKNSL+bys/AgE7KwIuKz4D/m0jLyICAQHPHSccAjETHAIAAAAABAAAAAADgQLhAC8AOQBMAFcAAAEjNTQuASMhDgEdAQcOARcWFxYXHgEXFSMOARQWMyE+ATQmKwE1PgE3Njc2NzU0JgUmJyYnNSY2NzMFDgEHBi4BNj8BNjc2PwE+AR4BNwcGBwYHPQEzHgEDLUQbLhz+5Ck4NiMtAwIdKkYWa0VwDBASDQEbDBASDW1EahZWLx0DMf24HhQRAwEMCDMBcgoxHAoUBwcJAxEQDgcCBBQUCcYBAxEaK0YJCwJVJxsvGwI6KScBAjQjKig5E0FZCWsBEhkRAREZEmsJVj8QQSgqBiMxsg8bFxgECA4BmxoxCgQJFBMEAQYQDw8DCgkIFHoEGBckDg5uAQ4AAAUAAAAAA5EDBgAqADYARABLAFIAAAE1IicjBgcVITU0NjsBJicmNjc2FxYXFhc2NzY3NhceAQcGBwYHMzIWHQEBJgYPAQYXFhcWNyYFNiYnJgcGBxY3Mjc2NwMhIiY1ESEBFAYjIREhAiMIDwQTEP6UFxGmTgEBHhgdIC4sHyQnHy8xHRwYHAMEFxUjpBAY/eESKAkBEw8WOyw6KwEwDBEVFhdCLSYnIBokDf/+1w8VAU0BhhUP/tcBTQGrsgMDAbGOEBgQMBYyDQ8HCiUaLDAZJwYEEA4vFRkRDwcXEI8BLgkMEwIeDxYFBAY+JQ8rCwwLIzsEAgUGD/1yFQ8BZv6aDxYBiwAAAAEAAAAAAzwDAwAtAAABHgEVFBcWHwIWFxYVFAcOASMiJyYnJjU0NzY3PgEyFh8CHgEXJjY3Nj8BNgI/BgoSFiYjDjMZISsqkVVSRksqLw8MFAQSFhIFEwUKHBUYMC0hLAgKAvkDEQskLzgmHw4xMT5IS0A/SSMlREtkL0E4OQoODgo3DBwkD06fOioeAwUAAAEAAP/1A3UC+QAnAAABJzcuASMmBwYHDgEXFhcWMxY2NzMGBwYHBiYnJicmNjc2NzYXFhc3A3TnaC2CSVZKSCsrASsqR0pWWpkpQSdRTmJkvD07Dg1OUU5iZF5XO1EBzgVnOkABKypISa1KSCosAV5QXj08DQ5PUU5iZLw9Ow4NJyRJUAAAAAADAAAAAAM0AvkAGQAmAC8AAAEiBwYHBhUUFxYXFh8BNzY3Njc2NTQnJicmAyIuATQ+ATIeARQOASciBhQWMjY0JgIBVEdFKSpJNFUuIxAPIy5VNEkqKEZHUyU9JSU9ST4kJD4kHyoqPSsrAvgqKEZHVEltUFowIA4OIDBaT25JVEdGKCr+SiU9ST4kJD5JPSXQKz0qKj0rAAIAAAAAA2MCywAMABkAAAEyPgE0LgEiDgEUHgEXJicHJwYHDgEHIS4BAgMvTy4uT11PLy9P0RwfaGgeHUlkDwK+D2QBci9PXU8uLk9dTy8kEQp2dgoRKpRcW5UABAAAAAADsAK5AAwAGQAmAEIAAAEyPgE0LgEiDgEUHgEXNDcmJwcnDgEHIS4BNyIOARQeATI+Ai4BFyMVFAYiJj0BIyImNDY7ATU0NjIWHQEzMhYUBgGgLEsrLEpZSiwsStALJShiYVp/EgJ4PEzHLUwsLExaTCwBLUwlOw0TDjsKDQ0KOw4TDTsKDg4BcyxKWUosLEpZSixxISEZDnBvHp5oFGfnLUxZTC0tTFlMLb07CQ4OCTsOEw08CQ4OCTsOEw4AAAEAAAAAAqQC4wAFAAABJwkBNwECpDn+ngFiNf7WAq41/p3+njgBKgABAAAAAALCAuMABQAAJRcJAQcBASc5AWL+njUBKlI0AWIBYzn+1gAAAQAAAAADYgKdABwAABMUFjMhNw8BBhQWMj8BNjQvASYiBhQfAichIgadEw4B7lJ9VAkTGwv6Cwv6CxsTCVR8Uf4SDhMBgA8TAW5VCR0TC/kLHAv5ChIdCVVvARIAAAAAAQAAAAADYgKdABwAAAE0JiMhIz8BNjQmIg8BBhQfARYyNjQvAhchMjYDYhMO/hJSfVQJExsL+gsL+gsbEwlUfFEB7g4TAYAOE25VCR0SCvkLHAv5CxMdCVVuARMAAAAAAQAAAAADGgLhABwAACUyNjURJx8BFjI2NC8BJiIPAQYUFjI/AgcRFBYB/Q8TAW5WCRwTC/kKHQv5ChIdCVVvARIcEg8B7lJ9VQkTGwv6Cwv6CxsTClR7UP4SDxIAAAAAAQAAAAADHALjABwAAAEiBhURFS8BJiIGFB8BFjI/ATY0LgEPAjcRNCYCAA8TbVYJHRIK+QscC/kLEx0IVm4BEwLiEg/+ElJ9VAoTHAv5Cwv6ChwSAQpUe1AB7g8SAAAAAQAAAAADYgI3ABUAACUWNwE2NCYrASIHCQEuAQYdARQXARYB/xELATwLFRABDwv+3f7eCx8WCwE8DKgBDAFECh8WCv7XASkKARYPAQ8M/r4MAAAAAQAAAAACxQLkABUAAAE0JwEuAQYdARQXCQEGFBY7ATI3ATYCxQz+vQsfFgsBKP7YCxUPAQ8MAUMMAYEQCwE8CwEWDwEPDP7e/t4LHxYLATwMAAAAAQAAAAADYgIxABUAAAEiBwEGFBY7ATI3CQEeATY3NTQnASYB/xAL/sQLFQ8CDwsBIgEjCx4WAQv+xAwCMQz+vAofFgoBKf7XCgEWDwEPDAFDDAAAAQAAAAACxQLkABUAAAEUFwEeATY3NTQnCQE2NCYrASIHAQYBNgwBQwseFgEL/tcBKQsVEAEPC/69DAGBEAv+xAsBFg8BEAsBIgEiDB4WC/7EDAAABAAAAAADoAK3AAwAEwAgACkAACUiAyY0NxIgExYUBwIDIgcWIDcmAyIuATQ+ATIeARQOAScyNjQmIgYUFgIB47QICLQBxbQICLTivqCgAXyfn74oQygoQ09EJydEJyIxMUUxMUkBGwweDQEb/uUNHQ3+5QIv+fj4+f52J0NPQicnQk9DJz8wRTAwRTAAAAAAAwAAAAADngK3AAwAGQAmAAABMhMWFAcCIAMmNDcSFyIOARQeATI+ATQuAQMyPgE0LgEiDgEUHgECAOK0CAi0/jyzCQi04jNVMjJVZlUyMlUzIjkhITlEOSEhOQK2/uYNHgz+5QEbDB4NARp8MlVlVjIyVmVVMv7KITlEOSEhOUQ5IQAABQAAAAADmAL4ABIALgA1AEUAVgAAATEmJwcWFw4BIyInBxYzIBM2NAMnJiIPASYjIAMxBhcWFwcGFB8BFjI3ATY0JzABJj4BNzYXNyYOAQcGFBcHJic+ATMyFwMiJwcWPgE3NjQnBxYOAQcGA5IzRy89LTqncUg7M1JkAQyFBkEoAgYCbVJl/vSFCwszR14CAigCBgICmQIC/kEGECgcGBcvKFdJEw8PTz0uOqdxSDyHCQkvKFdHEQ4OLwQTKxwIAZhrQi84Xnh1GDMoARgLGgFBJwICbSj+6BgYa0JeAgcCJwICApgCBgP+mhw1JgcFBS4TBzIoIUohUDheeHUY/sMBLxIKNCkfRB8vHDQkBQEAAAAAAwAAAAADlwLxABMALQA2AAABJyYnBxYVFA4BIyInBxYzIBM2JwMnJiIPASYjIAMxBhcWFwcGFB8BFjI3ATY0ASY1ND4BMzIXA4wBMkaCDSxKLCIecFFjAQiDDAw6JwIHAmtRY/74gwsLMkZdAgInAwYCAo8C/hcPK0osJSEBlgFqQIIeIixKLA1wJwEUGBcBMicCAmwo/usXGGpBXAIHAicCAgKPAgf+dCAlLEosEAADAAAAAAN+AvkAFAAkAC0AAAEiBwYHBhQXFhcWMjc2NzY0JyYnJgMUBisBIiY9ATQ2OwEyFhUnIiY0NjIWFAYCAWdZVjI0NDJWWc5ZVjI0NDJWWUwEAygDBAQDKAMEGxEYGCIYGAL5NDJWWc9YVjM0NDNWWM9ZVjI0/cwCBQUC5wMEBAM9GCIYGCIYAAEAAAAAA1oDAwA4AAAlMjc2NzY1NCcmJyYOARYXFhcWFRQHDgEiJyYnJjU0PgE3FRQWPwE2NC8BJgYdAQ4BBwYVFBcWFxYB/F5RUC4wKCZECxkNBgo4ICEnJ4WfREImKDpnQBUObgwMbQ8VT4IkJjAuUFECMC5QUV5VS0oxCAQVFwgoPD9IUENCTicnQkNQRHdSDzISCQpNBxYJTQoKEjAQY0dKU15RUC4wAAAFAAD/4QNvAx4ACQAVADkARQBNAAABNTQuASIOAR0BARYyNjQnASYiBhQXEyIGFBYzITI2NCYrATU2NycGIyIuAT0BNCYiBh0BFB4BFxUjATQmIgYdAQYHFzY1BycVBh4BMzICZB83RjcfAcgJGRIJ/WMJGhIJlAwSEgwBdQwSEgycSzgqM0Q+YTYRGhA8bUicAcoQGhABBDAP2LABHzgjHgGp9CU6IiA5JAb9ngkRGgkCnQkSGgn9SRMYEhIYE1cHKCoiN2A9XQ4QEA5dSXRIBlgBwA4QEA5dGBcwLTJysD8kOyEAAAAAAwAA//0DawMCABsAJABRAAAlMjY3Nj0BPgE1NC4BKwEiDgEVFBYXFRQXHgEzAyImPgEyFg4BEzI3PgE1NCcmJyYjFTIXFhcWFRQGBwYiJy4BNTQ3Njc2MzUiBwYHBhUUFhcWAgEIEAUGLzwmQiYBJkImPS4GBREHKBMeAR0nHQEcFW5VT1cuKEE8NyUrLR0gRT5CqUE+RSAcLSsmNz1BKC5XT1WKKSUpNbMMTTEnQScnQScxTQyzNColKQHhHSgdHSgd/ZIYFksrMCgjFRQ7DA0VFxseMg4PDw4yHhsXFQ0MOxQVIygwK0sWGAACAAD//AKLAwUAGAAhAAAFMjY3NjURPgE1NC4BIg4BFRQWFxEUFx4BAyImNDYyFhQGAgEIEAUFLjolP0tAJTstBgQRIBMcHCYcHAQoJCgzAVILSzAlPyYmPyUwSwv+rjMoJCgCdxwnHBwnHAAEAAAAAAM0AvkAGAAsADkAQgAAJScmJyYnJjU0NzY3NjIXFhcWFRQHBgcGBwMiDgEVFBcWFxYXNjc2NzY1NC4BAyIuATQ+ATIeARQOASciBhQWMjY0JgIBECMuVTRJKilFR6dHRigqSTRVLiMPRHJDLyVAMTQzMUAmLkNyQyU+JCQ+ST4kJD4kHysrPSsrBw8fMVpPbklTSEUpKiopRUhTSW5PWjAgAqZDckQxTD5JOTExOUk+TDFEckP+kSQ9ST4kJD5IPiTPKzwrKzwrAAAAAwAAAAADgwLtAAAAJgA9AAAlEy4BLwIuASIGDwIOAhYfAQcGHgEzMj8BFxYzMj4BLwE3PgEPAQ4BHwEUBiIvASYjBzYTFx4BHwEeAQLDuQYdErpRCCEmIQhRuhIdDAgOiB8DDiEVEg+iog4SFCEPBB+IDgg/jQgIAiEEBAKoCwwDBxRDBRMLwQQCFAHKERcDG6QRFBQRpBsDFyIjDoW5EiIWCFVVCBYiErmFDSQGiggVC8ACAwFYBgFcAYGHCg4BHAEFAAIAAAAAA4MC7QAlAE8AACUGLwEHBiMiLgE/AScuAT4BPwI+ATIWHwIeAgYPARcWDgEjJzIfARYyNjUnJjY/ATYmLwEuAS8BJiIPAQYPAQ4BHwEeAQ8BBhYyPwE2AsMSDqOhEBEVIQ8EH4gOCAwdErpRCCEmIQhRuhIdDAgOiB8DDiEUwwwLqAIEBCECCAiNAgIEwQsTBVQCCQFUCxjCBAICjggHAiEBBQQCqAsVAQhWVggWIhO4hg0jIxYDG6QRFBQRpBsDFyIkDYW4EyIWmwVZAQMCwAsWCIoBBQEcAQ4LqgMEqhUFGwEFAooIFgu/AgQBWQYAAAAAAQAAAAADgwLtACQAACUiLwEHBiMiLgE/AScuAT4BPwI+ATIWHwIeAgYPARcWDgECwxIOo6EQERUhDwQfiA4IDB0SulEIISYhCFG6Eh0MCA6IHwMOIRQIVVUIFiISuYYNIyIXAxukERQUEaQbAxciJA2FuRIiFgAABQAA//8DfQMBABMAKAA5AEYAUwAAATIeARURFg4BIyEiLgE1ETQ+ATMFISIOAQcRFB4BFyEyPgE3ETQuAScHNjIeAQ8BDgEvAS4BPgEfAQMyFhcVFAYiJic1NDYhMhYXFRQGIiYvATQ2AsgxUzABMVMx/nIxUzExUzEBjv5yHzUgAR40HwGSHzUgAR40H3UJGhICCIEIFwpcCgIQGQpGfQ0SARMZEgESASoMEwETGRIBARMC0zFTMf6XMVMxMVMxAWkxUzE/HzQf/pMgNSABHjQfAW4fNSAC3gkRGQmFCAMHTwkaEwMHPAG4EQxmDRMRDGYNExEMZg0TEQxmDRMAAAIAAAAAAzwDAwAtAFYAAAEeARUUFxYfAhYXFhUUBw4BIyInJicmNTQ3Njc+ATIWHwIeARcmNjc2PwE2BwYPAQYXFgYHDgEnJicmLwEGFRQXFhcWMzI3PgE1NCcmLwEmJyYnJicCPwYKEhYmIw4zGSErKpFVUkZLKi8PDBQEEhYSBRMFChwVGDAtISwIChI6GQQTDwYJDA8jER8VEA0GGCckPThBRTw6RRcRJSgcEBcNEQYC+QMRCyQvOCYfDjExPkhLQD9JIyVES2QvQTg5Cg4OCjcMHCQPTp86Kh4DBVA6Tg07RBEhDQwECBMbFB4PUzdUPTcdHB4dZDo3LSInKRwTGxwcHwAAAAUAAAAAA4EC4gAvAD8AUwBfAGoAAAEyHgEdATMyFh0BBgcGBw4BBxUzMhYUBgchIiY0NjczNS4BJyYnJicmNj8BNTQ2NwUhIgYdARQeATI+AT0BNCYDHgEHDgEHBi4BNj8BNjc2PwE+ATcjHQE2NzY/ATQmJyErAQ4BFxUWFxYXAoQcLhtEIjEDHS9WFmpEbQ0SEAz+5Q0SEAxwRWsWRiodAwItIzY4KQEc/ugRFzBTYlIxFysKCQQKMRwKFAcHCgIREA4HAgQUzUQrGhEDAQsJ/dgwAwgMAQMRFB4C4RsvGycxIwYqKEEQP1YJaxIZEQERGRIBawlZQRM5KCojNAIBJyk6Aj0YENMwUzAwUzDTEBj++gQUChoxCgQJFBMEAQYRDg8DCgl1bg4OJBcYBAgOAQEOCAQYFxsPAAAEAAAAAAOhAo4ABwAPACQALwAAJSMnIwcjEzMTJyYnIwYPASU2MzIdASM1IwYjIiY1ND8BNCMiBxcOARUUFjMyNj0BAkRMN980TMxKNFEEBQEEBVABmjlLikMCKE04QX9xTkQ5cS8jJx8sOnaTkwIY/rffCxoYDd+VI5H2O0Q8M2wREF4vbgYjHxsjPi8lAAAHAAAAAAOBAwEAMAA3AD4ASABSAFwAZgAAATIWHwE3PgE3MzIWFRQPATMyFhcVFAYPAREUDgEHISIuAScRLgEnNTQ2NzMmNjc2NxMhFRQWOwEBIREzMjY3ASEiBh0BFBYzISUhFSEyNj0BNCYnIyIPATMyNjQmISMiBhQWOwEnJgGEFicPMi0OJhYPJzgFA1UeLAISDwUdMR7+Lx40HwIQFAIoHlsQHSQPEW/+/iIYyAE8/v7IFiEC/sX+6wgLCwgBFQFP/usBFQgLC7QIFg4vWxAWFv7sCBAWFhBbLw4DABEQPjgRFAI4JxAPCCgeeRMhCwP+/R00HwIcMh4BCQkgE3keLAIkShAHAf5v+RciATL+zh4WAdALCHMIC5mZCwhzCAuGEjsXHxcXHxc8EQAAAwAAAAADsQJEABsANwBDAAABMzIWFAYrASIOARQeATsBMhYUBisBIi4BND4BITMyHgEUDgErASImNDY7ATI+ATQuASsBIiY0NgchMhYUBiMhIiY0NgE7gA0TEw2AJkAlJUAmgA0TEw2AN103N10BYYA3XjY2XTiADRMTDYAmQCUlQCaADRMTyAEADRMTDf8ADRMTAkQTGhMlQEtAJRMbEjZdbl03N11uXTYSGxMlQEtAJRMaE6sSGxMTGxIAAAAAAwAAAAADgAMAACkALwBCAAABMhcWFxYXFRQfARYUBwYHIxQOASIuAS8BIyImNTQ/ATY3PQE0NzY3NjMTIxQWMjYDIg4BBxUUBg8BIScuAS8BNC4BAgFRR0QpKgMSKxAQDhO2KUZSRSoCAbAWIA0rFQIpKUVHU2DAOFA4X0JwRAISEScCgyESFAEBQ3IDACgnQ0VRhRwVLA8tEA4CKkYqJ0MoCB8XExAqFBwHeVNIRSkq/ZooODgCVEBuQoIZLxMlIBItGINEckIAAAAAAwAAAAADhALVACEASABVAAABPgE1NC4BIyIGFBYzMhYUBiMiBhQWMzIeARUUFjI2NTYmJT4BNTQuASIOARUUFhcOAhUUFjI2NTQ+ATIeARUUFjI2NTQuAScDMh4BFA4BIi4BND4BAwYTFSU/JQwTEwweLi4eDRISDSpJKxMXEwRE/uIsMDdfcV44MSs5VS8VGhY+bIFsPxUaFS5WOXIkQCUjP04/JCY/AW0VNh0pRCgVGRQyQjESHxEvTi4MFRUMRXQRHVoyOF03N104MlodF1NrOw0VFQ09aD09aD0NFRUNO2tTFgEyJT9IPyUlP0g/JQAAAAMAAAAAA4UCzwAgAD4ASgAAAQYPAQYvASYGBwYXEx4BMyEyNjcTNiYnJg8BBi8BLgEHHwEeAT8BNhcWFQMOASMhIiYnAyY3Mh8BFjY/ATYXEzIWFAYHIyImNDY3AdwKB4MDA2MYMwwLBUcHNyQBqyM3B0gFHhoWFGcDAoAPMxYmgA4vFWgDAgFIAxUO/lUOFgJIAQUBAWQVLw6EAgRlDREQC9INERALAr8HCboDATMMEBgUFv6ZIy0tIwFnGywGBAo0AQO6FQoNNbkUDAszAgQBAv6ZDhISDgFnBAEBMgsLFLoEA/5iERkRARIYEQEAAAMAAAAAA4EC1gAYAC4ASwAAATIWHwEhMh4BFREUDgEjISIuATURND4BMxcjIgYVERQWMyEyNjURNCYjISIvASYXIgYdASMiDgEWOwEVFBYyNj0BMzI2NCYrATU0JgFeFisQKwEzHzUfHzUf/ecfNR8fNR9qahgiIhgCGRgiIhj+zRgRKxCKDBBXDBABEQxXEBgRVgwREQxWEQLVEhArHzUf/oAfNR8fNR8BzR81HzohGP4zGCEhGAGAGCIRKxC2EQxWERgRVgwREQxWERgRVgwRAAAABAAA//sDgQL/ABsAKQBFAFIAAAEyFhchMhYUBiMhDgInLgEnIyImNDY7AT4CFyIOARQeATI+ATQuASMTMhYXMzIWFAYrAQ4CJy4BJyEiJjQ2MyE+AhciDgEUHgEyPgE0LgEBqjtaDAEUDhMTDv7sCTpTKzFFCmYNFBQNZgcuRCcaLRsbLTUtGxstG687WgxlDhMTDmUJOlMsMEYJ/usNFBQNARUHLkQnGy0aGi02LRsbLQFJSjkTGxQrQRwJCkUwFBsTJTwiQRstNi0aGi02LRoB90o5ExsUK0EcCQlGMBQbEyU8IkEbLTYtGhotNi0bAAAAAAMAAAAAA4UC/AAuAEAATQAAATIeARUUBgcWFxYXFg4BJicmJy4BIyIHBgcGFRQWDgEmJyY1NDc+ATcuATY3PgEBFhQPAQ4BLwEmNDYyHwE3NjIBIg4BFB4BMj4BNC4BAe8zVjMmIVRAFBIIAxUZCA8RLHA9VUlHKioCERoTAgEiIHVLKSUMHxpPAbgICNEIFwhrCREZCFS8CRj+fCI6IiI6RToiIjoC/DNWMitNGxo9FBcKGg8DChMRKi0rKkdJVQ0bEwMRDQ8RUklIaRkfXGMoIyf+FgkYCdEIAQdrCBkRCVO8CAGlIjpFOiIiOkU6IgAAAAACAAD//wN/Av8AIwAxAAABPgE1NC4BIg4BFRQWFw4BBwYVMzQ3Njc2MhcWFxYVMzQnLgEnIi4BND4BMh4BFA4BIwJ4LjU8ZHdkPDUuTHghIjctLEpNsU1KLC03IiF4xC1LLS1LWUstLUstAWwdYjk7ZTs7ZTs5Yh0YbElMU1lMSysuLitLTFlTTElsKy1LWUwsLExZSy0AAAQAAAAAA5ACuAALABIAGQAmAAABMjcBJiMhIgcBFhcFLQEGFREUBTY1ETQnBwEhMjcBBwYiLwEBFjMCAhYWATsUNv26LhIBPBcW/nkBAP7/CAMWCAj//lsCRS4S/vsYJE0kGP78FTMBVxYBOBMS/scWAdP9/A8l/nEmDxAlAY8lDvv+yREBAhgjIxj+/xIAAAEAAAAAA38DAQAwAAAlFhcWMjc2NTQvASYjIgYPAQYjIicmJy4BJyYnJjQ/AT4BNTQvASYjIgYHBhUUFxYXAVNeYmqnNyMbfh0WDRoPHQcJBwoSHx0/GBoKBAYdDw4UWRQlFCoROjw3XtdfOD08KCkjE1oUDg8dBwUKGhg/HR8SCBIGHg8aDRYdfRwSEjdTVWlhXgACAAAAAAN7Av0AJwBMAAAlMjY/ATY1NC8BJgYPAQYuAScmJyY2PwE+AS8BJiciDwEOARUGHgI3BicuAScmNzY3Njc2Mh8BFg8BDgEeBDY/ATYfARYUDwEGArgzRx4JIjNxGzoXHg0cNxY1FgQCBh4XAhNPIyslJwohHQFlu8JUSFtVnjE0AQEtBAQRJQpLDhEiFAEgMy4+Ki4UIhEUcREQBigDHiEKJiYqJE8TAhceDBIvFjUjBwwGHhg6G3EyASMIHkczVMK7ZTwBMi+eV15IQycDAw8QcRQRIxMuKjstNyABFCIRDksLJBEILAAAAAAFAAAAAAORArgADQAXABsAHwArAAA3ITI2NRE0IyEiBhURFAkBNjMhMhcBBiIFERcHAREnNwEiJzcXFjI/ARcGI+QCRTI1cf26MjUBZP7vDBECPxEM/u8WK/690M8Cr8/P/YkQC9gYI08kF9gLEEk5NwGPcDk3/nFwASUBDQUF/vMWnwGTzM0Blf5szMr+NgXWGCMjGNYFAAMAAAAAA4QC/wAbADUAQgAAJSM1NCYiBh0BIyIGFBY7ARUUFjI2PQEzMjY0JgM0LgEiDgEVFBYXDgEHBhUzNDc2NzYzMj4BByIuATQ+ATIeARQOAQNobRAYD20LEQ8Mbg8ZD20LEQ+WO2R3ZDw1Lkx4ISI3LStLTFk8ZDvbLEstLUtZSy0tS8BuChEPDW0PGQ9tCxEPDW0QGA8BZDtlOztlOzliHRhsSUtUWU1KLC07ZWksS1lMLCxMWUssAAAAAAIAAAAAA74CwwAdADYAACUyNj8BJicmPQE0NjsBNS4BIyEiBhURFBY7ARUUFgUyNj0BMzI2PQE0JiMhIgYdARQWOwEXHgEBFwgPDFsQBwlRR9kEPTX+WDZAQDYzDwIBDQ8gNkBANv7OOD4/N2NwCw8rCQtUDBEWI85HUAwwOD03/tA3QloPESsSDlpCN7w3PTw4vDdCZgsJAAAAAAMAAP//A4IDAAAUAC0APAAABTI3Njc2NCcmJy4BBwYHBhQXFhcWEyIHBgcuATU0NzY3NjIXFhcWFRQGByYnJicyPgE1NC4BIg4BFxQeAQIBZ1pXMzU1M1hZz1lXNDQ1M1daZ1FDPB8mKysrSEqvSkkqLConHzxDUSQ7IiM7RzsjASI7ATUzV1rOWlc0NAE1NFdazlpXMzUBABoXJSxuPFhKSSosLCpJSlg9biskGBpAJUEoJUAmJkAlKEElAAAAAAEAAAAAA4EC4wAnAAATNDc2NzYyFxYXFhQHBgcGIyInMSYHBgcGBwYHBiY3Njc2JyYnJicmgDQzV1rRWVczNTUzV1lpIiESEgsZHRMiJxIEDh4LDhcEDzwiIwGgV0tJKywsK0lLr0tJKywFBQcEEBIJEAoFCg8fICYRAwstPUAAAwAAAAADgQMBABQAIwAxAAAhMjc2NzY0JyYnJiIHBgcGFBcWFxYTMh4BFRQOAS4CNSY+AQEXDgEiJic3Njc2MhcWAgFnWVc0NTYzV1rOWVczNTUzV1loIzsjIjxHOyIBIzsBCQEseYN5LAIbOEGhQTg1M1dazlpXMzU1M1dazlpXMzUCWSZAJShBJgElQSglQCb+SAUuMzMvBCcaHh4aAAMAAAAAA5MCwQApAEIAWwAAJTI2PwEWOwEXFhcWMzI2PQEzMjY9ATQmKwE1NCYjISIGFREUFjsBFRQWNzQmKwEiJjURNDYXITYWHQEjIgYdARQXBwUnLgErASImPQE0NjMhMhYdARQGKwEiBhUBKgsTDV8eO2FeDgcJCg4QCzZAQDUtQDn+bzhCQjglDxsMCjcmKSkmAYwmKbc3PgVnAbJaCQ4LXCQnJyQBCyMoKCMeCQxeCQxUIlANBAUTEEM+NqY2PhU5QEA5/v45QEwREoIMDCgnAQAnKQEBKScUPTemFxJgHlAIBScloyQnJySjJScLDAACAAAAAAOCAuMAHABEAAAlNhcWMzI3PgE0JicmIgcOARUUFh8BOAEjFxYXNgM0NzY3NjIXFhcWFAcGBwYjIicxJgcGBwYHBgcGJjc2NzYnJicmJyYBgiIjHR1aTktYWEtOtU5LWDgzDwEFJwMa9zQzV1rRWlczNDQzV1poIyESEQwZHBQhJxMEDh4MDhgFDjwiI5QMCAQlJHuPeyQlJSR7RzhnJgoDHS8OARBXS0krLCwrSUuvS0krLAUEBwQPEgoQCgQJDyAgJhEDCi0+QAAAAgAAAAADgAMBABsAMwAAAREUBiMhIiY1ETQ2OwEyFhceATI2Nz4BOwEyFgEXFg4BKwEVFAYrASImPQEjIi4BPwE2MgOANib9tyY1NSZQEx4EDlhzWQ0FHhJDLzr+mokLARUPQBYPSQ8VQBAUAQuJCx4Bbv7uJjY2JgESJjUWETdGRjcRFjQBYIgLHhaJDxYWD4kWHQyICwACAAAAAAOAAwAAFwBEAAABJyYiDwEGFBYyPwERFBYyNjURFxYyNjQ3IgYUFjMyFhURFgYjISImNRE0NjMyNjQmIyIOARURFB4BMyEyPgE1ETQuASMC0KYRMRKlChQbCn8UGxR/ChsTHQ4UFA0eKgErHf4VHioqHg4TEw4lQCUlQCUB6yU/JiY/JQJIphERpgkcEwp//poOExMOAWZ/ChMcaRQbFCoe/n8eKioeAYEeKhQbFCY/Jv5/JUAlJUAlAYEmPyUABgAAAAADlQLLAB0AJgAvAEYAUABaAAABMhcuAiMiBgcGFRQXFhcHNxcWFxYzMjcmNTQ+AScyFhQGIiY0NgciJjQ2MhYUBgU0Jy4BIyIOARQeATMyNzY/ARcnNjc2JSImNDYzMhYUBjMiJjQ2MzIWFAYCkA8MDFN8RU6DJiceHTccZBEbDhYUDQ4JQW9XEBQUIRoatxEaGiEUFAJXIyFwP0NvQUFvQxEXDRsGThUuGR3+vgsREQsQFBSNChISChAUFAIDATlbNUE3OUI6Mi8nVjIDBgIDAR0fPmg8ThQgExQfFEcUHxQUIBPlNzEvODhfcV84BAMGAitHIigtUhEWEhIWEREWEhIWEQAAAAMAAP/1A4ADCgAJABEAKwAAATc2NC8BJgYPAQE3AScBBwYWAyEyNjURBxEUBiMhIiY1ETQ2MyE3ISIVERQDWRwKCggJGgkd/nVMAVg2/qkjAgmdAco1OT8bFf45Hh8fHgFQP/5vegKtHAsZCgkJAQoc/jYhAVc1/qhJBQr+4T08AbE//pEdIB8eAboeHz95/kB5AAABAAD//ANHAwAAPgAAJQYnJicjFgcGBxYXFgcGIyInBiMiJyY3NjcmJyY1BwYHBicmJyY3Njc2PwEmNzY3NjIXFhcWBxcWFxYXFgcGAzwLHQ8MAQETFSUeExwICGFTNTVSYgcJHRMeJhQTDhANEQgFAgMEBQ8NIw0DGRo1OaY5NRoZAw0jDQ8FBAMChwEoFBQmJywgCQsRDwwGBgwPEQsJICwnJhUYDhUBAQ8SHiYwKlceXEZMKS0sKUtHXSBWKTAmHhIQAAAAAAIAAAAAA4AC/wAbADMAAAERFAYjISImNRE0NjsBMhYXHgEyNjc+ATsBMhYFJyY0NjsBNTQ2OwEyFh0BMzIeAQ8BBiIDgDYm/bgmNTUmUBMeBA1Zc1gOBB4SQy86/meJCxUPQBYPSQ8VQBAUAQuJCx4Bbf7vJjY2JgERJjYWEjZHRzYSFjUKiQseFYoPFRUQiRUeC4kKAAAACQAA//0DggL/AAgAEQAaACMAKwBEAE0AVgBeAAAlIgYfAT4BNyEnFRYzMjcnJgYTIgcXFjY9ASYFBhUUFzc2JiM3DgEHITI2JwcVFB8BFjsBMj8BNj0BNC8BJisBIg8BBhUlBwYWOwE2NTQDERQWPwEuAScBHgEXETQmBwH2AwICjzpiI/61mk5WJybrAgSkJSbrAgRO/k0mCOsCAgIQO2IjAU0CAgKzAlwDA4IEAlwCAlwDA4IEAlwCAh7qAgICyiWqBAKOFUw0/cAVTTQFAqkFAo8VTTNFyyUI6gICAhAI6gICAsom3E5XJyXrAgTGFU00BQKbggQCXAICXAMDgwMCXAICXAMCCeoCBE1YJgEa/rUDAgKOO2Ij/j87YiMBTAMCAgAAAAAEAAAAAAOBAq0AHAAxAEgAXgAAJTI2NRE0JiMiBwYPAQYrASIGHQEUFjsBMh8BHgElFjY3PgE0JicuAQ4BFx4BFAYHBhYFIi8BJisBIj0BNDsBMjY/ATYzMhURFDcWNjc+ATQmJy4BBw4BFx4BFAYHBhYB+BEWFhEMCggPmwMFYiMjIyNiBQObDRUBKAoVByEkJCEHFRMDCBsfHxsIA/7ZAgOSCg5uExNuBwsGkgMCBagIFgcTFhYTCBUICwMIDhERDggDUBYQAg4RGAYFDYkDJCaDJSQDiwsKQwcFCi51fnUuCgQNFgopZWtmJwsWBAOECROMEwMGhAMF/jgFVwYEChpITUgbCgQGBxcLEzg6OBQLFgAFAAAAAAM6Av8AHwApADYAQwBPAAABEx4BMyEyNjcTMzI2NCYrATU0JisBIgYdASMiBh4BMzc0NjsBMhYdASMTIiY1EzQ2MhYVAw4BIyImNQM0NjIWFRMUBjcUBiImNRE0NjIWFQEKFgIlIQExISUCFikLDw8LkSsjgiMrkAsQAQ8LwRQQdRAUvdEKDQ8OEw4QAQzvCg0QDhMODw2BDxMODhMPAkn9/CEkJCECBA8WEDIkKyskMhAWD2gPExMPM/3KEAsBmgoQDwv+ZgwPDwsBmwsODwr+ZgsQGwsQEAsBmgoQEAoAAAAAAwAAAAADgwKnABsAMABGAAAlMjY1ETQmIyIGDwEGKwEiBh0BHgE7ATIfAR4BJRY2Nz4BNCYnLgEOARceARQGBwYWJxY2Nz4BNCYnLgEHDgEXHgIGBwYWAeURFRYQDBIOjQMFXyIkASMiXwUDjQwVAUEJFQcfIyIgBxUSAwcbHh4bBwN3CBUHExUVEwcUCQoDCA4PAREOBwNbFRAB/xAXCg2FAyUkfCQlA4YLCkEGBAoscntxLQkEDBULJ2JpYiYKFlEGBAkZRktGGgoEBgcWCxM1OTYTCxUABgAAAAADRwL/AB8AKQAzAEAATgBbAAAlEzMyNjQmKwE1NCYrASIGHQEjIgYUFjsBEx4BMyEyNgE0NjsBMhYdASMDIiYnAyEDDgEjJzI2NRM2JiIGBwMUFiMyNicDNCYiBhUTFBYzNxE0JiIGFREeATI2NQLzGCIKDw8Kli8ngCgulQsPDwsiGAEuJQE7JC7+sRMQeBATvjkPFAEYAacXARQPMggMCgEMEQsBCgvCCAwBCgwRCwsLCHsMEQ0BDBEMUQH2DxUQMyUsLCUzEBUP/golLCwCfw4TEw4w/bkUDwHw/hAPFDwNCgFqCQ0NCf6WCg0NCgFqCQ0NCf6VCQ0XAWoJDQ0J/pUJDQ0JAAIAAAAAA4IClgAnADkAAAE0LgEjISIOARURFB4BMyEyPgE1NDY7ARcWNjc2NRE0JiMiDwEGJicBNTQ2MzIfAR4BBwYPAQYmJyYC4xwwHP5tHTAcHDAdAZMcMBwHBQNZEB8FAhkRBwVaBAgB/nkZEgwKkA4ICQUIkA8iCQcCLRwwHBwwHP6iHDAcHDAcBQcbBRERBgYBLBIZAhsBBAT++LUSGQdbCSIPCAVbCQcPCwAADAAAAAADgAMAAAwAGQAoADUAQgBPAFwAaQB2AIMAkACdAAABIgYdARQWMjY9ATQmBw4BHwEeAT4BLwEuAQUmBg8BBhYXMRY2PwE2JgUGFh8BFj4BJi8BJgYFLgEPAQ4BHgE/AT4BFzQmKwEiBhQWOwEyNiUUFjsBMjY0JisBIgYFNiYvASYOARYfARY2JR4BPwE+AS4BDwEOAQU+AS8BLgEOAR8BHgElFjY/ATYuAQYPAQYWFzI2PQE0JiIGHQEUFgIACg4OFA4OygkFBTwGExEGBT0FEwF3CRMGPAUFCQkTBT0FBf3qBQYIaQkTCwUJaQkUApUGEwlpCQUKEwlpCQUvDwp5Cg4OCnkKD/0ADgp5Cw4OC3kKDgLMBQUJaQkTCgUJaQkT/WwFFAlpCQUKFAlpCAYCEgkFBT0FExIFBTwGE/6JCRMFPQUFEhMGPAUFyQoODhQPDwMADgt4Cw4OC3kKDjMFFAlpCQUKEwlqCAYFBQYIaQkUBQUFCWkJFIgJEwU9BQUSEwY8BQUJCQUFPAYTEgUFPQUTtwsODhUODgoKDg4VDg7LCRMGPAUFEhMFPQUFCQkFBT0FExIFBTwGE5UFEwlpCQUKEwlpCQUFBQUJaQkTCgUJaQkTOQ8KeQoODgp5Cg8AAAAHAAAAAAOTAsgADgAxAD4AVABhAGoAcwAAATYuAQYmNjc2HgEHDgEmASInJicmNTQ+ATc+ARYHBjc2MTYyFxYHBhYXFhcWBgcGBwY3LgIOAh4CPgIDDgEWNzYXFhcWBwYWNjc2Jy4BJyYHAw4CLgI+Ah4CJyYOAR4BPgEmNyYOAR4BPgEmAukGDiAiEggQJUAcDAUcFf7dVEtNLjE9cDk2VCEQBRcBPWASFBQDBgo9FxUfLzFHToMERnGBaDgIRnGBaDgUEwgVEzYwLRUVEQYYIQYSDQxJMzY5eQ03RD8mBxs0QD4qCpIPIhMIHiMTCCIGDAcDDA0HBAHgEiERBxYcBAgkQyQPBRX+cRkaLjI+M3NvIB0CODUSCAEZGhwzCgcDEygmXyosGRzhKkEfDTROVEEfDTROAcMFIBoECxoZMDI1EhgFEjg3NVEREw3+IR0oDBQsOTYlDhArORIGDB0fDgweHxsCBAwLBQULDAAAAAQAAAAAA4ICmgAjADYAOgBMAAABHgIXFTc2Fh8BFh8BERQGIyIvARUOAQ8BISIuAScRND4BNwUhDgEHERQWFyEyNj8BMRE0JicXDwEXJQcGJicmPQE0NjM2HwEeAQcGAmAlQScCNBIrDwYIAwEiGBAOOwdJMwb+qSZAJwIlPyUBWP6uIDACLSABViAvAgEtIN5UAVX+z38KFAUEDwsHBYAJBgYDApoBJD8lBCULBA8HDQ8G/u0ZIggoAjJGBAElPiYBHiVBJwE8ASwh/uQhLwItIAUBGCAvAmA5lTt2SwUFCgYGlQsOAQRKBhQJBgAAAAIAAAAAA4EC+AAXAEMAAAEXFjI/ATY0JiIPARE0LgEGFREnJiIGFCUiBhQWMzIWFREUBiMhIiY1ETQ2MzI2NCYjIg4BFREUHgEzITI+ATURNC4BATCmETIRpgkTHAmAExwTgAkcEwHPDhMTDh4qKx3+FB0rKx0OFBQOJUAlJUAlAewlQCUlQAHApRISpQocEwp/AWYOEwEUDv6afwoTHNYUGxQqHv5+HioqHgGCHioUGxQmPyb+fiVAJSVAJQGCJj8mAAAEAAD//wOCAwEAFAApAFUAXgAAITI3Njc2NCcmJyYiBwYHBhQXFhcWNyInJicmNDc2NzYyFxYXFhQHBgcGJzI2PQE0Njc2NzY1NCcmIyIHBgcGFRQWMjc2PwE2MzIWFRQHBgcGBwYdARQXMjY0JiIGFBYCAWdaVzM1NTNYWc9ZVzQ0NTNXWmdYSkgqLCsrSEqvSkkqLCsrSEtfDhERFSANESMiMi8hHggDEBUHBQcHEyQaHwwJHBcLDR0RGBgiFxg1M1dazlpXMzU1M1dazlpXMzVAKypJSq9LSCsrKytIS69KSSor8g8MBA8XDhURFh8tGxgTEhwLCAsPBQMKCCEaFhIOChMQDxMZBR5xFyEXFyEXAAACAAD//wOCAv8AFAAqAAAhMjc2NzY0JyYnJiIHBgcGFBcWFxYnIiY0NxM2MhcTFhUUBiIvASYiDwEGAgJnWVczNTUzV1rNWlYzNTUzV1kuCQsDiwklB4wDCxIGfQUIBX0GNTNXWc5ZVzM1NTNXWc5ZVzM1vwsQBwFjFhb+nQgGCQsGfQUFfQYAAQAAAAADdAMBABwAACUyNjURITI2NCYjIRE0JiIGFREhIgYeATMhEQYWAgEQGAEjEBgYEf7eGCEY/t4QGQEYEAEjARgLFxABKxghGAErEBcXEP7UFyEY/tUQFwACAAD//wOCAv8AFAAhAAAhMjc2NzY0JyYnJiIHBgcGFBcWFxYTIi4BND4BMh4BFA4BAgJnWVczNTUzV1rNWlYzNTUzV1lnHzUgIDU+Nh8fNjUzV1nOWVczNTUzV1nOWVczNQELHzY+NR8fNT42HwAAAgAA//8DgQMBABQAIAAAITI3Njc2NCcmJyYiBwYHBhQXFhcWAyImNDYzITIWFAYjAgFnWlczNTUzWFnPWVczNTUzV1o4EhQUEQE/ERQUETUzV1rOWlczNTUzV1rOWlczNQFeEh8SEh8SAAAABQAA/+ADbQMeABIAHgBBAE0AXAAAATIWHQEXNTQuASMiBg8BFzU0NgEWMjY0JwEmIgYUFxMiBhQWMyEyNjQmKwE1NjcnBiMuAj0BNCYiBh0BFB4BFxUBNC4BBh0BFAcXNjUFMjcnBiMiJj0BJxUUFxYB7CEqPCI+JzRJCAE7KgFtCRkSCf1pCRoRCJMMEhIMAXIMEhIMm0o4KjNDPWA2EhcSPG1HASsRFxIFMQ7+6ykdMQcNHyQ9JCMC5DAkvz36KUIlQDILOikkMP1TCRIZCQKXCRIZCf1OEhgSEhgSVwYoKiIBNl88XgsREQteSHNHBlcBvQsRARILXhcXMC0xiBEwBycfGD5OQiQiAAEAAAAAAz8CvwAbAAA3BhQWMj8BFxYyNjQvATc2NCYiDwEnJiIGFB8BzgwYJA319QwkGQ309A0ZJAz19Q0kGAz1iwwkGQz29gwZJAz19QwlGAz19QwYJQz1AAAAAgAAAAADgQMAABUANgAAJTI3Njc2NCcmJyYiBwYHBhQXFhcWMyciJjUxND8BJyY0NjIfATc2MhYUDwEXFhQGIzEiLwEHBgIBZlpXMzU1M1dazlpWMzU1M1dZZ4cNEwpwcAkSGwhxcgkZEwlxcAoTDQ0JcXAJATQ0V1nOWlczNTUzV1rOWVc0NNgTDQ0JcXEIGxIKcHEKExoJcXAKGhMKcXEKAAADAAD//wOCAwAAFAApAD8AAAUyNzY3NjQnJicmIgcGBwYUFxYXFjciJyYnJjQ3Njc2MhcWFxYUBwYHBicyPwE2Mh8BFjI2NTQnAyYiBwMGFBYCAWdaVzM1NTNYWc9ZVzQ0NTNXWmdYSkgqLCsrSEqvSkkqLCsrSEvyCgWDBQgFggYTCwOQCSYJkAMLATU0V1nPWVc0NTU0V1nPWVc0NUAsKklKr0tIKiwsKkhLr0pJKix8BoIFBYIGCwkGCgFwFhb+kAgRCwAAAAMAAAAAA4IDAQAUACkANgAAITI3Njc2NCcmJyYiBwYHBhQXFhcWNyInJicmNDc2NzYyFxYXFhQHBgcGAyEyNjQmIyEiBhQWMwIBZ1pXMzU1M1dazlpXMzU1M1daZ1dLSCorKypISq9KSSosKytIS+4BLhAUExH+0hEUFBA1M1dazlpXMzU1M1dazlpXMzVALCpIS65LSCsrLCpIS65LSCosASAQHhERHhAAAAADAAAAAAOCAqoACwAeACgAADchMjURNCMhIhURFAEmIg8BJyYiDwERNDYzITIWFRElMjY0JiIGFBYz5wI0Zmb9zGYCHRc1FpM9FSwUYhoZAjIYG/4mIC0tPy0tIFJlAY5lZf5yZQEtFBSDNhMSWAFnGRoaGf6ZoC1ALS1ALQAAAAMAAAAAAwsDHQAPABsAUAAAATU0LgEiDgEdARQeATI+AScUBiImPQE0NjIWFQMiBh0BFBYzITI2NTE0JisBNT4CPQE0JicjIgYdARQOASIuAT0BNCYnMSIGHQEUHgEXFSMCiCI+Tz0iIj1PPiI4K0grK0gr9QwQEAsBTQwQEAuLRmw8EAsBDBA0X35fNBAMDBA7bEeKAaHqKkIlJUIq6itCJSVCKyoxMSrqKTExKf2uEQsBCxEQDAwQVwZEckhMCxABEQtKP181NV8/SgsQARELTEhyRAZXAAMAAAAAA4IC/gAWACIALwAAITI3EzY0JiIHBQYHBhUUFxYXBRMWFxYDJyY0NyU2PwEHBgcDIi8BNzY3BwYHAwYHAk0kFvAKFSQa/YsYDhARDR8BCEwKCg1d/AgHAe4VKBgOLBGBAwNN/BUqDRIHuwMEOgJxGyMVCvEKDQ8TFw4KCU3++yENEgF8TQMHA7sIEwsLJBD92Qj8/BU2HSUU/hIHAQAAAwAA//0DggMBABQAKQBIAAAFMjc2NzY0JyYnJiIHBgcGFBcWFxY3IicmJyY0NzY3NjIXFhcWFAcGBwYnMj8BFxYyNjQvATc2NCYrASIPAScmIgYUHwEHBhQWAgBnWlgzNTU0V1rPWlczNTUzWFloWEpJKiwsKkhLr0tIKywsKklK2Q0IbGsJGRIJa2sJEQwBDAlsbAkZEQlrawkRAjUzWFnPWlc0NTUzWFrPWVgzNUAsKklKsEpJKiwsKklLr0pJKiyhCWxsCRIZCWtsChgSCmtrCREaCGxrCBoSAAMAAP/9A4EC/wAUAEIASwAABTI3Njc2NCcmJyYiBwYHBhQXFhcWEyI9ATQ3Njc2NzY1NCYjIgYPAQYHBiImNTQ3Njc2MzIXFhUUBwYHBgcGHQEUBgciJjQ2MhYUBgH/Z1pXNDU1NFdaz1pXMzU1M1hZYSAOCxkdCQ0hGxMeCQYIBQgXEAMIICMxNSMmEw0iFgkKEQ0RGRkiGRkDNTNYWs5aVzQ1NTRXWs9ZWDM1AS8fBRsUEBEUCw4TFxwTEAgKBAUPDAkLHRMUGRwvIRgRFw8LDBAFDBBxFyIYFyMXAAAAAQAA//0DhAMBACMAAAUyNxM2NCYiBwUGBwYVFBcWHwEWNjcBNjIWFAcBDgEfARYXFgJNJBfxChUkGv2IGg0QEQ0fxxIWDAGTBAcGA/6ICgMFOgoKDgI6AnUbIxUK8goODxMXDQoKPAYDCwF5AwYHBP5sDBYTwiENEgAAAAMAAP//A4IC/wAUACkARgAAITI3Njc2NCcmJyYiBwYHBhQXFhcWNyInJicmNDc2NzYyFxYXFhQHBgcGJzI2PQEzMjYuASsBNTQmIgYdASMiBhQWOwEVFBYCAmdZVzM1NTNXWs1aVjM1NTNXWWdXSkkqKysqSEqvSkgrKysqSUpYDxF2EBQBExB2ER4QdRETFBB1EDUzV1nOWVczNTUzV1nOWVczNUArKkhLrkpJKisrKklKrktIKiuNExBvER0RdhETFBB2ER0RbxATAAIAAP/gAxEDHgAPADsAAAERNC4BIg4BFREUHgEyPgEBIgYUFjMhMjY0JisBNT4CPQE0JiIGHQEUDgEiLgE9ATQmDgEdARQeARcVAnofOEY3Hx83Rjgf/ssMEhIMAXcMEhMLnUhuPBIYETZie2I2EhcSPG5IAX8BHiU6IiI6Jf7iJToiITv+whIYEhIYElgGSHVIXgwSEgxePGE3N2E8XgwSAREMXkh1SAZYAAADAAAAAAOcAsEACwAUACgAADchMjURNCMhIhURFAEiJjQ2MhYUBgMiJj0BNzYzMh8BNzYyHwEVFAYj0AJebm79om4BByQzM0czM7sZHWsXGRsXQ6caPhmhHhk8bAGsbGz+VGwBOTNHMzNHM/7/HRoVXhUWPJQXF5U2GR0AAwAA//wDSwMBABkALgA4AAABIzUuAiIOAR0BIyIGFREUFjMhMjY1ETQmAxQGKwEiJjU3LgE1NDYyFhUUBgc0NyE1ND4BMh4BFQMIMQE5Y3VjOjIbJycbAhIcJibzDwoxCw4ODhEnNycRDmH+9yQ8SD0kAb9wOWA5OWA5cCYb/r8bJiYbAUEbJv7GCg4OClMIHREaJiYaER0IAuVwIzsjIzsjAAAEAAAAAAN+AvkAFAApADIAQgAAASIHBgcGFBcWFxYyNzY3NjQnJicmAyInJicmNDc2NzYWFxYXFhQHBgcGAxQWMjY0JiIGFyMiBh0BFBY7ARY2PQE0JgIBZ1lWMjQ0MlZZzllWMjQ0MlZZZ1ZJSCorKypISaxJSCorKypISX8YIhgYIhg9KAMEBAMoAwQEAvk0MlZZz1hWMzQ0M1ZYz1lWMjT9SCsqR0qrSkgpLAErKkdKq0pHKisB0REYGCIYGHAEA+cCBAEFAucDBAAEAAD//AM/Av0AGQAjACcAPQAAASM1NC4BIg4BHQEjIgYVERQWMyEyNjURNCYlND4BMh4BHQEhASERIQMUBisBLgE1Ny4BNTQ2MhYVDgEHNBcDBjg4X3BeODgXISEXAg0XISH+TClFUUUo/tQBnf3zAg3SDQkrCQwMDQ4iMCIBDgwEAeRLOF44OF44SyEY/okXISEXAXcYIUsoRSkpRShL/lABd/7vCQ0BDAhJBxkPFyEhFw8ZCAEYAAAAAAQAAAAAA4YCygAdACoANQBGAAA3ITInETYrASImLwEmJyYrASIHBg8BDgErASIVERQlIi4BND4BMh4BFA4BEyImNDYyFh0BFAYHMj4BNTE0LgEjMSIOARQeAegCNmgBAWhNEhIMGg0OEBmCGRANDhoMEhJLZwGCMVIwMFJiUjAwUrsRGBgiGBj9IzwjIzwjIzwjIzxXZgFYZggNHg4HBwgGDh4NCGb+qGZpMFNiUzAwU2JTMAEEGCEYGBABEBjSIzskIzwjIzxGPCMAAAQAAAAAA4EC5gAYACEAKgAzAAAlMjY/ATMyNjURNCYjISIGFREUFjsBFRQWExQGIiY0NjIWFxQGIiY0NjIWFxQGIiY0NjIWAVAKEQ1+601SUk3+QE5SUk4QEUcfKh8fKh+uHykfHiofrh4qHx8pHxMKDHNTTAELTVJSTf71TVJlEBQBnxQfHykfHxUUHx8pHx8VFB8fKR8fAAAAAAUAAAAAA4ACxwAdAD0ASwBWAGYAADchMjURNCsBIiYvASYnJisBIgcGDwEOASsBIhURFDciJjURNDY7ATI2PwE+ATsBMhYfAR4BOwEyFhURFAYjJTI+ATQuASIOARQeATMTMjY0JiIGHQEUFgciLgE0PgEyHgEdARQOASPpAjBmZkwSEgwaDQ0QGIIYDw4NGgwSEkpmZxgbGxhWFhsMGg4VFmAWFQ4aDBsWWBkaGhn+6TBSLy9RYVIvL1Iw6hAYGCEYGNkjOyIiO0Y7IiI7I1tkAVVkCQweDgYHBwYOHgwJZP6rZDQaGQFPGRoKDR0QCgoQHQ0KGhn+sRkaNC9SYVIvL1JhUjABAhchGBgQARAX0CI7RjsjIzsiASM6IwAAAAIAAAAAA4EDAAAUACkAACEyNzY3NjQnJicmIgcGBwYUFxYXFjciJyYnJjQ3Njc2MhcWFxYUBwYHBgIBZ1pXMzU1NFdZzlpXMzQ0NFZaZ1dLSCorKypIS65LSCosKytISzUzV1rOWlczNTUzV1rOWlczNUAsKkhLrktIKiwsKkhLrktIKiwAAAABAAAAAAN/ArAAFwAAARcWFAcBBiIvASY0PwE2Mh8BFjI3ATYyA2QODQ3+IwwiDc4NDQ4MIwyFDCMMAZQMIwKkDwwjDP4jDAzPDCIMDwwMhQwMAZQMAAAABQAAAAADgQLmABkALgA4AEEASgAAJTI3Nj8BMzI2NRE0JiMhIgYVERQWOwEVFBY3NTQmKwEiNRE0MyEyFREUKwEiBgcnNCYiBhQWMjY1MzQmIgYUFjI2NzQmIgYUFjI2AVkMDAkReN5OUVFO/kFNUlJNERQgDA4qaGgBvmdn4Q8RCkEcJhscJRueGyUcHCUbnxwmGxsmHBcHBg9rUk0BCU1SUk3+9kxSWxQYQGQPC2gBCWdn/vdoBgrvEhwcJRwcExIcHCUcHBMSHBwlHBwAAAMAAAAAA4ADAQAUACkANgAAITI3Njc2NCcmJyYiBwYHBhQXFhcWNyInJicmNDc2NzYyFxYXFhQHBgcGJzI+ATQuASIOARQeAQH/Z1pXMzU1M1dazlpXMzU1M1daZ1dLSCorKypISq9LSCosKytIS1dBcENDcINwQkJwNTRWWs5aVzM1NTNXWs5aVzM1QCwqSEuuS0grKysrSEuuS0gqLExCcIRwQkJwhHBCAAACAAAAAANAAt0ALABJAAA3MjY9ATY3NjMyFx4BFxYzMjc2NzY1ETQmIyIHBiInLgEnJiMiBwYHBhURFBYlIicmJyYnJiMiBxE2NzYzMhceARcWMzI3EQYHBt8LEA0SHiItMBxqHC0qJxcTFikVEAYSMFEuG2odMC0nFxMXKREB2ycrGjI4HjIwPyAEFhomKi4bah0wLDcoBBYaHg8MxwUEBwoGIQUKBAQKEi0Baw4RBQsKBiEGCgQEChIs/a0LEOgJBg8RBwoNAVEKCAoKBiAHCgz+sQoICgABAAAAAANBAt0ALAAANzI2PQE2NzYzMhceARcWMzI3Njc2NRE0JiciBwYiJy4BJyYjIgcGBwYVERQW3gwQDRIeIi0wHWobLikoFxMWKRUQBhMvUi0cah0wLScYExYpEBwQDMcFBAcKBiEGCgUEChItAWwOEAEFCwoGIQYKBAQKEi39rQwQAAAAAgAA//8DgwMDAD8ATAAAISYnNzYuAQ8BJic3PgEmLwE2NxcWPgEvATY3Fx4BNj8BFhcHBh4BPwEWFwcOARYfAQYHJyYOAR8BBgcnLgEGBzcyPgE0LgEiDgEeAgGqPDUCARgsGywfECMUDg4UJQ4dMxosGAECMTgiETEwEh85MwMBGCwbKB8NHBQNDhMaDyIhGywYAQI1PhcSMDASPC1MLCxMWUwtASxMDR8oGywYAQMyOh8SMDESITgyAwEYLBsyHQ4lFA4OFCMPICwbLBgBAjU8GRIxMBIXPTYCARgsGyEiDxoUDQ4TwS1LWkstLUtaSy0AAAIAAAAAA4EC+wAVACIAAAkBIyIHBgcBIgYVERQWMyEyNjURNCYDIzU0JiIGHQEjEQkBA3L+oxUHAwYF/qMFCRMQAroQEwk23zhUON8BQQFBAdYBJQECBP7bEAX+chATExABjgUR/nigKjg4KqEBZQEJ/vcAAgAAAAADpAL8AB8ALQAACQEmIgcBDgEeATsBEQYXFhcWMyEyNzY3NjURNzI+ASYFMDE1NDc2MzIXFhcVIwOZ/ncIEwj+fAYEBg0JNgECBA4XJwHvDg4UDxw9CA0FBP4eAw8wKhEGAYQBoAFVBwf+qAUQEAn+8Q4PGBAaBAYOGS4BEAIJEA+wAQIDDw0EBrIABAAAAAADgQMBADUAdQCCAI8AACU2NyY+ATM2Ny4BNjcmJwYuATc1JicHDgEmLwEHFxYOAScjBxceAQYPARYXMzYeAQcWFz4BFgcmJzc2LgEPASYnNz4BJi8BNjcXFj4BLwE2NxceATY/ARYXBwYeAT8BFhcHDgEWHwEGBycmDgEfAQYHJy4BBgcTMj4BLgIiDgEUHgEXIi4BND4BMh4BFA4BAngODgErSiwHBSAWGCEEBS9OLAMKCgMgV1ggBRIBAixPMAgHBiMZGSMDBAUDL08tAgwNH1RUrTw1AgIZKxssHxAjFA4OFCUOHTIbKxkCAjE4IRIwMBEgOTECARgsGigfDRwTDg4TGg8hIhosGAECNj0XETAwEjwbLRsBGi02LRoaLRsoRCcnRFBEKChEQgUHLEorDQ4gVFQfDQwCLU8vAwUEAyMZGSMGBwgwTywCEQUgWFcgAwkLAyxOLwUEIRgWYA0fKBsrGAECMjkfEjAwESI3MgMBGCwaMxwOJRMODhMjEB8sGiwYAQI1OxkSMDASFz41AgEYKxshIg8aFA0NFAECGi02LRoaLTYtGjEnRFBEKChEUEQnAAAAAQAA//oDggL+ABQAAAUyNzY3NjQnJicmIgcGBwYUFxYXFgIAZ1pXNDU1NFdaz1pYMzU1NFdaBTUzWFrPWlc0NTU0V1rPWlgzNQAAAAMAAAAAA4EC6AAHABQAIQAAJREnJicRFxYlMj8BEQYPAQYVERQWBTY/ATY1ETQmIyIPAQJitggMuQn+UQ4RmwsKriEXAf0GBcAgFhQOEKMHAmhwBQP9kGgFCApTAnIGBmMTJP4CFRYKAgNuEiQB/xQWCVsABAAAAAADgQLqABwAJQAsADgAACUyPwE2NRE0JiMiDwEnJiIPAQYVERQWMzI/ARcWJSInETY/AREHBSYvAREfARMRNzYzMhURFA8CAnoVEMEgFhQNEcTJESgSwCAWFA0Su80U/lwFAQEMpKYBkgMGpwykPKYEAgUMmA0CCW4SJQIAFBYJbXsKCm0TJf4BFBcKZXILWwYByQ0HYP4aXA0CA14B5Qdk/h0B5lsCBv42DQdZBwAAAgAA//8DgQMBABQAQwAAITI3Njc2NCcmJyYiBwYHBhQXFhcWAzQ+ATMyMycmNDYyHwEeAQ8BBiImND8BJiMiDgEUHgEyPgE1NDYyFhUOAiIuAQIAZ1pXMzU1NFdazlpXMzU1M1daRC5LKwUFGwYNFgZKBgEHSggUDQclBAogNx8fN0A3HxAVEAEtTl1PLjUzV1rOWlc0NTU0V1nPWlczNQFxLU4sGwcVDgdLBxYHSgcOFQYlASA1QTcfIDYgCw8PCi9PLi5QAAADAAAAAAN+AwEAFAApAFgAACUyNzY3NjQnJicmIgcGBwYUFxYXFjciJyYnJjQ3Njc2MhcWFxYUBwYHBgMUHgEyPgE1NCYiBhUUDgEiLgE0PgEzMhcHBhQWMj8BNjQvAS4BBhQfASciDgEVAf5nWVczNTUzV1nOWVczNDQzV1lnV0pIKisrKkhKrkpIKysrKkhL/ixNW00tDxUPHzY/NR8fNSAKAyQHDRQHSQYGSAcVDQYbCipKLQM1M1dZzllXMzU1M1dZzllXMzVAKypJSq5KSCosLCpISq5KSSorAS4uTi0tTS4KDw8KIDYfHzY/NR8BJAcUDgdJBhYGSgcBDxMIGwEsSy0AAAACAAAAAAO/AsEACQBKAAABFzcnBxc3BzMnEy4CIyIHDgEHDgEVFB4BOwE1IyIuATQ2NzYzMhc0JjU0Nz4BMhYXFh0BMTYzMhceARUUBgcGByMVMz4CNC4BAjJHKpiQLkMBRwHLEk5pOUU8OkwJO003XTiIiB8+KCAaGx8SCQQdG1xjWRscGxIlHRsfHxkbHoiIOF02M1kBMksrnp4sTOxHAX40Ui8gH2tCFGxCOF03Ryg+PkAUFQQJHwkxKigvLScpMQkJGRdLKCJFFxkFRgc/Y3NjPwAAAAACAAAAAAO/AsEAGQAjAAAlIyIuATU0Njc+ATc2MzIeARceAhQOAQcjLwEHFzcnBzcjFwG2iDheNkw8CE06PEU5aU4SNlk0Nl44iH9IKZeRLkMBRwFGNl43Q2wUQmweIC9SNAc/Y3RiQAfKSyqfnyxN7UcAAAIAAAAAA78CwQAJAEoAACUnBxc3Jwc3IxclLgIjIgcOAQcOARUUHgE7ATUjIi4BNDY3NjMyFzQmNTQ3PgEyFhcWHQExNjMyFx4BFRQGBwYHIxUzPgI0LgEB7Egpl5EuQwFHAQEPEk5pOUU8OkwJO003XTiIiB8+KCAaGx8SCQQdG1xjWRscGxIlHRsfHxkbHoiIOF02M1nESyqfnyxN7EahNFIvIB9rQhRsQjhdN0coPj5AFBUECR8JMSooLy0nKTEJCRkXSygiRRcZBUYHP2NzYz8AAgAAAAADvwLBABkAIwAAJSMiLgE1NDY3PgE3NjMyHgEXHgIUDgEHIwMXNycHFzcHMycBtog4XjZMPAhNOjxFOWlOEjZZNDZeOIg5RyqYkC5DAUcBRjZeN0NsFEJsHiAvUjQHP2N0YkAHAThKKp+fLEzsRwACAAAAAAOhAusAJABIAAAlMjY3ATY0JwEmJyYjIgYdASMiBwYVFBYyNzY3PgE3NjsBFRQWNyI9ATQrASIHBgcGIjU2NzY3NjsBMj0BNDYzMTIXBRYUBwUGAjwNFg8BHxMT/uESCAsMExkKv19aFh0KDAkfUzczSgoZJwUMMX9VUiACBAQeIkROdjEMAwICBAEDBAT+/QNODAwBDxMpEwENDwQHGxKKdW/RFhsFBhA7RA4OixIZTwWNDCkoRgQEX0dTLTMMkQIDA/kDBgT2AwAABAAAAAADiAK/AA4AGwAkAD8AABM0NjMhNTQjISIVERQ7ARchMjURNCMhIgcRFjM3IiY0NjIeAQYHIiY9ATc2NzYyFxYfATc2NzYyFxYfARUUBiPkQUABj13+Pl1dD4YBwV1d/j9dAQFcchwpKTgoASmRFBY9EwgOGQ8JFSNjHQwUIxQOHEwWFAHbP0EHXFz+yFuPXAE7W1v+xVz8KTgpKTgpzBUVGDcSBQkJBhMfWBsIDQ0KGkg9FRUAAAABAAAAAAOCAuoAJAAAJTI2PQEzMhceARcWFxYyNjU0JyYrATU0JiMiBwYHAQYUFwEeAQHdEhgKSDI3UB8IDQkdFVhduwoYEwwLBxL+5hISARoOFlsYEogND0I5EAYFGhbMbXOHEhoHBA/++RIpEv72DAsAAAYAAAAAA4EB9gAJABMAHAAlAC4ANwAAASIOARYyNjQmIxciJjQ2MhYUBiMlIgYUFjI2NCYHIiY0NjIWFAYlIgYUFjI2NCYHBiY0NjIWFAYCACY0ATVLNTUmARUeHikeHhX+2yU1NUo1NSUVHh4qHh4CNyU1NUs0NCYVHR0qHh4B9TVKNTVKNYwdKh4eKh2MNUo1NUo1jB0qHh4qHo01SjU1SjWMAR4qHh4qHQADAAAAAAOBAfYACQASABsAAAEiDgEWMjY0JiMhIgYUFjI2NCYhIgYUFjI2NCYCACY0ATVLNTUm/tslNTVKNTUCJyU1NUs0NAH1NUo1NUo1NUo1NUo1NUo1NUo1AAIAAAAAA6EC6wAkAEgAACUyNj0BMzIXHgEXFhcWMjY1NCcmKwE1NCYjIgcGBwEGFBcBHgEnJSY0NyU2MzEyFh0BFDsBMhcWFxYXFCInJicmKwEiHQEUIyIB8xIZCkozN1MfCQwKHRZaX78KGRMMCwgS/uETEwEfDxYO/v0EBAEDAwMCAwwxdk5EIh4EBAIgUlV/MQwFA04ZEosODkQ7DwcEGhbRb3WKEhsHBQ/+9BMpE/7xDAxS9QQHA/kDAwKRDDMtU0dfBARGKCkMjQUAAAAEAAAAAAOIAr8AEwAkADcAQAAANzMVFDMhMjURNCsBNTQjISIVERQ3IiY1ETQ2MyEyFh0BISIHFTc0NjMhMhYdAScmIg8BJyYiDwE3MjY0JiIGFBbVN10Bwl1dN13+Pl1eFhgYFgHAFhj+pl0BMBgWAcAWGG0TMhSFNRMoE06hHCkpOSkpzzNcXAE7XDBcXP7IXDAXFwEzFxgYFy1c2NYWGBgX92cSEnYwERFDgSk6KSk6KQABAAD/+QNZAwgAOgAACQEGBwYuAjc2NwE+ARYGBwEGLgI/AT4BJiIPAQYUFxY2NwE+AS4CBgcBBgcGHgI3NjcBNjQmBgLv/vghKSdNPBYKCyIBaCBROgYf/qAMHRUBDPYIAQ8WCPcbGBtIGwFiIRYUOktOIf6WKw8OHlBpNDgrAQoIEBYBcf74IgsKFjxMJykiAWgfBjtQIP6gDQIVHA32CBUPCfYcSRkaARwBYiBOSjoVFiH+lSs3NGlQHg4OKwEKCBgQAQAAAAYAAAAAA4ECxgAZACUAPQBLAGYAcgAAATI2NzMyNjQmKwEuASIGByEiBhQWMyEeATM3IiY0NjsBMhYUBiMFIgYUFjsBHgEyNjchMjY0JiMhLgEiBgcXBiY1MSY2OwEyFhQGIwEyNjczMjY0JisBLgEiBgchIgYVMRQWMyEeATciJj0BND4BFhQGIwKJHDAKhAwREQyECi87Lwr+bA0SEg0BlAowHAETGhkTARIaGhP+FQwSEgyICTA6MAoBjw0SEg3+cQowOi8KVhIaARoSARMaGhMBDh0vCoQMEREMhAovOy8K/mwNEhINAZQKLx4TGholGhkTAg4hGxMZEhsiIhsSGRMbIS8aJRoaJRqeEhoRHCIiHBEaEhsiIhtLARoTEhsaJhr+6CIbEhoSGyIiGxINDRIbIi8aEgETGQEaJRsAAgAAAAADfQMAABwAKQAAJTI2NxcWMjY0LwE+ATU0JyYnJiIHBgcGFBcWFxY3Ii4BND4BMh4BFA4BAboxXCi/DicZDb4fISspRkmoSEYqKioqRkhUQXBCQnCDcEJCcJMeHL8OGycNvihgNFRJRikrKylGSahIRioqQ0Jwg3BCQnCDcEIAAQAAAAADggLqACQAACUyNjcBNjQnASYnJiMiBh0BIyIHBhUUFjI3Njc+ATc2OwEVFBYCJA0WDwEZEhL+5hEICwwSGAu7XVgVHQoMCB9RNjJICxdbCwwBChIpEgEHDwQHGhKHc23MFhoFBhA5Qg8NiBIYAAAGAAAAAAOHAqwAAwAHAAsADwATABcAACUhNSE1ITUhERUhNQEzNSM1MzUjNTM1IwFaAiz91AIs/dQCLPz+gYGBgYGBVVarVQEBVlb9qVarVatWAAACAAD/+gOAAxAAJwAxAAA/AScmNDclNjc2MhcWFwUWFA8BFzY1ETQmJyUmJyYiBwYHBQ4BFREUFyEyNwEmIgcBFobhvAYGASoPCAkUCgYQASsFBbvfCA0T/ucWDhIjEg8W/ucSDmMCMjMU/tEWKxX+zxE03bgGCwXmDAQFBQMN5gUMBbjdDiUBYRwhENoRBwkJBxHaECEc/p8lRxIBLBYW/tMRAAIAAAAAA3oC/gAiADIAAAErASIuAT8BPgEzITIWFRMOAQcjJgcOARUUBgciJic0NjcjJQM0NjsBMhYVERQGKwEiJgFOLggoPBwHLAdEKQGYERgBARcRFSsnJC01MS05AQgGFAHcAQwJKAkMDAgpCAwBFSZDJvgpOBcR/pEQGAEBGRdMKD08AU9AEzoZPQGXCQwMCf5pCQwMAAAAAAIAAAAAA34DAABPAFQAAAEhMhYUBiMhIgYHAwYeAjsBMh4BBgcOAQcGFxYXFjczMjY3NSY2Nz4BNxE0NjsBMhYXEQ4BKwEiDgIdARQGKwEGLgE2NyMiLgI3Ez4BBSMRMxMBXgECDBISDf7/BAcBbwUCDhYNogoQBgcJDRYCAwoHDQgLCRIaAQEcGhc5ICIZYxchAQEkGogYLCISPysIIjMaBxJmHDIfBAtvByYB+l1bAQMAEhoSBQT+/wwaFg0MExQFCT8kKR8XCAQBGxIrJUQaFxwCAVIaIyIY/q4bJRMiLRkqLT8CKFBtKxwwOhoBABUaPv6wAVAAAgAAAAADfwL/ACEAMQAAATsBMh4BDwEOASMFIiY1AzQ2MzcWNz4BNTQ2NzIWFxQGBwURFAYrASImJxE0NjsBMhYCyS0JJz0cBywIQyn+aBEYARcRFionJS01MSw5AQgG/jkMCCkIDAEMCSgIDQIJJkMn9yk4ARgRAW8QGAEBGRdMKD08AU9AEzsYPf5pCQwMCQGXCQwMAAACAAAAAAOAAwIATwBUAAAlISImNDY3IRY2NxM2LgIrASIuATY3PgE3NicmJyYjByIGHQEUBgcOAQcRFAYrASImNRE0NjsBMj4CPQE0NjsBNh4BBgczMh4CBwMOASUzESMDAsH+/gwSEgwBAgQHAW8FAg4WDaIKEAYHCQ0WAgMKBw0ICwkSGhwaFzkgIhljFyEkGogYLCISPysIIjMaBxJmHDIfBAtvByb+Bl1bAiITGRIBAQUEAQEMGhYNDBQTBgg/JCkfFwgEARoTKyVEGhcbA/6uGSQiGAFTGiUTIy0YKy0/AilQbSscMDoa/wAUGz4BUP6xAAAAAAEAAP//A6IDAQAaAAATFBcWFxYyNzY3NjU0LgEjIgcGByYnJiMiDgFiaGK3ExcTtmNoPmxDOS8tHR4tLzlDbD4CA4KEfXULC3V9hIJJc0EZGSsrGBpBcwAFAAD/8QOAAw8AFgAmAC0ANAA9AAAXITI1ETQmJyUmJyYiBwYHBQ4BFREUMwEmIg8BJyU2NzYyFxYXBQcFETUXByYnAREUByc3FgEiIzc2Mh8BI+4CJW0SGv70FQ8SJBIPFP7zGRNtAVwiTCIX0AEEDwcKFQkHDwEFz/5Wx8MEAQKWBMPGAf2hBQLyFSkW8ggObAFZJikU0xEHCQkHEdMUKSb+p2wBTSIiFs7LDAMGBgMMzM3LAWMJxcAKDgFk/p0PCb/EA/5h7xYW7wACAAD//wOiAwEAGgBAAAATFBcWFxYyNzY3NjU0LgEjIgcGByYnJiMiDgEXND4BMzIXFhceAT4BNzY3NjMyHgEVFAcGBwYPAQYiJyMmJyYnJmJoYrcTFxO2Y2g+bEM5Ly0dHi0vOUNsPkMsTTE1KR8ZCA0PDAkcHSk1ME0sMSxRSV0CBQMGAV1JUCwyAgOChH11Cwt1fYSCSXNBGRkrKxgaQXNJN1QvHhYnDAoBCA0oFR4vVDdKU0tMRj4BBAU+RkxLUwAAAgAA//wDrwMIAC4AXQAAJQYHBiMiJyYnJjU0NxceAT4BLwEuAQ8BDgEeAT8BBgcGFRQXFhcWMzI3PgEnLgE3LgEPATY1NCcmJyYjIgcOARceATc2MzIXFhcWFRQHFQYjJy4BDgEfAR4BPwE+AQKzKSwvLVhMSSssHQQDGhgMAyUDGQ1zDAwGGgwuFAoLNTVZW2t3YwwGBgkc6gcWDCUxNjRZXGt0aQwHBwkcDFZeWUtKKiwlAQMMBxYZCgYuBhcLbw0KgBoNDioqR0pWRjkcDAwGGQ1vDAwEKQMZGQsDDCsmKyxpWlczNT4JHAwTC0UMCgYQVWNpWlczNUIJHAwMBQk1KylISVdQRAICIQ0KDRYMbw0JBi0GFwAAAAABAAD//wL2Av8ABgAAIRMjESMRIwIC862MrQEbAeP+HQAAAAAFAAD/8QOPAw8ADAAZACYAMwA3AAAlFAYrARUzMj4BPQEjBTUjFRQeATsBNSMiJhE0NjsBNSMiDgEdATMBIxUzMhYdATM1NC4BASEVIQNPKByKiiM9JD/9YT8kPCSQkBwpKRyQkCQ8JD8CWoqKHChAJD39RgMZ/Od2HCk/Iz0klZWVlSQ9Iz8pAjAdKEAkPSSEAQlAKB2EhCQ9JP6eTwAAAwAAAAADaQLCAAwAGAAkAAABISIGFBYzITI2NCYjESEiBhQWMyEyNjQmASEyNjQmIyEiBhQWAzr9gBMcHBMCfxMcHBL9gBMcHBMCfxMcHP1uAn8THBwT/YETHBwBsR0lHBwlHP7wHCYcHCYcAcMcJhwcJhwAAAAABQAAAAADjQLyACYAMwA8AD8AQgAAExQWOwETHgEzITI2NCYjISImLwEhMjY/ATY1NCYjIScuASsBIgYVExQWMjY9ATQmKwEiBgUUFjI2NCYiBgM3Fwc3F24PCnU3BiklAZQKDw8L/nMPEgIGAbclKQYcAREO/csHAxQZegoP/CEuISAXARchAUMhLyEhLyHvRWxRaqQCuwsQ/oQmKQ4WDxMQJSomtwkEDQ8sFRMPC/2qFyEgFwEYICAYFyEhLyAgAgRAQCaYmAADAAD/9AODAwEAFAApAD4AAAUiJyYnJjQ3Njc2MhcWFxYUBwYHBgMiBwYHBhQXFhcWMjc2NzY0JyYnJhcHBiYvASY0PwE2Mh8BNzYWHwEWFAH9altYNDU1NFhb1FpZMzY2M1lbaV1RTS4vLy5NUbpQTi4vLy5OUGn4BAsFfwUFHgQMBFjOBAsEHgUMNjNZWtRbWDQ1NTRYW9RaWTM2At4vLk1RulBOLi8vLk5QulFNLi/6+AQBBIAEDAQeBQVXzgQBBB4ECwAAAAIAAAAAA4EDAQAUACkAAAEiBwYHBhQXFhcWMjc2NzY0JyYnJhMBBiYvASY0PwE2Mh8BNzYWHwEeAQIAaVlXMzQ0M1dZ0VpXMzQ0M1daZ/78BAsFhgQEIAUMBFzYBAwEIAQBAwE1M1Za0VlXMzU1M1dZ0VpWMzX+4v78BAEEhgQNBCAFBVvYBAEEIAULAAAAAAQAAAAAA4gC1AAnAE8AYQBtAAABMDEnNC8BLgEHISYGDwEVBhUUHgEXMzI2Nx4BNjc2Nx4BMzEWNz4BBwYrASImLwEHBgcGIyImLwEHDgErASImPQE0PwI2MyEyFh8CFgYXIwYHFSE1JicVFBYzIRY2PQEnISImNDYzITIWFAYDdwECQAktG/46GiwJRggnQykFIj0VGkxPHwoIFjwiJyIwKHUUFQMUJA0vLwYFGCETIw0wLw0kFAUkMgUBRQULAdAGCgNAAQoYDgEeGf33IR0bEwIoExuE/oQNExMNAXwOEhIB8AEEBKIaHwICHhmrAhgZKUcpAR0aIBsOGwkJGhwBEhtoTQoSDzk5BwQVEQ85ORARNiUBEA4Epw0IB6MFIT9sDgWxswYP1xMXARgT1OkSGRISGRIAAAMAAAAAA4EC5QAhADEAQQAANzMyPQE0PgEyHgEdARQ7ATI2PQE0Jy4BKwEiBgcGHQEUFhczMjY9ATYmKwEiBh0BFBYhMzI2PQE0JisBIgYdARQWohQJUpO/k1EKEw0PMC+nahlqqC4wD3YjIiQBJSIjEhQUAd4jExQVEiMiJCSyCdBWg0dHg1bQCQ4MzWBMS1RUS0xgzQwOkiMgnx8jExPYEhQUEtgTEyMfnyAjAAAABAAAAAADjALWACQAKwA4AEEAACUhMjY0JiMhIiYvASEyNj8BNjU0JiMhJy4BKwEmBhQWOwETHgEBBw4BIyEnEzI2PQE0JiMxIgYUFiEyNjQmIgYUFgGGAZUKDw8K/nEOEwIFAbclKQYcAREO/coHAhUZegoPDwp1OAUqAe8YAxEP/kYdYxchIRcYISEBWxghIS8hIdUPFg8TECQqJ7cJBA0PLBYSARAVEP6EJioBeKYREsn93yEXARchIS8hIS8hIS8hAAAAEgDeAAEAAAAAAAAAEwAAAAEAAAAAAAEACAATAAEAAAAAAAIABwAbAAEAAAAAAAMACAAiAAEAAAAAAAQACAAqAAEAAAAAAAUACwAyAAEAAAAAAAYACAA9AAEAAAAAAAoAKwBFAAEAAAAAAAsAEwBwAAMAAQQJAAAAJgCDAAMAAQQJAAEAEACpAAMAAQQJAAIADgC5AAMAAQQJAAMAEADHAAMAAQQJAAQAEADXAAMAAQQJAAUAFgDnAAMAAQQJAAYAEAD9AAMAAQQJAAoAVgENAAMAAQQJAAsAJgFjQ3JlYXRlZCBieSBpY29uZm9udHVuaWljb25zUmVndWxhcnVuaWljb25zdW5paWNvbnNWZXJzaW9uIDEuMHVuaWljb25zR2VuZXJhdGVkIGJ5IHN2ZzJ0dGYgZnJvbSBGb250ZWxsbyBwcm9qZWN0Lmh0dHA6Ly9mb250ZWxsby5jb20AQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAB1AG4AaQBpAGMAbwBuAHMAUgBlAGcAdQBsAGEAcgB1AG4AaQBpAGMAbwBuAHMAdQBuAGkAaQBjAG8AbgBzAFYAZQByAHMAaQBvAG4AIAAxAC4AMAB1AG4AaQBpAGMAbwBuAHMARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ8BAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwF4AXkBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaAABXlhbnNlBndhbGxldA9zZXR0aW5ncy1maWxsZWQLYXV0aC1maWxsZWQLc2hvcC1maWxsZWQMc3RhZmYtZmlsbGVkCnZpcC1maWxsZWQLcGx1cy1maWxsZWQRZm9sZGVyLWFkZC1maWxsZWQMeWFuc2UtZmlsbGVkC3R1bmUtZmlsbGVkD2NhbGVuZGFyLWZpbGxlZBNub3RpZmljYXRpb24tZmlsbGVkDXdhbGxldC1maWxsZWQMbWVkYWwtZmlsbGVkC2dpZnQtZmlsbGVkC2ZpcmUtZmlsbGVkDHJlZnJlc2hlbXB0eQ9sb2NhdGlvbi1maWxsZWQNcGVyc29uLWZpbGxlZBBwZXJzb25hZGQtZmlsbGVkBGJhY2sHZm9yd2FyZAthcnJvdy1yaWdodAphcnJvdy1sZWZ0CGFycm93LXVwCmFycm93LWRvd24GYm90dG9tBXJpZ2h0A3RvcARsZWZ0A2V5ZQpleWUtZmlsbGVkCWV5ZS1zbGFzaBBleWUtc2xhc2gtZmlsbGVkC2luZm8tZmlsbGVkBnJlbG9hZA1taWNvZmYtZmlsbGVkD21hcC1waW4tZWxsaXBzZQdtYXAtcGluCGxvY2F0aW9uCHN0YXJoYWxmBHN0YXILc3Rhci1maWxsZWQIY2FsZW5kYXIEZmlyZQVtZWRhbARmb250BGdpZnQEbGluawxub3RpZmljYXRpb24Fc3RhZmYDdmlwCmZvbGRlci1hZGQEdHVuZQRhdXRoBnBlcnNvbgxlbWFpbC1maWxsZWQMcGhvbmUtZmlsbGVkBXBob25lBWVtYWlsCXBlcnNvbmFkZBBjaGF0Ym94ZXMtZmlsbGVkB2NvbnRhY3QRY2hhdGJ1YmJsZS1maWxsZWQOY29udGFjdC1maWxsZWQJY2hhdGJveGVzCmNoYXRidWJibGUNdXBsb2FkLWZpbGxlZAZ1cGxvYWQGd2VpeGluB2NvbXBvc2UCcXEPZG93bmxvYWQtZmlsbGVkA3B5cQVzb3VuZAx0cmFzaC1maWxsZWQMc291bmQtZmlsbGVkBXRyYXNoD3ZpZGVvY2FtLWZpbGxlZA1zcGlubmVyLWN5Y2xlBXdlaWJvCHZpZGVvY2FtCGRvd25sb2FkBGhlbHAPbmF2aWdhdGUtZmlsbGVkCXBsdXNlbXB0eQtzbWFsbGNpcmNsZQxtaW51cy1maWxsZWQGbWljb2ZmCmNsb3NlZW1wdHkFY2xlYXIIbmF2aWdhdGUFbWludXMFaW1hZ2UDbWljCnBhcGVycGxhbmUFY2xvc2ULaGVscC1maWxsZWQRcGFwZXJwbGFuZS1maWxsZWQEcGx1cwptaWMtZmlsbGVkDGltYWdlLWZpbGxlZA1sb2NrZWQtZmlsbGVkBGluZm8GbG9ja2VkDWNhbWVyYS1maWxsZWQLY2hhdC1maWxsZWQGY2FtZXJhBmNpcmNsZQ5jaGVja21hcmtlbXB0eQRjaGF0DWNpcmNsZS1maWxsZWQEZmxhZwtmbGFnLWZpbGxlZAtnZWFyLWZpbGxlZARob21lC2hvbWUtZmlsbGVkBGdlYXISc21hbGxjaXJjbGUtZmlsbGVkCm1hcC1maWxsZWQDbWFwDnJlZnJlc2gtZmlsbGVkB3JlZnJlc2gMY2xvdWQtdXBsb2FkFWNsb3VkLWRvd25sb2FkLWZpbGxlZA5jbG91ZC1kb3dubG9hZBNjbG91ZC11cGxvYWQtZmlsbGVkBHJlZG8NaW1hZ2VzLWZpbGxlZAt1bmRvLWZpbGxlZARtb3JlC21vcmUtZmlsbGVkBHVuZG8GaW1hZ2VzCXBhcGVyY2xpcAhzZXR0aW5ncwZzZWFyY2gLcmVkby1maWxsZWQEbGlzdBBtYWlsLW9wZW4tZmlsbGVkEGhhbmQtZG93bi1maWxsZWQJaGFuZC1kb3duDmhhbmQtdXAtZmlsbGVkB2hhbmQtdXAMaGVhcnQtZmlsbGVkCW1haWwtb3BlbgVoZWFydARsb29wCHB1bGxkb3duBHNjYW4EYmFycwtjYXJ0LWZpbGxlZAhjaGVja2JveA9jaGVja2JveC1maWxsZWQEc2hvcApoZWFkcGhvbmVzBGNhcnQAAAAA)
+    format("truetype");
+}
+.uni-icons {
+  font-family: uniicons;
+  text-align: center;
+  text-decoration: none;
+}
diff --git a/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js b/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js
new file mode 100644
index 0000000..2589772
--- /dev/null
+++ b/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js
@@ -0,0 +1,17 @@
+exports.messages = {
+  en: {
+    "uni-load-more.contentdown": "Pull up to show more",
+    "uni-load-more.contentrefresh": "loading...",
+    "uni-load-more.contentnomore": "No more data",
+  },
+  "zh-Hans": {
+    "uni-load-more.contentdown": "上拉显示更多",
+    "uni-load-more.contentrefresh": "正在加载...",
+    "uni-load-more.contentnomore": "没有更多数据了",
+  },
+  "zh-Hant": {
+    "uni-load-more.contentdown": "上拉顯示更多",
+    "uni-load-more.contentrefresh": "正在加載...",
+    "uni-load-more.contentnomore": "沒有更多數據了",
+  },
+};
diff --git a/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js b/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js
new file mode 100644
index 0000000..85bb5c9
--- /dev/null
+++ b/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js
@@ -0,0 +1,114 @@
+var e,
+  n = require("../../../../common/vendor.js"),
+  t = require("./i18n/index.js");
+setTimeout(function () {
+  e = n.index.getSystemInfoSync().platform;
+}, 16);
+var o = n.initVueI18n(t.messages).t,
+  i = {
+    name: "UniLoadMore",
+    emits: ["clickLoadMore"],
+    props: {
+      status: { type: String, default: "more" },
+      showIcon: { type: Boolean, default: !0 },
+      iconType: { type: String, default: "auto" },
+      iconSize: { type: Number, default: 24 },
+      color: { type: String, default: "#777777" },
+      contentText: {
+        type: Object,
+        default: function () {
+          return { contentdown: "", contentrefresh: "", contentnomore: "" };
+        },
+      },
+      showText: { type: Boolean, default: !0 },
+    },
+    data: function () {
+      return {
+        webviewHide: !1,
+        platform: e,
+        imgBase64:
+          "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzlBMzU3OTlEOUM0MTFFOUI0NTZDNERBQURBQzI4RkUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzlBMzU3OUFEOUM0MTFFOUI0NTZDNERBQURBQzI4RkUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDOUEzNTc5N0Q5QzQxMUU5QjQ1NkM0REFBREFDMjhGRSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDOUEzNTc5OEQ5QzQxMUU5QjQ1NkM0REFBREFDMjhGRSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pt+ALSwAAA6CSURBVHja1FsLkFZVHb98LM+F5bHL8khA1iSeiyQBCRM+YGqKUnnJTDLGI0BGZlKDIU2MMglUiDApEZvSsZnQtBRJtKwQNKQMFYeRDR10WOLd8ljYXdh+v8v5fR3Od+797t1dnOnO/Ofce77z+J//+b/P+ZqtXbs2sJ9MJhNUV1cHJ06cCJo3bx7EPc2aNcvpy7pWrVoF+/fvDyoqKoI2bdoE9fX1F7TjN8a+EXBn/fkfvw942Tf+wYMHg9mzZwfjxo0LDhw4EPa1x2MbFw/fOGfPng1qa2tzcCkILsLDydq2bRsunpOTMM7TD/W/tZDZhPdeKD+yGxHhdu3aBV27dg3OnDlzMVANMheLAO3btw8KCwuDmpoaX5OxbgUIMEq7K8IcPnw4KCsrC/r37x8cP378/4cAXAB3vqSkJMuiDhTkw+XcuXNhOWbMmKBly5YhUT8xArhyFvP0BfwRsAuwxJZJsm/nzp2DTp06he/OU+cZ64K6o0ePBkOHDg2GDx8e6gEbJ5Q/NHNuAJQ1hgBeHUDlR7nVTkY8rQAvAi4z34vR/mPs1FoRsaCgIJThI0eOBC1atEiFGGV+5MiRoS45efJkqFjJFXV1dQuA012m2WcwTw98fy6CqBdsaiIO4CScrGPHjvk4odhavPquRtFWXEC25VgkREKOCh/qDSq+vn37htzD/mZTOmOc5U7zKzBPEedygWshcDyWvs30igAbU+6oyMgJBCFhwQE0fccxN60Ay9iebbjoDh06hMowjQxT4fXq1SskArmHZpkArvixp/kWzHdMeArExSJEaiXIjjRjRJ4DaAGWpibLzXN3Fm1vA5teBgh3j1Rv3bp1YgKwPdmf2p9zcyNYYgPKMfY0T5f5nNYdw158nJ8QawW4CLKwiOBSEgO/hok2eBydR+3dYH+PLxA5J8Vv0KBBwenTp0P2JWAx6+yFEBfs8lMY+y0SWMBNI9E4ThKi58VKTg3FQZS1RQF1cz27eC0QHMu+3E0SkUowjhVt5VdaWhp07949ZHv2Qd1EjDXM2cla1M0nl3GxAs3J9yREzyTdFVKVFOaE9qRA8GM0WebRuo9JGZKA7Mv2SeS/Z8+eoQ9BArMfFrLGo6jvxbhHbJZnKX2Rzz1O7QhJJ9Cs2ZMaWIyq/zhdeqPNfIoHd58clIQD+JSXl4dKlyIAuBdVXZwFVWKspSSoxE++h8x4k3uCnEhE4I5KwRiFWGOU0QWKiCYLbdoRMRKAu2kQ9vkfLU6dOhX06NEjlH+yMRZSinnuyWnYosVcji8CEA/6Cg2JF+IIUBqnGKUTCNwtwBN4f89RiK1R96DEgO2o0NDmtEdvVFdVVYV+P3UAPUEs6GFwV3PHmXkD4vh74iDFJysVI/MlaQhwKeBNTLYX5VuA8T4/gZxA4MRGFxDB6R7OmYPfyykGRJbyie+XnGYnQIC/coH9+vULiYrxrkL9ZA9+0ykaHIfEpM7ge8TiJ2CsHYwyMfafAF1yCGBHYIbCVDjDjKt7BeB51D+LgQa6OkG7IDYEEtvQ7lnXLKLtLdLuJBpE4gPUXcW2+PkZwOex+4cGDhwYDBkyRL7/HFcEwUGPo/8uWRUpYnfxGHco8HkewLHLyYmAawAPuIFZxhOpDfJQ8gbUv41yORAptMWBNr6oqMhWird5+u+iHmBb2nhjDV7HWBNQTgK8y11l5NetWzc5ULscAtSj7nbNI0skhWeUZCc0W4nyH/jO4Vz0u1IeYhbk4AiwM6tjxIWByHsoZ9qcIBPJd/y+DwPfBESOmCa/QF3WiZHucLlEDpNxcNhmheEOPgdQNx6/VZFQzFZ5TN08AHXQt2Ii3EdyFuUsPtTcGPhW5iMiCNELvz+Gdn9huG4HUJaW/w3g0wxV0XaG7arG2WeKiUWYM4Y7GO5ezshTARbbWGw/DvXkpp/ivVvE0JVoMxN4rpGzJMhE5Pl+xlATsDIqikP9F9D2z3h9nOksEUFhK+qO4rcPkoalMQ/HqJLIyb3F3JdjrCcw1yZ8joyJLR5gCo54etlag7qIoeNh1N1BRYj3DTFJ0elotxPlVzkGuYAmL0VSJVGAJA41c4Z6A3BzTLfn0HYwYKEI6CUAMzZEWvLsIcQOo1AmmyyM72nHJCfYsogflGV6jEk9vyQZXSuq6w4c16NsGcGZbwOPr+H1RkOk2LEzjNepxQkihHSCQ4ynAYNRx2zMKV92CQMWqj8J0BRE8EShxRFN6YrfCRhC0x3r/Zm4IbQCcmJoV0kMamllccR6FjHqUC5F2R/wS2dcymOlfAKOS4KmzQb5cpNC2MC7JhVn5wjXoJ44rYhLh8n0eXOCorJxa7POjbSlCGVczr34/RsAmrcvo9s+wGp3tzVhntxiXiJ4nvEYb4FJkf0O8HocAePmLvCxnL0AORraVekJk6TYjDabRVXfRE2lCN1h6ZQRN1+InUbsCpKwoBZHh0dODN9JBCUffItXxEavTQkUtnfTVAplCWL3JISz29h4NjotnuSsQKJCk8dF+kJR6RARjrqFVmfPnj3ZbK8cIJ0msd6jgHPGtfVTQ8VLmlvh4mct9sobRmPic0DyDQQnx/NlfYUgyz59+oScsH379pAwXABD32nTpoUHIToESeI5mnbE/UqDdyLcafEBf2MCqgC7NwxIbMREJQ0g4D4sfJwnD+AmRrII05cfMWJE+L1169bQr+fip06dGp4oJ83lmYd5wj/EmMa4TaHivo4EeCguYZBnkB5g2aWA69OIEnUHOaGysjIYMGBAMGnSpODYsWPZwCpFmm4lNq+4gSLQA7jcX8DwtjEyRC8wjabnXEx9kfWnTJkSJkAo90xpJVV+FmcVNeYAF5zWngS4C4O91MBxmAv8blLEpbjI5sz9MTdAhcgkCT1RO8mZkAjfiYpTEvStAS53Uw1vAiUGgZ3GpuQEYvoiBqlIan7kSDHnTwJQFNiPu0+5VxCVYhcZIjNrdXUDdp+Eq5AZ3Gkg8QAyVZRZIk4Tl4QAbF9cXJxNYZMAtAokgs4BrNxEpCtteXg7DDTMDKYNSuQdKsnJBek7HxewvxaosWxLYXtw+cJp18217wql4aKCfBNoEu0O5VU+PhctJ0YeXD4C6JQpyrlpSLTojpGGGN5YwNziChdIZLk4lvLcFJ9jMX3QdiImY9bmGQU+TRUL5CHITTRlgF8D9ouD1MfmLoEPl5xokIumZ2cfgMpHt47IW9N64Hsh7wQYYjyIugWuF5fCqYncXRd5vPMWyizzvhi/32+nvG0dZc9vR6fZOu0md5e+uC408FvKSIOZwXlGvxPv95izA2Vtvg1xKFWARI+vMX66HUhpQQb643uW1bSjuTWyw2SBvDrBvjFic1eGGlz5esq3ko9uSIlBRqPuFcCv8F4WIcN12nVaBd0SaYwI6PDDImR11JkqgHcPmQssjxIn6bUshygDFJUTxPMpHk+jfjPgupgdnYV2R/g7xSjtpah8RJBewhwf0gGK6XI92u4wXFEU40afJ4DN4h5LcAd+40HI3JgJecuT0c062W0i2hQJUTcxan3/CMW1PF2K6bbA+Daz4xRs1D3Br1Cm0OihKCqizW78/nXAF/G5TXrEcVzaNMH6CyMswqsAHqDyDLEyou8lwOXnKF8DjI6KjV3KzMBiXkDH8ij/H214J5A596ekrZ3F0zXlWeL7+P5eUrNo3/QwC15uxthuzidy7DzKRwEDaAViiDgKbTbz7CJnzo0bN7pIfIiid8SuPwn25o3QCmpnyjlZkyxPP8EomCJzrGb7GJMx7tNsq4MT2xMUYaiErZOluTzKsnz3gwCeCZyVRZJfYplNEokEjwrPtxlxjeYAk+F1F74VAzPxQRNYYdtpOUvWs8J1sGhBJMNsb7igN8plJs1eSmLIhLKE4rvaCX27gOhLpLOsIzJ7qn/i+wZzcvSOZ23/du8TZjwV8zHIXoP4R3ifBxiFz1dcVpa3aPntPE+c6TmIWE9EtcMmAcPdWAhYhAXxcLOQi9L1WhD1Sc8p1d2oL7XGiRKp8F4A2i8K/nfI+y/gsTDJ/YC/8+AD5Uh04KHiGl+cIFPnBDDrPMjwRGkLXyxO4VGbfQWnDH2v0bVWE3C9QOXlepbgjEfIJQI6XDG3z5ahD9cw2pS78ipB85wyScNTvsVzlzzhL8/jRrnmVjfFJK/m3m4nj9vbgQTguT8XZTjsm672R5uJKEaQmBI/c58gyus8ZDagLpEVSJBIyHp4jn++xqPV71OgQgJYEWOtZ/haxRtKmWOBu8xdBLftWltsY84zE6WIEy/eIOWL+BaayMx+KHtL7EAkqdNDLiEXmEMUHniedtJqg9HmZtfvt26vNi0BdG3Ft3g8ZOf7PAu59TxtzivLNIekyi+wD1i8CuUiD9FXAa8C+/xS3JPmZnomyc7H+fb4/Se0bk41Fel621r4cgVxbq91V4jVqwB7HTe2M7jgB+QWHavZkDRPmZcASoZEmBx6i75bGjPcMdL4/VKGFAGWZkGzPG0XAbdL9A81G5LOmUnC9hHKJeO7dcUMjblSl12867ElFTtaGl20xvvLGPdVz/8TVuU7y0x1PG7vtNg24oz9Uo/Z412++VFWI7Fcog9tu9Lm6gvRmIPv9x1xmQAu6RDkXtbOtlGEmpgD5Nvnyc0dcv0EE6cfdi1HmhMf9wDF3k3gtRvEedhxjpgfqPb9PU9iEJHnyOUA7bQUXh6kq/D7l2iTjWv7XOD530BDr8jIrus+srXjt4MzumJMHuTsBa63YKE1+RR5lBjEikCCnWKWiHdzOgKO+nRIBAF88za/IFmJ3eMZov4CYxGBabcpGL8EYx+SeMXJeRwHNsV/h+vdxeuhEpN3ZyNY78Gm2fknJxVGhyjixPiQvVkNzT1elD9Py/aTAL64Hb9vcYmC9zfdXdT/C1LeGbg4rnBaAihDFJH12W5ulfNCNe/xTsP3bp8ikzJs5BF+5PNfAQYAPaseTdsEcaYAAAAASUVORK5CYII=",
+      };
+    },
+    computed: {
+      iconSnowWidth: function () {
+        return 2 * (Math.floor(this.iconSize / 24) || 1);
+      },
+      contentdownText: function () {
+        return this.contentText.contentdown || o("uni-load-more.contentdown");
+      },
+      contentrefreshText: function () {
+        return (
+          this.contentText.contentrefresh || o("uni-load-more.contentrefresh")
+        );
+      },
+      contentnomoreText: function () {
+        return (
+          this.contentText.contentnomore || o("uni-load-more.contentnomore")
+        );
+      },
+    },
+    mounted: function () {},
+    methods: {
+      onClick: function () {
+        this.$emit("clickLoadMore", { detail: { status: this.status } });
+      },
+    },
+  },
+  c = n._export_sfc(i, [
+    [
+      "render",
+      function (e, t, o, i, c, A) {
+        return n.e(
+          {
+            a:
+              !c.webviewHide &&
+              ("circle" === o.iconType ||
+                ("auto" === o.iconType && "android" === c.platform)) &&
+              "loading" === o.status &&
+              o.showIcon,
+          },
+          !c.webviewHide &&
+            ("circle" === o.iconType ||
+              ("auto" === o.iconType && "android" === c.platform)) &&
+            "loading" === o.status &&
+            o.showIcon
+            ? {
+                b: o.color,
+                c: o.iconSize / 12,
+                d: o.color,
+                e: o.iconSize / 12,
+                f: o.color,
+                g: o.iconSize / 12,
+                h: o.iconSize + "px",
+                i: o.iconSize + "px",
+              }
+            : !c.webviewHide && "loading" === o.status && o.showIcon
+            ? { k: c.imgBase64, l: o.iconSize + "px", m: o.iconSize + "px" }
+            : {},
+          {
+            j: !c.webviewHide && "loading" === o.status && o.showIcon,
+            n: o.showText,
+          },
+          o.showText
+            ? {
+                o: n.t(
+                  "more" === o.status
+                    ? A.contentdownText
+                    : "loading" === o.status
+                    ? A.contentrefreshText
+                    : A.contentnomoreText
+                ),
+                p: o.color,
+              }
+            : {},
+          {
+            q: n.o(function () {
+              return A.onClick && A.onClick.apply(A, arguments);
+            }),
+          }
+        );
+      },
+    ],
+  ]);
+wx.createComponent(c);
diff --git a/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.json b/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.json
new file mode 100644
index 0000000..1a3499c
--- /dev/null
+++ b/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.json
@@ -0,0 +1 @@
+{ "component": true, "usingComponents": {} }
diff --git a/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxml b/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxml
new file mode 100644
index 0000000..17d0ff9
--- /dev/null
+++ b/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxml
@@ -0,0 +1,30 @@
+<view bindtap="{{q}}" class="uni-load-more">
+  <view
+    class="uni-load-more__img uni-load-more__img--android-MP"
+    style="{{'width:'+h+';'+'height:'+i}}"
+    wx:if="{{a}}"
+  >
+    <view
+      class="uni-load-more__img-icon"
+      style="{{'border-top-color:'+b+';'+'border-top-width:'+c}}"
+    ></view>
+    <view
+      class="uni-load-more__img-icon"
+      style="{{'border-top-color:'+d+';'+'border-top-width:'+e}}"
+    ></view>
+    <view
+      class="uni-load-more__img-icon"
+      style="{{'border-top-color:'+f+';'+'border-top-width:'+g}}"
+    ></view>
+  </view>
+  <view
+    class="uni-load-more__img uni-load-more__img--ios-H5"
+    style="{{'width:'+l+';'+'height:'+m}}"
+    wx:elif="{{j}}"
+  >
+    <image mode="widthFix" src="{{k}}"></image>
+  </view>
+  <text class="uni-load-more__text" style="{{'color:'+p}}" wx:if="{{n}}"
+    >{{o}}</text
+  >
+</view>
diff --git a/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxss b/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxss
new file mode 100644
index 0000000..0ad5a55
--- /dev/null
+++ b/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxss
@@ -0,0 +1,228 @@
+.uni-load-more {
+  align-items: center;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: row;
+  justify-content: center;
+}
+.uni-load-more__text {
+  font-size: 14px;
+  margin-left: 8px;
+}
+.uni-load-more__img {
+  height: 24px;
+  width: 24px;
+}
+.uni-load-more__img--nvue {
+  color: #666;
+}
+.uni-load-more__img--android,
+.uni-load-more__img--ios {
+  height: 24px;
+  transform: rotate(0);
+  width: 24px;
+}
+.uni-load-more__img--android {
+  animation: loading-ios 1s linear 0s infinite;
+}
+.uni-load-more__img--ios-H5 {
+  animation: loading-ios-H5 1s step-end 0s infinite;
+  position: relative;
+}
+.uni-load-more__img--ios-H5 image {
+  height: 100%;
+  left: 0;
+  position: absolute;
+  top: 0;
+  width: 100%;
+}
+@-webkit-keyframes loading-ios-H5 {
+  0% {
+    transform: rotate(0);
+  }
+  8% {
+    transform: rotate(30deg);
+  }
+  16% {
+    transform: rotate(60deg);
+  }
+  24% {
+    transform: rotate(90deg);
+  }
+  32% {
+    transform: rotate(120deg);
+  }
+  40% {
+    transform: rotate(150deg);
+  }
+  48% {
+    transform: rotate(180deg);
+  }
+  56% {
+    transform: rotate(210deg);
+  }
+  64% {
+    transform: rotate(240deg);
+  }
+  73% {
+    transform: rotate(270deg);
+  }
+  82% {
+    transform: rotate(300deg);
+  }
+  91% {
+    transform: rotate(330deg);
+  }
+  to {
+    transform: rotate(1turn);
+  }
+}
+@keyframes loading-ios-H5 {
+  0% {
+    transform: rotate(0);
+  }
+  8% {
+    transform: rotate(30deg);
+  }
+  16% {
+    transform: rotate(60deg);
+  }
+  24% {
+    transform: rotate(90deg);
+  }
+  32% {
+    transform: rotate(120deg);
+  }
+  40% {
+    transform: rotate(150deg);
+  }
+  48% {
+    transform: rotate(180deg);
+  }
+  56% {
+    transform: rotate(210deg);
+  }
+  64% {
+    transform: rotate(240deg);
+  }
+  73% {
+    transform: rotate(270deg);
+  }
+  82% {
+    transform: rotate(300deg);
+  }
+  91% {
+    transform: rotate(330deg);
+  }
+  to {
+    transform: rotate(1turn);
+  }
+}
+.uni-load-more__img--android-MP {
+  animation: loading-ios 1s ease 0s infinite;
+  height: 24px;
+  position: relative;
+  transform: rotate(0);
+  width: 24px;
+}
+.uni-load-more__img--android-MP .uni-load-more__img-icon {
+  border: 2px solid transparent;
+  border-radius: 50%;
+  border-top-color: #777;
+  box-sizing: border-box;
+  height: 100%;
+  position: absolute;
+  transform-origin: center;
+  width: 100%;
+}
+.uni-load-more__img--android-MP .uni-load-more__img-icon:nth-child(1) {
+  animation: loading-android-MP-1 1s linear 0s infinite;
+}
+.uni-load-more__img--android-MP .uni-load-more__img-icon:nth-child(2) {
+  animation: loading-android-MP-2 1s linear 0s infinite;
+}
+.uni-load-more__img--android-MP .uni-load-more__img-icon:nth-child(3) {
+  animation: loading-android-MP-3 1s linear 0s infinite;
+}
+@-webkit-keyframes loading-android {
+  0% {
+    transform: rotate(0);
+  }
+  to {
+    transform: rotate(1turn);
+  }
+}
+@keyframes loading-android {
+  0% {
+    transform: rotate(0);
+  }
+  to {
+    transform: rotate(1turn);
+  }
+}
+@-webkit-keyframes loading-android-MP-1 {
+  0% {
+    transform: rotate(0);
+  }
+  50% {
+    transform: rotate(90deg);
+  }
+  to {
+    transform: rotate(1turn);
+  }
+}
+@keyframes loading-android-MP-1 {
+  0% {
+    transform: rotate(0);
+  }
+  50% {
+    transform: rotate(90deg);
+  }
+  to {
+    transform: rotate(1turn);
+  }
+}
+@-webkit-keyframes loading-android-MP-2 {
+  0% {
+    transform: rotate(0);
+  }
+  50% {
+    transform: rotate(180deg);
+  }
+  to {
+    transform: rotate(1turn);
+  }
+}
+@keyframes loading-android-MP-2 {
+  0% {
+    transform: rotate(0);
+  }
+  50% {
+    transform: rotate(180deg);
+  }
+  to {
+    transform: rotate(1turn);
+  }
+}
+@-webkit-keyframes loading-android-MP-3 {
+  0% {
+    transform: rotate(0);
+  }
+  50% {
+    transform: rotate(270deg);
+  }
+  to {
+    transform: rotate(1turn);
+  }
+}
+@keyframes loading-android-MP-3 {
+  0% {
+    transform: rotate(0);
+  }
+  50% {
+    transform: rotate(270deg);
+  }
+  to {
+    transform: rotate(1turn);
+  }
+}
diff --git a/uni_modules/uni-popup/components/uni-popup/uni-popup.js b/uni_modules/uni-popup/components/uni-popup/uni-popup.js
new file mode 100644
index 0000000..778c8c1
--- /dev/null
+++ b/uni_modules/uni-popup/components/uni-popup/uni-popup.js
@@ -0,0 +1,288 @@
+var t = require("../../../../common/vendor.js"),
+  o = {
+    name: "uniPopup",
+    components: {},
+    emits: ["change", "maskClick"],
+    props: {
+      animation: { type: Boolean, default: !0 },
+      type: { type: String, default: "center" },
+      isMaskClick: { type: Boolean, default: null },
+      maskClick: { type: Boolean, default: null },
+      backgroundColor: { type: String, default: "none" },
+      safeArea: { type: Boolean, default: !0 },
+      maskBackgroundColor: { type: String, default: "rgba(0, 0, 0, 0.4)" },
+    },
+    watch: {
+      type: {
+        handler: function (t) {
+          this.config[t] && this[this.config[t]](!0);
+        },
+        immediate: !0,
+      },
+      isDesktop: {
+        handler: function (t) {
+          this.config[t] && this[this.config[this.type]](!0);
+        },
+        immediate: !0,
+      },
+      maskClick: {
+        handler: function (t) {
+          this.mkclick = t;
+        },
+        immediate: !0,
+      },
+      isMaskClick: {
+        handler: function (t) {
+          this.mkclick = t;
+        },
+        immediate: !0,
+      },
+      showPopup: function (t) {},
+    },
+    data: function () {
+      return {
+        duration: 300,
+        ani: [],
+        showPopup: !1,
+        showTrans: !1,
+        popupWidth: 0,
+        popupHeight: 0,
+        config: {
+          top: "top",
+          bottom: "bottom",
+          center: "center",
+          left: "left",
+          right: "right",
+          message: "top",
+          dialog: "center",
+          share: "bottom",
+        },
+        maskClass: {
+          position: "fixed",
+          bottom: 0,
+          top: 0,
+          left: 0,
+          right: 0,
+          backgroundColor: "rgba(0, 0, 0, 0.4)",
+        },
+        transClass: { position: "fixed", left: 0, right: 0 },
+        maskShow: !0,
+        mkclick: !0,
+        popupstyle: this.isDesktop ? "fixforpc-top" : "top",
+      };
+    },
+    computed: {
+      isDesktop: function () {
+        return this.popupWidth >= 500 && this.popupHeight >= 500;
+      },
+      bg: function () {
+        return "" === this.backgroundColor || "none" === this.backgroundColor
+          ? "transparent"
+          : this.backgroundColor;
+      },
+    },
+    mounted: function () {
+      var o = this;
+      !(function () {
+        var i = t.index.getSystemInfoSync(),
+          s = i.windowWidth,
+          e = i.windowHeight,
+          n = i.windowTop,
+          a = i.safeArea,
+          h = i.screenHeight;
+        i.safeAreaInsets;
+        (o.popupWidth = s),
+          (o.popupHeight = e + (n || 0)),
+          a && o.safeArea
+            ? (o.safeAreaInsets = h - a.bottom)
+            : (o.safeAreaInsets = 0);
+      })();
+    },
+    unmounted: function () {
+      this.setH5Visible();
+    },
+    created: function () {
+      null === this.isMaskClick && null === this.maskClick
+        ? (this.mkclick = !0)
+        : (this.mkclick =
+            null !== this.isMaskClick ? this.isMaskClick : this.maskClick),
+        this.animation ? (this.duration = 300) : (this.duration = 0),
+        (this.messageChild = null),
+        (this.clearPropagation = !1),
+        (this.maskClass.backgroundColor = this.maskBackgroundColor);
+    },
+    methods: {
+      setH5Visible: function () {},
+      closeMask: function () {
+        this.maskShow = !1;
+      },
+      disableMask: function () {
+        this.mkclick = !1;
+      },
+      clear: function (t) {
+        t.stopPropagation(), (this.clearPropagation = !0);
+      },
+      open: function (t) {
+        this.showPopup ||
+          ((t &&
+            -1 !==
+              [
+                "top",
+                "center",
+                "bottom",
+                "left",
+                "right",
+                "message",
+                "dialog",
+                "share",
+              ].indexOf(t)) ||
+            (t = this.type),
+          this.config[t]
+            ? (this[this.config[t]](),
+              this.$emit("change", { show: !0, type: t }))
+            : console.error("缺少类型:", t));
+      },
+      close: function (t) {
+        var o = this;
+        (this.showTrans = !1),
+          this.$emit("change", { show: !1, type: this.type }),
+          clearTimeout(this.timer),
+          (this.timer = setTimeout(function () {
+            o.showPopup = !1;
+          }, 300));
+      },
+      touchstart: function () {
+        this.clearPropagation = !1;
+      },
+      onTap: function () {
+        this.clearPropagation
+          ? (this.clearPropagation = !1)
+          : (this.$emit("maskClick"), this.mkclick && this.close());
+      },
+      top: function (t) {
+        var o = this;
+        (this.popupstyle = this.isDesktop ? "fixforpc-top" : "top"),
+          (this.ani = ["slide-top"]),
+          (this.transClass = {
+            position: "fixed",
+            left: 0,
+            right: 0,
+            backgroundColor: this.bg,
+          }),
+          t ||
+            ((this.showPopup = !0),
+            (this.showTrans = !0),
+            this.$nextTick(function () {
+              o.messageChild &&
+                "message" === o.type &&
+                o.messageChild.timerClose();
+            }));
+      },
+      bottom: function (t) {
+        (this.popupstyle = "bottom"),
+          (this.ani = ["slide-bottom"]),
+          (this.transClass = {
+            position: "fixed",
+            left: 0,
+            right: 0,
+            bottom: 0,
+            paddingBottom: this.safeAreaInsets + "px",
+            backgroundColor: this.bg,
+          }),
+          t || ((this.showPopup = !0), (this.showTrans = !0));
+      },
+      center: function (t) {
+        (this.popupstyle = "center"),
+          (this.ani = ["zoom-out", "fade"]),
+          (this.transClass = {
+            position: "fixed",
+            display: "flex",
+            flexDirection: "column",
+            bottom: 0,
+            left: 0,
+            right: 0,
+            top: 0,
+            justifyContent: "center",
+            alignItems: "center",
+          }),
+          t || ((this.showPopup = !0), (this.showTrans = !0));
+      },
+      left: function (t) {
+        (this.popupstyle = "left"),
+          (this.ani = ["slide-left"]),
+          (this.transClass = {
+            position: "fixed",
+            left: 0,
+            bottom: 0,
+            top: 0,
+            backgroundColor: this.bg,
+            display: "flex",
+            flexDirection: "column",
+          }),
+          t || ((this.showPopup = !0), (this.showTrans = !0));
+      },
+      right: function (t) {
+        (this.popupstyle = "right"),
+          (this.ani = ["slide-right"]),
+          (this.transClass = {
+            position: "fixed",
+            bottom: 0,
+            right: 0,
+            top: 0,
+            backgroundColor: this.bg,
+            display: "flex",
+            flexDirection: "column",
+          }),
+          t || ((this.showPopup = !0), (this.showTrans = !0));
+      },
+    },
+  };
+Array || t.resolveComponent("uni-transition")(), Math;
+var i = t._export_sfc(o, [
+  [
+    "render",
+    function (o, i, s, e, n, a) {
+      return t.e(
+        { a: n.showPopup },
+        n.showPopup
+          ? t.e(
+              { b: n.maskShow },
+              n.maskShow
+                ? {
+                    c: t.o(a.onTap),
+                    d: t.p({
+                      name: "mask",
+                      "mode-class": "fade",
+                      styles: n.maskClass,
+                      duration: n.duration,
+                      show: n.showTrans,
+                    }),
+                  }
+                : {},
+              {
+                e: a.bg,
+                f: t.n(n.popupstyle),
+                g: t.o(function () {
+                  return a.clear && a.clear.apply(a, arguments);
+                }),
+                h: t.o(a.onTap),
+                i: t.p({
+                  "mode-class": n.ani,
+                  name: "content",
+                  styles: n.transClass,
+                  duration: n.duration,
+                  show: n.showTrans,
+                }),
+                j: t.o(function () {
+                  return a.touchstart && a.touchstart.apply(a, arguments);
+                }),
+                k: t.n(n.popupstyle),
+                l: t.n(a.isDesktop ? "fixforpc-z-index" : ""),
+              }
+            )
+          : {}
+      );
+    },
+  ],
+]);
+wx.createComponent(i);
diff --git a/uni_modules/uni-popup/components/uni-popup/uni-popup.json b/uni_modules/uni-popup/components/uni-popup/uni-popup.json
new file mode 100644
index 0000000..0ac92b7
--- /dev/null
+++ b/uni_modules/uni-popup/components/uni-popup/uni-popup.json
@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uni-transition": "../../../uni-transition/components/uni-transition/uni-transition"
+  }
+}
diff --git a/uni_modules/uni-popup/components/uni-popup/uni-popup.wxml b/uni_modules/uni-popup/components/uni-popup/uni-popup.wxml
new file mode 100644
index 0000000..728c847
--- /dev/null
+++ b/uni_modules/uni-popup/components/uni-popup/uni-popup.wxml
@@ -0,0 +1,29 @@
+<view class="{{['uni-popup',k,l]}}" wx:if="{{a}}">
+  <view bindtouchstart="{{j}}">
+    <uni-transition
+      bind:__l="__l"
+      bindclick="{{c}}"
+      key="1"
+      uI="1d6c42a0-0"
+      uP="{{d}}"
+      wx:if="{{b}}"
+    ></uni-transition>
+    <uni-transition
+      bind:__l="__l"
+      bindclick="{{h}}"
+      key="2"
+      uI="1d6c42a0-1"
+      uP="{{i}}"
+      uS="{{['d']}}"
+      wx:if="{{i}}"
+    >
+      <view
+        bindtap="{{g}}"
+        class="{{['uni-popup__wrapper',f]}}"
+        style="{{'background-color:'+e}}"
+      >
+        <slot></slot>
+      </view>
+    </uni-transition>
+  </view>
+</view>
diff --git a/uni_modules/uni-popup/components/uni-popup/uni-popup.wxss b/uni_modules/uni-popup/components/uni-popup/uni-popup.wxss
new file mode 100644
index 0000000..331e947
--- /dev/null
+++ b/uni_modules/uni-popup/components/uni-popup/uni-popup.wxss
@@ -0,0 +1,24 @@
+.uni-popup {
+  position: fixed;
+  z-index: 99;
+}
+.uni-popup.left,
+.uni-popup.right,
+.uni-popup.top {
+  top: 0;
+}
+.uni-popup .uni-popup__wrapper {
+  display: block;
+  position: relative;
+}
+.uni-popup .uni-popup__wrapper.left,
+.uni-popup .uni-popup__wrapper.right {
+  flex: 1;
+  padding-top: 0;
+}
+.fixforpc-z-index {
+  z-index: 999;
+}
+.fixforpc-top {
+  top: 0;
+}
diff --git a/uni_modules/uni-transition/components/uni-transition/createAnimation.js b/uni_modules/uni-transition/components/uni-transition/createAnimation.js
new file mode 100644
index 0000000..ab5c54c
--- /dev/null
+++ b/uni_modules/uni-transition/components/uni-transition/createAnimation.js
@@ -0,0 +1,136 @@
+require("../../../../@babel/runtime/helpers/Arrayincludes");
+var t = require("../../../../@babel/runtime/helpers/objectSpread2"),
+  e = require("../../../../@babel/runtime/helpers/classCallCheck"),
+  n = require("../../../../@babel/runtime/helpers/createClass"),
+  i = require("../../../../common/vendor.js"),
+  a = (function () {
+    function a(n, r) {
+      e(this, a),
+        (this.options = n),
+        (this.animation = i.index.createAnimation(t({}, n))),
+        (this.currentStepAnimates = {}),
+        (this.next = 0),
+        (this.$ = r);
+    }
+    return (
+      n(a, [
+        {
+          key: "_nvuePushAnimates",
+          value: function (t, e) {
+            var n = {};
+            if (
+              ((n = this.currentStepAnimates[this.next] || {
+                styles: {},
+                config: {},
+              }),
+              r.includes(t))
+            ) {
+              n.styles.transform || (n.styles.transform = "");
+              var i = "";
+              "rotate" === t && (i = "deg"),
+                (n.styles.transform += "".concat(t, "(").concat(e + i, ") "));
+            } else n.styles[t] = "".concat(e);
+            this.currentStepAnimates[this.next] = n;
+          },
+        },
+        {
+          key: "_animateRun",
+          value: function () {
+            var e =
+                arguments.length > 0 && void 0 !== arguments[0]
+                  ? arguments[0]
+                  : {},
+              n =
+                arguments.length > 1 && void 0 !== arguments[1]
+                  ? arguments[1]
+                  : {},
+              i = this.$.$refs.ani.ref;
+            if (i)
+              return new Promise(function (a, r) {
+                nvueAnimation.transition(i, t({ styles: e }, n), function (t) {
+                  a();
+                });
+              });
+          },
+        },
+        {
+          key: "_nvueNextAnimate",
+          value: function (t) {
+            var e = this,
+              n =
+                arguments.length > 1 && void 0 !== arguments[1]
+                  ? arguments[1]
+                  : 0,
+              i = arguments.length > 2 ? arguments[2] : void 0,
+              a = t[n];
+            if (a) {
+              var r = a.styles,
+                s = a.config;
+              this._animateRun(r, s).then(function () {
+                (n += 1), e._nvueNextAnimate(t, n, i);
+              });
+            } else
+              (this.currentStepAnimates = {}),
+                "function" == typeof i && i(),
+                (this.isEnd = !0);
+          },
+        },
+        {
+          key: "step",
+          value: function () {
+            var t =
+              arguments.length > 0 && void 0 !== arguments[0]
+                ? arguments[0]
+                : {};
+            return this.animation.step(t), this;
+          },
+        },
+        {
+          key: "run",
+          value: function (t) {
+            (this.$.animationData = this.animation.export()),
+              (this.$.timer = setTimeout(function () {
+                "function" == typeof t && t();
+              }, this.$.durationTime));
+          },
+        },
+      ]),
+      a
+    );
+  })(),
+  r = [
+    "matrix",
+    "matrix3d",
+    "rotate",
+    "rotate3d",
+    "rotateX",
+    "rotateY",
+    "rotateZ",
+    "scale",
+    "scale3d",
+    "scaleX",
+    "scaleY",
+    "scaleZ",
+    "skew",
+    "skewX",
+    "skewY",
+    "translate",
+    "translate3d",
+    "translateX",
+    "translateY",
+    "translateZ",
+  ];
+r
+  .concat(
+    ["opacity", "backgroundColor"],
+    ["width", "height", "left", "right", "top", "bottom"]
+  )
+  .forEach(function (t) {
+    a.prototype[t] = function () {
+      var e;
+      return (e = this.animation)[t].apply(e, arguments), this;
+    };
+  }),
+  (exports.createAnimation = function (t, e) {
+    if (e) return clearTimeout(e.timer), new a(t, e);
+  });
diff --git a/uni_modules/uni-transition/components/uni-transition/uni-transition.js b/uni_modules/uni-transition/components/uni-transition/uni-transition.js
new file mode 100644
index 0000000..1e3417d
--- /dev/null
+++ b/uni_modules/uni-transition/components/uni-transition/uni-transition.js
@@ -0,0 +1,226 @@
+var t = require("../../../../@babel/runtime/helpers/toConsumableArray"),
+  i = require("../../../../@babel/runtime/helpers/typeof"),
+  n = require("../../../../@babel/runtime/helpers/objectSpread2"),
+  a = require("./createAnimation.js"),
+  o = require("../../../../common/vendor.js"),
+  e = {
+    name: "uniTransition",
+    emits: ["click", "change"],
+    props: {
+      show: { type: Boolean, default: !1 },
+      modeClass: {
+        type: [Array, String],
+        default: function () {
+          return "fade";
+        },
+      },
+      duration: { type: Number, default: 300 },
+      styles: {
+        type: Object,
+        default: function () {
+          return {};
+        },
+      },
+      customClass: { type: String, default: "" },
+      onceRender: { type: Boolean, default: !1 },
+    },
+    data: function () {
+      return {
+        isShow: !1,
+        transform: "",
+        opacity: 1,
+        animationData: {},
+        durationTime: 300,
+        config: {},
+      };
+    },
+    watch: {
+      show: {
+        handler: function (t) {
+          t ? this.open() : this.isShow && this.close();
+        },
+        immediate: !0,
+      },
+    },
+    computed: {
+      stylesObject: function () {
+        var t = n(
+            n({}, this.styles),
+            {},
+            { "transition-duration": this.duration / 1e3 + "s" }
+          ),
+          i = "";
+        for (var a in t) i += this.toLine(a) + ":" + t[a] + ";";
+        return i;
+      },
+      transformStyles: function () {
+        return (
+          "transform:" +
+          this.transform +
+          ";opacity:" +
+          this.opacity +
+          ";" +
+          this.stylesObject
+        );
+      },
+    },
+    created: function () {
+      (this.config = {
+        duration: this.duration,
+        timingFunction: "ease",
+        transformOrigin: "50% 50%",
+        delay: 0,
+      }),
+        (this.durationTime = this.duration);
+    },
+    methods: {
+      init: function () {
+        var t =
+          arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
+        t.duration && (this.durationTime = t.duration),
+          (this.animation = a.createAnimation(
+            Object.assign(this.config, t),
+            this
+          ));
+      },
+      onClick: function () {
+        this.$emit("click", { detail: this.isShow });
+      },
+      step: function (n) {
+        var a =
+          arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
+        if (this.animation) {
+          for (var o in n)
+            try {
+              var e;
+              "object" == i(n[o])
+                ? (e = this.animation)[o].apply(e, t(n[o]))
+                : this.animation[o](n[o]);
+            } catch (t) {
+              console.error("方法 ".concat(o, " 不存在"));
+            }
+          return this.animation.step(a), this;
+        }
+      },
+      run: function (t) {
+        this.animation && this.animation.run(t);
+      },
+      open: function () {
+        var t = this;
+        clearTimeout(this.timer), (this.transform = ""), (this.isShow = !0);
+        var i = this.styleInit(!1),
+          n = i.opacity,
+          o = i.transform;
+        void 0 !== n && (this.opacity = n),
+          (this.transform = o),
+          this.$nextTick(function () {
+            t.timer = setTimeout(function () {
+              (t.animation = a.createAnimation(t.config, t)),
+                t.tranfromInit(!1).step(),
+                t.animation.run(),
+                t.$emit("change", { detail: t.isShow });
+            }, 20);
+          });
+      },
+      close: function (t) {
+        var i = this;
+        this.animation &&
+          this.tranfromInit(!0)
+            .step()
+            .run(function () {
+              (i.isShow = !1), (i.animationData = null), (i.animation = null);
+              var t = i.styleInit(!1),
+                n = t.opacity,
+                a = t.transform;
+              (i.opacity = n || 1),
+                (i.transform = a),
+                i.$emit("change", { detail: i.isShow });
+            });
+      },
+      styleInit: function (t) {
+        var i = this,
+          n = { transform: "" },
+          a = function (t, a) {
+            "fade" === a
+              ? (n.opacity = i.animationType(t)[a])
+              : (n.transform += i.animationType(t)[a] + " ");
+          };
+        return (
+          "string" == typeof this.modeClass
+            ? a(t, this.modeClass)
+            : this.modeClass.forEach(function (i) {
+                a(t, i);
+              }),
+          n
+        );
+      },
+      tranfromInit: function (t) {
+        var i = this,
+          n = function (t, n) {
+            var a = null;
+            "fade" === n
+              ? (a = t ? 0 : 1)
+              : ((a = t ? "-100%" : "0"),
+                "zoom-in" === n && (a = t ? 0.8 : 1),
+                "zoom-out" === n && (a = t ? 1.2 : 1),
+                "slide-right" === n && (a = t ? "100%" : "0"),
+                "slide-bottom" === n && (a = t ? "100%" : "0")),
+              i.animation[i.animationMode()[n]](a);
+          };
+        return (
+          "string" == typeof this.modeClass
+            ? n(t, this.modeClass)
+            : this.modeClass.forEach(function (i) {
+                n(t, i);
+              }),
+          this.animation
+        );
+      },
+      animationType: function (t) {
+        return {
+          fade: t ? 1 : 0,
+          "slide-top": "translateY(".concat(t ? "0" : "-100%", ")"),
+          "slide-right": "translateX(".concat(t ? "0" : "100%", ")"),
+          "slide-bottom": "translateY(".concat(t ? "0" : "100%", ")"),
+          "slide-left": "translateX(".concat(t ? "0" : "-100%", ")"),
+          "zoom-in": "scaleX("
+            .concat(t ? 1 : 0.8, ") scaleY(")
+            .concat(t ? 1 : 0.8, ")"),
+          "zoom-out": "scaleX("
+            .concat(t ? 1 : 1.2, ") scaleY(")
+            .concat(t ? 1 : 1.2, ")"),
+        };
+      },
+      animationMode: function () {
+        return {
+          fade: "opacity",
+          "slide-top": "translateY",
+          "slide-right": "translateX",
+          "slide-bottom": "translateY",
+          "slide-left": "translateX",
+          "zoom-in": "scale",
+          "zoom-out": "scale",
+        };
+      },
+      toLine: function (t) {
+        return t.replace(/([A-Z])/g, "-$1").toLowerCase();
+      },
+    },
+  },
+  s = o._export_sfc(e, [
+    [
+      "render",
+      function (t, i, n, a, e, s) {
+        return {
+          a: e.isShow,
+          b: e.animationData,
+          c: o.n(n.customClass),
+          d: o.s(s.transformStyles),
+          e: o.o(function () {
+            return s.onClick && s.onClick.apply(s, arguments);
+          }),
+        };
+      },
+    ],
+  ]);
+wx.createComponent(s);
diff --git a/uni_modules/uni-transition/components/uni-transition/uni-transition.json b/uni_modules/uni-transition/components/uni-transition/uni-transition.json
new file mode 100644
index 0000000..1a3499c
--- /dev/null
+++ b/uni_modules/uni-transition/components/uni-transition/uni-transition.json
@@ -0,0 +1 @@
+{ "component": true, "usingComponents": {} }
diff --git a/uni_modules/uni-transition/components/uni-transition/uni-transition.wxml b/uni_modules/uni-transition/components/uni-transition/uni-transition.wxml
new file mode 100644
index 0000000..b42886e
--- /dev/null
+++ b/uni_modules/uni-transition/components/uni-transition/uni-transition.wxml
@@ -0,0 +1,10 @@
+<view
+  animation="{{b}}"
+  bindtap="{{e}}"
+  class="{{c}}"
+  hidden="{{!a}}"
+  ref="ani"
+  style="{{d}}"
+>
+  <slot></slot>
+</view>
diff --git a/uni_modules/uni-transition/components/uni-transition/uni-transition.wxss b/uni_modules/uni-transition/components/uni-transition/uni-transition.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/utils/ald-stat.js b/utils/ald-stat.js
new file mode 100644
index 0000000..689181b
--- /dev/null
+++ b/utils/ald-stat.js
@@ -0,0 +1,1272 @@
+require("../@babel/runtime/helpers/Objectvalues");
+var n = require("../@babel/runtime/helpers/typeof"),
+  e = require("../common/vendor.js");
+exports.aldInit = function () {
+  var r = {
+      867: function (n) {
+        n.exports = { wx: { name: "微信", version: "7.5.0" } };
+      },
+    },
+    t = {};
+  function o(n) {
+    var e = t[n];
+    if (void 0 !== e) return e.exports;
+    var i = (t[n] = { exports: {} });
+    return r[n](i, i.exports, o), i.exports;
+  }
+  (o.d = function (n, e) {
+    for (var r in e)
+      o.o(e, r) &&
+        !o.o(n, r) &&
+        Object.defineProperty(n, r, { enumerable: !0, get: e[r] });
+  }),
+    (o.o = function (n, e) {
+      return Object.prototype.hasOwnProperty.call(n, e);
+    }),
+    (o.r = function (n) {
+      "undefined" != typeof Symbol &&
+        Symbol.toStringTag &&
+        Object.defineProperty(n, Symbol.toStringTag, { value: "Module" }),
+        Object.defineProperty(n, "__esModule", { value: !0 });
+    });
+  var i = {};
+  return (
+    (function () {
+      o.r(i),
+        o.d(i, {
+          App: function () {
+            return zn;
+          },
+          Component: function () {
+            return se;
+          },
+          Page: function () {
+            return Qn;
+          },
+        });
+      var r = [
+          "request",
+          "getSystemInfoSync",
+          "getNetworkType",
+          "getStorageSync",
+          "setStorageSync",
+        ],
+        t = ["login"],
+        a = [
+          "scanCode",
+          "chooseAddress",
+          "chooseImage",
+          "previewImage",
+          "chooseInvoiceTitle",
+          "chooseInvoice",
+        ],
+        u = "MiniApp-Stat",
+        c = "uuid_getstoragesync",
+        s = "life",
+        _ = "http://doc.aldwx.com",
+        l = "https://log.aldwx.com",
+        f = {
+          SDK_VERSION: l + "/config/app.json",
+          SDK_DOWNLOAD: "https://tj.aldwx.com/downSDK",
+          GET_OPEN_ID: l + "/authorize/mini_program_openid",
+          SEND_LOG: l + "/d.html",
+        },
+        p = "请参考接入文档 " + _ + " 小程序统计平台-快速接入指南-自定义事件!",
+        d =
+          "请参考接入文档 " + _ + " 小程序统计平台-快速接入指南-智慧零售分析!",
+        v = {
+          ERR_MISS_APPKEY:
+            "请在 ald-stat-conf.js 文件中填写小程序统计/广告监测平台创建小程序后生成的 app_key,请参考接入文档 " +
+            _ +
+            " 小程序统计平台-快速接入指南!",
+          WARN_SDK_NEED_UPDATE:
+            "您的 SDK 不是最新版本,部分功能不可用,请尽快前往 " +
+            f.SDK_DOWNLOAD +
+            " 升级",
+          ERR_WRONG_OPENID:
+            "OpenID 不符合规则,请参考接入文档 " +
+            _ +
+            " 小程序统计/广告监测平台-快速接入指南!",
+          ERR_MISS_SESSION_KEY: "请传入从后台获取的 session_key",
+          ERR_API_WRONG_EVENT_NAME:
+            "事件名称必须为 String 类型且不能超过 255 个字符," + p,
+          ERR_API_EVENT_ARGS_TOO_LONG:
+            "自定义事件参数不能超过 255 个字符," + p,
+          ERR_API_WRONG_EVENT_ARGS:
+            "事件参数必须为 String、Object 类型,且参数长度不能超过 255 个字符," +
+            p,
+          ERR_API_EVENT_ARGS_INNER_TYPE:
+            "事件参数内部只支持 Number、String 等类型," + p,
+          ERR_API_SALE_WRONG_VISIT: "wx.aldVisit() 传参不符合规则," + d,
+          ERR_API_SALE_WRONG_VISIT_ARGS:
+            "category、id、name 为必传字段且数据类型必须符合规则," + d,
+          ERR_API_SALE_WRONG_VISIT_CATEGORY:
+            "category 字段(商品类别)只支持 String类 型,且长度小于 32 个字符," +
+            d,
+          ERR_API_SALE_WRONG_VISIT_ID:
+            "id 字段(商品唯一 id)只支持 Number 类型和 String 类型," + d,
+          ERR_API_SALE_WRONG_VISIT_NAME:
+            "name 字段(商品名称)只支持 String 类型,且长度小于 32 个字符," +
+            d,
+          ERR_API_SALE_WRONG_ORDER: "wx.aldPayOrder() 传参不符合规则," + d,
+          ERR_API_SALE_WRONG_ORDER_ARGS:
+            "price、details 为必传字段且数据类型必须符合规则," + d,
+          ERR_API_SALE_WRONG_ORDER_PRICE:
+            "price 字段(付费金额)只支持 Number 类型和数字字符串,且不能小于 0," +
+            d,
+          ERR_API_SALE_WRONG_ORDER_DETAILS:
+            "details 字段(订单详细信息)为 Array 类型,且长度不能小于 1," + d,
+          ERR_API_SALE_WRONG_ORDER_DETAIL_ARGS:
+            "amount、category、id、name 为必传字段且数据类型必须符合规则," + d,
+          ERR_API_SALE_WRONG_ORDER_DETAIL_AMOUNT:
+            "details 参数下 amount 字段值(商品数量)只支持 Number 类型和数字字符串,且不能小于或等于 0," +
+            d,
+          ERR_API_SALE_WRONG_ORDER_DETAIL_ID:
+            "id 字段(商品唯一 id)只支持 Number 类型和 String 类型," + d,
+          ERR_API_SALE_WRONG_ORDER_DETAIL_CATEGORY:
+            "details 参数下 category 字段值(商品类别)只支持 String 类型,且长度小于 32 个字符," +
+            d,
+          ERR_API_SALE_WRONG_ORDER_DETAIL_NAME:
+            "details 参数下 name 字段值(商品类别)只支持 String 类型,且长度小于 32 个字符," +
+            d,
+        },
+        h = "aldstat_op",
+        R = ["aldVisit", "aldPayOrder"],
+        g = { UUID: "ald_share_src", OPEN_ID: "ald_share_op" };
+      function E(n, e) {
+        (null == e || e > n.length) && (e = n.length);
+        for (var r = 0, t = new Array(e); r < e; r++) t[r] = n[r];
+        return t;
+      }
+      for (
+        var S,
+          A = {},
+          y = function () {
+            var n = S.value;
+            A[n] = function () {
+              throw new Error(
+                "Do not use '" + n + "' api without implementation!"
+              );
+            };
+          },
+          O = (function (n, e) {
+            var r =
+              ("undefined" != typeof Symbol && n[Symbol.iterator]) ||
+              n["@@iterator"];
+            if (r) return (r = r.call(n)).next.bind(r);
+            if (
+              Array.isArray(n) ||
+              (r = (function (n, e) {
+                if (n) {
+                  if ("string" == typeof n) return E(n, e);
+                  var r = Object.prototype.toString.call(n).slice(8, -1);
+                  return (
+                    "Object" === r && n.constructor && (r = n.constructor.name),
+                    "Map" === r || "Set" === r
+                      ? Array.from(n)
+                      : "Arguments" === r ||
+                        /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)
+                      ? E(n, e)
+                      : void 0
+                  );
+                }
+              })(n))
+            ) {
+              r && (n = r);
+              var t = 0;
+              return function () {
+                return t >= n.length
+                  ? { done: !0 }
+                  : { done: !1, value: n[t++] };
+              };
+            }
+            throw new TypeError(
+              "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
+            );
+          })(r);
+        !(S = O()).done;
+
+      )
+        y();
+      var m = A;
+      function I(n, e) {
+        (null == e || e > n.length) && (e = n.length);
+        for (var r = 0, t = new Array(e); r < e; r++) t[r] = n[r];
+        return t;
+      }
+      function N() {
+        return e.wx$1.getAccountInfoSync
+          ? e.wx$1.getAccountInfoSync().miniProgram.appId
+          : "";
+      }
+      var b = {};
+      function w(n) {
+        return b[n];
+      }
+      function P(n, e) {
+        b[n] = e;
+      }
+      function D(n, e) {
+        b[n] = Object.assign(b[n], e);
+      }
+      function T(n, e) {
+        void 0 === e && (e = 1), (b[n] += e);
+      }
+      for (
+        var G = "app_show_time",
+          L = "app_hide_time",
+          W = "app_error_count",
+          j = "page_show_time",
+          x = "qrcode_query",
+          C = "share_source",
+          M = "current_page_path",
+          V = "last_visit_page_path",
+          q = "page_options",
+          U = "is_first_onshow",
+          k = "is_first_open_mini_app",
+          K = "is_first_access_page",
+          $ = "page_duration",
+          Y = "is_under_30s_session",
+          F = "is_onshow_by_share",
+          B = "is_onshow_by_api",
+          J = "session_key",
+          H = "user_info",
+          z = "share_info",
+          Q = "openid",
+          X = "gender",
+          Z = "user_avatar",
+          nn = "ald_launch_session",
+          en = "ald_access_token",
+          rn = "ald_uuid",
+          tn = "show_options",
+          on = "show_scene",
+          an = "request_common_data",
+          un = "request_count",
+          cn = "queue_ins",
+          sn = {
+            type: "",
+            name: "",
+            version: "",
+            appKey: "",
+            isPlugin: !1,
+            useCompliance: !1,
+          },
+          _n = sn,
+          ln = "aldstat_uuid",
+          fn = Object.prototype.toString,
+          pn = {},
+          dn = function () {
+            var n = hn[vn];
+            pn["is" + n] = function (e) {
+              return fn.call(e).slice(8, -1) === n;
+            };
+          },
+          vn = 0,
+          hn = [
+            "String",
+            "Array",
+            "Function",
+            "Number",
+            "Date",
+            "Boolean",
+            "RegExp",
+            "Symbol",
+          ];
+        vn < hn.length;
+        vn++
+      )
+        dn();
+      function Rn(e) {
+        var r = n(e);
+        return "function" === r || ("object" === r && !!r);
+      }
+      function gn(n) {
+        var e = Number(n);
+        return (pn.isNumber(n) || pn.isString(n)) && e >= 0 && !isNaN(e);
+      }
+      var En = pn.isString,
+        Sn = pn.isArray,
+        An = pn.isFunction,
+        yn = pn.isNumber;
+      function On() {
+        return "" + Date.now() + Math.floor(1e7 * Math.random());
+      }
+      function mn(n, e, r) {
+        var t = n[e];
+        n[e] = function (n) {
+          r.call(this, n, e), t && An(t) && t.call(this, n);
+        };
+      }
+      function In(n, e) {
+        (null == e || e > n.length) && (e = n.length);
+        for (var r = 0, t = new Array(e); r < e; r++) t[r] = n[r];
+        return t;
+      }
+      function Nn(n) {
+        return Object.assign({}, w(an), n);
+      }
+      function bn(n) {
+        T(un),
+          (n.at = w(en)),
+          (n.uu = w(rn)),
+          (n.v = _n.version),
+          (n.ak = _n.appKey.replace(/(\t)|(\s)/g, "")),
+          (n.wsr = w(tn)),
+          (n.ifo = w(k)),
+          (n.rq_c = w(un)),
+          (n.ls = w(nn)),
+          (n.te = _n.type),
+          (n.et = Date.now()),
+          (n.st = Date.now()),
+          (n.ge = w(X));
+        var e,
+          r =
+            ((e = n),
+            function () {
+              return new Promise(function (n) {
+                var r,
+                  t =
+                    (((r = {}).AldStat = u),
+                    (r.se = w(J) || ""),
+                    (r.op = w(Q) || ""),
+                    (r.img = w(Z) || ""),
+                    r),
+                  o = w("appid");
+                o && (t.ai = o),
+                  m.request({
+                    url: f.SEND_LOG,
+                    data: e,
+                    header: t,
+                    method: "GET",
+                    success: function (e) {
+                      e && 200 === e.statusCode ? n("") : n("status error");
+                    },
+                    fail: function () {
+                      n("fail");
+                    },
+                  });
+              });
+            });
+        w(cn).push(r);
+      }
+      function wn(n, e, r) {
+        var t,
+          o = Nn(
+            (((t = {}).ev = n), (t.tp = e), (t.dr = Date.now() - w(G)), t)
+          );
+        r && (o.ct = r), bn(o);
+      }
+      function Pn(n, e) {
+        var r,
+          t = Nn(
+            (((r = {}).ev = n),
+            (r[s] = e),
+            (r.ec = w(W)),
+            (r.dr = Date.now() - w(G)),
+            r)
+          );
+        "show" == e && (t.uo = !1);
+        var o = w(x);
+        o && (t.qr = t.sr = o);
+        var i = w(C);
+        i && (t.usr = i), bn(t);
+      }
+      function Dn(n, e) {
+        (null == e || e > n.length) && (e = n.length);
+        for (var r = 0, t = new Array(e); r < e; r++) t[r] = n[r];
+        return t;
+      }
+      pn.isDate, pn.isBoolean, pn.isRegExp, pn.isSymbol;
+      var Tn = (function () {
+          function n() {
+            this.events = new Map();
+          }
+          var e = n.prototype;
+          return (
+            (e.on = function (n, e) {
+              var r = this.events;
+              return r.has(n) || r.set(n, []), r.get(n).push(e), this;
+            }),
+            (e.once = function (n, e) {
+              var r = this;
+              return this.on(n, function t() {
+                r.off(n, t);
+                for (
+                  var o = arguments.length, i = new Array(o), a = 0;
+                  a < o;
+                  a++
+                )
+                  i[a] = arguments[a];
+                e.apply(r, i);
+              });
+            }),
+            (e.emit = function (n) {
+              for (
+                var e = this.listeners(n),
+                  r = arguments.length,
+                  t = new Array(r > 1 ? r - 1 : 0),
+                  o = 1;
+                o < r;
+                o++
+              )
+                t[o - 1] = arguments[o];
+              for (
+                var i,
+                  a = (function (n, e) {
+                    var r =
+                      ("undefined" != typeof Symbol && n[Symbol.iterator]) ||
+                      n["@@iterator"];
+                    if (r) return (r = r.call(n)).next.bind(r);
+                    if (
+                      Array.isArray(n) ||
+                      (r = (function (n, e) {
+                        if (n) {
+                          if ("string" == typeof n) return Dn(n, e);
+                          var r = Object.prototype.toString
+                            .call(n)
+                            .slice(8, -1);
+                          return (
+                            "Object" === r &&
+                              n.constructor &&
+                              (r = n.constructor.name),
+                            "Map" === r || "Set" === r
+                              ? Array.from(n)
+                              : "Arguments" === r ||
+                                /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(
+                                  r
+                                )
+                              ? Dn(n, e)
+                              : void 0
+                          );
+                        }
+                      })(n))
+                    ) {
+                      r && (n = r);
+                      var t = 0;
+                      return function () {
+                        return t >= n.length
+                          ? { done: !0 }
+                          : { done: !1, value: n[t++] };
+                      };
+                    }
+                    throw new TypeError(
+                      "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
+                    );
+                  })(e);
+                !(i = a()).done;
+
+              )
+                i.value.apply(this, t);
+            }),
+            (e.off = function (n, e) {
+              var r = this.events;
+              if (!n) return r.clear(), this;
+              if (!e) return r.delete(n), this;
+              for (var t = this.listeners(n), o = 0, i = t.length; o < i; o++)
+                t[o] === e && (t.splice(o, 1), i--, o--);
+              return 0 === t.length && r.delete(n), this;
+            }),
+            (e.listeners = function (n) {
+              return this.events.get(n) || [];
+            }),
+            n
+          );
+        })(),
+        Gn = "app_on_show",
+        Ln = "use_compliance",
+        Wn = new Tn(),
+        jn = {
+          sendEvent: function (n, e) {
+            return kn(function () {
+              (function (n, e) {
+                return !n || !En(n) || n.length > 255
+                  ? (console.error(v.ERR_API_WRONG_EVENT_NAME), !1)
+                  : !(
+                      !(En(e) && e.length <= 255) &&
+                      (Rn(e)
+                        ? JSON.stringify(e).length >= 255
+                          ? (console.error(v.ERR_API_EVENT_ARGS_TOO_LONG), 1)
+                          : (function (n) {
+                              for (var e in n)
+                                if (n.hasOwnProperty(e) && n[e] && Rn(n[e]))
+                                  return !0;
+                              return !1;
+                            })(e) &&
+                            (console.error(v.ERR_API_EVENT_ARGS_INNER_TYPE), 1)
+                        : void 0 !== e &&
+                          (console.error(v.ERR_API_WRONG_EVENT_ARGS), 1))
+                    );
+              })(n, e) && wn("event", n, Rn(e) ? JSON.stringify(e) : e);
+            });
+          },
+          sendSession: function (n) {
+            return kn(function () {
+              var e;
+              if (n) {
+                P(J, n);
+                var r = Nn(
+                    (((e = {}).ev = "event"),
+                    (e.tp = "session"),
+                    (e.ct = "session"),
+                    e)
+                  ),
+                  t = w(H);
+                if (t) {
+                  r.ufo = t;
+                  var o = w(z);
+                  "" !== o && (r.gid = o);
+                }
+                bn(r);
+              } else console.error(v.ERR_MISS_SESSION_KEY);
+            });
+          },
+          sendOpenid: function (n) {
+            return kn(function () {
+              var e;
+              n && 28 === n.length
+                ? (P(Q, n),
+                  m.setStorageSync(h, n),
+                  bn(
+                    Nn(
+                      (((e = {}).ev = "event"),
+                      (e.tp = "openid"),
+                      (e.ct = "openid"),
+                      e)
+                    )
+                  ))
+                : console.error(v.ERR_WRONG_OPENID);
+            });
+          },
+          setOpenid: function (n) {
+            An(n) &&
+              "" === w(Q) &&
+              n().then(function (n) {
+                28 === n.length && (P(Q, n), m.setStorageSync(h, n));
+              });
+          },
+          sendUser: function (n, e) {
+            return kn(function () {
+              var n, r;
+              !w(H) &&
+                e &&
+                (P(H, e),
+                P(
+                  Z,
+                  (null == (n = e.avatarUrl) ? void 0 : n.split("/")).reduce(
+                    function (n, e) {
+                      return e.length > n.length ? e : n;
+                    }
+                  )
+                ),
+                P(X, e.gender),
+                bn(Nn((((r = {}).ufo = e), r))));
+            });
+          },
+          sendCompliance: function () {
+            _n.useCompliance && Wn.emit(Ln, !0);
+          },
+        },
+        xn = {
+          aldVisit: function (n) {
+            return kn(function () {
+              (function (n) {
+                if (!Rn(n))
+                  return console.error(v.ERR_API_SALE_WRONG_VISIT), !1;
+                var e = n.category,
+                  r = n.id,
+                  t = n.name;
+                return e && (0 === r || r) && t
+                  ? !En(e) || e.length > 32
+                    ? (console.error(v.ERR_API_SALE_WRONG_VISIT_CATEGORY), !1)
+                    : yn(r) || En(r)
+                    ? !(!En(t) || t.length > 32) ||
+                      (console.error(v.ERR_API_SALE_WRONG_VISIT_NAME), !1)
+                    : (console.error(v.ERR_API_SALE_WRONG_VISIT_ID), !1)
+                  : (console.error(v.ERR_API_SALE_WRONG_VISIT_ARGS), !1);
+              })(n) &&
+                wn("visit", null, {
+                  category: n.category,
+                  id: n.id,
+                  name: n.name,
+                });
+            });
+          },
+          aldPayOrder: function (n) {
+            return kn(function () {
+              (function (n) {
+                if (!Rn(n))
+                  return console.error(v.ERR_API_SALE_WRONG_ORDER), !1;
+                var e,
+                  r,
+                  t,
+                  o,
+                  i,
+                  a = n.price,
+                  u = n.details;
+                if ((0 !== a && !a) || !u)
+                  return console.error(v.ERR_API_SALE_WRONG_ORDER_ARGS), !1;
+                if (!gn(a))
+                  return console.error(v.ERR_API_SALE_WRONG_ORDER_PRICE), !1;
+                if (!Sn(u) || u.length < 1)
+                  return console.error(v.ERR_API_SALE_WRONG_ORDER_DETAILS), !1;
+                for (var c = 0, s = u.length; c < s; c++)
+                  if (
+                    ((r = (e = u[c]).amount),
+                    (t = e.category),
+                    (o = e.id),
+                    (i = e.name),
+                    !(r && t && (0 === o || o) && i
+                      ? gn(r)
+                        ? yn(o) || En(o)
+                          ? !En(t) || t.length > 32
+                            ? (console.error(
+                                v.ERR_API_SALE_WRONG_ORDER_DETAIL_CATEGORY
+                              ),
+                              0)
+                            : (En(i) && !(i.length > 32)) ||
+                              (console.error(
+                                v.ERR_API_SALE_WRONG_ORDER_DETAIL_NAME
+                              ),
+                              0)
+                          : (console.error(
+                              v.ERR_API_SALE_WRONG_ORDER_DETAIL_ID
+                            ),
+                            0)
+                        : (console.error(
+                            v.ERR_API_SALE_WRONG_ORDER_DETAIL_AMOUNT
+                          ),
+                          0)
+                      : (console.error(v.ERR_API_SALE_WRONG_ORDER_DETAIL_ARGS),
+                        0)))
+                  )
+                    return !1;
+                return !0;
+              })(n) && wn("pay", null, { price: n.price, details: n.details });
+            });
+          },
+        },
+        Cn = (function () {
+          function n(n) {
+            void 0 === n && (n = {}),
+              (this.concurrency = void 0),
+              (this.queue = []),
+              (this.activeCount = 0),
+              (this.concurrency = n.concurrency || 4);
+          }
+          var e = n.prototype;
+          return (
+            (e.push = function (n) {
+              var e = this,
+                r = function () {
+                  e.activeCount++,
+                    n().then(function () {
+                      e.next();
+                    });
+                };
+              this.activeCount < this.concurrency ? r() : this.queue.push(r);
+            }),
+            (e.next = function () {
+              this.activeCount--, this.queue.length > 0 && this.queue.shift()();
+            }),
+            n
+          );
+        })();
+      function Mn() {
+        return (Mn =
+          Object.assign ||
+          function (n) {
+            for (var e = 1; e < arguments.length; e++) {
+              var r = arguments[e];
+              for (var t in r)
+                Object.prototype.hasOwnProperty.call(r, t) && (n[t] = r[t]);
+            }
+            return n;
+          }).apply(this, arguments);
+      }
+      var Vn = an,
+        qn = o(867),
+        Un = "df9b8c987dabf51846641954b93c8625";
+      function kn(n) {
+        n && n();
+      }
+      function Kn(n) {
+        return (
+          P(nn, On()),
+          (this.aldstat = jn),
+          kn(function () {
+            P(tn, n), P(on, n.scene);
+          })
+        );
+      }
+      function $n(n) {
+        return kn(function () {
+          var e = n.scene,
+            r = n.query,
+            t = n.shareTicket,
+            o = r.ald_share_src,
+            i = e === w(on);
+          P(on, e),
+            P(un, 0),
+            P(tn, n),
+            P(C, o),
+            P(x, r.aldsrc || ""),
+            P("share_query", o),
+            w(U) || w(F) || w(B) || P(k, !1),
+            P(U, !1);
+          var a = w(L);
+          ((0 !== a && Date.now() - a > 3e4) || !i) &&
+            (w(F) || (P(en, On()), P(G, Date.now()), P($, 0))),
+            0 !== a && Date.now() - a < 3e4 && P(Y, !0),
+            Pn("app", "show"),
+            Wn.emit(Gn, { aldShareSrc: o, shareTicket: t, scene: e });
+        });
+      }
+      function Yn() {
+        return (
+          P(L, Date.now()),
+          kn(function () {
+            Pn("app", "hide");
+          })
+        );
+      }
+      function Fn(n) {
+        return kn(function () {
+          T(W), wn("event", "ald_error_message", n);
+        });
+      }
+      function Bn(n) {
+        return kn(function () {
+          P(q, n);
+        });
+      }
+      function Jn() {
+        return (
+          P(j, Date.now()),
+          kn(function () {
+            var n;
+            P(M, (n = m.getCurrentPages())[n.length - 1].route);
+            var e = Boolean(w(F) || w(B));
+            P(F, !1), P(B, !1);
+            var r = w(K);
+            P(K, !1),
+              (function (n, e, r) {
+                var t,
+                  o = void 0 === r ? {} : r,
+                  i = o.isFirstPage,
+                  a = void 0 !== i && i,
+                  u = o.isFromShareOrApi,
+                  c = void 0 !== u && u,
+                  _ = w(M),
+                  l = Nn(
+                    (((t = {}).ev = "page"),
+                    (t[s] = "show"),
+                    (t.pp = _),
+                    (t.pc = w(V) || ""),
+                    (t.dr = Date.now() - w(G)),
+                    t)
+                  );
+                c && (l.so = 1);
+                var f = w(q);
+                f && "{}" !== JSON.stringify(f) && (l.ag = f);
+                var p = w(x);
+                p && (l.qr = l.sr = p);
+                var d = w(C);
+                d && (l.usr = d),
+                  w(Y) && (l.ps = 1),
+                  a ? ((l.ifp = !0), (l.fp = _), (l.pdr = 0)) : (l.pdr = w($)),
+                  bn(l);
+              })(0, 0, { isFromShareOrApi: e, isFirstPage: r }),
+              P(Y, !1);
+          })
+        );
+      }
+      function Hn() {
+        return (
+          P($, Date.now() - w(j)),
+          kn(function () {
+            P(V, w(M));
+          })
+        );
+      }
+      var zn,
+        Qn,
+        Xn,
+        Zn,
+        ne,
+        ee = Hn;
+      function re() {
+        return kn(function () {
+          wn("event", "ald_pulldownrefresh", 1);
+        });
+      }
+      function te() {
+        return kn(function () {
+          wn("event", "ald_reachbottom", 1);
+        });
+      }
+      function oe(n, e, r) {
+        var t = n[e];
+        t
+          ? ~t.indexOf(r) || (t.length < 200 && (n[e] = t + "," + r))
+          : (n[e] = r);
+      }
+      function ie(n) {
+        return (
+          mn(n, "onLaunch", Kn),
+          mn(n, "onShow", $n),
+          mn(n, "onHide", Yn),
+          mn(n, "onError", Fn),
+          n
+        );
+      }
+      function ae(n) {
+        return (
+          mn(n, "onShow", Jn),
+          mn(n, "onHide", Hn),
+          mn(n, "onLoad", Bn),
+          mn(n, "onUnload", ee),
+          mn(n, "onReachBottom", te),
+          mn(n, "onPullDownRefresh", re),
+          (r = (e = n).onShareAppMessage) &&
+            (e.onShareAppMessage = function (n) {
+              var e = r.call(this, n) || {};
+              return (
+                (e.path = e.path || w(M)),
+                (function (n) {
+                  P(F, !0);
+                  var e = n.path,
+                    r =
+                      (function (n) {
+                        if (~n.indexOf("?")) {
+                          var e,
+                            r,
+                            t = {};
+                          return (
+                            n
+                              .split("?")[1]
+                              .split("&")
+                              .forEach(function (n) {
+                                if (n) {
+                                  var o = n.split("=");
+                                  (e = o[0]),
+                                    (r =
+                                      o.length >= 2
+                                        ? decodeURIComponent(o[1])
+                                        : null),
+                                    (t[e] = r);
+                                }
+                              }),
+                            t
+                          );
+                        }
+                      })(e) || {},
+                    t = {},
+                    o = (w(tn) || {}).query;
+                  for (var i in o)
+                    o.hasOwnProperty(i) &&
+                      Object.values(g).indexOf(i) > -1 &&
+                      (t[i] = o[i]);
+                  var a = e.split("?")[0] + "?";
+                  for (var u in (Object.assign(t, r),
+                  oe(t, g.UUID, w(rn)),
+                  w(Q) && oe(t, g.OPEN_ID, w(Q)),
+                  t))
+                    t.hasOwnProperty(u) &&
+                      !~u.indexOf("ald") &&
+                      (a += u + "=" + t[u] + "&");
+                  return (
+                    (n.path =
+                      a +
+                      (t.ald_share_op
+                        ? g.OPEN_ID + "=" + t.ald_share_op + "&"
+                        : "") +
+                      g.UUID +
+                      "=" +
+                      t.ald_share_src),
+                    wn("event", "ald_share_status", n),
+                    n
+                  );
+                })(e)
+              );
+            }),
+          n
+        );
+        var e, r;
+      }
+      function ue() {
+        var n;
+        (function () {
+          P(en, On()),
+            P(
+              Q,
+              (function () {
+                var n = "";
+                try {
+                  n = m.getStorageSync(h);
+                } catch (n) {}
+                return n;
+              })()
+            );
+          var n = (function () {
+            var n = "";
+            try {
+              n = m.getStorageSync(ln);
+            } catch (e) {
+              n = c;
+            }
+            return n;
+          })();
+          P(k, !n),
+            n ||
+              (function (n) {
+                try {
+                  m.setStorageSync(ln, n);
+                } catch (n) {
+                  m.setStorageSync(ln, c);
+                }
+              })(
+                (n = (function () {
+                  function n() {
+                    return Math.floor(65536 * (1 + Math.random()))
+                      .toString(16)
+                      .substring(1);
+                  }
+                  return n() + n() + n() + n() + n() + n() + n() + n();
+                })())
+              ),
+            P(rn, n),
+            P(
+              "appid",
+              m
+                .getAppid()
+                .split("")
+                .map(function (n) {
+                  return n.charCodeAt(0) + 9;
+                })
+                .join("-")
+            );
+        })(),
+          P(cn, new Cn()),
+          m.request({
+            url: f.SDK_VERSION,
+            header: ((n = {}), (n.AldStat = u), n),
+            method: "GET",
+            success: function (n) {
+              if (200 === n.statusCode) {
+                var e = n.data;
+                (function (n, e) {
+                  return (
+                    (function (n, e) {
+                      for (
+                        var r = n.split("."),
+                          t = e.split("."),
+                          o = Math.max(r.length, t.length);
+                        r.length < o;
+
+                      )
+                        r.push("0");
+                      for (; t.length < o; ) t.push("0");
+                      for (var i = 0; i < o; i++) {
+                        var a = parseInt(r[i], 10),
+                          u = parseInt(t[i], 10);
+                        if (a > u) return 1;
+                        if (a < u) return -1;
+                      }
+                      return 0;
+                    })(n, e) > 0
+                  );
+                })(e.version, _n.version) &&
+                  console.warn(v.WARN_SDK_NEED_UPDATE),
+                  e.warn && console.warn(e.warn),
+                  e.error && console.error(e.error);
+              }
+            },
+          }),
+          (function () {
+            var n,
+              e = (function () {
+                try {
+                  return m.getSystemInfoSync();
+                } catch (n) {}
+              })();
+            if (e) {
+              var r,
+                t = e.brand,
+                o = e.model,
+                i = e.pixelRatio,
+                a = e.windowWidth,
+                u = e.windowHeight,
+                c = e.language,
+                s = e.version,
+                _ = e.platform,
+                l = e.SDKVersion,
+                f = e.system;
+              D(
+                Vn,
+                (((r = {}).br = t),
+                (r.pm = o),
+                (r.pr = i),
+                (r.ww = a),
+                (r.wh = u),
+                (r.lang = c),
+                (r.wv = s),
+                (r.wvv = _),
+                (r.wsdk = l),
+                (r.sv = f),
+                r)
+              );
+            }
+            (n = function (n) {
+              var e;
+              D(Vn, (((e = {}).nt = n), e));
+            }),
+              m.getNetworkType({
+                success: function (e) {
+                  n && n(e.networkType);
+                },
+              });
+          })(),
+          Wn.on(Gn, function (n) {
+            var r = n.aldShareSrc,
+              t = n.shareTicket,
+              o = n.scene;
+            if (
+              (r && 1044 === o && t
+                ? e.wx$1.getShareInfo({
+                    shareTicket: t,
+                    success: function (n) {
+                      P(z, n),
+                        wn("event", "ald_share_click", JSON.stringify(n));
+                    },
+                  })
+                : r && wn("event", "ald_share_click", 1),
+              !w(Q))
+            ) {
+              var i = m.getAppid();
+              m.login({
+                success: function (n) {
+                  m.request({
+                    url: f.GET_OPEN_ID,
+                    data: { ai: i, uuid: w(rn), jc: n.code, reqid: "1" },
+                    success: function (n) {
+                      var e = n.data;
+                      if (!e.code) {
+                        var r,
+                          t =
+                            null == e || null == (r = e.data)
+                              ? void 0
+                              : r.openid;
+                        P(Q, t), m.setStorageSync(h, t);
+                      }
+                    },
+                  });
+                },
+                fail: function (n) {
+                  console.warn("sdk-login-err", n);
+                },
+              });
+            }
+          });
+      }
+      if (
+        ((function (n) {
+          Object.assign(sn, n);
+        })(
+          Mn({ type: "wx" }, qn.wx, {
+            appKey: Un,
+            isPlugin: !1,
+            useCompliance: !1,
+          })
+        ),
+        P(Vn, {}),
+        P(U, !0),
+        P(K, !0),
+        P(G, Date.now()),
+        P(L, 0),
+        P(W, 0),
+        P(X, ""),
+        P(un, 0),
+        (function () {
+          for (
+            var n,
+              o,
+              i = {},
+              a = function () {
+                var r = n.value;
+                i[r] = function () {
+                  return e.wx$1[r].apply(null, arguments);
+                };
+              },
+              u = (function (n, e) {
+                var r =
+                  ("undefined" != typeof Symbol && n[Symbol.iterator]) ||
+                  n["@@iterator"];
+                if (r) return (r = r.call(n)).next.bind(r);
+                if (
+                  Array.isArray(n) ||
+                  (r = (function (n, e) {
+                    if (n) {
+                      if ("string" == typeof n) return I(n, e);
+                      var r = Object.prototype.toString.call(n).slice(8, -1);
+                      return (
+                        "Object" === r &&
+                          n.constructor &&
+                          (r = n.constructor.name),
+                        "Map" === r || "Set" === r
+                          ? Array.from(n)
+                          : "Arguments" === r ||
+                            /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)
+                          ? I(n, e)
+                          : void 0
+                      );
+                    }
+                  })(n))
+                ) {
+                  r && (n = r);
+                  var t = 0;
+                  return function () {
+                    return t >= n.length
+                      ? { done: !0 }
+                      : { done: !1, value: n[t++] };
+                  };
+                }
+                throw new TypeError(
+                  "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
+                );
+              })(r.concat(t));
+            !(n = u()).done;
+
+          )
+            a();
+          (i.getAppid = N),
+            (i.getCurrentPages = getCurrentPages),
+            (o = i),
+            Object.assign(A, o);
+        })(),
+        (function (n) {
+          n.aldstat = jn;
+          for (var r = 0, t = R.length; r < t; r++)
+            (o = e.wx$1),
+              (i = R[r]),
+              (u = xn[R[r]]),
+              Object.defineProperty(o, i, {
+                value: u,
+                writable: !1,
+                enumerable: !0,
+                configurable: !0,
+              });
+          var o, i, u;
+          !(function (n) {
+            for (
+              var e,
+                r = function () {
+                  var r = e.value,
+                    t = n[r];
+                  try {
+                    Object.defineProperty(n, r, {
+                      get: function () {
+                        return P(B, !0), t;
+                      },
+                    });
+                  } catch (n) {}
+                },
+                t = (function (n, e) {
+                  var r =
+                    ("undefined" != typeof Symbol && n[Symbol.iterator]) ||
+                    n["@@iterator"];
+                  if (r) return (r = r.call(n)).next.bind(r);
+                  if (
+                    Array.isArray(n) ||
+                    (r = (function (n, e) {
+                      if (n) {
+                        if ("string" == typeof n) return In(n, e);
+                        var r = Object.prototype.toString.call(n).slice(8, -1);
+                        return (
+                          "Object" === r &&
+                            n.constructor &&
+                            (r = n.constructor.name),
+                          "Map" === r || "Set" === r
+                            ? Array.from(n)
+                            : "Arguments" === r ||
+                              /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)
+                            ? In(n, e)
+                            : void 0
+                        );
+                      }
+                    })(n))
+                  ) {
+                    r && (n = r);
+                    var t = 0;
+                    return function () {
+                      return t >= n.length
+                        ? { done: !0 }
+                        : { done: !1, value: n[t++] };
+                    };
+                  }
+                  throw new TypeError(
+                    "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
+                  );
+                })(a);
+              !(e = t()).done;
+
+            )
+              r();
+          })(n);
+        })(e.wx$1),
+        _n.useCompliance
+          ? Wn.on(Ln, function (n) {
+              P("is_compliance_enabled", n), ue();
+            })
+          : ue(),
+        _n.isPlugin)
+      ) {
+        var ce = {
+          App: (function (n) {
+            function e(e) {
+              return n.apply(this, arguments);
+            }
+            return (
+              (e.toString = function () {
+                return n.toString();
+              }),
+              e
+            );
+          })(function (n) {
+            return App(ie(n));
+          }),
+          Page: (function (n) {
+            function e(e) {
+              return n.apply(this, arguments);
+            }
+            return (
+              (e.toString = function () {
+                return n.toString();
+              }),
+              e
+            );
+          })(function (n) {
+            return Page(ae(n));
+          }),
+        };
+        (zn = ce.App), (Qn = ce.Page);
+      } else
+        (Xn = App),
+          (App = function (n) {
+            ie(n), Xn(n);
+          }),
+          (Zn = Page),
+          (Page = function (n) {
+            ae(n), Zn(n);
+          }),
+          (ne = Component),
+          (Component = function (n) {
+            var e = n.methods;
+            e && ae(e), ne(n);
+          }),
+          (zn = App),
+          (Qn = Page);
+      var se = Component;
+    })(),
+    i
+  );
+};
diff --git a/utils/common.js b/utils/common.js
new file mode 100644
index 0000000..01ebb5e
--- /dev/null
+++ b/utils/common.js
@@ -0,0 +1,310 @@
+var e = require("../common/vendor.js"),
+  n = require("../service/index.js"),
+  r = require("../enums/index.js"),
+  t = require("./util.js");
+require("../config/index.js");
+var i = require("../hooks/useState.js"),
+  u = require("./navigate.js");
+require("../constant/index.js");
+var o = function (n) {
+  console.log("onEmit刷新", n),
+    e.index.$emit("refreshOrderDetail", n),
+    e.index.$emit("updateOrderDetail"),
+    e.index.$emit("refreshOrderNum"),
+    e.index.$emit("updateOrderList", n),
+    e.index.$emit("updateMyOrderList", n);
+};
+(exports.chooseDrivingLicense = function (e) {
+  var r = e.orderNo;
+  return t.choosePhoto().then(function (e) {
+    return (
+      t.showLoading(),
+      n.uploadDrivingLicense({ filePath: e, order_no: r }).then(function () {
+        o(r), t.hideLoading();
+      })
+    );
+  });
+}),
+  (exports.getOrderStatus = function (n) {
+    var t = e._.find(n, function (e) {
+        return e.status === r.ProductStatusEnum.IN_QUERY;
+      }),
+      i = e._.find(n, function (e) {
+        return e.status === r.ProductStatusEnum.TO_BE_UPLOADED;
+      }),
+      u = e._.every(n, function (e) {
+        return (
+          e.status === r.ProductStatusEnum.SUCCESS ||
+          (e.status == e.status) === r.ProductStatusEnum.FAIL
+        );
+      });
+    return t ? ",查询中" : i ? ",待上传行驶证" : u ? ",查询完成" : "";
+  }),
+  (exports.getProduct = function (e) {
+    var n = i.useState(),
+      t = n.insuranceMaintainProduct,
+      u = n.accidentProduct,
+      o = n.vehicleFiveProduct,
+      a = n.saliProduct,
+      c = n.saliCheckProduct,
+      s = n.commercialInsuranceProduct,
+      d = n.violationProduct,
+      l = n.vehicleStatusProduct,
+      m = null;
+    return (
+      e.split(",").length > 1
+        ? (m = { product_name: "综合车况" })
+        : e === r.ProductTypeEnum.INSURANCE_MAINTAIN
+        ? (m = t.value)
+        : e === r.ProductTypeEnum.ACCIDENT
+        ? (m = u.value)
+        : e === r.ProductTypeEnum.VEHICLE_FIVE
+        ? (m = o.value)
+        : e === r.ProductTypeEnum.COMMERICAL_INSURANCE
+        ? (m = s.value)
+        : e === r.ProductTypeEnum.VIOLATION
+        ? (m = d.value)
+        : e === r.ProductTypeEnum.SALI
+        ? (m = a.value)
+        : e === r.ProductTypeEnum.SALI_CHECK
+        ? (m = c.value)
+        : e === r.ProductTypeEnum.VEHICLE_STATUS && (m = l.value),
+      m
+    );
+  }),
+  (exports.getVehicleInfoList = function (n) {
+    var r = [
+        "厂家名称",
+        "车型名称",
+        "版本",
+        "车型组名称",
+        "车型组ID",
+        "车ID",
+        "年款",
+        "上市日期",
+        "新车购置价格",
+        "市场价",
+        "发动机型号",
+        "排量",
+        "档位数",
+        "燃油类型",
+        "燃油标号",
+        "喷射方式",
+        "最大功率 KW",
+        "最大马力(Ps)",
+        "轴距",
+        "尺寸类型",
+        "车身型式",
+        "车体结构",
+        "变速箱类型",
+        "驱动方式",
+        "前轮胎尺寸",
+        "后轮胎尺寸",
+        "前制动类型",
+        "后制动类型",
+        "驻车制动类型",
+        "档位数",
+        "座位数",
+        "车门数",
+        "气缸数",
+        "长 mm",
+        "宽",
+        "高",
+        "整备质量 kg",
+        "是否是进口",
+      ],
+      t = [];
+    return (
+      e._.each(r, function (r) {
+        var i = null,
+          u = [];
+        "发动机型号" === r
+          ? (u = e._.filter(n, function (e) {
+              return "发动机" === e.name || "发动机型号" === e.name;
+            })).length > 0 && ((i = u[0]).name = "发动机型号")
+          : "排量" === r
+          ? (u = e._.filter(n, function (e) {
+              return "排量 L" === e.name || "排量(mL)" === e.name;
+            })).length > 0 && ((i = u[0]).name = "排量")
+          : "变速箱类型" === r
+          ? (u = e._.filter(n, function (e) {
+              return "变速箱" === e.name || "变速箱类型" === e.name;
+            })).length > 0 && ((i = u[0]).name = "变速箱类型")
+          : (i = e._.find(n, function (e) {
+              return e.name === r;
+            })),
+          i && t.push(i);
+      }),
+      (t = e._.concat(
+        t,
+        e._.filter(n, function (e) {
+          return (
+            r.indexOf(e.name) < 0 &&
+            [
+              "发动机",
+              "发动机型号",
+              "排量 L",
+              "排量(mL)",
+              "变速箱",
+              "变速箱类型",
+            ].indexOf(e.name) < 0
+          );
+        })
+      ))
+    );
+  }),
+  (exports.hasClickAgreement = function () {
+    return !(
+      !e.index.getStorageSync("hasClickAgreement") ||
+      e.index.getStorageSync("hasClickAgreement") < 1
+    );
+  }),
+  (exports.isSupportAliPay = function () {
+    i.useState();
+    return !1, !1;
+  }),
+  (exports.isSupportWeChatPay = function () {
+    i.useState();
+    return !0, !0;
+  }),
+  (exports.modifyVin = function (e) {
+    var r = e.orderNo,
+      i = e.vin;
+    return (
+      t.showLoading(),
+      n.modifyOrderVin({ order_no: r, vin: i }).then(function () {
+        t.showToast("修改成功"), o(r);
+      })
+    );
+  }),
+  (exports.ocrIdentifyVin = function () {
+    return t.choosePhoto().then(function (e) {
+      return (
+        t.showLoading(),
+        n.ocrUploadDrivingLicense({ filePath: e }).then(function (e) {
+          return t.showToast("识别成功,请核对"), e ? e.vin : null;
+        })
+      );
+    });
+  }),
+  (exports.openReport = function (e) {
+    var i = e.orderNo,
+      o = e.productId,
+      a = e.status;
+    t.showLoading();
+    var c = null;
+    o === r.ProductTypeEnum.INSURANCE_MAINTAIN &&
+      (c =
+        a === r.ProductStatusEnum.FAIL
+          ? function () {
+              return Promise.resolve({
+                url: "/pages/insurance-maintain-blank/index",
+              });
+            }
+          : function () {
+              return Promise.resolve({
+                url: "/pages/insurance-maintain-detail/index",
+              });
+            }),
+      o === r.ProductTypeEnum.ACCIDENT &&
+        (c =
+          a === r.ProductStatusEnum.FAIL
+            ? function () {
+                return Promise.resolve({ url: "/pages/accident-blank/index" });
+              }
+            : function () {
+                return n
+                  .getReportDetail({ order_no: i, product_id: o })
+                  .then(function (e) {
+                    var n = e.report_url_our;
+                    return {
+                      url: n
+                        ? "/pages/accident-web-view/index"
+                        : "/pages/accident-detail/index",
+                      reportUrl: n,
+                    };
+                  });
+              }),
+      o === r.ProductTypeEnum.COMMERICAL_INSURANCE &&
+        (c = function () {
+          return Promise.resolve({
+            url: "/pages/commercial-insurance-detail/index",
+          });
+        }),
+      o === r.ProductTypeEnum.VEHICLE_FIVE &&
+        (c = function () {
+          return Promise.resolve({ url: "/pages/vehicle-five-detail/index" });
+        }),
+      o === r.ProductTypeEnum.SALI &&
+        (c = function () {
+          return Promise.resolve({ url: "/pages/sali-detail/index" });
+        }),
+      o === r.ProductTypeEnum.SALI_CHECK &&
+        (c = function () {
+          return Promise.resolve({ url: "/pages/sali-check-detail/index" });
+        }),
+      o === r.ProductTypeEnum.VEHICLE_STATUS &&
+        (c = function () {
+          return Promise.resolve({ url: "/pages/vehicle-status-detail/index" });
+        }),
+      c
+        ? c().then(function (e) {
+            var n = e.url,
+              r = e.reportUrl;
+            t.hideLoading(),
+              u.navigateTo({
+                url: n,
+                params: { order_no: i, product_id: o, url: r },
+              });
+          })
+        : t.showToast("当前查询类型暂不支持");
+  }),
+  (exports.payForOrder = function (n) {
+    var i = n.payMethod,
+      u = n.data,
+      a = u.orderNo;
+    return (function (n) {
+      var t = n.payMethod,
+        i = n.data,
+        u = null;
+      return (
+        t === r.PayMethodEnum.WECHAT_PAY &&
+          (u = function () {
+            return e.index.requestPayment({
+              provider: "wxpay",
+              timeStamp: String(i.timestamp),
+              nonceStr: String(i.nonceStr),
+              package: String(i.package),
+              signType: String(i.signType),
+              paySign: String(i.paySign),
+            });
+          }),
+        t === r.PayMethodEnum.ALI_PAY &&
+          (u = function () {
+            return e.index.requestPayment({
+              provider: "alipay",
+              orderInfo: String(i.alipay),
+            });
+          }),
+        u()
+      );
+    })({ payMethod: i, data: u })
+      .then(function () {
+        return Promise.resolve({ orderNo: a });
+      })
+      .catch(function () {
+        return Promise.reject({ orderNo: a });
+      })
+      .finally(function () {
+        o(a), t.hideLoading();
+      });
+  }),
+  (exports.queryWithoutDrivingLicense = function (e) {
+    var r = e.orderNo;
+    return (
+      t.showLoading(),
+      n.noDrivingLicense({ order_no: r }).then(function () {
+        o(r);
+      })
+    );
+  });
diff --git a/utils/mtj-wx-sdk.js b/utils/mtj-wx-sdk.js
new file mode 100644
index 0000000..f7ec743
--- /dev/null
+++ b/utils/mtj-wx-sdk.js
@@ -0,0 +1,1137 @@
+var t = require("../common/vendor.js");
+exports.mtjInit = function (e) {
+  var n,
+    r,
+    o = "1.10.23",
+    a = "https://hmma.baidu.com/mini.gif",
+    i = {
+      app: ["onShow", "onHide", "onError"],
+      page: ["onShow", "onReady", "onHide", "onPageScroll"],
+      share: ["onShareAppMessage"],
+      behavior: ["tap"],
+    },
+    c = "mtj_uuid",
+    s = "mtj_user",
+    u = "mtj_user_property",
+    f = "mtj_track_status",
+    l = "mtj_remote_config",
+    h = "mtj_ab_experiment_list",
+    p = "mtj_ab_active_experiment_ids",
+    d = {},
+    g = { type: 1 },
+    m = { aso: {} },
+    y = {},
+    v = function (t) {
+      if (!1 !== d.trackStatus) {
+        var e = t.data.et
+          ? { mtj_ii: t.data.uuid || "", mtj_et: t.data.et, mtj_en: t.data.en }
+          : {};
+        return n.request({
+          url: t.url,
+          data: t.data,
+          header: Object.assign(
+            { "content-type": "application/json" },
+            e,
+            t.header
+          ),
+          method: t.method || "POST",
+          dataType: t.dataType || "json",
+          success: function (e) {
+            t.success && t.success(e);
+          },
+          fail: function (e) {
+            t.fail && t.fail(e);
+          },
+        });
+      }
+    },
+    b = function () {
+      return "undefined" != typeof crypto && crypto.getRandomValues
+        ? crypto.getRandomValues(new Uint32Array(1))[0]
+        : Math.floor(4294967295 * Math.random());
+    },
+    j = function (t, e) {
+      return "[object " + e + "]" === {}.toString.call(t);
+    },
+    S = function t(e) {
+      return j(e, "Object") || j(e, "Array")
+        ? (Object.keys(e).forEach(function (n) {
+            var r = e[n];
+            j(r, "Object") || j(r, "Array") ? (e[n] = t(r)) : (e[n] = "" + r);
+          }),
+          e)
+        : e;
+    },
+    O = function (t) {
+      return j(t, "String") && /^\d{11}$/.test(t);
+    },
+    w = function (t) {
+      return j(t, "String") && 28 === t.length;
+    },
+    k = 0,
+    x = function (t) {
+      return new Promise(function (e, n) {
+        return (
+          (t.data = t.data || {}),
+          d.blacklist &&
+          ((d.blacklist.indexOf("all") > -1 && t.data.et) ||
+            (d.blacklist.indexOf("behavior") > -1 && "behavior" === t.data.et))
+            ? e()
+            : ((t.data.v = o),
+              (t.data.rqc = ++k),
+              (r = t.data),
+              JSON.stringify(r).length <= 204800
+                ? ((t.success = function (t) {
+                    return e(t);
+                  }),
+                  (t.fail = function (t) {
+                    return n(t);
+                  }),
+                  void v(t))
+                : (k--, n(new Error("invalid data"))))
+        );
+        var r;
+      });
+    },
+    P = function (t, e) {
+      var n = j(e, "Object") ? JSON.stringify(e) : "" + e;
+      x({
+        url: a,
+        dataType: "string",
+        data: Object.assign({}, g, {
+          et: "error",
+          en: t,
+          ep: { ex: n },
+          rid: b(),
+        }),
+      });
+    },
+    _ = function (t) {
+      (t.rid = b()), (t.aso = t.aso || {});
+      var e = { url: a, dataType: "string", data: Object.assign({}, g, t) };
+      x(e),
+        (y.circleToken || y.circleByThreeFingers) &&
+          (("page" === t.et && "show" === t.en) ||
+            ("behavior" === t.et && "tap" === t.en)) &&
+          ((e.url = "https://hmma.baidu.com/mini.gif?circle=1"),
+          (e.data.token = y.circleToken),
+          x(e).catch(function (t) {
+            return console.error(t);
+          }));
+    };
+  function T(t, e) {
+    return (
+      (function (t) {
+        if (Array.isArray(t)) return t;
+      })(t) ||
+      (function (t, e) {
+        var n =
+          t &&
+          (("undefined" != typeof Symbol && t[Symbol.iterator]) ||
+            t["@@iterator"]);
+        if (null != n) {
+          var r,
+            o,
+            a = [],
+            i = !0,
+            c = !1;
+          try {
+            for (
+              n = n.call(t);
+              !(i = (r = n.next()).done) &&
+              (a.push(r.value), !e || a.length !== e);
+              i = !0
+            );
+          } catch (t) {
+            (c = !0), (o = t);
+          } finally {
+            try {
+              i || null == n.return || n.return();
+            } finally {
+              if (c) throw o;
+            }
+          }
+          return a;
+        }
+      })(t, e) ||
+      (function (t, e) {
+        if (t) {
+          if ("string" == typeof t) return I(t, e);
+          var n = Object.prototype.toString.call(t).slice(8, -1);
+          return (
+            "Object" === n && t.constructor && (n = t.constructor.name),
+            "Map" === n || "Set" === n
+              ? Array.from(t)
+              : "Arguments" === n ||
+                /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
+              ? I(t, e)
+              : void 0
+          );
+        }
+      })(t, e) ||
+      (function () {
+        throw new TypeError(
+          "Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
+        );
+      })()
+    );
+  }
+  function I(t, e) {
+    (null == e || e > t.length) && (e = t.length);
+    for (var n = 0, r = new Array(e); n < e; n++) r[n] = t[n];
+    return r;
+  }
+  var A = function (t) {
+      try {
+        return n.getStorageSync(t);
+      } catch (t) {
+        P("getStorageSync", t);
+      }
+    },
+    E = function (t, e) {
+      try {
+        n.setStorageSync(t, e);
+      } catch (t) {
+        P("setStorageSync", t);
+      }
+    },
+    N = function (t) {
+      try {
+        n.removeStorageSync(t);
+      } catch (t) {
+        P("removeStorageSync", t);
+      }
+    },
+    C = function () {
+      return Promise.resolve().then(function () {
+        var t = A(c);
+        return (
+          (j(t, "String") && 32 === t.length) ||
+            ((t = ([1e7] + 1e3 + 4e3 + 8e3 + 1e11).replace(
+              /[018]/g,
+              function (t) {
+                return (
+                  t ^
+                  (("undefined" != typeof crypto && crypto.getRandomValues
+                    ? crypto.getRandomValues(new Uint8Array(1))[0]
+                    : Math.floor(255 * Math.random())) &
+                    (15 >> (t / 4)))
+                ).toString(16);
+              }
+            )),
+            E(c, t),
+            d.hasABTest && (N(h), N(p))),
+          t
+        );
+      });
+    },
+    q = function () {
+      return (
+        r ||
+        ((g.sid = b()),
+        (g.rqc = 0),
+        (r = Promise.all([
+          C(),
+          new Promise(function (t) {
+            n.getSystemInfo({
+              success: function (e) {
+                delete e.errMsg, t(e);
+              },
+              fail: function () {
+                t({});
+              },
+            });
+          }),
+          new Promise(function (t) {
+            n.getNetworkType({
+              success: function (e) {
+                delete e.errMsg, t(e);
+              },
+              fail: function () {
+                t({});
+              },
+            });
+          }),
+          Promise.resolve().then(function () {
+            var t = A(s),
+              e = j(t, "Object") ? t : {};
+            return new Promise(function (t) {
+              n.getSetting({
+                success: function (r) {
+                  r.authSetting && r.authSetting["scope.userInfo"]
+                    ? n.getUserInfo({
+                        success: function (n) {
+                          delete n.userInfo.errMsg,
+                            t(Object.assign(e, n.userInfo));
+                        },
+                        fail: function () {
+                          t(e);
+                        },
+                      })
+                    : t(e);
+                },
+                fail: function () {
+                  t(e);
+                },
+              });
+            });
+          }),
+          new Promise(function (t) {
+            if (!d.getLocation) return t({});
+            n.getLocation({
+              type: "wgs84",
+              success: function (e) {
+                delete e.errMsg, t(e);
+              },
+              fail: function () {
+                t({});
+              },
+            });
+          }),
+          Promise.resolve().then(function () {
+            var t = A(u);
+            return j(t, "Object") ? t : {};
+          }),
+        ]).then(function (t) {
+          var e = T(t, 6),
+            n = e[0],
+            r = e[1],
+            a = e[2],
+            i = e[3],
+            c = e[4],
+            s = e[5];
+          (g.uuid = n),
+            (m.system = S(r)),
+            (m.network = S(a)),
+            Object.keys(i).length > 0 && (m.user = S(i)),
+            Object.keys(c).length > 0 && (m.location = S(c)),
+            Object.keys(s).length > 0 && (m.userProperty = JSON.stringify(s)),
+            "devtools" === m.system.platform &&
+              d.latestVersion &&
+              (function (t, e) {
+                for (
+                  var n = t.split("."), r = e.split("."), o = 0;
+                  o < 3;
+                  o++
+                ) {
+                  var a = +n[o] || 0,
+                    i = +r[o] || 0;
+                  if (a > i) return 1;
+                  if (i > a) return -1;
+                }
+                return 0;
+              })(o, d.latestVersion) < 0 &&
+              console.warn(
+                "百度移动统计微信小程序SDK已更新,为不影响您的正常使用,请到SDK下载中心 https://mtj.baidu.com/web/sdk/index 下载最新版本"
+              );
+        })))
+      );
+    },
+    U = {
+      onShow: function () {
+        var t =
+            arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+          e = (m.aso.query || []).filter(function (t) {
+            return 0 === t.key.indexOf("mtj_");
+          });
+        return (
+          (m.aso.scene = "" + (t.scene || "")),
+          t.referrerInfo && t.referrerInfo.appId
+            ? (m.aso.referrerInfo = t.referrerInfo)
+            : delete m.aso.referrerInfo,
+          (m.aso.path = t.path || ""),
+          (m.aso.query = Object.keys(t.query || {}).map(function (e) {
+            return { key: e, value: t.query[e] };
+          })),
+          e.length > 0 &&
+            !/(^|,)mtj_/.test(Object.keys(t.query || {}).join(",")) &&
+            (m.aso.query = m.aso.query.concat(e)),
+          (t.query || {}).mtj_ctoken &&
+            !d.disableCircling &&
+            (y.circleToken = t.query.mtj_ctoken),
+          (t.query || {}).mtj_htoken &&
+            d.hasHeatmap &&
+            (y.heatmapToken = t.query.mtj_htoken),
+          q()
+            .then(function () {
+              return (function (t) {
+                return new Promise(function (e) {
+                  if (!t) return e();
+                  n.getShareInfo({
+                    shareTicket: t,
+                    success: function (t) {
+                      delete t.errMsg, e(t);
+                    },
+                    fail: function () {
+                      e({});
+                    },
+                  });
+                });
+              })(t.shareTicket);
+            })
+            .then(function (t) {
+              t ? (m.aso.shareInfo = t) : delete m.aso.shareInfo,
+                _(Object.assign({ et: "app", en: "show" }, m));
+            })
+            .catch(function (t) {
+              P("app.onShow", t);
+            })
+        );
+      },
+      onHide: function () {
+        _({ et: "app", en: "hide" });
+      },
+      onError: function (t) {
+        var e = j(t, "Object") ? JSON.stringify(S(t)) : "" + t;
+        _({ et: "app", en: "error", ep: { ex: e } });
+      },
+    };
+  function B() {
+    this.options = {
+      opacity: 100,
+      radius: 30,
+      bshadow: 1.5,
+      boundVal: 15e3,
+      shadowBlur: 15,
+      points: { max: 100, data: [] },
+      gradient: {
+        0.45: "rgb(0,0,255)",
+        0.55: "rgb(0,255,255)",
+        0.65: "rgb(0,255,0)",
+        0.95: "yellow",
+        1: "rgb(255,0,0)",
+      },
+    };
+  }
+  B.prototype = {
+    getCanvas: function (t) {
+      return new Promise(function (e, r) {
+        n.createSelectorQuery()
+          .select(t)
+          .fields({ node: !0, size: !0 })
+          .exec(function (t) {
+            e(t[0].node);
+          });
+      });
+    },
+    getPageClientRect: function () {
+      return new Promise(function (t, e) {
+        n.createSelectorQuery()
+          .select(".hm-container")
+          .boundingClientRect(function (e) {
+            t([e.width, e.height]);
+          })
+          .exec();
+      });
+    },
+    init: function () {
+      var t = this;
+      return Promise.all([
+        this.getPageClientRect(),
+        this.getCanvas("#cvs"),
+        this.getCanvas("#cvd"),
+      ]).then(function (e) {
+        var n = T(e, 3),
+          r = n[0],
+          o = n[1],
+          a = n[2];
+        (t.options.width = r[0]),
+          (t.options.height = r[1]),
+          (o.width = t.options.width),
+          (o.height = t.options.height),
+          t.options.context.setData({
+            p_width: t.options.width,
+            p_height: t.options.height,
+          });
+        var i = o.getContext("2d");
+        (t.options.ctx = i), (a.width = 1), (a.height = 256);
+        var c = a.getContext("2d");
+        t.options.pctx = c;
+      });
+    },
+    renderShadow: function (t, e, n, r) {
+      var o = this.options.ctx,
+        a = this.options.boundVal,
+        i = parseFloat(n / this.options.points.max, 10);
+      (o.shadowColor = "rgba(0, 0, 0, " + i + ")"),
+        (o.shadowOffsetX = a),
+        (o.shadowOffsetY = a),
+        (o.shadowBlur = this.options.shadowBlur),
+        o.beginPath(),
+        o.arc(t - a, e - a, this.options.radius, 0, 2 * Math.PI, !0),
+        o.closePath(),
+        o.fill(),
+        r || this.cachePoint(t, e, n);
+    },
+    colorize: function () {
+      for (
+        var t = this.options.width,
+          e = this.options.height,
+          n = this.options.ctx,
+          r = n.getImageData(0, 0, t, e),
+          o = r.data,
+          a = o.length,
+          i = this.getPalette(),
+          c = this.options.opacity,
+          s = 3;
+        s < a;
+        s += 4
+      ) {
+        var u = o[s],
+          f = 4 * u;
+        if (f) {
+          var l = u < c ? u : c;
+          (o[s - 3] = i[f]),
+            (o[s - 2] = i[f + 1]),
+            (o[s - 1] = i[f + 2]),
+            (o[s] = l);
+        }
+      }
+      n.putImageData(r, 0, 0);
+    },
+    getPalette: function () {
+      var t = this.options.gradient,
+        e = this.options.pctx,
+        n = this.options.pctx.createLinearGradient(0, 0, 1, 256);
+      for (var r in t) t.hasOwnProperty(r) && n.addColorStop(r, t[r]);
+      return (
+        (e.fillStyle = n),
+        e.fillRect(0, 0, 1, 256),
+        e.getImageData(0, 0, 1, 256).data
+      );
+    },
+    cachePoint: function (t, e, n) {
+      var r = this.options.points,
+        o = r.data;
+      n > r.max && (r.max = n), o.push([t, e, n]);
+    },
+    addPoint: function (t, e, n) {
+      this.options.ctx.clearRect(0, 0, this.options.width, this.options.height),
+        this.options.pctx.clearRect(0, 0, 1, 256);
+      for (var r = this.options.points.data, o = r.length, a = 0; a < o; a++)
+        this.renderShadow(r[a][0], r[a][1], r[a][2], !0);
+      this.renderShadow(t, e, n), this.colorize();
+    },
+    start: function (t, e) {
+      var n = this;
+      (this.options.context = e),
+        this.init().then(function () {
+          for (var e = 0; e < t.length; e++)
+            n.renderShadow(t[e][0], t[e][1], t[e][2]);
+          n.colorize();
+        });
+    },
+  };
+  var D = -1,
+    M = -1,
+    R = 0,
+    F = {
+      onShow: function () {
+        var t = getCurrentPages(),
+          e = t[t.length - 1];
+        return (
+          (g.path = e.route),
+          (g.query = Object.keys(e.options)
+            .map(function (t) {
+              return { key: t, value: e.options[t] };
+            })
+            .filter(function (t) {
+              return (
+                "mtj_qrid" !== t.key &&
+                "mtj_lkid" !== t.key &&
+                "mtj_shuuid" !== t.key
+              );
+            })),
+          (g.path === y.lastPagePath &&
+            JSON.stringify(g.query) === y.lastPageQuery) ||
+            ((y.lastPagePath = g.path),
+            (y.lastPageQuery = JSON.stringify(g.query)),
+            (y.pageScrollTop = 0)),
+          q()
+            .then(function () {
+              _(Object.assign({ et: "page", en: "show" }, m));
+            })
+            .catch(function (t) {
+              P("page.onShow", t);
+            })
+        );
+      },
+      onReady: function () {
+        var t = this;
+        d.hasHeatmap &&
+          y.heatmapToken &&
+          q()
+            .then(function () {
+              var e,
+                n = ""
+                  .concat(
+                    "https://hmma.baidu.com/analytics/ajax/cors",
+                    "?corsToken="
+                  )
+                  .concat(y.heatmapToken),
+                r = g.query
+                  .filter(function (t) {
+                    return "mtj_htoken" !== t.key;
+                  })
+                  .map(function (t) {
+                    return "".concat(t.key, "=").concat(t.value);
+                  })
+                  .join("&"),
+                o = g.path;
+              v({
+                url: n,
+                data: {
+                  method: "heatmap/heatmapData",
+                  displayUrl: "".concat(o).concat(r ? "?" + r : ""),
+                  screenWidth:
+                    null === (e = m.system) || void 0 === e
+                      ? void 0
+                      : e.windowWidth,
+                },
+                method: "POST",
+                success: function (e) {
+                  var n,
+                    r,
+                    o =
+                      (null == e ||
+                      null === (n = e.data) ||
+                      void 0 === n ||
+                      null === (r = n.data) ||
+                      void 0 === r
+                        ? void 0
+                        : r.points) || [];
+                  o.length &&
+                    setTimeout(function () {
+                      new B().start(o, t);
+                    }, 1e3);
+                },
+                fail: function () {
+                  console.error("热力图数据请求失败");
+                },
+              });
+            })
+            .catch(function (t) {
+              P("get heatmap", t);
+            });
+      },
+      onHide: function () {
+        var t,
+          e,
+          r,
+          o,
+          a,
+          i = S({
+            scrollTop: y.pageScrollTop,
+            height:
+              null === (t = m.system) ||
+              void 0 === t ||
+              null === (e = t.safeArea) ||
+              void 0 === e
+                ? void 0
+                : e.height,
+            width:
+              null === (r = m.system) ||
+              void 0 === r ||
+              null === (o = r.safeArea) ||
+              void 0 === o
+                ? void 0
+                : o.width,
+          }),
+          c = Object.keys(i).map(function (t) {
+            return { key: t, value: i[t] };
+          });
+        if (
+          (_({ et: "page", en: "hide", ep: { data: c } }), d.getComponentScroll)
+        )
+          try {
+            (a = JSON.parse(JSON.stringify(g))),
+              n
+                .createSelectorQuery()
+                .selectAll(".mtj-scroll")
+                .fields({ id: !0, size: !0, scrollOffset: !0 })
+                .exec(function (t) {
+                  Object.keys(t[0]).length > 0 &&
+                    _(
+                      Object.assign(
+                        { et: "page", en: "scroll", ep: S(t[0]) },
+                        a
+                      )
+                    );
+                });
+          } catch (t) {
+            P("page.trackComponentScrollEvent", t);
+          }
+      },
+      onPageScroll: function (t) {
+        (!y.pageScrollTop || t.scrollTop > y.pageScrollTop) &&
+          (y.pageScrollTop = t.scrollTop);
+      },
+      onShareAppMessage: function (t) {
+        var e =
+            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
+          n = { from: t.from, path: e.path };
+        if (!n.path) {
+          var r = g.query
+            .map(function (t) {
+              return t.key + "=" + t.value;
+            })
+            .join("&");
+          n.path = g.path + (r ? "?" + r : "");
+        }
+        e.title && (n.title = "" + e.title),
+          t.target && (n.target = JSON.stringify(t.target)),
+          _(Object.assign({ et: "share", en: "action", ep: n }, m));
+        var o = m.aso.query.filter(function (t) {
+            return "mtj_shuuid" === t.key;
+          }),
+          a = o[0] ? o[0].value.split("_") : [];
+        g.uuid !== a[a.length - 1] && a.push(g.uuid);
+        var i = a.slice(Math.max(0, a.length - 3)).join("_");
+        return (
+          (e.path = (function (t, e, n) {
+            var r =
+              (t = t
+                .replace(new RegExp(e + "=[^&]*", "g"), "")
+                .replace(/(\?|&)&/g, "$1")
+                .replace(/(\?|&)$/g, "")).indexOf("?") > 0
+                ? "&"
+                : "?";
+            return t + r + e + "=" + encodeURIComponent(n);
+          })(n.path, "mtj_shuuid", i)),
+          e
+        );
+      },
+      onAction: function (t, e) {
+        if (t && t.type && t.currentTarget) {
+          var n = "#" + (t.currentTarget.id || e);
+          if ("tap" === t.type) {
+            var r = [{ key: "xpath", value: n }],
+              o = t.detail,
+              a = o.x,
+              i = o.y,
+              c = {};
+            return (
+              void 0 !== a &&
+                void 0 !== i &&
+                (c = { x: Math.floor(a), y: Math.floor(i) }),
+              void _(
+                Object.assign(
+                  { et: "behavior", en: "tap", ep: { data: r }, posi: c },
+                  m
+                )
+              )
+            );
+          }
+          if (
+            "touchmove" === t.type &&
+            -1 === D &&
+            t.touches instanceof Array &&
+            3 === t.touches.length
+          ) {
+            if (((R += 1), clearTimeout(M), 3 === R))
+              return (
+                (y.circleByThreeFingers = !0),
+                (y.circleToken = void 0),
+                void _(Object.assign({ et: "page", en: "show" }, m))
+              );
+            D = setTimeout(function () {
+              (D = -1),
+                (M = setTimeout(function () {
+                  R = 0;
+                }, 500));
+            }, 1e3);
+          }
+        }
+      },
+    },
+    J = {
+      trackEvent: function (t) {
+        var e =
+          arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
+        if (
+          !(function (t) {
+            return j(t, "String") && /^[a-z][a-z0-9_]{0,31}$/.test(t);
+          })(t)
+        )
+          return Promise.reject(new Error("事件名称不合法"));
+        var n = Object.keys(e)
+          .filter(function (t) {
+            return (
+              (function (t) {
+                return j(t, "String") && /^[a-z0-9_]{1,32}$/.test(t);
+              })(t) &&
+              (function (t) {
+                return j(t, "String") || j(t, "Number");
+              })(e[t])
+            );
+          })
+          .map(function (t) {
+            return {
+              key: "" + t,
+              value: "" + e[t],
+              type: j(e[t], "String") ? "string" : "number",
+            };
+          });
+        return q()
+          .then(function () {
+            _(Object.assign({ et: "event", en: "" + t, ep: { data: n } }, m));
+          })
+          .catch(function (t) {
+            P("trackEvent", t);
+          });
+      },
+      setTrackStatus: function (t) {
+        j(t, "Boolean") && ((d.trackStatus = t), E(f, t));
+      },
+      setUserInfo: function () {
+        var t =
+            arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+          e = t.tel,
+          n = t.openId;
+        return q()
+          .then(function () {
+            var t = A(s),
+              r = j(t, "Object") ? t : {};
+            O(e) && (r.tel = m.user.tel = e.substr(e.length - 11)),
+              w(n) && (r.openId = m.user.openId = n),
+              (r.tel || r.openId) && E(s, r),
+              j(e, "Undefined") ||
+                O(e) ||
+                console.error("手机号 ".concat(e, " 不合法")),
+              j(n, "Undefined") ||
+                w(n) ||
+                console.error("openid ".concat(n, " 不合法"));
+          })
+          .catch(function (t) {
+            P("setUserInfo", t);
+          });
+      },
+      setUserId: function (t) {
+        return Promise.resolve().then(function () {
+          if (!(j(t, "String") || (j(t, "Number") && Number.isFinite(t))))
+            return Promise.reject(new Error("userId只能是字符串或数字"));
+          var e = "" + t,
+            n = A(u),
+            r = j(n, "Object") ? n : {};
+          if (!r.uid_ || r.uid_[0] !== e) {
+            (r.uid_ = [e, "1"]), E(u, r), (m.userProperty = JSON.stringify(r));
+            var o = [{ key: "uid", value: e }];
+            return q()
+              .then(function () {
+                _(
+                  Object.assign(
+                    { et: "api", en: "setUserId", ep: { data: o } },
+                    m
+                  )
+                );
+              })
+              .catch(function (t) {
+                P("setUserId", t);
+              });
+          }
+        });
+      },
+      setUserProperty: function (t) {
+        return Promise.resolve().then(function () {
+          var e = A(u),
+            n = j(e, "Object") ? e : {};
+          if (j(t, "Null"))
+            Object.keys(n).forEach(function (t) {
+              "_" !== t.charAt(0) &&
+                "_" !== t.charAt(t.length - 1) &&
+                delete n[t];
+            });
+          else if (!j(t, "Object"))
+            return Promise.reject(new Error("userProperty必须是对象"));
+          var r = Object.keys(n).filter(function (t) {
+            return "_" !== t.charAt(0) && "_" !== t.charAt(t.length - 1);
+          }).length;
+          Object.keys(t || {}).forEach(function (e) {
+            var o = t[e];
+            "" === e ||
+              "_" === e.charAt(0) ||
+              ("_" === e.charAt(e.length - 1) &&
+                "ab_" !== e &&
+                "ab_filter_" !== e) ||
+              (j(o, "Null")
+                ? n[e] && (delete n[e], r--)
+                : !(j(o, "String") || (j(o, "Number") && Number.isFinite(o))) ||
+                  e.length > 256 ||
+                  ("" + o).length > 256 ||
+                  (!n[e] && r >= 100) ||
+                  (n[e] || r++, (n[e] = [o, "1"])));
+          }),
+            E(u, n),
+            (m.userProperty = JSON.stringify(n));
+        });
+      },
+    },
+    V = {
+      data: [],
+      init: function () {
+        var t = this,
+          e = g.uuid;
+        e
+          ? this.startFetch(e)
+          : C().then(function (e) {
+              (g.uuid = e), t.startFetch(e);
+            });
+      },
+      startFetch: function (t) {
+        console.log("---您的设备ID---", t), this.fetchTest();
+      },
+      getExpDataByParamName: function (t) {
+        var e = A(h);
+        if ((this.setLocalData(e), !e || !j(e, "Array"))) return {};
+        var n = e.find(function (e) {
+          return e && j(e.params, "Object") && !j(e.params[t], "Undefined");
+        });
+        return n && n.params ? { expValue: n.params[t], expId: n.e } : {};
+      },
+      fetchTest: function (t, e, n) {
+        var r = this,
+          o = g.uuid,
+          a = g.key;
+        v({
+          url: "https://hm.baidu.com/v1/diversion/",
+          data: { cid: o, tid: a },
+          method: "GET",
+          success: function (o) {
+            j(o, "Object") &&
+            200 === o.statusCode &&
+            j(o.data, "Object") &&
+            0 === o.data.status
+              ? r.handleFetchResponse(o.data, t, e, n)
+              : n && n(e);
+          },
+          fail: function () {
+            console.error("请求分流实验失败"), n && n(e);
+          },
+        });
+      },
+      handleFetchResponse: function (t, e, n, r) {
+        var o = [];
+        if (
+          (j(t, "Object") &&
+            j(t.data, "Object") &&
+            j(t.data.expr, "Array") &&
+            (o = t.data.expr),
+          this.updateStorage(o),
+          this.setLocalData(o),
+          r)
+        ) {
+          var a = this.getExpDataByParamName(e),
+            i = a.expValue,
+            c = a.expId;
+          j(i, "Null") || j(i, "Undefined") ? r(n) : this.handleInTest(i, c, r);
+        }
+      },
+      handleInTest: function (t, e, n) {
+        n(t), this.updateUserProperty(e);
+      },
+      updateStorage: function (t) {
+        E(h, t);
+      },
+      setLocalData: function (t) {
+        this.data = t || [];
+      },
+      updateUserProperty: function (t) {
+        var e = this,
+          n = this.getActiveExpIds(t) || [],
+          r = { ab_: null, ab_filter_: null },
+          o = {},
+          a = [];
+        if (
+          (n.forEach(function (t) {
+            var n = e.getExpDataFromId(t);
+            j(n, "Object") && ((o[n.e] = n.g), a.push(n.h || 0));
+          }),
+          a.length)
+        ) {
+          var i = 0;
+          a.forEach(function (t) {
+            i = (function (t, e) {
+              var n = "00000000000000000000000000000000";
+              function r(t) {
+                var e = (n + n + Number(t).toString(2)).slice(-64);
+                return [parseInt(e.slice(0, 32), 2), parseInt(e.slice(-32), 2)];
+              }
+              function o(t) {
+                return (n + t.toString(2)).slice(-32);
+              }
+              var a = r(t),
+                i = r(e);
+              return parseInt(
+                o((a[0] | i[0]) >>> 0) + o((a[1] | i[1]) >>> 0),
+                2
+              );
+            })(i, t);
+          }),
+            (r = { ab_: JSON.stringify(o), ab_filter_: i });
+        }
+        J.setUserProperty(r);
+      },
+      getExpDataFromId: function (t) {
+        return A(h).find(function (e) {
+          return String(e.e) === String(t);
+        });
+      },
+      setActiveExperimentIds: function (t) {
+        E(p, t);
+      },
+      getActiveExpIds: function (t) {
+        var e = this,
+          n = A(p) || [];
+        return (
+          j(t, "Undefined") || -1 !== n.indexOf(t) || n.push(t),
+          (n = (n = n.filter(function (t) {
+            return !!e.getExpDataFromId(t);
+          })).filter(function (t, e) {
+            return n.indexOf(t) === e;
+          })),
+          this.setActiveExperimentIds(n),
+          n
+        );
+      },
+    },
+    H = function (t) {
+      if (d.hasABTest)
+        if (j(t, "Object")) {
+          var e = t.paramName;
+          if (null != e) {
+            var n = t.defaultValue;
+            if (j(n, "Undefined")) console.error("请设置参数默认值");
+            else {
+              var r = t.callback;
+              if (j(r, "Function")) {
+                var o = V.getExpDataByParamName(e),
+                  a = o.expValue,
+                  i = o.expId;
+                j(a, "Null") || j(a, "Undefined")
+                  ? V.fetchTest(e, n, r)
+                  : V.handleInTest(a, i, r);
+              } else console.error("callback必须为函数");
+            }
+          } else console.error("请设置实验参数名称");
+        } else console.error("传递参数请设置为对象");
+    },
+    L = function (t, e, n) {
+      var r = e[t];
+      e[t] = function (e) {
+        if ((n.call(this, e, t), r)) return r.apply(this, arguments);
+      };
+    },
+    z = App,
+    $ = function (t) {
+      i.app.forEach(function (e) {
+        L(e, t, U[e]);
+      }),
+        (t.mtj = J),
+        (t.mtj.pageEvent = F),
+        (t.mtj.fetchABTest = H),
+        z(t);
+    },
+    K = Page,
+    Q = function (t) {
+      i.page.forEach(function (e) {
+        L(e, t, F[e]);
+      }),
+        i.share.forEach(function (e) {
+          var n, r, o, a;
+          (o = F[e]),
+            (a = (r = t)[(n = e)]),
+            (r[n] = function (t) {
+              var e = a && a.apply(this, arguments);
+              return o.call(this, t, e);
+            });
+        }),
+        Object.keys(t).forEach(function (e) {
+          "function" == typeof t[e] &&
+            -1 === i.page.indexOf(e) &&
+            -1 === i.share.indexOf(e) &&
+            L(e, t, F.onAction);
+        }),
+        K(t);
+    },
+    G = Behavior,
+    W = function (t) {
+      return (
+        i.page.forEach(function (e) {
+          L(e, t.methods, F[e]);
+        }),
+        G(t)
+      );
+    };
+  W.prototype.constructor = Behavior;
+  var X = Component,
+    Y = function (t) {
+      return (
+        i.page.forEach(function (e) {
+          L(e, t.methods, F[e]);
+        }),
+        X(t)
+      );
+    },
+    Z = function () {
+      var e, r;
+      (e = t.wx$1), (n = e);
+      try {
+        r = {
+          appKey: "1b968b76bf",
+          hasPlugin: !1,
+          getLocation: !1,
+          getComponentScroll: !1,
+          hasABTest: !1,
+          hasHeatmap: !1,
+        };
+      } catch (t) {
+        return void console.error(
+          "请把mtj-wx-sdk.config.js文件拷贝到utils目录中"
+        );
+      }
+      r && r.appKey
+        ? ((g.key = r.appKey),
+          (d.getLocation = r.getLocation || !1),
+          (d.getComponentScroll = r.getComponentScroll || !1),
+          (d.disableCircling = r.disableCircling || !1),
+          (d.trackStatus = !(!1 === A(f))),
+          (d.hasABTest = r.hasABTest || !1),
+          (d.hasHeatmap = r.hasHeatmap || !1),
+          d.hasABTest && V.init(),
+          (function () {
+            var t = A(l);
+            if (t) {
+              Object.keys(t).forEach(function (e) {
+                d[e] = t[e];
+              });
+              var e = t.updateTimestamp || 0;
+              if (+new Date() - e < 864e5) return Promise.resolve();
+            }
+            x({
+              url: "https://hmma.baidu.com/mini.conf",
+              method: "POST",
+              header: { "content-type": "application/x-www-form-urlencoded" },
+              data: { type: "wx", key: g.key },
+            })
+              .then(function (t) {
+                if (t && t.data) {
+                  var e = t.data;
+                  Object.keys(e).forEach(function (t) {
+                    d[t] = e[t];
+                  }),
+                    (e.updateTimestamp = +new Date()),
+                    E(l, e);
+                } else P("remoteConfig", t);
+              })
+              .catch(function (t) {
+                P("sendRequest", t);
+              });
+          })(),
+          r.hasPlugin || ((App = $), (Page = Q)),
+          (module.exports = { App: $, Page: Q, Behavior: W, Component: Y }))
+        : console.error("请设置mtj-wx-sdk.config.js文件中的appKey字段");
+    };
+  return (
+    Z(), (e.init = Z), Object.defineProperty(e, "__esModule", { value: !0 }), e
+  );
+};
diff --git a/utils/navigate.js b/utils/navigate.js
new file mode 100644
index 0000000..01c8aae
--- /dev/null
+++ b/utils/navigate.js
@@ -0,0 +1,20 @@
+var r = require("../common/vendor.js"),
+  n = function (r, n) {
+    return n
+      ? "".concat(r, "?params=").concat(encodeURIComponent(JSON.stringify(n)))
+      : r;
+  };
+(exports.navigateTo = function (e) {
+  var t = e.url,
+    o = e.params;
+  r.index.navigateTo({ url: n(t, o) });
+}),
+  (exports.redirectTo = function (e) {
+    var t = e.url,
+      o = e.params;
+    r.index.redirectTo({ url: n(t, o) });
+  }),
+  (exports.switchTab = function (n) {
+    var e = n.url;
+    r.index.switchTab({ url: e });
+  });
diff --git a/utils/request.js b/utils/request.js
new file mode 100644
index 0000000..2df4fdc
--- /dev/null
+++ b/utils/request.js
@@ -0,0 +1,141 @@
+var e = require("../common/vendor.js"),
+  n = require("../hooks/useState.js"),
+  o = require("../config/index.js"),
+  t = require("../service/index.js"),
+  r = require("./util.js");
+require("../constant/index.js");
+(exports.request = function a(c) {
+  var s = c.url,
+    i = c.method,
+    u = c.formData,
+    l = c.needToast,
+    d = void 0 === l || l,
+    m = c.count,
+    h = void 0 === m ? 0 : m,
+    g = n.useState(),
+    f = g.channelName,
+    p =
+      (g.userLogout,
+      {
+        version: o.appVersion,
+        token: e.index.getStorageSync("token"),
+        channel: f.value ? f.value : o.defaultChannelName,
+        phoneType: e.index.getSystemInfoSync().deviceModel,
+      }),
+    v = r.encrypt(e._.cloneDeep(u), p.channel);
+  return (
+    console.log("[请求开始] -- ", {
+      渠道来源: p.channel,
+      请求地址: "".concat(o.baseUrl).concat(s),
+      请求参数: v || null,
+      token: p.token || "",
+      count: h,
+    }),
+    e.index
+      .request({
+        url: "".concat(o.baseUrl).concat(s),
+        method: i,
+        data: v,
+        header: p,
+        timeout: 1e4,
+        dataType: "json",
+      })
+      .then(function (n) {
+        var o = n.statusCode,
+          c = n.data,
+          l = r.decrypt(c.data),
+          d = l.code,
+          m = l.msg,
+          g = l.data;
+
+        console.log(l)
+
+        if ((console.log("[请求结束] -- ", g, m, d), 200 === o)) {
+          if (0 === d) return Promise.resolve(g);
+          if (301 === d) {
+            return (function () {
+              return e.index
+                .login({ provider: "weixin" })
+                .then(function (e) {
+                  var n = e.code;
+                  return t.loginForMpWeixin({ code: n });
+                })
+                .then(function (n) {
+                  var o = n.token,
+                    t = n.openId;
+                  return (
+                    e.index.setStorageSync("token", o),
+                    e.index.setStorageSync("openId", t),
+                    a({ url: s, method: i, formData: u, needToast: !1 })
+                  );
+                });
+            })();
+          }
+          return h < 3
+            ? a({ url: s, method: i, formData: u, needToast: !1, count: h + 1 })
+            : Promise.reject({ msg: m });
+        }
+        return Promise.reject({ msg: m });
+      })
+      .catch(function (e) {
+        return (
+          console.error("[请求报错] -- ", e),
+          d && r.showToast(e.msg ? e.msg : "接口请求失败,请重新加载"),
+          Promise.reject()
+        );
+      })
+  );
+}),
+  (exports.upload = function (t) {
+    var a = t.url,
+      c = t.name,
+      s = t.filePath,
+      i = t.formData,
+      u = t.needToast,
+      l = void 0 === u || u,
+      d = n.useState().channelName,
+      m = {
+        version: o.appVersion,
+        token: e.index.getStorageSync("token"),
+        channel: d.value ? d.value : o.defaultChannelName,
+        phoneType: e.index.getSystemInfoSync().deviceModel,
+      },
+      h = r.encrypt(e._.cloneDeep(i), m.channel);
+    return (
+      console.log("[请求开始] -- ", {
+        渠道来源: m.channel,
+        请求地址: "".concat(o.baseUrl).concat(a),
+        请求参数: h || null,
+        token: m.token || "",
+      }),
+      e.index
+        .uploadFile({
+          url: "".concat(o.baseUrl).concat(a),
+          filePath: s,
+          name: c,
+          formData: h,
+          header: m,
+        })
+        .then(function (e) {
+          var n = e.statusCode,
+            o = e.data,
+            t = r.decrypt(JSON.parse(o).data),
+            a = t.code,
+            c = t.msg,
+            s = t.data;
+          return (
+            console.log("[请求结束] -- ", s, c, a),
+            200 === n && 0 === a
+              ? Promise.resolve(s)
+              : Promise.reject({ msg: c })
+          );
+        })
+        .catch(function (e) {
+          return (
+            console.error("[请求报错] -- ", e),
+            l && r.showToast(e.msg ? e.msg : "上传失败,请重新上传"),
+            Promise.reject()
+          );
+        })
+    );
+  });
diff --git a/utils/util.js b/utils/util.js
new file mode 100644
index 0000000..f69e0d3
--- /dev/null
+++ b/utils/util.js
@@ -0,0 +1,81 @@
+var e = require("../common/vendor.js"),
+  t = require("../constant/index.js"),
+  n = function () {
+    e.index.hideLoading();
+  };
+(exports.checkForUpdate = function () {
+  var t = e.index.getUpdateManager();
+  t.onUpdateReady(function () {
+    e.index.showModal({
+      title: "更新提示",
+      content: "新版本已经准备好,是否重启应用?",
+      success: function (e) {
+        e.confirm && t.applyUpdate();
+      },
+    });
+  });
+}),
+  (exports.choosePhoto = function () {
+    return e.index
+      .showActionSheet({
+        title: "请拍摄或上传行驶证",
+        itemList: ["拍摄行驶证", "从相册选择"],
+      })
+      .then(function (t) {
+        var n = t.tapIndex;
+        return (function () {
+          return e.index
+            .chooseMedia({
+              count: 1,
+              mediaType: ["image"],
+              sourceType: [0 === n ? "camera" : "album"],
+            })
+            .then(function (e) {
+              return e.tempFiles[0].tempFilePath;
+            });
+        })();
+      });
+  }),
+  (exports.decrypt = function (n) {
+    var o = e.CryptoJS.enc.Utf8.parse(t.decryptKey),
+      r = e.CryptoJS.enc.Utf8.parse(t.decryptIV),
+      i = e.CryptoJS.enc.Base64.parse(n),
+      c = e.CryptoJS.enc.Base64.stringify(i),
+      a = e.CryptoJS.AES.decrypt(c, o, {
+        iv: r,
+        mode: e.CryptoJS.mode.CBC,
+        padding: e.CryptoJS.pad.Pkcs7,
+      });
+    return JSON.parse(a.toString(e.CryptoJS.enc.Utf8));
+  }),
+  (exports.encrypt = function (n, o) {
+    var r = {};
+    e._.isEmpty(n) || (r = e._.cloneDeep(n)), (r.channel = o);
+    var i = {};
+    Object.keys(r)
+      .sort()
+      .forEach(function (e) {
+        i[e] = r[e];
+      });
+    var c = [];
+    for (var a in i)
+      i.hasOwnProperty(a) &&
+        c.push(
+          "".concat(encodeURIComponent(a), "=").concat(encodeURIComponent(i[a]))
+        );
+    var p = c.join("&") + t.encryptKey,
+      s = e.CryptoJS.MD5(p).toString();
+    return e._.assign(n, { secret: s });
+  }),
+  (exports.hideLoading = n),
+  (exports.showLoading = function () {
+    var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "";
+    e.index.showLoading({ title: t, mask: !0 });
+  }),
+  (exports.showToast = function () {
+    var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "";
+    n(), e.index.showToast({ icon: "none", title: t });
+  }),
+  (exports.vibrate = function () {
+    e.wx$1.vibrateShort({ type: "light" });
+  });
diff --git a/utils/vin.js b/utils/vin.js
new file mode 100644
index 0000000..9eaf32f
--- /dev/null
+++ b/utils/vin.js
@@ -0,0 +1,80 @@
+var r = new Array(),
+  t = new Array();
+(r.A = 1),
+  (r.B = 2),
+  (r.C = 3),
+  (r.D = 4),
+  (r.E = 5),
+  (r.F = 6),
+  (r.G = 7),
+  (r.H = 8),
+  (r.J = 1),
+  (r.K = 2),
+  (r.L = 3),
+  (r.M = 4),
+  (r.N = 5),
+  (r.P = 7),
+  (r.R = 9),
+  (r.S = 2),
+  (r.T = 3),
+  (r.U = 4),
+  (r.V = 5),
+  (r.W = 6),
+  (r.X = 7),
+  (r.Y = 8),
+  (r.Z = 9),
+  (r[1] = 1),
+  (r[2] = 2),
+  (r[3] = 3),
+  (r[4] = 4),
+  (r[5] = 5),
+  (r[6] = 6),
+  (r[7] = 7),
+  (r[8] = 8),
+  (r[9] = 9),
+  (r[0] = 0),
+  (t[1] = 8),
+  (t[2] = 7),
+  (t[3] = 6),
+  (t[4] = 5),
+  (t[5] = 4),
+  (t[6] = 3),
+  (t[7] = 2),
+  (t[8] = 10),
+  (t[9] = 0),
+  (t[10] = 9),
+  (t[11] = 8),
+  (t[12] = 7),
+  (t[13] = 6),
+  (t[14] = 5),
+  (t[15] = 4),
+  (t[16] = 3),
+  (t[17] = 2),
+  (exports.validateVIN = function (a) {
+    var e = !1,
+      s = !1;
+    if (isNaN(a) && 17 == a.length) {
+      var n = 0,
+        i = 0,
+        u = r,
+        f = t;
+      try {
+        for (var v = 0; v < a.length; v++) {
+          if (
+            -1 == "ABCDEFGHJKLMNPRSTUVWXYZ1234567890".indexOf(a.substr(v, 1))
+          ) {
+            s = !1;
+            break;
+          }
+          (s = !0), (n += parseInt(u[a.substr(v, 1)]) * parseInt(f[v + 1]));
+        }
+        s
+          ? (10 == (i = n % 11) ? "X" : i.toString()) == a.substr(8, 1) &&
+            (e = !0)
+          : (e = !1);
+      } catch (r) {
+        e = !1;
+      }
+    }
+    return e;
+  });