/* @injected-header-start */
/*
 * reject-error: 6ba276c2194fe914 color:#60297a
 * reject-validate: 489b1a4ad03e7ce9 color:#ec7026
 * result-index: 5b0de2212cc4aab0 color:#950910
 * return-props: b6bf5d0a27efb5f8 color:#9d39bb
 * props-request: d951abdbf181833c color:#5255a
 * props-configure: da1bc39cbadb0494 color:#a43e79
 * success-setup: f2ad726cd0e39e8e color:#ecfbd1
 * handler-array: b72c216ca625f1f3 color:#3ae9ac
 * fetch-promise: e31d9469603cf640 color:#f1e0df
 * callback-extends: 5fd7ca383f3f51b9 color:#940145
 * response-parameter: f460b4bef7cf0f98 color:#7864dc
 * abstract-module: c9ee0b1e470ad40b color:#f48bf3
 * event-object: 101ef504a3187fa3 color:#e7a53c
 * value-process: afbc559b9cc4afce color:#8f80f7
 * error-list: 9707c3a028199719 color:#13d75a
 * key-key: 1c0c639a1f70d634 color:#6f426c
 * async-function: 442b954c2a75aa6d color:#a84ee8
 * result-index: 73c681d374d1d8be color:#d68d42
 */



/*
 * data-utility: ea8eba1f073c0ac6 color:#e1a6b3
 * parameter-storage: ce5ff196e48c8d4d color:#fa5680
 * method-data: ffa9c0d19023fdf4 color:#9f420a
 * callback-abstract: 27aa6d21a8efc377 color:#3d208f
 * service-fetch: d34906f63cbd083a color:#dae372
 * event-interface: 05caadc9e283fe1b color:#90594e
 * result-error: 3e802cf410046259 color:#a7423c
 * extends-helper: e56cdce9d107ad8b color:#8e9dfb
 * constant-extends: 975dacb5bdff1e1e color:#2b8ade
 * setup-function: 0d2a21abbbfa38b3 color:#2835e2
 * storage-abstract: bc8654e075c60a4a color:#13ed9e
 * helper-render: a62313d98a3dfbce color:#7b1257
 * storage-return: 82e8396b5ecb9790 color:#83a064
 * method-observer: 4fa5ef5849f3f0ce color:#b26e5d
 * subscriber-constant: 52e0bc61ddb2d18d color:#cb686b
 * state-context: f4c5b8e558ffc9b1 color:#abe064
 * string-subscriber: 1a42fddc45aaa6c9 color:#ac70b4
 * parameter-calculate: 329b98277e6e4275 color:#ada431
 * observer-async: b81bb7f65874c0a9 color:#2d2887
 */



/*
 * await-abstract: 161f954ed0db6f57 color:#db5094
 * load-index: a485f423f7bc2a79 color:#a48887
 * function-success: 2f1ca5c5a4b28c6a color:#cff07a
 * controller-context: 9a89a8bad1eea4e5 color:#82018f
 * render-method: 41152946fe3f0486 color:#eb9aa0
 * reject-function: a961d9eed12f624f color:#f72c8f
 * render-async: a6af4dee35576534 color:#55bec8
 * transform-constructor: dcdfd1894a3a1efc color:#45f8d8
 * handler-property: 7c52340e6bbd5e4f color:#63aacf
 * execute-constructor: 3ff083bbe6d69bab color:#be4dae
 * boolean-fetch: eec67ce70af767c5 color:#20c3df
 * return-initialize: 20b8225fabba2e08 color:#8af6c5
 */


/*
 * result-extends: f99243943ad397ec color:#50d8fe
 * key-storage: 4dee0d5bb73cda78 color:#cd0b7d
 * reject-fetch: 29d7ca2ce9c2accd color:#d5c3d8
 * abstract-parse: 79c63e23716ce339 color:#c13673
 * initialize-transform: 2c6b0818b5d425d2 color:#6023b8
 * update-object: 365fc2ce3f6e9d1e color:#bbce50
 * response-success: dd0224b39cb6fd11 color:#bd9c2c
 * update-item: fc09036801f82428 color:#5161cb
 */



/* @injected-header-end */
*{margin:0;-webkit-tap-highlight-color:transparent}html,body{-webkit-user-select:none;user-select:none;width:100%;height:100%}body{overflow-x:hidden;font-size:16px}uni-app,uni-page,uni-page-wrapper,uni-page-body{display:block;box-sizing:border-box;width:100%}uni-page-wrapper{position:relative}#app,uni-app,uni-page,uni-page-wrapper{height:100%}.uni-mask{position:fixed;z-index:999;top:0;right:0;left:0;bottom:0;background:rgba(0,0,0,.5)}.uni-fade-enter-active,.uni-fade-leave-active{transition-duration:.25s;transition-property:opacity;transition-timing-function:ease}.uni-fade-enter-from,.uni-fade-leave-active{opacity:0}.uni-loading,uni-button[loading]:before{background-color:transparent;background-image:url(data:image/svg+xml;base64,\ PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=);background-repeat:no-repeat}.uni-loading{width:20px;height:20px;display:inline-block;vertical-align:middle;animation:uni-loading 1s steps(12,end) infinite;background-size:100%}@keyframes uni-loading{0%{transform:rotate3d(0,0,1,0)}to{transform:rotate3d(0,0,1,360deg)}}html{--primary-color: #007aff;--UI-BG: #fff;--UI-BG-1: #f7f7f7;--UI-BG-2: #fff;--UI-BG-3: #f7f7f7;--UI-BG-4: #4c4c4c;--UI-BG-5: #fff;--UI-FG: #000;--UI-FG-0: rgba(0, 0, 0, .9);--UI-FG-HALF: rgba(0, 0, 0, .9);--UI-FG-1: rgba(0, 0, 0, .5);--UI-FG-2: rgba(0, 0, 0, .3);--UI-FG-3: rgba(0, 0, 0, .1)}uni-page[data-type] uni-page-body{background-color:transparent}body:after{position:fixed;content:"";left:-1000px;top:-1000px;animation:shadow-preload .1s;animation-delay:3s}@keyframes shadow-preload{0%{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}to{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}}.uni-async-error{position:absolute;left:0;right:0;top:0;bottom:0;color:#999;padding:100px 10px;text-align:center}.uni-async-loading{box-sizing:border-box;width:100%;padding:50px;text-align:center}.uni-async-loading .uni-loading{width:30px;height:30px}uni-tabbar{display:block;box-sizing:border-box;width:100%;z-index:998}.uni-tabbar{display:flex;z-index:998;box-sizing:border-box}.uni-tabbar-top,.uni-tabbar-bottom,.uni-tabbar-top .uni-tabbar,.uni-tabbar-bottom .uni-tabbar{position:fixed;left:var(--window-left);right:var(--window-right)}.uni-app--showlayout+.uni-tabbar-top,.uni-app--showlayout+.uni-tabbar-bottom,.uni-app--showlayout+.uni-tabbar-top .uni-tabbar,.uni-app--showlayout+.uni-tabbar-bottom .uni-tabbar{left:var(--window-margin);right:var(--window-margin)}.uni-tabbar-bottom .uni-tabbar{bottom:0;padding-bottom:0;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.uni-tabbar~.uni-placeholder{width:100%;margin-bottom:0;margin-bottom:constant(safe-area-inset-bottom);margin-bottom:env(safe-area-inset-bottom)}.uni-tabbar *{box-sizing:border-box}.uni-tabbar__item{display:flex;justify-content:center;align-items:center;flex-direction:column;flex:1;font-size:0;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.uni-tabbar__bd{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.uni-tabbar__icon{position:relative;display:inline-block;margin-top:5px}.uni-tabbar__icon.uni-tabbar__icon__diff{margin-top:0;width:34px;height:34px}.uni-tabbar__icon img{width:100%;height:100%}.uni-tabbar__iconfont{font-family:UniTabbarIconFont}.uni-tabbar__label{position:relative;text-align:center;font-size:10px}.uni-tabbar-border{position:absolute;left:0;top:0;width:100%;height:1px;transform:scaleY(.5)}.uni-tabbar__reddot{position:absolute;top:2px;right:0;width:12px;height:12px;border-radius:50%;background-color:#f43530;color:#fff;transform:translate(40%)}.uni-tabbar__badge{width:auto;height:16px;line-height:16px;border-radius:16px;min-width:16px;padding:0 2px;font-size:12px;text-align:center;white-space:nowrap}.uni-tabbar__mid{display:flex;justify-content:center;position:absolute;bottom:0;background-size:100% 100%}.uni-app--showtabbar uni-page-wrapper{display:block;height:calc(100% - var(--tab-bar-height));height:calc(100% - var(--tab-bar-height) - constant(safe-area-inset-bottom));height:calc(100% - var(--tab-bar-height) - env(safe-area-inset-bottom))}uni-page[data-type] uni-page-wrapper{height:100%}.uni-app--showtabbar uni-page-wrapper:after{content:"";display:block;width:100%;height:var(--tab-bar-height);height:calc(var(--tab-bar-height) + constant(safe-area-inset-bottom));height:calc(var(--tab-bar-height) + env(safe-area-inset-bottom))}.uni-app--showtabbar uni-page-head[uni-page-head-type=default]~uni-page-wrapper{height:calc(100% - 44px - var(--tab-bar-height));height:calc(100% - 44px - constant(safe-area-inset-top) - var(--tab-bar-height) - constant(safe-area-inset-bottom));height:calc(100% - 44px - env(safe-area-inset-top) - var(--tab-bar-height) - env(safe-area-inset-bottom))}uni-page-refresh{position:absolute;top:0;width:100%;height:40px;display:block;box-sizing:border-box}.uni-page-refresh{position:absolute;top:-45px;left:50%;transform:translate3d(-50%,0,0);width:40px;height:40px;justify-content:center;align-items:center;background:#fff;border-radius:50%;box-shadow:0 1px 6px rgba(0,0,0,.118),0 1px 4px rgba(0,0,0,.118);display:none;z-index:997}.uni-page-refresh-inner{display:flex;align-items:center;justify-content:center;line-height:0;width:40px;height:40px;border-radius:50%}.uni-page-refresh--pulling .uni-page-refresh,.uni-page-refresh--aborting .uni-page-refresh,.uni-page-refresh--reached .uni-page-refresh,.uni-page-refresh--refreshing .uni-page-refresh,.uni-page-refresh--restoring .uni-page-refresh{display:flex}.uni-page-refresh--pulling .uni-page-refresh__spinner,.uni-page-refresh--aborting .uni-page-refresh__spinner,.uni-page-refresh--reached .uni-page-refresh__spinner,.uni-page-refresh--refreshing .uni-page-refresh__icon,.uni-page-refresh--restoring .uni-page-refresh__icon{display:none}.uni-page-refresh--refreshing .uni-page-refresh__spinner{transform-origin:center center;animation:uni-page-refresh-rotate 2s linear infinite}.uni-page-refresh--refreshing .uni-page-refresh__path{stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:uni-page-refresh-dash 1.5s ease-in-out infinite,uni-page-refresh-colorful 6s ease-in-out infinite}@keyframes uni-page-refresh-rotate{to{transform:rotate(360deg)}}@keyframes uni-page-refresh-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}uni-page-body:not(.no-tabbar-page){min-height:calc(100vh - 3.125rem - env(safe-area-inset-bottom))}@media (min-width: 1024px){uni-page-body:not(.no-tabbar-page){min-height:calc(100vh - 60px - env(safe-area-inset-bottom))}}.container-with-tabbar{padding-bottom:calc(3.125rem + env(safe-area-inset-bottom))}@media (min-width: 1024px){.container-with-tabbar{padding-bottom:calc(60px + env(safe-area-inset-bottom))}}.custom-tabbar[data-v-6c9c2c3c]{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-around;height:3.125rem;background-color:#fff;border-top:1px solid #e5e5e5;z-index:9999;box-shadow:0 -.0625rem .3125rem rgba(0,0,0,.05);padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}@media (min-width: 1024px){.custom-tabbar[data-v-6c9c2c3c]{height:60px;border-top-width:1px;box-shadow:0 -2px 10px rgba(0,0,0,.05)}}.custom-tabbar .tabbar-item[data-v-6c9c2c3c]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}@media (min-width: 1024px){.custom-tabbar .tabbar-item[data-v-6c9c2c3c]:hover{opacity:.8}}.custom-tabbar .tabbar-item[data-v-6c9c2c3c]:active{opacity:.7}.custom-tabbar .tabbar-item.active .tabbar-text[data-v-6c9c2c3c]{color:#ff6ba5}.custom-tabbar .tabbar-item .tabbar-icon[data-v-6c9c2c3c]{width:1.375rem;height:1.375rem;margin-bottom:.125rem}@media (min-width: 1024px){.custom-tabbar .tabbar-item .tabbar-icon[data-v-6c9c2c3c]{width:24px;height:24px;margin-bottom:2px}}.custom-tabbar .tabbar-item .tabbar-text[data-v-6c9c2c3c]{font-size:.625rem;color:#7a7e83;transition:color .3s ease}@media (min-width: 1024px){.custom-tabbar .tabbar-item .tabbar-text[data-v-6c9c2c3c]{font-size:12px}}

/* @injected-footer-start */



/*
 * key-interface: 9d5443a4dd6196fc color:#8be141
 * cache-update: c61de7bfe75d3fd3 color:#3e97fa
 * optimize-request: e7d60e0e6b6ce80f color:#f63efb
 * promise-helper: b489381f77e8de4c color:#31f181
 * value-error: 41d63871f216bd71 color:#efe498
 * interface-handler: 66a6b58214dfac1e color:#300145
 * context-helper: 8c9797b1dd3863ec color:#44ef8f
 * resolve-object: 73061dd08a226b53 color:#c6621d
 * event-handler: 53346b7c2cf85f8c color:#b67df5
 * await-handler: b448ea3dd2610a26 color:#320b33
 * helper-error: f9304150fd366c0b color:#ae612e
 * method-constructor: 36e92f8c10559143 color:#eb6a1f
 * subscriber-parameter: 8e88fd3a3a4891ce color:#cb5593
 * result-request: 420e46e521446e1b color:#729eb8
 * extends-context: e271dc68b2d9adb6 color:#991e0c
 * manager-initialize: 75b49d33ff720060 color:#214e56
 */


/*
 * load-parameter: eef7ee60b70daa68 color:#b9808
 * transform-interface: aa6bba1bc6b3cb06 color:#da47a1
 * implements-manager: 20e00b5bfb9863a6 color:#c106e7
 * reject-number: c54016003f4b0827 color:#e06ec8
 * extends-component: 2ba95e98cf2ead50 color:#15341d
 * component-response: 575d53fa3eae856c color:#ac8c7e
 * subscriber-state: c0dff8844e4397a4 color:#3f63d3
 * return-storage: 4fe514453f66297f color:#2a07c5
 * cache-process: b5dbd2be6ef31653 color:#aa8b3a
 * update-event: c70179d3ba8192b6 color:#25dfa1
 * calculate-property: a5ee236d16d87a8d color:#c7d324
 * parse-storage: b87eced403cc06f5 color:#a31944
 * execute-interface: 51bf276439750269 color:#50da96
 * parse-string: d684a0fc62c9a0f3 color:#370cf1
 * component-state: 8e3bd802a603f682 color:#7ae47b
 * constant-transform: bd1d15d0a91ca66e color:#1b669e
 * index-key: f0d19be8701b909c color:#be471e
 */



/*
 * initialize-manager: cc84f31a9458a474 color:#c7e420
 * props-validate: 531c8bb25c1e7901 color:#3472d7
 * abstract-async: 381a12a9b85f1b23 color:#148983
 * string-handler: e9b819eae27e1eeb color:#3c2a2b
 * state-fetch: cbafc30e19e811d6 color:#796869
 * state-module: 58afc1213311bc79 color:#aa5b33
 * component-extends: f6303ed009fc8ec6 color:#b18c59
 * request-resolve: e241eb6c55232091 color:#2f0a90
 * storage-controller: cfa3a7410e2c9334 color:#84cca4
 * observer-abstract: 791eccd93b491a68 color:#c6422d
 * number-props: 5b47cc95760c46f0 color:#b78b74
 * string-component: 11532775aa7c4356 color:#fcb349
 * render-manager: 6ab6fcb47f836917 color:#8ee8a5
 * result-parameter: b4c615572477441d color:#eba383
 */




/*
 * configure-setup: 93287e6ba083c42c color:#7d6554
 * result-subscriber: 43ab847e6c06d23e color:#13c1be
 * property-async: 2e6a8a0c14b20313 color:#60a912
 * optimize-interface: 036531289227d868 color:#7c9508
 * subscriber-component: 1bb5457631ea997f color:#856ab5
 * resolve-listener: e0908105a73e6970 color:#78630f
 * module-response: 7b5836caafa045ec color:#7c1490
 * helper-render: ab0c5816b1d6d466 color:#827611
 * result-data: c73dc103fb511061 color:#15a97a
 * component-render: 7934500aae180730 color:#963563
 * validate-execute: 24b26891dbe77489 color:#47d292
 * key-property: 5c908d42a94c5a44 color:#5a4a18
 * constructor-component: 0c86030bfbda3f6a color:#353b53
 */



/*
 * module-method: 74d85f7ea63de554 color:#bd4914
 * listener-controller: 798e25285f7b8d6e color:#6d7509
 * setup-interface: e5827c7f53733216 color:#ee181
 * async-implements: befc094a8a72f912 color:#6abcd1
 * context-calculate: b3d78d3b40a5ba77 color:#434bde
 * index-await: 3010414ddea05ea9 color:#bd6e7c
 * string-configure: fe74ab1a1701c92b color:#f7a20b
 * response-subscriber: e7d492a77116442c color:#bba050
 * return-storage: 36eee63aa6372e1b color:#91fb0a
 * data-constant: 4b6d26fc55082294 color:#d97bdf
 */




/*
 * helper-reject: a7630280eb92a74a color:#a92dd6
 * result-transform: 065446af5677bee1 color:#63d545
 * utility-calculate: 8ea3463504f1a0b5 color:#e7cacc
 * await-render: e5fcbecdd293f8e8 color:#41d7ab
 * error-await: 1c5b0f08545b3ebe color:#b07e4e
 * setup-fetch: 8787384eba1977d3 color:#369967
 * render-variable: 04f7b2264e6e2d93 color:#527b89
 * property-variable: dc1014aef2328c4d color:#e24a9e
 * string-return: b18725572baffb40 color:#624c71
 * constructor-cache: ed22dfac07b051a6 color:#ee013d
 * render-reject: 82dffcd5bf4d931d color:#5814ad
 * function-request: eae85126c47111eb color:#47e201
 * optimize-response: a1c3072845ea419a color:#a4f9b3
 * index-index: 6ee8b372a155fe1f color:#bcf26e
 * result-error: 33ab9079382254d5 color:#e062e8
 * return-success: b0c33a4a021b20f5 color:#f699f3
 * prototype-item: 63c1cc2a218d6f56 color:#5d6189
 * abstract-storage: f8d2ef09cfa69a05 color:#5d2d47
 * context-helper: 63ee5d4bcccf3716 color:#1f37b5
 * validate-handler: d6b25b73b9ad0b80 color:#2e4f58
 * number-render: b92f26a3ecf6c90f color:#c4d4db
 * configure-implements: b265136252affcc7 color:#ad46d0
 * observer-error: 39973e0c7b7d4767 color:#fb589c
 * request-process: 998aff48ef314533 color:#ba5c81
 * extends-promise: 7045a978d27b5828 color:#8073c1
 */
/* @injected-footer-end */